FastMCP演示
带有stdio和HTTP传输的最小FastMCP演示。
安装
uv sync文件
server_stdio.py-MCP服务器(stdio传输),提供add和subtract工具server_http.py-MCP服务器(HTTP传输),提供multiply工具,支持SSE(传统)和流式HTTPtest_server.py-自动化测试
测试
测试方法
| 方法 | 传输 | 工作原理 | 范围 | 用例 |
|---|---|---|---|---|
| 内存中 | 两者都有 | 客户端在同一进程中直接连接到MCP实例 | 工具逻辑 | 单元测试,快速CI反馈 |
| 子进程 | stdio | 客户端生成子进程,通过stdin/stdout进行通信 | 工具+进程+协议 | 集成测试,CI友好 |
| 网络 | HTTP | 客户端通过HTTP连接到运行服务器 | 工具+进程+协议+网络 | 集成测试,需要运行服务器 |
| Claude Code | 两者都有 | 真正的MCP客户端连接到服务器 | 完全集成 | 端到端验证 |
运行测试
# Without HTTP server (in-memory + subprocess)
uv run pytest test_server.py -q -k "not network"
# With Streamable HTTP server (test_http_network)
uv run python server_http.py # in another terminal
uv run pytest test_server.py -q -k "not sse"
# With SSE server (test_sse_network)
uv run python server_http.py --transport sse # in another terminal
uv run pytest test_server.py -q使用Claude代码进行测试
该项目包括 .mcp.json (项目级配置,仅在从此目录启动Claude Code时有效),有两个服务器配置:
demo-stdio-由Claude Code自动启动demo-http-需要先手动启动服务器
stdio服务器
claude进入会话后,键入 /mcp 为了验证,然后进行测试:
Use the add tool to calculate 2 + 3HTTP服务器
先启动服务器:
# Streamable HTTP (recommended)
uv run python server_http.py
# Or SSE (legacy)
uv run python server_http.py --transport sse然后在克劳德代码中:
Use the multiply tool to calculate 2 * 3使用Codex CLI进行测试
Codex CLI通过全局配置支持MCP(~/.codex/config.toml).尚不支持项目级配置(功能请求).
stdio服务器
codex mcp add demo-stdio -- uv run python server_stdio.pyHTTP服务器
# Start server first
uv run python server_http.py
# Add HTTP server with url parameter
codex mcp add demo-http --url http://localhost:8000/mcp注:使用 --url HTTP服务器的标志,不是 -- 一个命令。这 --url 标志告诉Codex通过HTTP直接连接。
删除服务器
codex mcp remove demo-stdio
codex mcp remove demo-http使用Gemini CLI进行测试
该项目包括 .gemini/settings.json (项目级配置),具有两个服务器配置
用法类似于Claude Code和Codex CLI。
HTTP传输比较
| 传输 | 端点 | 克劳德代码 | Codex CLI | Gemini CLI |
|---|---|---|---|---|
上海证券交易所 /sse | ✅ | ❓ | ❓ | |
| 流式HTTP | /mcp | ✅ | ✅ | ✅ |
MCP配置比较
| 克劳德代码 | Codex CLI | Gemini CLI | |
|---|---|---|---|
| 全局配置 | ~/.claude/settings.json | ~/.codex/config.toml | ~/.gemini/settings.json |
| 项目配置 | .mcp.json | ❌ 不支持 | .gemini/settings.json |
| CLI命令 | claude mcp add | codex mcp add | gemini mcp add |
全局配置(克劳德代码)
要使MCP服务器可用于所有项目,请执行以下操作:
claude mcp add demo-stdio -- uv run python server_stdio.py要删除:
claude mcp remove demo-stdio