Skip to content

MCP 规范版本控制

Model Context Protocol 采用语义化版本控制和基于日期的版本命名策略。

版本命名规则

稳定版本

稳定版本使用 YYYY-MM-DD 格式的日期命名:

  • 2025-06-18 - 当前稳定版本
  • 2024-11-05 - 之前的稳定版本

草案版本

开发中的功能使用 draft 标识:

  • draft - 当前开发版本

版本兼容性

向后兼容性

  • 补丁更新: 完全向后兼容,仅包含错误修复和澄清
  • 次要更新: 向后兼容,可能添加新功能
  • 主要更新: 可能包含破坏性变更

兼容性保证

  1. 协议消息: 现有消息格式保持兼容
  2. JSON Schema: 现有字段定义不会删除
  3. 传输层: 现有传输方式继续支持

版本迁移

从旧版本升级

  1. 检查变更日志: 查看变更记录了解具体变更
  2. 测试兼容性: 在测试环境中验证现有实现
  3. 逐步升级: 建议分阶段升级关键组件

实现建议

  • 在客户端和服务器中声明支持的协议版本
  • 实现版本协商机制
  • 提供降级兼容性支持

版本发布流程

草案阶段

  1. 新功能在 draft 版本中开发
  2. 社区反馈和迭代改进
  3. 稳定性测试和验证

稳定发布

  1. 草案功能成熟后进入稳定版本
  2. 发布候选版本 (RC) 进行最终测试
  3. 正式发布并更新文档

支持政策

长期支持 (LTS)

  • 每年发布一个 LTS 版本
  • LTS 版本提供 2 年的维护支持
  • 包含安全更新和关键错误修复

版本生命周期

  • 活跃开发: 最新稳定版本
  • 维护模式: 前一个稳定版本
  • 终止支持: 超过 2 年的版本

实现指南

版本检测

json
{
  "jsonrpc": "2.0",
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {
      "roots": { "listChanged": true },
      "sampling": {}
    }
  }
}

版本协商

客户端和服务器应该:

  1. 声明支持的协议版本范围
  2. 协商使用的具体版本
  3. 在不兼容时提供清晰的错误信息

相关资源

🚀 探索模型上下文协议的无限可能 | 连接 AI 与世界的桥梁 | 让智能更智能