当前位置: 首页 > 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或进一步整合服务发现、权限管理等企业级功能,成为智能体开发的核心框架。

相关文章:

  • YOLOv2框架深度解析
  • Go语言实现优雅关机和重启的示例
  • 九、STM32入门学习之WIFI模块(ESP32C3)
  • TIME - MoE 模型代码 4——Time-MoE-main/run_eval.py
  • 图形化编程革命:iVX携手AI 原生开发范式
  • MNIST 数据并行 Data Parallel - DP
  • 【目标检测系列】YOLOV1解读
  • Go语言实现豆瓣电影Top250爬虫
  • 掌握 void 类型在函数返回值中的应用
  • MIT 6.S081 2020 Lab3 page tables 个人全流程
  • 添加文字标签
  • Docker使用ClickHouse | ClickHouse 配置用户名密码 | ClickHouse 可视化 | windows系统 | 镜像
  • 类型别名与接口的对比与选择
  • Javascript:数组和函数
  • 【心海资源】【最新话费盗u】【未测】提币对方官方波场+没有任何加密+无后门+前端VUE
  • 专业课复习笔记 5
  • Three.js + React 实战系列 - 职业经历区实现解析 Experience 组件✨(互动动作 + 3D 角色 + 点击切换动画)
  • 【星海随笔】信息安全法律法规概述
  • 单片机调用printf概率性跑飞解决方法
  • 大疆卓驭嵌入式面经及参考答案
  • 图讯丨习近平出席中国-拉美和加勒比国家共同体论坛第四届部长级会议开幕式
  • 沙县小吃中东首店在沙特首都利雅得开业,首天营业额5万元
  • 事关心脏健康安全,经导管植入式人工心脏瓣膜国家标准发布
  • 走进“双遗之城”,领略文武风采:沧州何以成文旅新贵
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?
  • 海北州委常委、常务副州长桑本履新青海省供销社理事会主任