MCP 协议 高级

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 发现工具 → 转成 LangChain BaseTool
  • 每个 Server 的连接是长会话,注意进程生命周期管理(用 async context 管理);
  • 工具数量多时,Agent 的工具选择准确率会下降 —— 按《多智能体》课思路按 Server 拆分专家 Agent。

与 OpenClaw Skills 的关系

OpenClaw 用 Markdown Skill 说明书扩展能力,MCP 用协议标准化扩展能力 —— 两者可组合:Skill 里可以指导 Agent 优先使用某个 MCP 工具。工具接入的方式在收敛,方法论不变。

📝 课后练习

quiz-1 langchain-mcp-adapters 库的作用是?