LangChain + MCP 实战:打通 Agent 工具生态

LangChain 负责快速搭建 Agent,MCP 负责工具跨框架复用,二者互补构成企业 AI 应用的基础组合。
文章围绕 LangChain 与 MCP 的定位差异展开。大模型只能基于训练数据回答,要接入企业业务数据就必须为它绑定可调用的工具;LangChain 封装了模型调用、工具定义与 Agent 构建等通用能力,避免开发者重复手写底层细节。但 LangChain 内部用 add_tool 定义的工具只对当前 Agent 有效,换框架即失效。MCP 是 Anthropic 提出的开放协议,统一了工具的发现、调用与结果处理,使工具可被任何支持该协议的 Agent 复用,实现解耦。实战中可在同一个 LangChain Agent 内同时挂载本地工具与 MCP 工具;Function Calling 与 MCP 本质是同一类工具调用能力的不同表述,OpenAI 也已兼容 MCP。
为什么需要 LangChain 与 MCP
大模型具备强大的推理能力,能理解对话、整理混乱信息,但它只能基于训练时的数据回答。要让大模型结合企业内部业务数据,就需要给它“绑定工具”——让模型不仅能理解问题,还能调用工具获取实时数据,再依靠推理能力给出答案。
然而,从零手写大模型调用、工具管理、对话状态维护,会把精力浪费在底层细节上。LangChain 这类框架的价值就在于此:它封装了模型调用、工具定义、Agent 构建等通用能力,让开发者聚焦业务逻辑。据 B 站教程作者的观点,不建议手搓框架,而应“站在巨人的肩膀上”。

LangChain 与 Agent 的分层关系
LangChain 是一个构建 AI 应用的框架,提供 create_agent 等 API 来创建 Agent。在 LangChain 中,你可以用 add_tool 方式定义工具,例如 get_stock_price(根据公司名查股价)和 search_news(搜索公司新闻)。这些工具与 MCP 无关,仅在当前 LangChain Agent 内部有效。
Agent 可以理解为对大模型的更高层封装:它自动管理对话历史,真正执行工具调用并返回结果,还能根据结果判断是否需要继续调用工具。LangChain 底层通过 LangGraph 实现 Agent,LangGraph 更接近底层、更灵活;上层还有 Deep Agents 等更高封装。作者展示的技术栈图显示,越靠下 API 越灵活,越靠上使用越方便。

LangGraph 是 LangChain 团队推出的底层编排库,把 Agent 的执行过程建模为「状态图」:节点代表一次模型调用或工具调用,边代表控制流与条件分支,整个图的运行状态(消息历史、中间变量等)可被持久化与回溯。正因如此,它天然支持循环调用、人工介入(human-in-the-loop)、断点续跑等复杂场景。LangChain 1.x 的 create_agent 实际上就是在 LangGraph 之上封装出的常见 ReAct 循环,所以原文才说「越靠下越灵活、越靠上越方便」——需要精细控制流程时直接写 LangGraph,需要快速搭原型时用高层 API。
MCP 解决的核心问题:工具复用与解耦
LangChain 内部定义的工具只能给当前代码里的 Agent 使用。如果另一个 Agent 想用同样的工具,就得重新定义一遍,无法复用。更关键的是,不同框架(如 Claude SDK、OpenAI SDK)开发的 Agent 无法识别 LangChain 定义的工具。
MCP(Model Context Protocol)是一套开放协议,规定了工具如何发现、如何调用、如何处理返回结果。只要工具按 MCP 协议开发,任何支持 MCP 的模型供应商都能调用。作者用 USB 接口类比:只要设备兼容 USB 协议,电脑就能识别。MCP 由 Anthropic 提出,据教程介绍,发布后几乎所有主流 AI 供应商都已支持。

MCP 带来两个直接好处:一是工具复用,多个 Agent 可共享同一套 MCP 工具;二是解耦,MCP 工具不绑定任何特定 Agent 框架,Claude SDK、OpenAI SDK 等构建的 Agent 都能使用。
MCP 采用典型的客户端-服务器架构:MCP Server 负责暴露能力,MCP Client 由 Agent 宿主(Host)内置,二者通过 JSON-RPC 消息通信,传输层可以是本地标准输入输出(stdio),也可以是 HTTP/SSE 等远程方式。协议规定了三类原语——Tools(可被模型调用的函数)、Resources(可供读取的数据,如文件、数据库记录)、Prompts(预置提示模板)。一次典型调用包含 tools/list 发现工具、tools/call 执行工具、返回结构化结果三步。正因为接口被标准化,同一个 MCP Server 无需改动就能被 Claude、Cursor、各类 SDK 构建的 Agent 共同挂载使用。
实战整合:LangChain Agent 调用 MCP 工具
LangChain 与 MCP 的整合,更多是指 Agent 与 MCP 的整合(底层即 LangGraph 与 MCP)。在 LangChain 中构建 Agent 时,除了使用内部 add_tool 定义的工具,也可以接入 MCP 协议开发的工具。教程中演示了如何在同一个 Agent 里同时使用本地工具和 MCP 工具,直观对比两者的差异。
这种整合让 Agent 的工具生态从“框架内闭环”走向“跨框架开放”。开发者可以先用 LangChain 快速搭建 Agent,再将通用工具以 MCP Server 形式发布,供其他 Agent 复用。

概念辨析:Function Calling 与 MCP
教程中专门回应了“MCP 用得多还是 Function Calling 用得多”的疑问。作者指出,Function Calling 是 OpenAI 提出的概念,MCP 是 Anthropic 提出的概念,两者做的是同一件事——让模型调用工具。如今 OpenAI 也已兼容 MCP,可以将其视为同一类能力的不同叫法。早先业界多提 Function Calling,现在更常直接说 MCP。
对于智能体开发,作者建议使用 LangChain 而非纠结国内外智能体;大模型才有国内外之分,国内 DeepSeek广告 等模型能力已经很强。LangChain 当前讲解版本为 1.3,LangChain 4j 在公司中使用并不多。
Function Calling 描述的是模型层面的能力:开发者把工具的名称、描述和 JSON Schema 参数一并放进请求,模型在需要时输出一段结构化的调用意图,真正的函数执行仍由应用侧完成。它只规定了「模型如何表达要调用什么」,没有规定工具如何被发现、由谁托管、结果如何回传。MCP 则把这条链路向外延伸了一层,用统一协议把工具的注册、发现与执行标准化到独立进程或远程服务中。二者是互补关系:Agent 框架把 MCP Server 提供的工具列表转成 Function Calling 所需的 schema 交给模型,模型决定调用后再由框架经 MCP 协议转发执行。
总结
LangChain 提供了构建 Agent 的完整框架,MCP 则解决了工具跨框架复用和模型解耦的问题。两者结合,让 Agent 既能快速搭建,又能灵活接入标准化工具生态。对于企业 AI 应用开发,这套组合值得优先掌握。
相关推荐

《谢谢你的爱》英文版走红B站:经典情歌的跨文化演绎
B站热传的《谢谢你的爱》英文版《I'll give you all my love》,通过重新填词诠释“给予全部的爱”的主题。本文分析其歌词情感表达、跨文化改编策略以及与中文原版的情感逻辑差异,探讨经典华语歌曲英文改编的传播价值。

Claude Code vs Cursor vs GitHub Copilot:三大AI编程工具怎么选
用「放权程度」一个维度讲清 Claude Code、Cursor 与 GitHub Copilot 的区别:Copilot 嵌入现有编辑器做补全,Cursor 是以AI为核心的完整编辑器并支持多文件批量修改,Claude Code 在终端里端到端执行任务。附选择建议。

动态漫解说爆款背后:家庭财务与情感冲突的叙事拆解
从B站动态漫《CC-动态漫》的一集家庭财务冲突剧情出发,拆解动态漫如何用高密度对话和情绪钩子抓住观众,并分析AI辅助脚本生成在叙事连贯性上的短板与人工把关的价值。