MCP 学习项目⚡ について
MCPサーバーの実装を学ぶための個人プロジェクトです。ローカルstdioとSSEベースのリモートサーバー構成で四則演算ツールを示し、FastAPI APIサービスとpytestテストも含みます。
主な機能
- 01四則演算ツール
- 02ローカルstdioサーバーの例
- 03SSEリモートサーバーの例
- 04FastAPI APIサービス
- 05pytestユニットテスト
活用シーン
- 01MCPサーバーの実装方法を学ぶ
- 02ローカルstdioとSSEの構成を比較
- 03pytestでAPIサービスのテストを練習
MCP 対応
ローカルstdioサーバーと、クライアントがリモートサーバーとして設定できるSSEサーバーの2種類の実装を含みます。どちらも加算、減算、乗算、除算のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README よりMCP 学习项目⚡
🌟 项目简介
本项目是一个基于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客户端支持
- 🔒 强类型输入校验
🛠️ 技术栈
- 框架: Starlette
- 服务器: Uvicorn
- HTTP客户端: HTTPX
- 传输协议: MCP Server-Sent Transports
🚀 快速开始
前置要求
- Python 3.10+
- uv
# 安装依赖
pip install -r requirements.txt
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。