模型上下文协议(MCP)是连接AI模型与外部工具及企业数据的新兴标准,目前正在经历其最重大的架构升级。

最新候选版本计划于7月28日发布,此次更新的核心变化是移除协议层面的会话机制,转而采用无状态架构。业内专家表示,此举旨在让MCP更易于部署在标准云基础设施上,以满足企业将AI试点项目推进至生产环境的需求。

ZopDev云端工程师穆斯坎·班达塔表示:"基于会话的模型在MCP服务器还是开发者本地进程时是合理的,但进入生产环境后,它就变成了一种运维负担。"

她补充道:"当基础设施团队问MCP服务能否像其他云应用一样弹性扩展时,以前的答案是'不完全行',转向无状态架构之后,答案就变成了'可以'。"

在旧版协议中,服务器需要全程追踪每个客户端连接的会话信息。这种方式在本地开发环境中运作良好,但在多服务器部署场景下问题明显——请求往往必须被路由回同一台机器,这既限制了可扩展性,也让MCP难以融入现代云架构。

班达塔表示:"在新的无状态设计下,每个请求本身就包含了任意可用服务器独立处理所需的全部信息。如果应用需要在多个请求间保持上下文,开发者仍然可以做到,但需要显式管理这部分状态,而不是依赖协议本身来维护。"

IT咨询公司Kanerika的AI开发经理阿米特·耶那认为,这次向无状态设计的转变不只是简化了基础设施,更从根本上改变了AI应用跨工具管理和共享上下文的方式。新设计将应用状态从协议会话中"显式化",使AI模型能够访问、推理并在工具间传递这些信息,赋予开发者更强的上下文管控能力。他认为,这也将使AI工作流在分布式环境中具备更强的可移植性、弹性和编排能力。

此次更新还引入了多轮往返请求(MRTR)机制,改变了AI智能体请求额外信息以完成任务的方式。耶那介绍,新机制无需在整个交互过程中维持客户端与服务器之间的持久连接,而是允许服务器在继续执行任务前,通过标准的请求-响应交换来获取所需的额外输入。

另一项新增功能是可路由传输头,它允许API网关及其他网络基础设施在无需检查请求内容的情况下,直接识别并路由MCP请求。耶那表示,这一功能可降低处理开销和延迟,并帮助企业团队利用现有API管理基础设施,更高效地执行路由策略、限速策略和安全策略。

在其他方面,MCP还将更新基于OAuth 2.1和OpenID Connect的授权框架,推出交互式MCP应用,并引入工具及资源列表的确定性缓存机制,以提升大语言模型的提示缓存命中率,从而有效降低Token成本。

此外,MCP发布指导委员会决定废弃部分旧版功能,包括Roots、Sampling、Logging、旧版HTTP+SSE传输协议以及动态客户端注册功能。不过,这些功能在本版本及未来一年内发布的版本中仍可正常使用。

耶那表示,Sampling的废弃影响最大,因为它改变了与基础模型交互的责任归属。"Sampling允许MCP服务器通过客户端调用大语言模型,也就是说服务器不需要拥有连接,就能有一条回调模型的路径。废弃它意味着需要重新划定信任边界。你的服务器现在要直接调用模型提供商,这会改变网络架构、授权模型,甚至根据你的成本归因方式,影响计费流程。"

他认为,一年的过渡期足够团队审查自身对Sampling的依赖情况,但也提出了一个潜在风险:"那些没有自行实现Sampling的团队,可能不清楚他们所依赖的第三方MCP服务器是否用到了这个功能。"

为配合协议更新,Python、TypeScript、Go和C#的MCP SDK也同步更新,并同时支持新旧两个协议版本。新客户端可继续与旧服务器通信,更新后的服务器也兼容旧客户端,从而降低了立即中断服务的风险。

班达塔表示,这种向后兼容性将使大多数团队的迁移过程保持渐进式推进,但对于那些围绕旧版会话架构构建了自定义基础设施的企业来说,情况则另当别论。

耶那警告,识别和审查会话依赖并非易事:"会话管理的复杂性往往分散隐藏在多个层次中——网关配置、部署脚本、监控面板。代码改动本身很小,真正耗时的是找出所有依赖这一假设的地方。"

Q&A

Q1:MCP无状态架构和之前的有状态架构有什么区别?

A:旧版MCP采用有状态的会话机制,服务器需要全程追踪每个客户端连接的信息,请求必须路由回同一台机器处理,限制了水平扩展能力。新版无状态架构下,每个请求本身携带处理所需的全部信息,任何可用服务器都能独立处理,天然适配现代云基础设施的弹性扩展模式。

Q2:MCP废弃Sampling功能会带来哪些影响?

A:Sampling此前允许MCP服务器通过客户端间接调用大语言模型,废弃后服务器必须直接调用模型提供商。这会影响网络架构、授权模型和计费流程。最大的隐患在于,没有自行实现Sampling的团队,可能不知道其依赖的第三方MCP服务器是否使用了该功能,存在未知的迁移风险。

Q3:MCP新版本的Token缓存机制是怎么工作的?

A:新版本引入了工具及资源列表的确定性缓存机制,目的是提升大语言模型的提示缓存命中率。当大语言模型每次调用时看到的工具列表内容一致时,系统可复用已缓存的提示处理结果,从而减少重复计算的Token消耗,最终帮助开发者降低API调用成本。

InfoWorld