当前位置: 首页 > news >正文

LangChain 是 LLM 应用开发 / 编排框架,MCP 是 “模型 ↔ 外部工具 / 数据” 的标准化通信协议;LangChain 用官方适配器把 MCP 当作统一 “工具总线” 来集成

LangChain 是 LLM 应用开发 / 编排框架,MCP 是 “模型 ↔ 外部工具 / 数据” 的标准化通信协议;LangChain 用官方适配器把 MCP 当作统一 “工具总线” 来集成,二者互补、不是竞争关系LangChain。

先给结论:LangChain 是 LLM 应用开发 / 编排框架,MCP 是“模型 ↔ 外部工具 / 数据” 的标准化通信协议;LangChain 用官方适配器把 MCP 当作统一 “工具总线” 来集成,二者互补、不是竞争关系LangChain。

下面从定位、架构、集成方式、区别与场景讲清楚。


一、LangChain 与 MCP 各自是什么

LangChain(框架)

  • 定位:LLM 应用开发与编排框架
  • 核心:RunnableToolMemoryPromptChainLangGraph
  • 作用:把 “模型 + 提示词 + 记忆 + 检索 + 工具” 编排成对话、RAG、Agent 等完整应用
  • 一句话:LangChain 负责“怎么组织流程”

MCP(协议,Model Context Protocol)

  • 发起:Anthropic(2024 年底开源)
  • 定位:LLM 与外部工具 / 数据源的统一通信标准,号称 AI 的 “USB‑C”
  • 架构:Client ↔ Server,基于 JSON‑RPC 2.0,有状态双向会话Model Context Protocol (MCP)
  • 三大原语:
    • Tools:模型可调用的函数(查库、调用 API)
    • Resources:上下文数据(文件、日志、知识库)
    • Prompts:可复用提示模板
  • 一句话:MCP负责 “工具 / 上下文怎么被调用”

二、LangChain 与 MCP 的关系:框架 + 标准总线

1. 总体关系:集成互补、非竞争

  • LangChain 官方提供langchain-mcp-adapters,将 MCP 作为一等公民支持LangChain
  • MCP 对 LangChain 是统一外部工具接入层,解决 “模型 × 工具”N×M 适配爆炸问题
  • 类比:
    • LangChain = 电脑(CPU / 内存 / 软件 / 编排)
    • MCP = USB‑C(统一连接硬盘、显示器、外设)
    • MCP Server = 各类外设(数据库、搜索、地图)

2. 架构位置(数据流)

plaintext

用户/前端 ↓ LangServe / LangGraph(编排、状态、分支、循环) ↓ LangChain 核心(LLM、Prompt、Memory、RAG、Tool) ↓ langchain-mcp-adapters(适配层) ↓ MCP Client ↔ MCP Server(JSON‑RPC、有状态会话) ↓ 外部工具/数据源(DB、API、文件、搜索、第三方服务)

3. 集成核心:MCP 工具 → LangChain 原生 Tool

  • 适配器把 MCP Server 暴露的工具自动转为 LangChain 的BaseToolLangChain
  • 在 LangChain Agent 里用 MCP 工具,和用@tool写的本地工具完全一样LangChain
  • 支持同时连接多个 MCP Server(数学、天气、地图、数据库)

4. 集成代码示例(Python)

python

运行

from langchain_mcp_adapters.client import MultiServerMCPClient from langchain_openai import ChatOpenAI from langchain.agents import create_tool_calling_agent # 1. 配置多个 MCP Server(本地+远程) mcp_config = { "math": { "transport": "stdio", "command": "python", "args": ["math_server.py"] }, "amap": { "transport": "stdio", "command": "npx", "args": ["-y", "@amap/amap-maps-mcp-server"], "env": {"AMAP_KEY": "xxx"} } } # 2. 连接并加载所有 MCP 工具 async with MultiServerMCPClient(mcp_config) as client: tools = await client.get_tools() # 转为 LangChain 工具列表 # 3. 正常创建 Agent,直接使用 MCP 工具 llm = ChatOpenAI(model="gpt-4o") agent = create_tool_calling_agent(llm, tools, prompt=...) res = agent.invoke({"input": "计算 (3+5)*12 并查北京天气"})

三、LangChain vs MCP:关键区别

表格

维度LangChainMCP
本质应用开发框架 / 编排引擎通信协议 / 接口标准
核心能力流程编排、记忆、RAG、多轮对话、LangGraph 状态流工具 / 资源 / 提示的标准化接入、安全边界、双向会话
解决问题如何把模型与能力串成复杂应用模型如何统一、安全地调用外部世界
依赖关系可独立运行,也可集成 MCP不依赖 LangChain,可被任何 LLM 框架集成
生态成熟度成熟(500 + 工具、大量案例)较新(2024 年底推出,生态快速扩张)

四、什么时候用谁?怎么组合?

1. 只用 LangChain

  • 简单对话、RAG、少量内部工具
  • 不想额外部署 MCP Server,快速落地

2. 引入 MCP

  • 需对接多个异构外部系统(数据库、API、云服务)
  • 希望工具可跨框架复用(LangChain/LlamaIndex/ 原生 Claude 都能用)
  • 需要安全隔离:工具在独立 Server 运行,不污染主应用
  • 构建企业级、可插拔的工具生态

3. 最佳组合(生产常用)

  • LangChain + LangGraph + MCP + LangSmith
    • LangGraph:处理复杂状态、分支、多轮工具调用
    • MCP:统一对接所有外部工具 / 数据
    • LangSmith:全链路追踪、调试、评估

五、一句话总结

LangChain 是 “大脑 + 骨架”,负责思考与流程;MCP 是 “统一神经接口”,负责安全、标准地连接外部世界;两者叠加,才能高效构建企业级、可扩展、可观测的 LLM 应用。

http://www.jsqmd.com/news/900723/

相关文章:

  • LAMMPS新手避坑指南:从应力云图到MSD分析,这8个计算命令别再写错了
  • 告别手动移植:用STM32CubeIDE一站式搞定STM32WL的LoRaWAN节点工程
  • Cortex-M3验证失败问题解析与解决方案
  • 手把手教你用ATE测试I²C EEPROM:从PMU设置到图形文件编写的完整流程
  • 信号处理、PCA降维都离不开它:手把手图解‘能量守恒’在正交变换中的核心作用
  • 别再折腾破解了!手把手教你用官方试用版快速上手ROMAX DESIGNER R17
  • Win10家庭版也能用组策略!保姆级DISM命令安装gpedit.msc教程(附一键脚本)
  • 开发者速围观!Android 17 适配关键全解读丨OTalk 直播回顾
  • 2026年热镀锌铁皮厂家推荐榜单:宝钢/首钢/鞍钢/马钢/武钢/本钢/柳钢/唐钢/日照/包钢等优质品牌实力对比与选购指南 - 品牌企业推荐师(官方)
  • 北光恒电:安捷伦8494A步进可调衰减器 衰减量异常故障排查
  • 为Hermes Agent配置自定义Taotoken模型提供方
  • 网卡公司排行榜主流指标深度对比:全面解读与概念解析
  • NestJS拦截器实战:除了格式化响应,我还能用RxJS pipe玩出什么花?
  • 即时通讯部署品牌有哪些:选对底座,事半功倍
  • 别再只看准确率了!用Python手把手教你计算混淆矩阵、精准率和召回率(附完整代码)
  • 实战复盘:我是如何用Frida+IDA搞定一个手游外挂的so文件校验与修复的
  • 如何用3天搭建你的专属缠论量化分析系统:TradingView本地化实战指南
  • 别再只用SSH了!在Ubuntu 20.04上快速启用Telnet服务,搞定那些老旧设备的远程调试
  • 从‘能用’到‘好用’:给你的vue-admin-template后台加上这些实用功能
  • 告别高延迟!在Unity里用海康SDK直接拉RTSP流,实现低延时监控画面
  • Proteus仿真STM32的ADC时总卡死?可能是你的采样周期和DMA配置错了(STM32F103+HAL库排坑实录)
  • 别再只用Post Process了!在UE材质中实现高性能模糊的两种方案对比(高斯 vs Mipmap)
  • 从Renren-Fast到微服务:手把手教你拆出公共Common模块(含依赖清单)
  • Ubuntu 装英伟达显卡驱动
  • 告别脚本和触发器:用DBSync这款绿色小工具,5分钟搞定MySQL到SQL Server的实时同步
  • 别再满屏找配置文件了!DOSBox窗口太小看不清?手把手教你定位并修改dosbox-0.74.conf(Windows 11/10适用)
  • 高校AI课程教学中采用Taotoken作为统一实验平台的可行性探讨
  • 别只看衰减!USB3.0线缆选型避坑指南:从阻抗、串扰到实战案例
  • UWB设备自由定位技术与深度学习辅助粒子滤波方法
  • 网卡代理商选型参考:三层漏斗筛选核心维度一次说清