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 服務器,靈活使用不同服務器上的工具。