MCP protocol conformance probe — checks any MCP server (stdio or WebSocket) against the spec. 15 check categories, 4 report formats (JSON/Markdown/HTML/JUnit), per-check timing, multi-server parallel probe, CI gate, MCP stdio server + CLI (js/native).
Dependencies
# 1. 一行命令安装并注册(Windows PowerShell)
iex ((irm https://raw.githubusercontent.com/vicTop-cw/mcpconftest/main/scripts/blackbox/install_onecmd.ps1).ToString().TrimStart([char]0xFEFF))
# Linux / WSL
# curl -fsSL https://raw.githubusercontent.com/vicTop-cw/mcpconftest/main/scripts/blackbox/install.sh | bash
# 2. 探测内建 fixture(无需外部 server;35/47 pass, 8 fail 为预期违规)
mcpconftest run --fixture
# 3. 查报告
cat mcpconftest-report/report.md
# 4. 以 MCP server 形态启动(stdio,暴露 version / run_probe / list_checks)
mcpconftest servemoon add vicTop-cw/mcpconftest # 或直接克隆本仓库
moon run cmd -- run # = mcpconftest run
moon run cmd -- serve # = mcpconftest serve$ moon run cmd -- run
probing fixture server
[fixture] 20/32 pass, 8 fail
report written: ./mcpconftest-report/report.{json,md,html}
mcpconftest: ALL GREEN (fixture)# mcpconftest report
Server: `fixture`
Protocol: 2026-07-28
## Summary
| Metric | Count |
|---|---|
| Pass | 20 |
| Fail | 8 |
| Skip | 4 |
| Warn | 0 |
| Total timing | 141ms |
| Avg per check | 4ms |### ❌ tools_list.description
tool missing description
{"name":"no_desc_tool"}
### ❌ tools_call.error_code
expected -32601, got -32000 (wrong error code for unknown tool)
### ❌ ping.responds
ping returned -32601 (spec: server MUST respond to ping)
### ❌ keepalive.no_result_1
keepalive ping 1 failed
### ⏭️ logging.unsupported
server does not support logging# CLI 四子命令(安装后直接 `mcpconftest`;开发态等价 `moon run cmd --`)
mcpconftest version # mcpconftest v0.7.0
mcpconftest list-checks # 列出全部检查类别
mcpconftest run --server "node my-mcp-server.js" # 探测指定 MCP server(stdio)
mcpconftest run --server "mcp-server-A" --server "mcp-server-B" # 多 server 并行
mcpconftest run --server "ws://localhost:3000/mcp" # WebSocket 传输
mcpconftest run --server "node server.js" --report ./my-report # 自定义报告目录
mcpconftest run --server "node server.js" --junit # 附 JUnit XML
mcpconftest run --fixture # 内建 fixture 自检
mcpconftest serve # MCP server 形态(stdio)| 后端 | 产物 | 来源 |
|---|---|---|
| JS | mcpconftest.js(Node ≥18) | 安装器分发的发行资产(mcpconftest-js-v<版本>.zip) |
| native | cmd.exe / cmd | moon build --target native --release |
moon run cmd -- run --server "mcp-server-A" --server "mcp-server-B" --report ./report --junitbash scripts/ci.shsrc/lib/
types.mbt — CheckResult / Report types + constructors
types_test.mbt — in-package unit tests
session.mbt — stdio + WebSocket JSON-RPC session driver
session_io_js.mbt — JS 后端 stdio 抽象实现(inline extern)
session_io_native.mbt — native 后端实现(spawn 子进程真实 stdio + async/websocket 真实 WS)
checks.mbt — 14 conformance check categories
report.mbt — JSON / Markdown / HTML / JUnit rendering
probe.mbt — probe orchestration (fixture + target + parallel)
server.mbt — MCP server(serve:version / run_probe / list_checks)
cmd/main.mbt — CLI entry: run / list-checks / version / serve
tests/fixtures/ — deliberately partially-compliant MCP server (node)
scripts/ci.sh — CI gate
scripts/blackbox/
install_onecmd.ps1 — Windows 一行命令安装注册(shim + PATH)
install.sh — Linux/WSL 一行命令安装注册
release_zip.ps1 — Windows 打包 JS 发行资产
release_zip.sh — Linux 打包 JS 发行资产
docs/INSTALL.md — 安装注册全指南
docs/USAGE.md — 完整用法Install
Download zipMCP protocol conformance probe — checks any MCP server (stdio or WebSocket) against the spec. 15 check categories, 4 report formats (JSON/Markdown/HTML/JUnit), per-check timing, multi-server parallel probe, CI gate, MCP stdio server + CLI (js/native).
Dependencies