article
README
🚀 MCP 测试客户端
MCP 测试客户端是一款 MCP 中间件,作为连接 Claude 和待测服务器的测试工具,主要用于在开发期间对 MCP 服务器进行测试,有效提升开发效率与测试精准度。
🚀 快速开始
MCP 测试客户端具有独特的双重角色,它既是已注册到 Claude 并公开测试工具的服务器,也是连接并测试其他 MCP 服务器的客户端。这种架构使得无需直接在 Claude 上注册,就能对 MCP 服务器进行测试。
┌─────────────┐ ┌───────────────────┐ ┌────────────────┐
│ │ 工具 │ │ 客户端 │ │
│ Claude │─────────>│ MCP 测试客户端 │─────────>│ 待测服务器 │
│ │ │ │ │ │
└─────────────┘ └───────────────────┘ └────────────────┘
✨ 主要特性
- 可在测试环境中部署 MCP 服务器。
- 能调用带有自定义参数的单个工具。
- 支持运行自动化测试套件。
- 可查看服务器日志。
- 能在正式注册到 Claude 之前对服务器进行测试。
📦 安装指南
# 安装依赖
npm install
# 构建 TypeScript 项目
npm run build
💻 使用示例
基础用法
作为 MCP 服务器
MCP 测试客户端通过 claude-mcp-local 脚本注册到 Claude,可使用以下工具:
- 部署一个服务器:
mcp__mcp-test__mcp_test_deploy_server({
name: "my-server",
source_path: "/path/to/server",
env_vars: {
"API_KEY": "${API_KEY}"
}
})
- 调用部署的服务器上的工具:
mcp__mcp-test__mcp_test_call_tool({
server_name: "my-server",
tool_name: "tool_name",
arguments: {
// 工具特定参数
}
})
- 对服务器运行测试:
mcp__mcp-test__mcp_test_run_tests({
server_name: "my-server"
})
- 查看服务器日志:
mcp__mcp-test__mcp_test_get_logs({
server_name: "my-server",
lines: 100
})
- 列出已部署的服务器:
mcp__mcp-test__mcp_test_list_servers({})
- 停止一个服务器:
mcp__mcp-test__mcp_test_stop_server({
server_name: "my-server"
})
作为 CLI 工具
运行 CLI 界面进行测试:
# 使用 npm 脚本
npm run test
# 或直接运行
node dist/test-runner.js
这将提供一个交互式菜单,用于部署、测试和管理 MCP 服务器。
📚 详细文档
开发流程
MCP 测试客户端支持以下开发流程:
- 在游乐场目录中开发一个 MCP 服务器。
- 使用 MCP 测试客户端将其部署到测试环境。
- 测试功能,调用单个工具并进行调试。
- 修复问题并迭代直到服务器正常工作。
- 将服务器迁移到 mcp - servers/ 目录下。
- 通过 claude - mcp - local 注册到 Claude。
未来增强计划
计划中的增强包括:
- 第二阶段:基于 Docker 的容器管理,全面的测试套件。
- 第三阶段:迁移工具,更高级别的测试验证。
有关完整的设计文档,请参见 notes/mcp_test_client_design.md。
🔧 技术细节
MCP 测试客户端使用以下技术实现:
- 进程管理:_spawn 和管理 MCP 服务器进程。
- 官方 MCP SDK 客户端:使用官方的 MCP SDK 与服务器通信。
- 自定义传输:实现用于标准输入输出通信的自定义传输。
- 测试执行:运行测试并验证响应。
- CLI 接口:提供交互式测试界面。
当前实现是设计计划的第一阶段,未来有第二和第三阶段的增强计划。
扫码联系在线客服