langchain-mcp-adapters 库使用定义在 MCP 服务器上的工具。
MCP
安装
安装langchain-mcp-adapters 库,以便在 LangGraph 中使用 MCP 工具:
传输类型
MCP 支持多种客户端-服务器通信的传输机制:- stdio:客户端将服务器作为子进程启动,并通过标准输入/输出进行通信。最适合本地工具和简单设置。
- 可流式 HTTP:服务器作为独立进程运行,处理 HTTP 请求。支持远程连接和多个客户端。
- 服务器发送事件(SSE):一种针对实时流式通信优化的可流式 HTTP 变体。
使用 MCP 工具
langchain-mcp-adapters 使智能体能够使用一个或多个 MCP 服务器上定义的工具。
访问多个 MCP 服务器
MultiServerMCPClient 默认是无状态的。每次工具调用都会创建一个新的 MCP ClientSession,执行工具,然后清理资源。自定义 MCP 服务器
要创建你自己的 MCP 服务器,可以使用mcp 库。该库提供了一种简单的方式来定义工具 并将其作为服务器运行。
数学服务器(stdio 传输)
天气服务器(可流式 HTTP 传输)
通过 MCP 暴露 LangChain 工具
你也可以使用to_fastmcp 函数,通过 MCP 服务器暴露现有的 LangChain 工具。这允许你将 LangChain 工具提供给任何 MCP 客户端使用。
通过 MCP 提供 LangChain 工具
有状态工具使用
对于需要在工具调用之间保持上下文的有状态服务器,请使用client.session() 创建持久的 ClientSession。
使用 MCP ClientSession 实现有状态工具调用