MCP测试客户端

一个用于在开发过程中测试MCP服务器的中间件,既作为Claude的服务器,又作为被测试服务器的客户端。

  • by willccbb
  • TypeScript
  • 本地部署
  • 127 星标
  • 更新于
在 GitHub 查看 willccbb/mcp-client-server

使用说明

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 脚本。您可以使用以下工具:

  1. 部署服务器:
mcp__mcp-test__mcp_test_deploy_server({
  name: "my-server",
  source_path: "/path/to/server",
  env_vars: {
    "API_KEY": "${API_KEY}"
  }
})
  1. 在已部署的服务器上调用工具:
mcp__mcp-test__mcp_test_call_tool({
  server_name: "my-server",
  tool_name: "tool_name",
  arguments: {
    // Tool-specific arguments
  }
})
  1. 对服务器运行测试:
mcp__mcp-test__mcp_test_run_tests({
  server_name: "my-server"
})
  1. 查看服务器日志:
mcp__mcp-test__mcp_test_get_logs({
  server_name: "my-server",
  lines: 100
})
  1. 列出已部署的服务器:
mcp__mcp-test__mcp_test_list_servers({})
  1. 停止服务器:
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测试客户端支持此工作流程:

  1. 在游乐场目录中开发MCP服务器
  2. 使用MCP测试客户端将其部署到测试环境
  3. 测试功能、调用单个工具和调试问题
  4. 修复并迭代,直到服务器正常工作
  5. 准备就绪后,将服务器迁移到mcp服务器
  6. 通过Claude mcp local注册克劳德

未来的增强功能

计划中的增强功能包括:

  • 第2阶段:基于Docker的容器管理,全面的测试套件
  • 第三期:迁移工具,更高级的测试验证

看 notes/mcp_test_client_design.md 完整的设计文件。