使用说明
MCP测试客户端
一种MCP中间件,既充当服务器(对Claude来说),又充当客户端(对被测服务器来说),用于在开发过程中测试MCP服务器。
建筑
MCP测试客户端具有双重作用:
- 这是一个 服务器 向Claude注册,公开测试工具
- 这是一个 客户端 连接并测试其他MCP服务器
┌─────────────┐ ┌───────────────────┐ ┌────────────────┐
│ │ Tools │ │ Client │ │
│ Claude │─────────>│ MCP Test Client │─────────>│ Server Under │
│ │ │ │ │ Test │
└─────────────┘ └───────────────────┘ └────────────────┘
这种架构允许您测试MCP服务器,而无需直接向Claude注册。
特性
- 将MCP服务器部署到测试环境
- 使用自定义参数调用单个工具
- 运行自动化测试套件
- 查看服务器日志
- 在正式向Claude注册之前测试服务器
实施
MCP测试客户端通过以下方式实现:
- 流程管理:生成和管理MCP服务器进程
- MCP SDK客户端:使用官方MCP SDK与服务器通信
- 海关运输:实现stdio通信的自定义传输
- 测试执行:运行测试并验证响应
- CLI接口:提供交互式测试界面
目前的实施是设计计划的第一阶段,计划在第二和第三阶段进行未来的增强。
安装
# Install dependencies
npm install
# Build the TypeScript project
npm run build
用法
作为MCP服务器
MCP测试客户端已通过以下方式向Claude注册 claude-mcp-local 脚本。您可以使用以下工具:
- 部署服务器:
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: {
// Tool-specific 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界面进行测试:
# Use npm script
npm run test
# Or run directly
node dist/test-runner.js
这提供了一个用于部署、测试和管理MCP服务器的交互式菜单。
开发工作流程
MCP测试客户端支持此工作流程:
- 在游乐场目录中开发MCP服务器
- 使用MCP测试客户端将其部署到测试环境
- 测试功能、调用单个工具和调试问题
- 修复并迭代,直到服务器正常工作
- 准备就绪后,将服务器迁移到mcp服务器
- 通过Claude mcp local注册克劳德
未来的增强功能
计划中的增强功能包括:
- 第2阶段:基于Docker的容器管理,全面的测试套件
- 第三期:迁移工具,更高级的测试验证
看 notes/mcp_test_client_design.md 完整的设计文件。