MCP 集成进你的 Agent:LangChain/LangGraph 桥接
用 langchain-mcp-adapters 把 MCP 工具加载进 LangChain/LangGraph,让自己的 Agent 一次性接入整个生态。
动机:别再手写重复的集成代码
你的 LangGraph Agent 想要 GitHub、数据库、浏览器能力?每个都有现成 MCP Server —— 用适配器把它们全部变成 LangChain 工具:
pip install langchain-mcp-adapters
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
client = MultiServerMCPClient({
"course": { # 本地 stdio Server
"command": "python",
"args": ["course_server.py"],
"transport": "stdio",
},
"github": { # 远程 HTTP Server
"url": "https://mcp.example.com/github",
"transport": "streamable_http",
},
})
tools = await client.get_tools() # 自动发现全部工具
agent = create_react_agent(llm, tools)
agent.invoke({"messages": [("user", "帮我搜一下 RAG 相关课程")]})
工作原理与注意点
- 适配器完成:连接 Server →
tools/list发现工具 → 转成 LangChainBaseTool; - 每个 Server 的连接是长会话,注意进程生命周期管理(用 async context 管理);
- 工具数量多时,Agent 的工具选择准确率会下降 —— 按《多智能体》课思路按 Server 拆分专家 Agent。
与 OpenClaw Skills 的关系
OpenClaw 用 Markdown Skill 说明书扩展能力,MCP 用协议标准化扩展能力 —— 两者可组合:Skill 里可以指导 Agent 优先使用某个 MCP 工具。工具接入的方式在收敛,方法论不变。
📝 课后练习
quiz-1 langchain-mcp-adapters 库的作用是?