关于 MCP Test Client
MCP Test Client 是一个开发期使用的中间件,既是 Claude 的 MCP 服务,又是被测 MCP 服务的客户端。开发者可借助它部署、调用和测试服务,而无需反复重置应用。
主要功能
- 01部署 MCP 服务到测试环境
- 02使用自定义参数调用单个工具
- 03运行自动化测试套件
- 04查看被测服务的日志
- 05提供交互式命令行测试界面
适用场景
- 01让 Claude 在开发过程中测试新编写的 MCP 服务
- 02在正式注册到 Claude 之前验证服务的工具行为
- 03调试服务并查看其运行日志
MCP 相关
该项目同时扮演 MCP 服务与 MCP 客户端的角色:向 Claude 暴露测试工具,并作为客户端连接和管理被测的 MCP 服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 界面:提供交互式测试界面
当前实现处于设计计划的第 1 阶段,未来计划在第 2 和第 3 阶段进行增强。
安装
# Install dependencies
npm install
# Build the TypeScript project
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: {
// 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 测试客户端支持以下工作流:
- 在 playground 目录中开发 MCP 服务
- 使用 MCP 测试客户端将其部署到测试环境
- 测试功能、调用单个工具并调试问题
- 修复并迭代,直到服务正常工作
- 准备就绪后,将服务迁移到 mcp-servers/
- 通过 claude-mcp-local 注册到 Claude
后续增强
计划中的增强功能包括:
- 第 2 阶段:基于 Docker 的容器管理、全面的测试套件
- 第 3 阶段:迁移工具、更高级的测试验证
完整设计文档请参阅 notes/mcp_test_client_design.md。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。