mcpField
M
MCP 学习项目⚡

MCP 学习项目⚡

Local
github.com/uoky5217Developer Tools0Updated 82w ago

About MCP 学习项目⚡

A personal learning project for implementing MCP servers. It demonstrates arithmetic tools through local stdio and SSE-based remote-server setups, with a FastAPI API service and pytest tests.

Key features

  1. 01Four arithmetic operations
  2. 02Local stdio server example
  3. 03SSE remote-server example
  4. 04FastAPI API service
  5. 05pytest unit tests

Use cases

  1. 01Learn how to implement an MCP server
  2. 02Compare local stdio and SSE setups
  3. 03Practice testing API services with pytest

MCP support

Includes two MCP server implementations: a local stdio server and an SSE server that clients can configure as a remote server. Both expose tools for addition, subtraction, multiplication, and division.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP 学习项目⚡

Python 3.10+ 架构: 微服务 测试: Pytest

🌟 项目简介

本项目是一个基于MCP协议的学习项目,主要用于学习MCP Server如何实现。 api_server目录内是一个使用FastAPI库实现的一组API服务接口,用来模拟现有系统的java后端服务,本项目内只是实现了加减乘除四则运算。 tests目录下是一个针对api_server的单元测试程序,用来熟悉pytest功能。 mcp_server目录下是mcp的server内容,包含mcp的两种实现方式

第一种是stdio方式

主要就是本地调用,本地运行的方式,主要实现包含在server.py代码中。 使用方式可以使用cline插件进行调用,下面附上cline调用的cfg配置

{
  "mcpServers": {
    "math": {
      "timeout": 60,
      "command": "mcp",
      "args": [
        "run",
        "\mcp_server\server.py"
      ],
      "transportType": "stdio",
      "disabled": true
    }
  }
}
stdio运行方式
#进入api_server目录下
python main.py
#启动api 服务

#配置好cline的cfg后
#在cline中测试mcp server
第二种是sse方式

使用uvicon生成一个服务,使用cline插件的remote server方式进行配置连接。 主要功能包含在remote_server.py中,下面附上cline的cfg配置

{
  "mcpServers": {
    "calculate": {
      "autoApprove": [
        "calculate_sum",
        "calculate_subtract",
        "calculate_multiply",
        "calculate_divide"
      ],
      "disabled": false,
      "timeout": 60,
      "url": "http://127.0.0.1:8001/sse",
      "transportType": "sse"
    }
  }
}
sse运行方式
#进入api_server目录下
python main.py
#启动api 服务

#进入mcp_server目录下
python remote_server.py
#启动mcp server

#配置好cline的cfg后
#在cline中测试mcp server

🌟 系统架构

graph LR
    Client-->|SSE Streaming| MCP_Server["MCP Server (Port 8001)"]
    MCP_Server-->|HTTP RPC| API_Server["API Server (Port 8000)"]
    API_Server-.->|Call Function| FUNC[(计算函数)]
    
    subgraph 计算服务
        API_Server
    end

✨ 核心功能

  • 🧮 四则运算工具集(加减乘除)
  • 📡 基于SSE的实时消息传输
  • ⚡ 异步HTTP客户端支持
  • 🔒 强类型输入校验

🛠️ 技术栈

🚀 快速开始

前置要求
  • Python 3.10+
  • uv
# 安装依赖
pip install -r requirements.txt

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.