Langgraph-Mcp-Agents:一個(gè)集成MCP基于LangGraph的AI智能體系統(tǒng)
Langgraph-MCP-Agents是什么?
Langgraph-Mcp-Agents是一個(gè)基于LangGraph的ai智能體系統(tǒng),通過集成MCP,讓Ai助手能夠輕松訪問各類數(shù)據(jù)源和API。系統(tǒng)配備了Streamlit網(wǎng)頁界面,方便用戶與LangGraph和MCP工具進(jìn)行交互。用戶可以通過界面動(dòng)態(tài)添加、刪除或配置MCP工具,無需重啟應(yīng)用,且支持Smithery JSON格式。此外,系統(tǒng)還支持流式響應(yīng),用戶可以實(shí)時(shí)查看智能體的響應(yīng)和工具調(diào)用情況。
Langgraph-Mcp-Agents功能
解耦任務(wù)邏輯與工具實(shí)現(xiàn):開發(fā)者可獨(dú)立擴(kuò)展工具庫而不影響智能體核心。
支持長(zhǎng)期上下文:通過 LangGraph 的持久性功能,實(shí)現(xiàn)跨會(huì)話的任務(wù)連續(xù)性。
多代理協(xié)作:支持構(gòu)建多代理系統(tǒng),不同代理可以分工協(xié)作完成復(fù)雜任務(wù)。
動(dòng)態(tài)配置和部署:通過 Streamlit 界面動(dòng)態(tài)配置和部署 AI Agent。
工具集成:可以輕松接入多種數(shù)據(jù)源和外部工具。
狀態(tài)管理:在工作流的各個(gè)步驟中管理狀態(tài)。
靈活部署:支持單機(jī)與多服務(wù)器部署,適應(yīng)不同規(guī)模的應(yīng)用需求。
技術(shù)架構(gòu)與核心組件
LangGraph 框架
LangGraph 是 LangChain 的擴(kuò)展庫,專注于構(gòu)建 有狀態(tài)、多角色 的智能體工作流。
狀態(tài)管理:通過 StateGraph 維護(hù)對(duì)話上下文,支持長(zhǎng)期記憶和任務(wù)連續(xù)性。
動(dòng)態(tài)流程控制:支持循環(huán)、分支和條件邏輯,適用于需要自我修正或迭代的任務(wù)(如代碼生成)。
多工具集成:通過 langchain-mcp-adapters 將 MCP 工具轉(zhuǎn)換為 LangChain 工具,實(shí)現(xiàn)與外部服務(wù)(如搜索、數(shù)據(jù)庫)的交互。
MCP 協(xié)議
MCP 是一種開放標(biāo)準(zhǔn),定義了模型與外部工具的交互協(xié)議。
松耦合設(shè)計(jì):允許 AI 動(dòng)態(tài)發(fā)現(xiàn)和調(diào)用工具,提升靈活性。
多服務(wù)器支持:通過 MultiServerMCPClient 連接多個(gè) MCP 服務(wù)器,擴(kuò)展工具調(diào)用能力。
使用場(chǎng)景
復(fù)雜任務(wù)處理
多步驟工作流:例如數(shù)據(jù)分析任務(wù)中,LangGraph 可協(xié)調(diào)數(shù)據(jù)獲取、清洗、可視化等步驟,MCP 工具則提供具體執(zhí)行能力(如調(diào)用 Python 庫或數(shù)據(jù)庫查詢)。
跨系統(tǒng)協(xié)作:通過 MCP 連接 GitHub、Slack 等服務(wù),實(shí)現(xiàn)跨平臺(tái)信息整合。
智能體協(xié)作
角色分工:不同智能體可專注于特定任務(wù)(如代碼生成、圖表繪制),通過 MCP 共享中間結(jié)果。
動(dòng)態(tài)決策:LangGraph 的狀態(tài)圖支持根據(jù)任務(wù)進(jìn)展調(diào)整執(zhí)行路徑,例如在代碼生成失敗時(shí)觸發(fā)調(diào)試流程。
開發(fā)效率提升
工具即服務(wù):MCP 將工具封裝為標(biāo)準(zhǔn)化接口,開發(fā)者無需修改智能體核心邏輯即可擴(kuò)展功能。
異步支持:async_tool_executor 處理同步與異步工具調(diào)用(如生成代碼與實(shí)時(shí)搜索),優(yōu)化執(zhí)行效率。
項(xiàng)目實(shí)現(xiàn)
客戶端-服務(wù)器架構(gòu):MCP 使用客戶端-服務(wù)器模型,LangGraph 作為客戶端連接到 MCP 服務(wù)器。
工具節(jié)點(diǎn)集成:將 MCP 服務(wù)器中的工具轉(zhuǎn)換為 LangGraph 的工具節(jié)點(diǎn)。
多服務(wù)器支持:支持連接到多個(gè) MCP 服務(wù)器,靈活使用不同服務(wù)器上的工具。