服务器测试工具

MCP Server Tester是一个基于FastMCP的工具,用于启动、代理和管理其他MCP服务器,适用于开发和调试场景。

  • by julienld
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 julienld/mcp-server-tester

使用说明

MCP服务器测试仪

MCP服务器测试仪是一个基于FastMCP的工具,用于启动、代理和 通过stdio管理其他MCP服务器。它暴露出用于启动的控制表面, 通过以下方式运行的基于子流程的MCP服务器之间的切换、停止和切换 uvx 或 npx,同时在 tested_server_ 前缀。

特性

  • 启动和切换:使用单个工具调用启动或交换子流程。
  • 动态代理:将子服务器的工具装载到 tested_server_ 前缀使用 FastMCP.as_proxy.
  • 结构化状态:捕获命令、环境、退出代码、stderr 用于调试的输出和日志通知。
  • 平滑关闭:通过MCP stdio传输和 报告孩子的终止状态。

可用工具

控制工具与 tester_control_ 前缀:

  • tester_control_start_server(command: str, env: dict | None) –推出新 MCP服务器子进程。
  • tester_control_switch_server(command: str, env: dict | None) –停止 当前子流程(如果有的话),并在一个步骤中启动一个新的子流程。
  • tester_control_stop_server() –终止正在运行的子进程并卸载 它的工具。
  • tester_control_get_status() –返回当前数据的结构化元数据 或最新的子流程,包括日志尾部和退出代码。

当子服务器处于活动状态时,其工具将使用动态挂载 tested_server_ 前缀。

本地运行

安装依赖项并通过以下方式运行测试仪 uv/pip 或者直接使用Python:

pip install -e .
python -m mcp_server_tester

随着 uv 您可以直接从项目目录运行:

uv run python -m mcp_server_tester

运行后,连接MCP客户端(例如Codex CLI)并调用控件 用于管理子流程的工具。

许可证

此项目根据MIT许可证条款发布。看 LICENSE 为了 完整的细节。