MCP协议今日大改:无状态化核心变化速览
MCP(Model Context Protocol)今天发布自诞生以来最大的一次修订。Sessions没了,initialize握手没了,整个协议从"有状态"转向"无状态"。这篇用5分钟讲清楚开发者最关心的5个变化。
一句话背景
MCP是让AI模型安全连接外部数据源和工具的开放协议。全球已有超过1万个MCP服务器在运行。今天(2026年7月28日)发布的2026-07-28版规范,是协议诞生以来最大的架构调整。
5个核心变化
变化项 | 旧版 | 新版(2026-07-28) | 开发者影响 |
会话管理 | session + initialize握手 | 无状态,每请求自带_meta | 服务器可随意水平扩展 |
能力发现 | initialize时一次性协商 | server/discover RPC按需查询 | 更灵活,按需调用 |
授权 | 自定义流程 | OAuth 2.1 + OIDC标准对齐 | 用现成OAuth中间件即可 |
UI能力 | 无 | MCP Apps扩展(返回交互式组件) | 工具可返回仪表盘/表单 |
长任务 | 无标准方案 | Tasks扩展 | 支持异步长时间运行任务 |
变化1:无状态化——最核心的改动
旧版MCP连接时需要initialize握手,服务器分配session ID,后续请求都带这个ID。问题在于:如果用负载均衡器把请求分发到不同服务器,每台服务器都得记住别的机器发的session ID。大规模部署时极其痛苦。
新版直接取消session概念。每次请求自带_meta参数,包含协议版本、客户端标识、能力信息。任何服务器实例收到都能处理。
类比:旧版像打电话,必须保持连接;新版像发微信消息,每条独立送达。
变化2:server/discover替代initialize
以前客户端连服务器要先initialize,一次性协商好双方能力。新版改用server/discoverRPC,客户端按需查询服务器支持什么。
好处是:连接更快、可并行、不阻塞。坏处是:如果你现有代码依赖initialize时返回的capabilities,需要改成主动discover。
变化3:OAuth 2.1 + OIDC标准对齐
旧版MCP的授权流程是自定义的,每家实现都不太一样。新版直接对齐OAuth 2.1和OpenID Connect标准。
还新增了Enterprise-Managed Authorization(EMA)扩展:企业可以集中管理所有MCP服务器的授权,终端用户只需登录一次就能访问所有已连接的MCP服务器。目前Anthropic、Microsoft、Okta已在采用。
变化4:MCP Apps——工具可以返回UI了
以前MCP工具只能返回文本或数据。新版MCP Apps扩展允许工具返回交互式UI组件:仪表盘、表单、可视化图表、多步骤工作流界面,直接在对话中渲染。
这对开发者意味着:你的MCP服务器不再只是"数据管道",可以变成完整的交互式应用。
变化5:Tasks扩展——支持长时间运行任务
旧版MCP请求是同步的,工具调用必须快速返回。新版Tasks扩展支持异步长任务:发起任务→获取状态→获取结果。
适合的场景:大数据处理、模型训练触发、批量文件转换等耗时操作。
迁移建议
迁移项 | 优先级 | 说明 |
SDK升级 | ��高 | 所有一级SDK(TypeScript/Python等)已支持新版beta,升级即可 |
移除initialize依赖 | ��高 | 客户端代码中initialize调用替换为server/discover |
session ID逻辑清理 | ��中 | 服务器端移除session存储和验证逻辑 |
OAuth流程标准化 | ��中 | 如果用了自定义授权,迁移到标准OAuth 2.1 |
MCP Apps/Tasks适配 | ��低 | 新能力,不影响现有功能,按需接入 |
FAQ
Q:现有MCP服务器会断吗?
A:不会。一级SDK已支持新版beta,向后兼容。旧服务器继续运行,迁移可分步进行。
Q:无状态化后安全性有变化吗?
A:安全模型更标准了。OAuth 2.1 + OIDC是业界成熟方案,比自定义流程更可靠。EMA扩展还解决了企业多服务器的单点登录问题。
Q:个人开发者需要迁移吗?
A:如果你只是用现成SDK搭MCP服务器,升级SDK版本就行。如果你自己实现了协议层,需要处理initialize→discover的迁移。
Q:MCP Apps和Tasks什么时候能用?
A:已经是官方扩展,正式版随2026-07-28规范一起发布。具体客户端支持看各平台更新进度。
作者:落子AI·电气工程师 | AI工具实测与落地实践
本文部分内容由AI辅助生成,经人工审核校验后发布。