LangChain发布 1.4.0 第三个alpha:新增langchain.mcp命名空间,用于将MCP服务器适配为工具
MCPAdapter可接入URL、本地脚本或进程内服务器等多种目标,并支持缓存与人工中断提示。
AI解读:MCP(模型上下文协议)正成为AI助手连接外部工具的标准方式,但LangChain之前缺少官方的适配层。此次 1.4.0a3通过新增的langchain.mcp命名空间把FastMCP服务器直接变成LangChain工具——你只需指向一个URL或本地脚本,就能让agent调用它的能力。对开发者而言,集成成本从手写适配代码降到几行;list_tools的缓存模式可减少重复请求,elicitation="interrupt" 则让服务器在调用中提出的问题暂停agent并交由人类回答。该版本为预发布,需要安装 "mcp" extra且fastmcp>=4.0.0,建议在测试环境中验证;尚不清楚迭代期API是否稳定。
LangChain发布 1.4.0 系列第三个alpha版本(langchain==1.4.0a3),主要工作是新增langchain.mcp命名空间,用于把MCP服务器适配成LangChain工具。
该版本是预发布,安装需使用pip install --pre "langchain==1.4.0a3",并要求安装mcp extra(pip install "langchain[mcp]")以及fastmcp>=4.0.0。
MCPAdapter:统一接入多种MCP服务器
核心组件MCPAdapter可适配任何fastmcp.Client支持的目标,包括URL、本地脚本、进程内服务器、列出多个服务器的MCPConfig,以及预构建的客户端;也支持FastMCP的ClientGroup,让同一客户端管理一组服务器。
使用示例(来自发布说明):通过async with MCPAdapter("https://example.com/mcp") 创建适配器,再调用await adapter.list_tools(),随后create_agent("anthropic:claude-sonnet-5", tools) 即可构建LangChain代理。
- MCPAdapter.list_tools(*, cache_mode="use") 负责发现并适配工具,支持客户端侧响应缓存(SEP-2549);cache_mode设为use时在服务器TTL提示内返回缓存列表,refresh重新填充,bypass跳过缓存。
- as_langchain_tool(tool, client, *, elicitation=None) 可将单个MCP工具转换给自行管理客户端的调用方。
- 工具元数据按mcp命名空间分组:annotations(snake_case)和 _meta位于metadata["mcp"]["tool"],提供服务器的身份信息位于metadata["mcp"]["server"]。
- 设置elicitation="interrupt" 时,服务器在调用中提出的问题会以LangGraph中断形式呈现,由人来回答后继续执行。