LangChain 在 8 月 28 日发出 1.4.0a2 预览版,装法是 pip install langchain[mcp]==1.4.0a2。这一版新增 langchain.mcp 命名空间,官方称之为第一方适配器,作用是把任意 MCP server 变成 LangChain 工具,直接传给 create_agent。
连接这层交给 FastMCP,LangChain 没有再包一层更窄的抽象,FastMCP 客户端的能力原样透出。MCPAdapter 只收两个参数,目标和 elicitation,鉴权、缓存、超时这些都在你自己构造的 fastmcp.Client 上配好再传进来。目标可以是 URL、本地脚本路径、进程内的 FastMCP 服务、多服务器配置,或者一个现成的客户端,传输方式自动推断。get_tools 拿到的工具会保留适配器的客户端,async with 块结束之后仍然能用,那个上下文只圈定发现阶段。
多服务器场景下工具名按服务器名加前缀,比如 weather_get_forecast,单服务器时不加。这里有个坑,一份多服务器配置只暴露一个协议世代,最老的那个后端会把整批拉到它的水位,所以官方建议把老服务单独放一个适配器。
结构化输出通过 MCPToolArtifact 返回,从 tool_message.artifact 读。elicitation 设成 interrupt 时,服务端运行中的追问会变成 LangGraph 的 interrupt,交给人来回答,这需要配 checkpointer。发布说明把话说在了前面,接口在 1.4.0 正式版之前还可能变。