SDK 分级体系
社区译文;来源: MCP 80041ab0
MCP SDK 分级体系为官方和社区驱动 SDK 的功能完整性、协议支持和维护承诺建立明确预期。这有助于开发者选择适合自身需求的 SDK,也为 SDK 维护者提供一条提高采用预期的清晰路径。
关键日期:
- 2026 年 1 月 23 日:提供一致性测试
- 2026 年 2 月 23 日:发布官方 SDK 分级
在 1 月 23 日至 2 月 23 日之间,SDK 维护者可以与 Conformance Testing 工作组协作采用这些测试,并使用下文定义的标准化标签设置 GitHub issue 跟踪。
概述
SDK 按功能完整性、维护承诺和文档质量分为三个等级:
- Tier 1:受到全面支持的 SDK,完整实现协议,包括所有非实验性功能,以及 sampling 和 elicitation 等可选能力
- Tier 2:积极维护、正在努力实现完整协议规范支持的 SDK
- Tier 3:实验性、部分实现或专用 SDK
任何等级都不要求支持实验性功能和协议扩展(例如 Tasks 和 MCP Apps)。
等级要求
| 要求 | Tier 1:全面支持 | Tier 2:承诺全面支持 | Tier 3:实验性 |
|---|---|---|---|
| 一致性测试 | 通过率 100% | 通过率 80% | 无最低要求 |
| 新协议功能 | 在新规范版本发布前完成;每次发布根据功能复杂度约定时间线 | 6 个月内 | 不承诺时间线 |
| Issue 分类处理 | 2 个工作日内 | 一个月内 | 无要求 |
| 严重错误解决 | 7 天内 | 两周内 | 无要求 |
| 稳定发行版 | 必须提供并具有清晰版本控制 | 至少一个稳定发行版 | 不要求 |
| 文档 | 全面,所有功能均有示例 | 覆盖核心功能的基础文档 | 无最低要求 |
| 依赖策略 | 已发布更新策略 | 已发布更新策略 | 不要求 |
| 路线图 | 已发布路线图 | 已发布迈向 Tier 1 的计划,或说明保持 Tier 2 的原因 | 不要求 |
Issue 分类处理是指添加标签并判断 issue 是否有效,而不是解决 issue。
严重错误指 P0 issue(详细标准参见优先级标签)。
稳定发行版是明确标记为可用于生产环境的已发布版本(例如版本 1.0.0 或更高,且不含 -alpha、-beta 或 -rc 等预发布标识符)。
清晰版本控制是指遵循符合相应语言生态惯例的版本模式,并记录破坏性变更政策,使用户升级时能够理解兼容性预期。
路线图列出跟踪 MCP 规范必要组件实现情况的具体步骤和工作项(即一致性测试中所述的非实验性功能和可选能力),让用户了解即将提供的功能支持。
一致性测试
所有 SDK 均使用自动化一致性测试评估,以验证其对已发布规范的协议支持。SDK 根据测试结果获得一致性分数:
- Tier 1:要求 100% 一致性
- Tier 2:要求 80% 一致性
- Tier 3:无最低要求
一致性分数仅根据适用的必需测试计算:
- SDK 所面向规范版本的测试
- 排除标记为 pending 或 skipped 的测试
- 排除实验性功能的测试
- 排除旧版向后兼容性测试(除非 SDK 声明支持旧版)
- 排除一致性仓库中标记为
disputed的测试,直至争议解决
一致性测试通过运行标准化测试场景并检查协议消息交换,验证 SDK 是否正确实现协议。有关临时测试失败的处理方式,参见等级降级。
等级晋升
SDK 维护者可以通过以下方式申请晋升等级:
- 对照等级要求自行评估
- 在 modelcontextprotocol/modelcontextprotocol 仓库中创建 issue 并提供支撑证据
- 通过自动化一致性测试
- 获得 SDK 工作组维护者批准
SDK 工作组评审晋升申请并作出最终等级认定。
等级降级
如果最新稳定发行版持续 4 周无法通过现有一致性测试,SDK 可能会被降至较低等级:
- Tier 1 → Tier 2:任何一致性测试失败
- Tier 2 → Tier 3:超过 20% 的一致性测试失败
如果 issue 两个月仍未处理,SDK 也可能被降级。
Issue 分类标签
SDK 仓库必须使用一致的标签,以便自动报告 issue 处理指标。等级计算使用这些指标衡量分类响应时间(从 issue 创建到首次添加标签的时间)和严重错误解决时间(从添加 P0 标签到关闭 issue 的时间)。
类型(选择一个)
| 标签 | 说明 |
|---|---|
bug | 某项功能无法工作 |
enhancement | 请求新功能 |
question | 请求更多信息 |
使用 GitHub 原生 issue 类型的仓库无需类型标签即可满足此要求。
状态(选择一个)
所有仓库都应使用以下准确标签名称,以便进行一致的报告和分析。
| 标签 | 说明 |
|---|---|
needs confirmation | 不确定是否仍然相关 |
needs repro | 复现所需信息不足 |
ready for work | 已有足够信息,可以开始处理 |
good first issue | 适合新贡献者 |
help wanted | 欢迎熟悉代码库的人贡献 |
优先级(仅在可执行时使用)
| 标签 | 说明 |
|---|---|
P0 | 严重:核心功能故障或高严重性安全问题 |
P1 | 影响大量用户的重大错误 |
P2 | 中等问题、有价值的功能请求 |
P3 | 锦上添花的改进、罕见边界情况 |
P0(严重) issue 包括:
- CVSS 分数 ≥ 7.0(High 或 Critical 严重性)的安全漏洞
- 阻止基本 MCP 操作(建立连接、交换消息或使用核心原语,即 tools、resources、prompts)的核心功能故障