MCP 2026-07-28规范发布候选版来了——这是协议自发布以来最大规模的重构:告别Session,拥抱无状态;Extensions成为一等公民;MCP Apps让服务器直接渲染UI。本文带你逐项拆解变化,附完整迁移代码。
▲ ▲ MCP协议架构对比:2025-11-25的有状态会话架构 vs 2026-07-28的无状态HTTP架构
一、事件回顾:MCP协议迎来最大版本升级
2026年5月21日,Model Context Protocol(MCP)维护团队正式发布了 2026-07-28 规范发布候选版(Release Candidate)。这是MCP自2024年11月由Anthropic推出以来,规模最大的一次协议修订,由两位首席维护者 David Soria Parra 和 Den Delimarsky 联合发布。
这次修订的核心目标来自2026年初制定的路线图:让MCP从"能用"走向"能大规模部署"。如果你在过去一年里尝试过在生产环境部署MCP服务器,你一定踩过这些坑:需要sticky session保持连接、服务器重启后所有客户端断连、网关层需要深度包检测来路由会话——这些都是状态协议带来的工程债。
新规范用6个规范增强提案一次性解决了这些问题。最终规范将于2026年7月28日正式发布,现在这个RC版就是最终形态的预览,包含破坏性变更——这意味着你现在就要开始规划迁移。
二、核心变化一:无状态协议——最大的架构变革
这是本次修订的标题级特性。MCP从此告别会话(Session)概念,成为一个纯无状态协议。
旧版(2025-11-25规范)调用一个MCP工具需要两步:
- 先发
initialize请求建立会话,服务器返回Mcp-Session-Id - 后续所有请求都要带上这个Session ID,被绑定到同一台服务器实例
新版(2026-07-28规范)把每次调用变成一条自包含的HTTP请求:
这意味着什么?以前你的MCP服务器架构必须这样:
现在可以简化为:
生产部署的实际影响是立竿见影的:不需要sticky session,不需要共享会话存储,不需要网关做深度包检测。你可以在普通HTTP基础设施上运行MCP服务,利用标准的CDN缓存 tools/list 响应(通过 ttlMs 字段控制缓存时长)。
三、核心变化二:Extensions成为一等公民——MCP Apps来了
Extensions框架从实验性功能正式升级为协议核心的一部分。最值得关注的是两个新扩展:
3.1 MCP Apps:服务器端渲染UI
这是全新的能力——MCP服务器现在可以直接向客户端提供用户界面。想象一下:你的MCP数据库查询工具不再只是返回JSON数据,而是可以返回一个完整的表格视图、图表、甚至是交互式表单。
对于AI创业者来说,这意味着你可以用MCP构建完整的SaaS产品界面,而不仅仅是工具调用接口。客户端(Claude Code、Hermes Agent、OpenClaw等)将直接渲染服务器提供的UI组件。
3.2 Tasks正式毕业
Tasks从实验性功能毕业为正式扩展。这允许MCP服务器启动长时间运行的任务(如数据导出、模型训练、批量处理),并通过任务ID查询进度和结果。不再需要客户端轮询或维护WebSocket连接。
▲ ▲ MCP Extensions框架:MCP Apps(服务器UI渲染)和Tasks(长时间任务管理)两大新能力
四、核心变化三:授权加固——更接近OAuth/OIDC标准
旧版MCP的授权机制是协议早期设计的,在实际部署中暴露了很多问题。新规范让授权模型与OAuth 2.0和OpenID Connect(OIDC)的部署实践保持一致。
具体改进包括:
- 更清晰的Authorization头传递规范
- 与现有企业SSO体系的更好集成
- 资源级权限控制的标准表达方式
对于已经在使用OAuth体系的企业来说,这意味着MCP服务器的授权集成将变得更自然,不需要再维护一套独立的认证逻辑。
五、核心变化四:Roots、Sampling、Logging被正式弃用
三个从MCP早期就存在的概念被标记为弃用:
- Roots:原先用于声明服务器可访问的根目录。在无状态协议中,这个概念的实现方式需要重新设计。
- Sampling:原先允许服务器请求客户端执行LLM采样。随着Extensions框架成熟,这个能力将通过Task扩展以更规范的方式实现。
- Logging:原先的日志机制被更标准的可观测性方案取代。
"弃用"不等于"移除"——MCP现在有了正式的弃用政策,在最终移除之前会经过支持→弃用→移除三阶段。但新项目不应该再依赖这些即将退役的能力。
六、核心变化五:Tool定义全面升级到JSON Schema 2020-12
MCP工具的参数定义从旧的JSON Schema草案升级到完整的JSON Schema 2020-12规范。这听起来像是细节,但实际影响很大:
之前很多高级验证特性(如条件验证 if/then/else、$defs 引用、unevaluatedProperties)在MCP工具定义中不可用。现在你可以:
这种条件验证让工具定义的表达能力大幅提升,客户端可以在调用前就完成复杂的参数校验。
七、核心变化六:可路由、可缓存、可追踪
无状态化带来的副产品同样重要。新规范中的几个关键HTTP头让MCP流量变得可管理:
| HTTP头 | 作用 |
|---|---|
Mcp-Method | 路由依据——网关可以直接按方法名分流 |
MCP-Protocol-Version | 版本协商——客户端和服务器声明支持的版本 |
Mcp-Name | 工具名/资源名——精确定位具体能力 |
Mcp-Trace-Id | 分布式追踪——端到端请求链路追踪 |
ttlMs | 缓存控制——tools/list 等响应的缓存时长 |
这些头的引入意味着MCP流量现在可以走标准的API网关、CDN、服务网格——不再需要专门的MCP网关做协议解析。
八、迁移指南:从2025-11-25到2026-07-28
▲ ▲ MCP迁移路线图:从RC发布到7月28日正式规范的三个阶段和关键任务
第一步:更新服务器端
最核心的改动是去掉Session管理:
第二步:更新客户端调用方式
第三步:处理弃用项
如果你的服务使用了Roots、Sampling、Logging,需要规划迁移路径:
- Roots → 通过工具参数显式传递路径
- Sampling → 等待Tasks扩展的替代方案成熟
- Logging → 切换到OpenTelemetry等标准方案
第四步:更新工具定义
如果你的工具使用了复杂参数验证,现在可以利用JSON Schema 2020-12的新特性简化逻辑。
九、踩坑提醒
1. 不要在生产环境直接升级。 这是破坏性变更——2025-11-25和2026-07-28协议不兼容。客户端和服务端必须同步升级。
2. stdio传输不受影响。 如果你的MCP服务器通过标准输入输出(stdio)与客户端通信,本次修订主要影响Streamable HTTP传输。但未来stdio也可能纳入无状态化规划。
3. 客户端兼容性滞后。 Claude Code、Hermes Agent、OpenClaw等主流客户端需要时间适配新协议。在7月28日最终规范发布前,不要期望客户端已经支持。目前应使用官方验证工具进行兼容性测试。
4. 中间件需要重写。 如果你自建了MCP代理或网关,需要重新设计路由逻辑——从基于Session ID的路由改为基于Mcp-Method头的路由。
5. JSON Schema升级可能破坏现有工具。 检查你的工具定义中是否有依赖旧Schema草案行为的边缘情况。特别是 additionalProperties 的默认行为在不同Schema版本间有差异。
6. 状态不是你省掉的,是你移到别处了。 协议层无状态不等于应用层无状态。如果你的工具本身有状态(如数据库连接池、内存缓存),这些状态管理仍然存在,只是不再通过MCP会话维护。
十、总结
MCP 2026-07-28是协议走向成熟的标志。无状态核心解决了生产部署中最痛苦的工程问题,Extensions框架打开了MCP Apps和Tasks的新可能性,授权加固让企业采纳更顺畅。
对于AI创业者来说,这次升级传递了一个明确信号:MCP正在从"实验性协议"变成"基础设施级标准"。现在投资MCP技术栈的团队,将在协议正式发布时获得先发优势。
行动建议:
- 立即阅读RC规范,理解所有破坏性变更
- 用官方验证工具测试你的MCP服务器兼容性
- 新项目直接按2026-07-28规范设计
- 现有项目制定7月28日前的迁移计划
- 关注MCP Apps的能力边界,思考你可以在上面构建什么产品
MCP正在变成AI时代的HTTP——它不再只是连接工具和模型的管道,而是承载完整应用的平台层。这次重构,就是它从"管道"走向"平台"的关键一步。
本文参考自MCP官方博客(2026年5月21日发布),由AI辅助创作,经人工审核编辑发布。
#AI创业 #MCP协议 #Agent工坊 #一人公司 #AI工具开发
本文由AI辅助创作,经人工审核编辑发布
