MCP的出现到底解决了什么问题?本文从非技术视角讲解MCP是什么、它的出现带来的价值及其对Agent的关键意义。
从顶层架构视角回顾AI Agent,了解MCP概念的位置
在之前的基础概念科普文章中我们曾经梳理过,一个AI应用产品的顶层层次架构角度,自底向上可以分为基础层、模型层、应用层和用户层。我们基于这些层次,分层解释了算力、算法、模型、AI Agent等概念及其之间的关系。
下面这张图非常全面地总结了这些AI基础概念和他们之间的关系。我们从一个顶层视角看,AI Agent在「应用层」的位置。
关于AI Agent,这里我们也简单回顾一下概念。AI Agent(人工智能体)是能够感知环境、自主规划、进行决策和执行动作以实现目标的智能体。简单来说,相比只有LLM ,Al Agent 可以独立思考,并做出行动。在AI Agent的工作原理中,调用外部数据源、工具是AI Agent能够一站式完成复杂任务的关键。MCP则在模型调用这些外部各类资源和工具中发挥作用,它提供了一种高效标准化的调用方式。因此,MCP是在解决Agent应用的开发问题。(如果你需要回顾关于AI Agent的更多知识,可阅读此篇:Manus全面开放注册,一文详解AI Agent原理和价值)
从API到MCP,MCP带来了什么变化?
MCP全称为Model Context Protocol,即模型上下文协议,用于标准化应用程序向大语言模型提供上下文的方式。就像 USB-C 为设备连接各种外设和配件提供了标准化方式一样,MCP 为 AI 模型连接不同的数据源和工具提供了一种标准化方式。
在 MCP出现之前,AI Agent 与外部工具的“握手”主要依赖直接API调用。然而不同工具的API设计千差万别(认证方式、输入输出格式、错误处理),适配器代码复杂且易出错,Agent 本体需要嵌入或管理大量特定工具的调用逻辑,变得庞大且难以管理。MCP的核心思想是在AI Agent和外部工具之间建立一个标准化的、通用的“通信层”。让智能体与外部工具、数据源及API资源的连接问题变得更加简单。
我们通过一个具象的场景来具体解释MCP的作用。“扣子”是字节跳动基于豆包大模型打造的AI应用开发平台,我们可以在这个平台中利用大模型、自定义工作流来零代码搭建一个智能体应用。进入到扣子的开发平台可以看到,它提供了丰富的“插件”供我们搭建智能体时进行调用。比如我们要搭建一个专用于提供旅游规划方案的智能体,那么搭建过程中就需要调用天气数据查询、路线规划相关的外部工具接口。
这些插件可以以API的方式供用户调用。然而,不同工具的API设计并不相同(认证方式、输入输出格式、错误处理)。而MCP则让所有的API、工具、数据源能够按照统一的协议“改造”,只要经过一次“改造”,这些工具都可以被开发者直接调用。
下面是使用MCP对智能体搭建者和插件工具的提供者带来的显著变化对比。
值得提一下的是,MCP的出现并不代表着API的方式就失去意义。在不同的情况下,两者具有不同的优势。更加丰富的交互需求下MCP更合适。
MCP架构
MCP 主要由三个核心组件组成:主机(Host)、客户端(Client)和 服务器(Server)。
- 主机:任何提供 AI 交互环境的应用程序,它能访问工具和数据,并运行 MCP 客户端。
- MCP 客户端:在主机内运行,用于与 MCP 服务器直接通信。
- MCP 服务器:暴露特定功能并提供数据访问,例如:工具(使 LLM 能通过服务器执行操作)、资源(向 LLM 公开服务器中的数据和内容)、提示(创建可重用的提示模板和工作流)。
我们可以用一个场景看MCP组件是如何发挥作用的:
- 用户触发请求 (Host):你在 VS Code 中右键点击
api_service.py→ 选择 “Claude: 解释此代码如何工作”。Claude 插件 (Host)捕获到操作指令:解释代码,目标文件:[绝对路径]/project/src/api_service.py(Host 不尝试读取文件内容,仅将结构化请求发送给 Claude 模型)。 - Claude 模型收到请求,判断“要解释代码,必须先读取文件内容。但模型自身无权访问用户本地文件系统。”模型主动生成MCP 工具调用指令。
- 插件内的MCP Client被激活,根据指令定位和调用预配置的本地代码分析 MCP Server。
- Server 按指令执行受限操作,将代码原始文件内容通过 Client 返回至 Claude 模型,模型接收原始数据并分析代码生成结果。
- 分析最终结果通过 Host 展示 (用户界面)。
MCP对AI Agent的关键意义
MCP的出现对Agent开发者和整个生态都有着关键意义:
- 提升开发效率:Agent 开发者摆脱了为每个工具编写适配器的苦差事。只需学习 MCP 标准,即可调用所有兼容 MCP 的工具。
- 降低维护成本: 工具API变更时,只需更新其对应的 MCP 客户端适配器,无需修改所有依赖它的 Agent。
- 提升灵活性:Agent 的能力不再受限于预先集成的工具。在运行时,它可以动态发现并调用任何注册在 MCP 网络上的新工具,实现“即插即用”的工具扩展。
- 简化Agent设计:Agent 本体变得轻量化和通用化。它只需专注于核心的规划、决策和推理逻辑,复杂的工具调用细节由 MCP 层处理。
- 提升兼容性与互操作性:MCP 作为通用协议,屏蔽了底层工具的异构性。不同团队开发的 Agent 和工具,只要遵循 MCP 标准,就能无缝协作。
- 生态繁荣:新工具接入生态的成本大幅降低,鼓励更多工具提供者开发 MCP 适配器,形成丰富的“工具市场”,反哺 Agent 能力的爆炸式增长。