当前位置: 首页 > news >正文

LangGraph框架中针对MCP协议的变更-20250510

MCP(Model Context Protocol)的出现为AI Agent与外部工具及数据源的集成提供了标准化接口,而LangGraph作为基于LangChain的智能体开发框架,在MCP协议的影响下也进行了适配性调整,主要体现在工具调用、异步交互和多步推理的优化上。以下结合实例详细说明相关变更及关联内容:


一、LangGraph对MCP协议的核心适配

  1. 工具动态加载与MCP集成
    LangGraph新增了对MCP工具的自动加载功能,通过langchain_mcp_adapters库实现与MCP服务器的无缝对接。开发者只需通过load_mcp_tools函数加载MCP会话中的工具列表,即可让Agent动态调用远程或本地工具。例如,在数学计算场景中,Agent可调用MCP服务器提供的addmultiply工具。
    示例代码

    async with ClientSession(read, write) as session:tools = await load_mcp_tools(session)  # 动态加载MCP工具agent = create_react_agent(model, tools)  # 创建支持MCP工具的Agent
    
  2. 异步会话管理与MCP通信
    MCP协议基于客户端-服务器架构,依赖异步通信(如HTTP/WebSocket)。LangGraph为此优化了异步任务处理机制,通过asyncio支持与MCP服务器的长时会话。例如,客户端通过stdio_client建立连接后,利用异步上下文管理器维护会话状态。

  3. 多步推理与工具链调用
    LangGraph的create_react_agent结合MCP工具,能够自动分解复杂任务为多步操作。例如,在问题“计算(3+5)×12”中,Agent会先调用add工具得到中间结果8,再调用multiply工具完成最终计算。
    执行流程

    • 步骤1:调用add(a=3, b=5) → 返回8。
    • 步骤2:调用multiply(a=8, b=12) → 返回96。

二、LangGraph与MCP结合的典型实例

以下以数学计算场景为例,展示LangGraph如何通过MCP协议调用工具:

  1. MCP服务器端定义工具
    创建math_server.py,声明addmultiply函数为MCP工具:

    from mcp.server.fastmcp import FastMCP
    mcp = FastMCP("Math")
    @mcp.tool()
    def add(a: int, b: int) -> int:return a + b
    @mcp.tool()
    def multiply(a: int, b: int) -> int:return a * b
    if __name__ == "__main__":mcp.run(transport="stdio")
    
  2. LangGraph客户端调用流程
    客户端通过异步任务连接MCP服务器,并运行Agent:

    from mcp.client.stdio import stdio_client
    from langgraph.prebuilt import create_react_agent
    async def run_agent():async with stdio_client(server_params) as (read, write):async with ClientSession(read, write) as session:tools = await load_mcp_tools(session)agent = create_react_agent(model, tools)response = await agent.ainvoke({"messages": "计算(3+5)×12"})
    
  3. 输出结果示例
    Agent的响应包含分步工具调用和最终结果:

    {"messages": [{"content": "计算(3+5)×12"},{"tool_calls": [{"function": "add", "args": {"a":3, "b":5}}]},{"tool_calls": [{"function": "multiply", "args": {"a":8, "b":12}}]},{"content": "结果为96"}]
    }
    

三、LangGraph框架的扩展性优化

  1. 支持多种传输协议
    LangGraph的MCP适配器不仅支持stdio本地通信,还可扩展至HTTP/SSE(Server-Sent Events),满足企业级高并发需求。例如,阿里云Hologres通过SSE模式实现与MCP服务器的解耦部署。

  2. 与知识管理组件的结合
    LangGraph的记忆管理模块(如RAG技术)可与MCP工具联动。例如,在故障诊断场景中,Agent通过MCP调用日志查询工具,并结合向量数据库检索历史案例,生成修复方案。


四、总结

MCP协议的出现推动了LangGraph在以下方向的演进:

  • 工具生态扩展:通过标准化接口接入多源工具,减少定制化开发。
  • 异步与实时性:优化异步通信机制,支持高并发场景。
  • 复杂任务分解:结合ReAct算法,实现多工具协同的自动化流程。

未来,随着MCP生态的成熟,LangGraph或进一步整合服务发现、权限管理等企业级功能,成为智能体开发的核心框架。

http://www.xdnf.cn/news/391213.html

相关文章:

  • android-ndk开发(12): 获取ndk内置clang的版本详情
  • git 报错:错误:RPC 失败。curl 28 Failed to connect to github.com port 443 after 75000
  • YashanDB(崖山数据库)V23.4 LTS 正式发布
  • 用户态到内核态:Linux信号传递的九重门(一)
  • Kubernetes基础(三十二):Worker节点启动全解析
  • 无人机飞控算法开发实战:从零到一构建企业级飞控系统
  • [Linux]从零开始的STM32MP157 Busybox根文件系统构建
  • 解锁健康密码,拥抱品质生活
  • 基于单片机的电子法频率计
  • 【漫话机器学习系列】253.超平面(Hyperplane)
  • ES C++客户端安装及使用
  • Qt 界面优化(绘图)
  • 【Tools】VScode使用CMake构建项目
  • 【C语言输入输出函数应用】
  • JVM——Java字节码基础
  • ElasticSearch入门详解
  • 【计算机网络】网络IP层
  • 游戏:仙剑奇侠传游戏开发代码(谢苏)
  • 数据库事务Transaction
  • 【前端】【css】【总复习】三万字详解CSS 知识体系
  • ActiveMQ 生产环境问题排查与调优指南(二)
  • 如何实现Flask应用程序的安全性
  • BuildAdmin-v2.3.0 发布
  • 黑马k8s(三)
  • Spring配置文件及其日志
  • RAGMCP基本原理说明和相关问题解惑
  • Wordpress头像无法加载太慢问题解决方式
  • Python多环境管理指南
  • 5月11日星期日早报简报微语报早读
  • Linux 进程等待