关于 🧠 Model Context Protocol (MCP) - Server-Client Implementation
面向开发和学习的轻量 FastAPI MCP 服务与客户端原型,演示通过 SSE 调用工具;理赔数据存于内存,服务重启后会清除。
主要功能
- 01FastAPI 服务与客户端
- 02基于 HTTP 的 SSE 通信
- 03理赔上传与详情工具
- 04内存数据存储
适用场景
- 01学习基于 SSE 的 MCP 流程
- 02测试理赔上传与查询调用
MCP 相关
项目包含 MCP 服务,提供 `upload_claim` 和 `get_claim_details` 工具,以及通过 SSE 调用这些工具的 FastAPI 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🧠 Model Context Protocol (MCP) - 服务端-客户端实现
这是一个简单的 Model Context Protocol (MCP) 系统,包含一个 MCP 服务和一个 MCP 客户端,通过 FastAPI 使用 Server-Sent Events (SSE) 进行通信。它演示了如何通过 HTTP 上的 SSE 轻量级调用工具。
🏗️ 架构概览
+-------------+ SSE HTTP +-------------+
| | <------------------------------------> | |
| MCP CLIENT | | MCP SERVER |
| (FastAPI) | /upload_claim ⇄ upload_claim | (SSE Tools) |
| Port: 5000 | /get_claim_details ⇄ get_claim_details | Port: 8000 |
+-------------+ +-------------+
📁 项目结构
.
├── client/ # MCP Client (FastAPI app)
│ └──main.py
│
├── server/ # MCP Server with SSE tools
│ └──main.py
|
└── README.md
└── requirements.txt
🔧 MCP 服务
- 端口:
8000 - 框架:FastAPI
- 协议:Server-Sent Events (SSE)
- 定义的工具:
upload_claimget_claim_details
▶️ 运行 MCP 服务
cd server
pip install -r requirements.txt
python main.py
🚀 MCP 客户端
- 端口:
5000 - 框架:FastAPI
- 端点:
POST /upload_claim→ 调用 MCP 服务上的upload_claim工具GET /get_claim_details→ 调用 MCP 服务上的get_claim_details工具
▶️ 运行 MCP 客户端
cd client
pip install -r requirements.txt
python main.py
🔄 通信流程
- 客户端向 MCP 服务发送 SSE HTTP 请求,以调用工具。
- 服务端处理请求,并通过 SSE 将响应流式传回。
📬 示例请求
POST /upload_claim
curl -X POST http://localhost:5000/upload_claim \
-H "Content-Type: application/json" \
-d '{
"emp_id": "12345",
"claim": "This is a dummy claim!"
}'
POST /get_claim_details
curl -X POST http://localhost:5000/get_claim_details \
-H "Content-Type: application/json" \
-d '{
"claim_id": "12345"
}'
🧰 要求
Python 3.10+
requirements.txt`
"mcp[cli]"
fastapi
httpx
使用以下命令在每个目录中安装依赖:
pip install -r requirements.txt
⚠️ 注意事项
- 这是一个最小化原型,旨在用于开发或教育。
- 数据存储在内存中,服务器重启后会重置。
- 使用 SSE 是为了简化实现并兼容流式传输。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。