mcpField
P
Protocol Conformance

Protocol Conformance

本地服务
github.com开发工具01 周前更新

关于 Protocol Conformance

Protocol Conformance 是面向开发者的命令行工具、TypeScript 库和 MCP 服务,用于验证 MCP 服务实现。它针对多个 MCP 规范版本检查协议行为,并可比较清单和报告以发现破坏性变更。

主要功能

  1. 01JSON-RPC 与版本检查
  2. 02stdio 和 HTTP 传输测试
  3. 03OAuth 2.1 PKCE 验证
  4. 04工具架构与能力检查
  5. 05往返冒烟测试和注释审计
  6. 06清单与报告比较

适用场景

  1. 01发布前验证 MCP 服务
  2. 02在 CI 中运行一致性检查
  3. 03比较不同版本的工具清单
  4. 04检测报告间的破坏性变更

MCP 相关

它本身是 MCP 服务,提供 12 个只读工具,用于运行一致性测试套件、生成报告、比较清单和检查破坏性变更。它也可通过 stdio 或 HTTP 测试其他 MCP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"protocol-conformance": {
"command": "npx",
"args": [
"-y",
"mcp-protocol-conformance"
]
}
}
}
启动命令npx -y mcp-protocol-conformance

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-protocol-conformance0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

属于 StudioMeyer MCP Stack — 于马略卡岛打造 🌴 · 如果你在使用,欢迎 ⭐

mcp-protocol-conformance

npm version npm downloads License Last commit GitHub stars 用于 Model Context Protocol 服务的符合性测试框架。针对 MCP 规范 2024-11-05、2025-03-26、2025-06-18 以及当前稳定版修订版 2025-11-25,验证 JSON-RPC 2.0 线路符合性、规范版本握手、传输行为、OAuth 2.1 PKCE、工具架构、能力声明、冒烟往返测试和注解规范(实验性 tasks、结构化工具输出、默认使用 JSON Schema 2020-12、工具 title/icons)。

这是 StudioMeyer MCP Factory 的基础构建版本:Factory 的其他所有构建版本在发布前(npm 发布、提交至市场、上游 PR)都会通过此测试框架运行。

我们想说的话

过去两年,我们一直在为自己构建工具和系统。这个仓库规模小、星标少,并不是因为它很新,而是因为我们直到最近才决定分享自己的成果。这不是一次全新的尝试,而是一段漫长历程,最近才有了提交记录。

我们热爱构建和分享,但不喜欢社交媒体策略、增长技巧,也不追逐星标和关注者。所以这个仓库规模不大。代码是真实的,有人在使用,问题也会得到回复。欢迎自行判断。

如果它对你有帮助,分享、测试和反馈都能帮到我们。如果你觉得它还有改进空间,提交 issue 会更有帮助。如果你用它构建了什么,欢迎通过 [email protected] 告诉我们。这真的会让我们开心一整天。

来自帕尔马-德马略卡的一间小工作室。

安装

npm install --save-dev mcp-protocol-conformance

此软件包同时提供 CLI(mcp-conformance)和 TypeScript 库入口(import ... from "mcp-protocol-conformance")。

CLI 用法

对 stdio 服务运行
mcp-conformance run \
  --target stdio \
  --cmd node \
  --cmd-arg dist/server.js \
  --spec 2025-06-18 \
  --suite all \
  --format terminal
对 HTTP 服务运行(Streamable HTTP,2025-03-26+)
mcp-conformance run \
  --target http \
  --url https://memory.studiomeyer.io/mcp \
  --header "Authorization:Bearer ${TOKEN}" \
  --spec 2025-06-18 \
  --suite full \
  --format json --out report.json
仅运行部分测试套件
mcp-conformance run --target stdio --cmd ./server --spec 2025-06-18 \
  --suite jsonrpc,version,schema
比较两个清单
mcp-conformance compare \
  --expected manifests/v1.json \
  --actual   manifests/v2.json
断言两个报告之间没有破坏性变更
mcp-conformance assert-no-breaking \
  --baseline reports/main.json \
  --current  reports/pr-42.json

退出代码:0 表示无问题,1 表示失败,2 表示调用错误。

库用法

import {
  runFullSuite,
  generateReport,
} from "mcp-protocol-conformance";

const report = await runFullSuite(
  { kind: "stdio", cmd: "node", args: ["dist/server.js"] },
  "2025-06-18",
  { suite: "all" },
);

console.log(generateReport(report, "terminal"));
if (report.status === "fail") process.exit(1);

MCP 服务用法

此测试框架本身也是一个 MCP 服务。通过 stdio 启动后,任何 MCP 客户端都可以调用它的 12 个工具:

node dist/server.js

工具(均为只读,且均为 destructiveHint: false):

#工具用途
1runJsonRpcComplianceJSON-RPC 2.0 错误代码矩阵和响应信封(result/error 互斥)
2runSpecVersionAssertion验证声明的 protocolVersion
3runTransportSuite传输层 ping 和 session-id
4runOauthPkceFlowOAuth 2.1 PKCE S256(mock-AS 或真实租户)
5runToolSchemaValidationinputSchema(以及 2025-11-25 的 outputSchema / title)是有效的 JSON-Schema
6runCapabilityIntrospectioninitialize.capabilities 与行为一致(以及 2025-11-25 的 tasks)
7runRoundtripSmoke对每个已声明的工具执行一次 tools/call
8runAnnotationsAuditreadOnlyHint / destructiveHint 规范检查
9runFullSuite所有测试套件及摘要
10generateReport生成 JUnit / JSON / 终端格式报告
11compareManifests比较两个工具清单
12assertNoBreakingChanges比较两个 FullReports

兼容性矩阵

2024-11-052025-03-262025-06-182025-11-25
jsonrpcyesyesyesyes
version (handshake)yesyesyesyes
transport (stdio)yesyesyesyes
transport (http)n/ayesyesyes
oauth (mock)n/ayesyesyes
oauth (real)n/ayesyesyes
schemayesyesyesyes
capabilityyesyesyesyes
smokeyesyesyesyes
annotationswarn-onlywarn-onlyyesyes
tasks (capability)n/an/an/ayes
tool title/outputn/an/an/awarn-only

yes = 套件运行并生成可操作的结果。 n/a = 规范中没有此功能;套件会自动跳过。 warn-only = 套件会运行,但规范并未正式要求该功能。

2026-07-28 RC(无状态核心,SEP-2575/2567)有意不在此列—— 它将于 2026-07-28 正式发布;针对它的符合性测试将在后续版本中基于最终版 SDK 推出。

在 Factory 构建中集成

在每个 Factory 构建的 package.json 中:

{
  "scripts": {
    "factory:conformance": "mcp-conformance run --target stdio --cmd 'node dist/server.js' --spec 2025-06-18 --suite full"
  }
}

在 CI 中:

- run: npm run factory:conformance

规范参考

关于 StudioMeyer

StudioMeyer 是一家位于马略卡岛帕尔马的 AI 与设计工作室,服务全球客户。我们为中小型企业构建定制网站和 AI 基础设施。生产技术栈基于 Claude Agent SDK、MCP 和 n8n,并采用 Sentry、Langfuse 和 LangGraph 实现可观测性,同时配有自研的防护层。

许可证

MIT — 版权所有 (c) 2026 Matthias Meyer (StudioMeyer)

评论

支持 Markdown

第一次接触 MCP?

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

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