MCP(Model Context Protocol,模型上下文协议)正在成为连接AI智能体与工具的事实标准。官方数据显示,MCP的Tier 1 SDK每月下载量已逼近5亿次,而ChatGPT用户的MCP工具调用量在2026年增长了98倍,仅8月就翻了一倍以上。
就在7月,MCP协议迎来了发布以来最大规模的一次重写。LangChain团队对MCP支持进行了重构,以适配新规范。这次改动背后,是协议架构的一次根本性转变。
![]()
旧协议的核心问题:会话绑定
在旧版MCP规范下,每次工具调用都要先建立一个会话。客户端和服务器先握手,服务器返回一个会话ID,之后每个请求都得携带这个ID。这意味着客户端被牢牢绑定在签发会话ID的那台服务器实例上。
这种设计带来的直接后果是:任何规模的远程服务器部署,都需要粘性路由(sticky routing)和共享会话存储。服务器一旦重新部署,所有活跃会话全部失效,这对生产环境的可靠性是个不小的挑战。
新规范的核心变化:无状态核心
新版MCP规范引入了无状态核心(stateless core)。MCP团队表示,这是开发者呼声最高的功能之一——大家希望服务器具备更好的可靠性和可扩展性。新规范下,没有任何东西需要被"钉住",重新部署不再杀死活跃会话,因为会话根本不存在了。
这一改动直接解锁了两个能力,而LangChain的langchain.mcp模块现在都已支持。具体来说:
- 服务器可以自由扩展和缩减,不再受会话状态约束
- 客户端与服务器的连接方式大幅简化,协议协商自动完成
LangChain的适配方案:MCPAdapter统一入口
LangChain将MCP支持直接移入主包,成为智能体的一等公民。安装方式很简单:pip install "langchain[mcp]"。从旧包迁移过来的用户会发现,原来的MultiServerMCPClient被整合成了一个MCPAdapter类。
基本用法非常直接:
from deepagents import create_deep_agentfrom langchain.mcp import MCPAdapterasync def main():async with MCPAdapter("https://example.com/mcp") as adapter:agent = create_deep_agent(model="google_genai:gemini-3.8-flash",tools=await adapter.list_tools()return await agent.ainvoke({"messages": [{"role": "user", "content": "..."}]}这些工具就是普通的LangChain工具,可以用于create_deep_agent、create_agent,或者你自己搭建的图结构(graph)中。
FastMCP的兼容策略:双协议自动协商
MCP现在存在两个不同"时代"的协议版本,客户端需要能同时与两种协议协商。FastMCP在每次连接时自动处理:先尝试新协议,如果服务器还没升级,就回退到旧版握手流程。对开发者来说,代码完全不用改。
FastMCP在传输层提供了干净的抽象:连接管理、认证、缓存和协议协商。它的客户端接口可以直接使用,每个服务器可以拥有独立的连接配置。
这次改版意味着什么
对开发者而言,最直观的感受是:部署MCP服务器不再需要操心会话状态管理,扩展性瓶颈被移除。对LangChain用户来说,迁移路径清晰,旧代码改动量小,新项目可以直接用MCPAdapter接入。
MCP生态正在快速膨胀,协议层的这次重构为更大
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.