本项目构建了一个简洁的 模型上下文协议 (MCP) 系统,涵盖 MCP 服务器 与 MCP 客户端。二者借助 服务器发送事件 (SSE) 机制,基于 FastAPI 框架开展通信,充分展示了运用 SSE over HTTP 实现轻量级工具调用的过程。
cd server
pip install -r requirements.txt
python main.py
cd client
pip install -r requirements.txt
python main.py
upload_claim 和 get_claim_details 两个工具的调用接口。+-------------+ SSE HTTP +-------------+
| | <------------------------------------> | |
| MCP 客户端 | | MCP 服务器 |
| (FastAPI) | /upload_claim ⇄ upload_claim | (SSE 工具) |
| 端口: 5000 | /get_claim_details ⇄ get_claim_details | 端口: 8000 |
+-------------+ +-------------+
在每个目录中使用以下命令安装依赖项:
pip install -r requirements.txt
Python 3.10+
"mcp[cli]"
fastapi
httpx
POST /upload_claimcurl -X POST http://localhost:5000/upload_claim \
-H "Content-Type: application/json" \
-d '{
"emp_id": "12345",
"claim": "这是一个假想的索赔!"
}'
POST /get_claim_detailscurl -X POST http://localhost:5000/get_claim_details \
-H "Content-Type: application/json" \
-d '{
"claim_id": "12345"
}'
.
├── client/ # MCP 客户端 (FastAPI 应用)
│ └── main.py
│
├── server/ # MCP 服务器带 SSE 工具
│ └── main.py
|
└── README.md
└── requirements.txt
8000upload_claimget_claim_details5000POST /upload_claim → 调用 MCP 服务器上的 upload_claim 工具GET /get_claim_details → 调用 MCP 服务器上的 get_claim_details 工具⚠️ 重要提示
- 这是一个最小的原型,仅供 开发或教育 使用。
- 数据存储在内存中,服务器重启后会重置。
- SSE 用于简单性和流式兼容性。