MCP Rigor
官方为AI编码代理提供确定性测试循环的MCP服务器,用于测试它们构建的MCP服务器:用自然语言编写验收测试,验证措辞,运行测试,并读取结构化的通过/失败结果——运行时无需AI解释测试。运行方式:npx mcprigor serve <project>。同时也是一个完整的CLI/CI测试框架,具备契约漂移检测和传输一致性。Apache-2.0许可。
你可以用 Rigor MCP 做什么?
-
验证测试文件 — 在针对服务器运行之前,使用
check请求检查.mcpr文件的语法和结构。 -
运行验收测试 — 使用
test针对本地或 Streamable HTTP MCP 服务器执行测试套件,输出中包含通过/失败计数。 -
生成 HTML 报告 — 从测试运行中创建可共享的
report.html工件,以便附加到工单或 CI 日志中。 -
交互式编写测试 — 使用
author发现 MCP 服务器的工具、资源和提示,然后根据您的验证目标生成测试文件。 -
使用浏览器工作区 — 启动
workspace来编辑、验证和运行多个套件,并支持语法高亮、自动补全和运行历史记录。
文档
本指南将带您从安装开始,直到通过一个 MCP 测试。
1. 安装 MCP Rigor
您需要 Node.js 20 或 22。MCP Rigor 以 mcprigor 的形式发布在 npm 上——该包附带可直接运行的编译代码,因此无需从源码构建。
mkdir mcp-acceptance-tests
cd mcp-acceptance-tests
npm init -y
npm install mcprigor
要检查安装情况:
npx mcprigor --help
2. 创建测试文件
创建 calculator.mcpr:
MCP Test 1
Suite: "Calculator acceptance tests"
Server: node ../calculator-server/dist/server.js
Test: "Adding 20 and 22 gives 42"
Call tool "add" with:
a: 20
b: 22
Expect "structuredContent.sum" equals 42
将 Server 命令更改为启动您的 MCP 服务器的命令。
对于已部署的 Streamable HTTP 服务器,请使用:
MCP URL: https://qa.example.com/mcp
3. 检查措辞
npx mcprigor check calculator.mcpr
一个有效的文件会打印:
✓ calculator.mcpr looks good and is ready to run
check 不会连接到服务器。
4. 运行测试
npx mcprigor test calculator.mcpr
通过的结果看起来像:
MCP Rigor — Calculator acceptance tests
✓ Adding 20 and 22 gives 42
1 passed, 0 failed, 0 skipped, 0 blocked
5. 创建可共享的报告
npx mcprigor test calculator.mcpr --html report.html
打开 report.html 或将其附加到工单中。
6. 尝试浏览器工作区
npx mcprigor workspace .
打开打印的本地 URL。选择 calculator.mcpr——编辑器会为您提供语法高亮和自动补全——然后选择 Validate 和 ▶ Run tests。您还可以创建新的测试文件,使用复选框同时运行多个套件,并在结果面板中查看运行历史和趋势。请参阅 QA 工作区指南。
如果您不知道工具名称
创建一个小的目标文件,例如 server.mcpr:
MCP Test 1
Suite: "Server target"
Server: node ../calculator-server/dist/server.js
Test: "Connection"
Send "ping"
开始引导式编写:
npx mcprigor author server.mcpr --out calculator.mcpr
MCP Rigor 会发现工具、资源和提示,并询问您想要验证什么。
推荐的项目布局
mcp-acceptance-tests/
package.json
tests/
smoke.mcpr
regression.mcpr
data/
customers.csv
.mcprigor/
# generated evidence; normally ignored or stored as CI artifacts