使用说明
服务器和测试脚本
| 服务器脚本 | 测试脚本 | 状态 |
|---|---|---|
| math_server.py/math_server_v2.py | test_math_server.py | ✅ 通过 |
| math_server_http.py | 测试_服务器_http.py❌ 失败 | |
| math_server_v3.py | 测试/test_math_server_v3.py | ✅ 通过 |
| math_server_v4.py | test_math_server_v4.sh | ⚠️ 部分 |
服务器和传输类型
| 服务器 | 传输 | 测试状态 | 备注 |
|---|---|---|---|
| math_server.py | STDIO(传输=“STDIO”) | ✅ 已通过 | FastMCP和stdio |
| math_server_v2.py | STDIO(传输=“STDIO”) | ✅ 已通过 | FastMCP和stdio |
| math_server_v3.py | STDIO(STDIO_server()) | ✅ 通过 | 低级MCP服务器 |
| math_server_http.py | SSE/http(传输=“SSE”) | ❌ 失败 | 测试方法不正确 |
| math_server_v4.py | SSE/HTTP(传输=“SSE”) | ⚠️ 部分 | 服务器正常工作,Python SSE客户端存在缓冲问题 |
备注
SSE传输(math_server_v4.py)
- 服务器: ✅ 工作正常-通过卷曲确认
- Python测试客户端: ❌ 存在缓冲问题
requestsWindows上的库 - Bash测试: ✅ 有效,但仅显示会话建立(响应来自SSE流)
- 推荐:使用适当的MCP客户端库进行SSE连接
为什么SSE很复杂
SSE运输要求 双向通信:
- 客户端→ 服务器:HTTP POST到
/messages?session_id=xxx - 服务器→ 客户:通过回复 SSE事件流 (不是HTTP响应)
这意味着您需要:
- 后台线程正在监听SSE流以获取响应
- 单独线程发送POST请求
- 会话管理
对于生产使用,请使用MCP客户端库,而不是手动SSE处理。
