MCP测试工具

提供多种传输方式(stdio和HTTP)的MCP服务器测试工具,支持单元测试和集成测试。

  • by houzongyue
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 houzongyue/mcp-101

使用说明

FastMCP演示

带有stdio和HTTP传输的最小FastMCP演示。

安装

uv sync

文件

  • server_stdio.py -MCP服务器(stdio传输),提供 add 和 subtract 工具
  • server_http.py -MCP服务器(HTTP传输),提供 multiply 工具,支持SSE(传统)和流式HTTP
  • test_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 + 3

HTTP服务器

先启动服务器:

# 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.py

HTTP服务器

# 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