mcpField
M
MCP Test Client

MCP Test Client

本地服务
github.com/willccbb开发工具12785 周前更新

关于 MCP Test Client

MCP Test Client 是一个开发期使用的中间件,既是 Claude 的 MCP 服务,又是被测 MCP 服务的客户端。开发者可借助它部署、调用和测试服务,而无需反复重置应用。

主要功能

  1. 01部署 MCP 服务到测试环境
  2. 02使用自定义参数调用单个工具
  3. 03运行自动化测试套件
  4. 04查看被测服务的日志
  5. 05提供交互式命令行测试界面

适用场景

  1. 01让 Claude 在开发过程中测试新编写的 MCP 服务
  2. 02在正式注册到 Claude 之前验证服务的工具行为
  3. 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。你可以使用以下工具:

  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. 在 playground 目录中开发 MCP 服务
  2. 使用 MCP 测试客户端将其部署到测试环境
  3. 测试功能、调用单个工具并调试问题
  4. 修复并迭代,直到服务正常工作
  5. 准备就绪后,将服务迁移到 mcp-servers/
  6. 通过 claude-mcp-local 注册到 Claude

后续增强

计划中的增强功能包括:

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

完整设计文档请参阅 notes/mcp_test_client_design.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。