Langgraph-Mcp-Agents:一个集成MCP基于LangGraph的AI智能体系统
Langgraph-MCP-Agents是什么?
Langgraph-Mcp-Agents是一个基于LangGraph的ai智能体系统,通过集成MCP,让Ai助手能够轻松访问各类数据源和API。系统配备了Streamlit网页界面,方便用户与LangGraph和MCP工具进行交互。用户可以通过界面动态添加、删除或配置MCP工具,无需重启应用,且支持Smithery JSON格式。此外,系统还支持流式响应,用户可以实时查看智能体的响应和工具调用情况。
Langgraph-Mcp-Agents功能
解耦任务逻辑与工具实现:开发者可独立扩展工具库而不影响智能体核心。
支持长期上下文:通过 LangGraph 的持久性功能,实现跨会话的任务连续性。
多代理协作:支持构建多代理系统,不同代理可以分工协作完成复杂任务。
动态配置和部署:通过 Streamlit 界面动态配置和部署 AI Agent。
工具集成:可以轻松接入多种数据源和外部工具。
状态管理:在工作流的各个步骤中管理状态。
灵活部署:支持单机与多服务器部署,适应不同规模的应用需求。
技术架构与核心组件
LangGraph 框架
LangGraph 是 LangChain 的扩展库,专注于构建 有状态、多角色 的智能体工作流。
状态管理:通过 StateGraph 维护对话上下文,支持长期记忆和任务连续性。
动态流程控制:支持循环、分支和条件逻辑,适用于需要自我修正或迭代的任务(如代码生成)。
多工具集成:通过 langchain-mcp-adapters 将 MCP 工具转换为 LangChain 工具,实现与外部服务(如搜索、数据库)的交互。
MCP 协议
MCP 是一种开放标准,定义了模型与外部工具的交互协议。
松耦合设计:允许 AI 动态发现和调用工具,提升灵活性。
多服务器支持:通过 MultiServerMCPClient 连接多个 MCP 服务器,扩展工具调用能力。
使用场景
复杂任务处理
多步骤工作流:例如数据分析任务中,LangGraph 可协调数据获取、清洗、可视化等步骤,MCP 工具则提供具体执行能力(如调用 Python 库或数据库查询)。
跨系统协作:通过 MCP 连接 GitHub、Slack 等服务,实现跨平台信息整合。
智能体协作
角色分工:不同智能体可专注于特定任务(如代码生成、图表绘制),通过 MCP 共享中间结果。
动态决策:LangGraph 的状态图支持根据任务进展调整执行路径,例如在代码生成失败时触发调试流程。
开发效率提升
工具即服务:MCP 将工具封装为标准化接口,开发者无需修改智能体核心逻辑即可扩展功能。
异步支持:async_tool_executor 处理同步与异步工具调用(如生成代码与实时搜索),优化执行效率。
项目实现
客户端-服务器架构:MCP 使用客户端-服务器模型,LangGraph 作为客户端连接到 MCP 服务器。
工具节点集成:将 MCP 服务器中的工具转换为 LangGraph 的工具节点。
多服务器支持:支持连接到多个 MCP 服务器,灵活使用不同服务器上的工具。