桃子桃子快讯
返回首页
工具

MCP Test Harness 2.0 发布:面向 MCP 服务器的 CI 原生测试框架

MCP Test Harness 2.0 正式发布,提供 pytest 风格的 MCP 服务器测试能力,覆盖功能、回归与…

2026.07.06 · 周一4 分钟阅读

MCP(Model Context Protocol)正快速成为 AI 智能体与外部工具、数据源对接的事实标准之一,但围绕 MCP 服务器的自动化测试能力仍相对薄弱。开发者 Vaquar Khan 近日发布了 MCP Test Harness 2.0 版本,定位为「CI 原生、代码优先」的 MCP 服务器测试框架,试图在 LLM 介入的评估方式之外,提供确定性的 CI 门禁方案。

项目定位与核心能力

MCP Test Harness 是一个 pytest 风格的测试框架,核心 CLI 命令为 mcp-test,可自动发现、运行并生成测试报告,目标是替代 MCP Inspector 中大量需要手工完成的验证工作。2.0 版本强调「一次运行同时验证正确性、速度与安全基线」,无需在测试循环中引入 LLM。

框架内置三大测试模式:功能正确性、快照回归与 SLO 风格性能测试,并提供统一的多格式报告输出(控制台、JUnit、JSON、HTML)。

2.0 版本主要更新

  • 诊断能力:新增 MCP trace,可在 HTML/JSON 报告中呈现每个测试的 JSON-RPC 时间线,并提示 stdio 污染问题。
  • 弹性测试:引入 chaos 故障注入机制,通过 @marker(tags=["chaos"], chaos_faults=[...]) 即可注入延迟、503 中断、截断、schema 漂移等异常。
  • 测试生成mcp-test generate 支持从实时 tools/list 及可选 drift JSON 自动生成测试草稿。
  • 平台 QA 套件(v1.2):包含工具覆盖率地图、统一门户 HTML/JSON 报告、安全负载包、弹性断言、性能基线以及 assert_throughput SLO 参数(min_rpsmax_p99_msmax_error_rate)。
  • CI 与安全集成:支持 SARIF 导出与 OWASP MCP 规则元数据,可在 PR 中通过 GitHub Action 自动发布 markdown 总结评论。
  • 自测试机制:仓库自带 E2E dogfood 测试,pytest 会在 CI 中启动真实的 mcp-test CLI 对内置 FastMCP 夹具运行,并对 src/mcp_test_harness 强制 100% 行覆盖率门禁。

架构与差异化

框架在架构上分为配置 → 发现 → 调度 → 真实 MCP 会话 → 确定性断言 → 多格式报告的流水线,原生支持 stdio、SSE 与 HTTP 传输,并提供并行执行与模块分组调度。

作者将项目差异化归纳为四点:

  • 三模态 CI 架构:功能 + 回归 + 性能在一次 mcp-test 运行中完成;
  • 协议感知夹具:mcp_server / mcp_server_session 可完成启动、握手、会话注入与销毁;
  • 代码优先工作流:以原生 async Python 编写多步智能体流程,避免 DSL;
  • 统一门户:单次运行产出 HTML/JSON 整合报告。

安装与生态定位

2.0 版本可通过 PyPI 安装(pip install mcp-test-harness),也可拉取 OCI 镜像(ghcr.io/vaquarkhan/mcp-test-harness:latest2.0.0),另有 dev 标签提供 pytest 与开发依赖。文档站点部署在 GitHub Pages。

项目核心代码采用 MIT 许可,并提供 CITATION.cff 以便在论文中引用。作者明确指出,本框架聚焦 CI 原生、确定性的测试自动化;对于 spec 一致性校验、LLM-in-the-loop 评测以及模型 benchmark,仍需借助其他专用工具。

信源