智能体入选2025年度十大科普热词。从娱乐、教育到医疗,都能见到智能体的身影。AI Agent 最常用的框架集中在 "模块化设计 + 自主决策链路"

LangChain、LangGraph 与 Python MCP 是智能体的核心框架,要弄清楚框架的集成原理,需先明确三者的核心定位与分工,再拆解接口适配、数据流转、执行流协同三大核心维度 ------ 本质是「LangGraph 做编排层、LangChain 做适配层、MCP 做标准化交互层」的三层协同架构。

一、核心框架定位(集成的基础)
先厘清三者的核心角色,避免混淆:
| 框架 | 核心定位 | 核心抽象 / 能力 |
|---|---|---|
| LangChain | 通用 AI Agent 组件工具集 | Runnable(统一组件接口)、Tool(工具)、Memory(状态)、Chain(线性执行链) |
| LangGraph | LangChain 生态下的有状态图状执行框架(子框架) | State(全局状态)、Node(执行节点)、Edge(条件分支)、Graph(闭环执行流) |
| Python MCP | 模型与外部系统交互的标准化协议 / 框架(Model Context Protocol) | MCP Server(工具服务端)、MCP Client(模型侧客户端)、Context(标准化上下文) |
三者集成的核心目标:用 LangGraph 编排复杂的图状执行流,通过 LangChain 适配组件生态,基于 MCP 实现工具 / 上下文的跨系统标准化交互。
二、第一层集成:LangChain ↔ Python MCP(适配层)
核心是将 MCP 的「标准化工具 / 上下文协议」适配为 LangChain 可识别的「组件接口」,让 LangChain 能通过 MCP 调用外部工具,而非原生 LangChain Tool。
1. 核心适配逻辑
MCP 与 LangChain 的集成围绕「接口转换」展开,核心是开发适配层组件,实现两者的抽象对齐:
| MCP 核心抽象 | 适配到 LangChain 的目标抽象 | 适配层实现逻辑 |
|---|---|---|
| MCP Server(工具) | LangChain Tool | 开发 MCPLangChainTool 类,实现 LangChain Tool 的 _run()/_arun() 方法:1. 接收 LangChain 传入的工具参数;2. 转换为 MCP 标准化请求(JSON-RPC 格式);3. 通过 MCP Client 调用 MCP Server 执行工具;4. 将 MCP 响应转换为 LangChain 可识别的输出格式(字符串 / 结构化数据)。 |
| MCP Context(上下文) | LangChain Memory | 开发 MCPConversationMemory 类,实现 Memory 的 load_memory_variables()/save_context() 方法:1. 从 MCP Context 读取会话 / 工具调用历史;2. 将 LangChain 新交互写入 MCP Context,实现状态互通。 |
| MCP 模型调用 | LangChain LLM/ChatModel | 开发 MCPChatModel 类,实现 LangChain LLM 的 _generate() 方法:1. 将 LangChain 的 Prompt 转换为 MCP 协议格式;2. 通过 MCP Client 调用模型服务;3. 解析 MCP 响应为 LangChain 的 Generation 格式。 |
2. 数据流转链路

示例:LangChain Agent 决策调用「天气查询」工具→ 调用 MCPWeatherTool(适配层)→ 转换为 MCP 标准化请求 → MCP Server 调用天气 API → 响应返回并转换为 LangChain 格式 → 反馈给 Agent。
3. 关键价值
-
解耦
:LangChain 无需关心工具的具体实现(如 MCP Server 用 Go/Java 开发),只需对接 MCP 协议;
-
标准化
:跨框架 / 跨语言的工具调用,避免重复开发适配逻辑。
三、第二层集成:LangGraph ↔ LangChain(编排层)
LangGraph 是 LangChain 生态的原生延伸,集成逻辑极简 ------将 LangChain 组件作为 LangGraph 的执行节点,通过图状流编排复杂逻辑,弥补 LangChain 原生 Agent 循环 / 分支能力的不足。
1. 核心集成逻辑
LangGraph 完全复用 LangChain 的组件生态,核心是「把 LangChain 组件封装为 LangGraph Node」:
| LangChain 组件 | 封装为 LangGraph 节点的方式 |
|---|---|
| Chain/Agent | 直接作为「决策节点」:输入 LangGraph State(全局状态),输出下一步执行的分支(Edge 条件) |
| Tool/ToolExecutor | 作为「工具执行节点」:读取 State 中的工具调用指令,执行工具并更新 State |
| LLM/PromptTemplate | 作为「生成节点」:输入 State 中的上下文,生成 Prompt / 回答并写入 State |
| Memory | 与 LangGraph State 互通:Memory 从 State 读取历史数据,或将数据写入 State 实现持久化 |
2. 执行流核心机制
LangGraph 通过「State + Node + Edge」实现闭环执行,核心流程:

拆解任务)→ 根据 Node 输出走 Edge 分支 → 执行下一个 Node(LangChain Tool 调用)→ 更新 State → 循环/终止
示例:Plan-Execute-Reflect 闭环
-
Plan Node:LangChain Agent 拆解任务(写入 State);
-
Execute Node:LangChain MCP 适配 Tool 执行工具(更新 State);
-
Reflect Node:LangChain LLM 评估结果(输出 Edge 条件:"未完成"→ 回到 Plan Node,"完成"→ 终止)。
3. 关键适配点
-
LangGraph 的
Graph可通过as_runnable()方法封装为 LangChain 的Runnable,无缝融入 LangChain 的 Chain 体系; -
LangGraph 的全局 State 是结构化字典(如
{"messages": [], "tool_calls": [], "results": []}),可直接对接 LangChain Memory,实现状态统一管理。
四、第三层集成:LangGraph + LangChain + Python MCP(全栈协同)
三者集成的核心是「三层协同」:LangGraph 做「大脑」(执行流编排),LangChain 做「手脚」(组件适配),MCP 做「神经接口」(标准化外部交互)。
1. 全栈架构图

2. 全流程示例(智能销售数据分析 Agent)
Step 1:LangGraph 初始化 State(任务:"分析近 3 个月销售数据",空上下文 / 工具记录);Step 2:执行「任务拆解 Node」(封装 LangChain Agent + MCP 适配 LLM):
-
Node 读取 State 中的任务 → 调用 MCP 适配 LLM 拆解子任务("读数据库→算环比→生成图表")→ 写入 State;Step 3:执行「数据库查询 Node」(封装 LangChain MCP 适配 Tool):
-
读取 State 中的子任务 → 调用 MCP Client 发送标准化请求 → MCP Server 执行数据库查询 → 结果返回并更新 State;Step 4:执行「反思 Node」(封装 LangChain LLM):
-
评估 State 中的计算结果 → 输出 Edge 条件:"未完成"→ 回到数据库查询 Node,"完成"→ 执行报告生成 Node;Step 5:执行「报告生成 Node」(封装 LangChain MCP 适配 ReportTool):
-
调用 MCP Server 生成可视化报告 → 写入 State → 执行流终止;Step 6:LangGraph 输出 State 中的最终报告。
3. 核心协同机制
| 协同维度 | 实现方式 |
|---|---|
| 状态统一管理 | LangGraph State 作为单一数据源,LangChain Memory 从 State 读写数据,MCP Context 同步 State 中的上下文,避免数据孤岛; |
| 工具调用标准化 | 所有外部工具通过 MCP 协议调用,LangGraph/LangChain 只需对接适配层,无需关心工具实现; |
| 错误处理协同 | LangGraph 异常节点捕获 MCP 工具调用失败(如 API 超时)→ 触发 LangChain 的重试逻辑 → 更新 State 并重新执行分支; |
| 性能优化 | LangGraph 异步 Node + MCP 异步 Client + LangChain 异步 Runnable,降低多层抽象的性能损耗; |
五、集成的关键挑战与解决方案
| 挑战 | 解决方案 |
|---|---|
| 数据格式不一致 | 设计统一的 Pydantic Schema 作为中间模型,在适配层完成 MCP JSON → LangChain Dict → LangGraph State 的转换; |
| 状态同步延迟 | 采用「单向数据流」:所有状态变更先写入 LangGraph State,再同步到 LangChain Memory 和 MCP Context; |
| 抽象层性能损耗 | 精简适配层(如直接封装 MCP Client 为 LangGraph Node,跳过 LangChain 中间层);异步执行所有节点 / 调用; |
| 版本兼容性 | 固定 LangChain/LangGraph 版本(如 LangGraph 0.1.x 适配 LangChain 0.2.x),MCP 协议版本固化(如 v1); |

所以,三者集成的核心逻辑可概括为:
-
LangGraph
:负责「做什么、怎么做、何时做」------ 编排复杂的有状态闭环执行流(分支、循环、中断);
-
LangChain
:负责「谁来做、怎么接」------ 适配 MCP 协议与 LangGraph 节点,复用组件生态(LLM / 工具 / 记忆);
-
Python MCP
:负责「怎么跟外部交互」------ 标准化工具调用 / 上下文管理,实现跨系统 / 跨语言的解耦。
这种集成模式既发挥了 LangGraph 的复杂流编排能力,又利用了 LangChain 的组件生态,还通过 MCP 解决了企业级场景中「异构工具 / 系统交互」的标准化问题,是当前复杂 AI Agent 落地的主流架构之一。
最后,我们来看看这套架构如何一步步落地:
从最小可行智能体(MVA)开始 ------ 做一个能基于知识库回答问题的小助手。
用 LangChain 管理 prompt 与工具 ------ 把逻辑模块化,避免混乱。
加入 LangGraph 实现任务编排 ------ 把复杂流程拆成节点。
接入 MCP 协议 ------ 让模型、前端、知识库互通。
构建模型适配层 ------ 动态切换不同模型。
完善安全与审计机制 ------ 日志、权限、溯源,一个都不能少。