1. 为什么需要版本控制? #
不同时期的 MCP 实现可能支持不同的能力。版本控制用来:
- 标识协议:区分新旧规范
- 协商兼容:连接时双方约定用同一版本
- 平滑演进:在保持兼容的前提下逐步改进
2. 版本号长什么样? #
MCP 使用 日期格式 的版本号:YYYY-MM-DD。
例如:2025-11-25 表示「最后一次做不兼容修改的日期」。
重要规则:只要更新是向后兼容的,版本号不会改变。只有出现不兼容变更时,才会更新版本号。
3. 修订状态:草稿、当前、最终 #
每个版本可能处于不同状态:
| 状态 | 英文 | 说明 |
|---|---|---|
| 草稿 | Draft | 规范仍在编写中,不建议用于生产 |
| 当前 | Current | 正式版本,可放心使用,可能还会有兼容性更新 |
| 最终 | Final | 已冻结,不再修改 |
当前协议版本为 2025-11-25。
4. 版本协商:连接时怎么定版本? #
版本在 初始化(握手) 阶段协商:
- 客户端和服务器各自声明支持的版本
- 双方必须在会话中选定同一个版本
- 若无法达成一致,连接会优雅终止,并返回相应错误
提示:客户端和服务器可以同时支持多个版本,但一次会话只用其中一个。
5. 本章小结 #
- 版本格式:
YYYY-MM-DD,表示最后一次不兼容变更的日期 - 兼容规则:向后兼容的更新不改变版本号
- 修订状态:草稿 → 当前 → 最终
- 协商时机:在初始化阶段确定会话使用的版本