AI圈爆火的MCP,你最需要了解这5个关键问题

近期,一个名为 MCP 的概念正在 AI 圈子里流行,从海外火到了国内。

3 月 27 日,OpenAI 宣布在 Agent SDK 中支持 MCP;4 月 4 日,谷歌宣布在 Gemini 的官方 API 文档中添加使用 MCP 的范例。加上此前提出 MCP 协议的 Anthropic,海外三大 AI 巨头已经全部投入 MCP 怀抱。

国内也迅速跟进,阿里云百炼上线业界首个全生命周期 MCP 服务,腾讯云支持 MCP 插件托管服务,MiniMax 发布了 MCP Server......MCP 似乎在一夜之间变成 AI 圈的最大共识。

本文将从以下五个关键议题,来拆解爆火的 MCP。

  • MCP 的基本架构

  • MCP 是怎么火起来的?

  • MCP 与 Function Calling 有什么关系?

  • MCP 与 谷歌近期发布的 A2A 有什么区别?

  • MCP 的一些资源

  1. MCP 的基本架构

MCP,全称是 Model Context Protocol,模型上下文协议。这是一个很新的概念,最早由 Anthropic 在 2024 年 11 月 25 日发布并开源。

MCP 主要解决 LLM 连接外部系统与数据的问题。今天,虽然 LLM 的能力在不断提高,但即使是最复杂的模型也因与数据隔绝而受到限制——被困在信息孤岛和遗留系统之后。每个新的数据源都需要单独定制实现,这使得真正互联的系统难以扩展。

MCP 旨在解决这一挑战。它提供了一个通用的开放标准,用于连接 AI 系统和数据源,用单一协议取代分散的集成。最终,AI 系统能够以更简单、更可靠的方式访问所需的数据。

Anthropic 定义了 MCP 的总体架构,后来很多 MCP 的技术科普都来自于下面这张图。

在该架构图中,包含五个组件:

  • MCP 主机(Hosts):像 Claude Desktop、IDE 或 AI 工具这样的程序,需要通过 MCP 访问数据

  • MCP 客户端(Clients):与服务器保持 1:1 连接的协议客户端

  • MCP 服务器(Servers):轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能

  • 本地数据源(Local Data Sources):MCP 服务器可以安全访问计算机上的文件、数据库和服务

  • 远程服务(Remote Services):MCP 服务器可以通过互联网(例如通过 API)连接到的外部系统

MCP Client 与 MCP Server 是 MCP 的关键组件。其中,MCP Client 充当 LLM 和 MCP Server 之间的桥梁,MCP Client 的工作流程如下:

  • MCP Client 首先从 MCP Server 获取可用的工具列表。

  • 将用户的查询连同工具描述通过 Function Calling 一起发送给 LLM。

  • LLM 决定是否需要使用工具以及使用哪些工具。

  • 如果需要使用工具,MCP Client 会通过 MCP Server 执行相应的工具调用。

  • 工具调用的结果会被发送回 LLM。

  • LLM 基于所有信息生成自然语言响应。

  • 最后将响应展示给用户。

MCP Server 可以提供 3 种主要类型的功能——资源、工具与提示。这些功能使 MCP Server 能够为 AI 应用提供丰富的上下文信息和操作能力,从而增强 LLM 的实用性和灵活性:

  • 资源(Resources):类似文件的数据,可以被客户端读取,如 API 响应或文件内容。

  • 工具(Tools):可以被 LLM 调用的函数(需要用户批准)。

  • 提示(Prompts):预先编写的模板,帮助用户完成特定任务。

Claude Desktop 和 Cursor 都支持了 MCP Server 接入能力,它们就是作为 MCP Client 来连接某个 MCP Server 感知和实现调用。

  • MCP 是怎么火起来的?

MCP 最早发布于 2024 年 11 月。但发布之初,MCP 并没有在业内引起太多的关注。从 Github 的 Star History 上,我们能清晰地看到 MCP 的热度趋势,大概可以分为三个阶段。

第一阶段是在 2025 年之前,MCP 集中在小范围的技术圈子内部的交流。Anghropic 提到,他们针对Google Drive、Slack、GitHub、Git、Postgres 和 Puppeteer 等热门企业系统预先构建了 MCP 服务器。在用户与客户侧,Block 和 Apollo 是早期尝鲜者,Zed、Replit、Codeium 和 Sourcegraph 等开发工具公司正在与 MCP 合作。

第二阶段是在 2025 年的前三个月,MCP 处于平稳发展阶段,一些 MCP 项目崭露头角。比如,2 月 10 日,LangChain 发布通用 API 助手解决方案,可自动将任何 OpenAPI 规范转换为智能工具。它采用 LangGraph 和 MCP 构建,可实现与 API 的自然语言交互,而无需自定义集成代码。

第三个阶段就是 3 月初至今,MCP 正式进入热议阶段,标志性的事件有两起。一是 3 月 8 日,LangChain 发布一篇博客,LangChain 联合创始人、CEO Harrison Chase 与 LangGraph 负责人 Nuno Campos 针对 MCP 展台辩论,探讨 MCP 究竟是昙花一现的热点还是注定成为未来的标准。这篇博客附上了一个投票,结果显示有 40.8% 的用户认为 MCP 将是未来标准。

第二起事件就是 Manus 的发布。尽管 Manus 联合创始人季逸超否认了 Manus采用了 MCP 协议,但另一个爆火的“3小时复刻开源版本”的 OpenManus 项目因支持 MCP 协议,而将这一技术引入大众视野。

值得一提的是,PPIO 派欧云是 OpenManus 的重要技术合作伙伴,将一同参与创新并提供计算支持,让 OpenManus 在实不同场景下实现有趣有用的任务,加速技术与社区发展!

海外顶级风险投资机构 a16z 也敏锐地嗅到了 MCP 的热度。他们在 3 月 21 日专门发布了一个 MCP 市场地图,盘点了业内最有热度的 MCP 项目。

此后,OpenAI、谷歌,以及国内的阿里云、腾讯云、MiniMax 等公司也都陆续拥抱 MCP 。MCP 正在迅速成为当前最炙手可热的 AI 技术标准。

  • MCP 与 Function Calling 有什么关系?

在 MCP 火起来之后,很多开发者也常常将其与 Function Calling(函数调用)作对比。由于两者都是解决 LLM 与工具、资源、数据等外部系统的连接问题,概念上存在一定的相似性。

Function Call 是编程中的一个基本概念,指的是在程序中调用一个预先定义好的函数(也称为方法或过程)来执行特定的任务。在大语言模型兴起之后,Function Calling 的意义在于使大模型从纯文本生成升级为可动态调用外部工具和 API 的交互式系统,这也是构建 Agent 的必经之路。

Function Calling 是被 OpenAI 等公司发扬光大的。2023 年 6 月,OpenAI 在 GPT-4-0613 和 GPT-3.5-turbo-0613 模型中首次引入 Function Calling 功能。开发者可通过 API 的functions参数预定义函数列表,模型根据用户提问自主选择需调用的函数,并生成结构化参数(JSON格式),随后由外部系统执行,比如获取天气信息、发送电子邮件、搜索知识库等。

此后,Anthropic、谷歌 Gemini 等大模型也都陆续推出 Function Calling 能力。然而,每一家大模型在函数接口的支持标准上并不统一。

关键维度OpenAI GPT‑4.o / GPT‑4.1Anthropic Claude 3.xGoogle Gemini 1.5 / 2 (Pro)
函数声明放哪儿?请求参数 tools=[ … ]同样放在 tools=[ … ]依旧是 tools=[ … ]
函数定义字段名{"type":"function", "**function**":{…}}{"name":… , "**input_schema**":{…}}{"**function_declarations**":[{…}]}
函数定义格式 / 约束JSON Schema 2020‑12;支持 enum、default,可加 strict:true 强校验JSON Schema draft‑07 子集;不支持 default,官方建议描述越细越好JSON Schema / OpenAPI 3.1 子集;暂不支持 nullable,字段名与 OpenAPI 一致
模型怎样标记要调用?回复中 message.tool_calls[*] 含 name+argumentsstop_reason="tool_use",并在 content[0].tool 给出 name+inputcontent.parts[0].function_call 给出 name+args
一次能列几个函数?可同时返回 多个 tool_calls通常一次只选 一个 工具支持一次列出 多个 函数,也能串联执行
能否强行指定调用?tool_choice="auto" / "none" / {"type":"function","function":"X"}无显式字段,只能靠提示词同样有 tool_choice;也可让模型纯文本回答

不同的标准协议意味着当开发者需要切换模型时,尤其是构建复杂工作流时,会有很多麻烦。假如我构建了一款个人 AI 助理,要用 GPT-4 查询天气内容,然后用 Claude 3.7 回复电子邮件,再用 Gemini 2.5 搜索知识库,这意味着我要写三遍代码。

MCP 就是为了解决这一问题,它统一了各家大模型原本差异化的 Function Calling 标准,形成通用协议。这也是为什么 Anthropic 将类比为 USB-C 接口的原因。就像 USB-C 简化了将不同设备连接到电脑的方式一样,MCP 简化了 AI 模型与数据、工具和服务的交互方式。有了 MCP 之后,开发者只需要按照协议开发一次接口,就能被多模型调用。

当然,MCP 并非要取代 Function Calling 以及传统 API,两者更多是互补关系。

在一个复杂工作流中,大模型要想跟外部系统做连接,可以分为两大阶段。

第一阶段:将提示分解为 Function Calling 指令。 Function Calling 负责将自然语言提示转换为结构化的函数调用指令,这些指令可以被以工具为导向的系统(例如 MCP 服务器)理解和执行。这一阶段专注于为工具生成精确的指令。

第二阶段:执行函数调用指令。 MCP 通过在一个标准化框架中管理工具的发现、调用和响应处理,来执行这些指令。这确保了生成的函数调用能够在各种企业系统中一致且有效地执行。

这两个阶段共同确保 LLM 不仅能够解读自然语言提示,还能利用企业工具提供有意义的结果。

  • MCP 与 A2A 有什么区别?

近期,谷歌还发布了一项名为 Agent2Agent(A2A)的全新开放协议不过,该协议并非要取代 MCP,而是作为 MCP 的一种补充,目的是解决多代理之间的互操作性。

MCP 是连接 LLM 与数据、资源和工具,将不同模型和框架之间的函数调用进行标准化。这将会创建一个工具服务提供商生态系统,并显著降低连接代理与工具和数据的复杂性,未来将会有越来越多的框架、服务提供商和平台采用 MCP。

而 A2A 专注于不同的问题,是一种一种应用层协议,使代理能够以其自然的模式进行协作,允许代理以代理(或用户)的身份进行通信,而不是以工具的身份。

举一个例子:假设有一家汽车修理店,专门修理汽车。该店雇佣了自主工作的员工,他们使用专用工具(例如汽车千斤顶、万用表和套筒扳手)来诊断和修复问题。这些员工经常需要诊断和修复他们从未见过的问题。修理过程可能涉及与客户的广泛交流、研究以及与零部件供应商的合作。

现在,我们将修理店的员工视为人工智能代理:

  • MCP 是将这些代理与它们的结构化工具(例如“将平台提升 2 米”“将扳手向右转动 4 毫米”)连接起来的协议。

  • A2A 是使终端用户或其他代理能够与修理店员工合作的协议(例如“我的车发出嘎嘎声”)。A2A 支持持续的双向沟通以及不断演变的计划,以实现目标(例如“给我发一张左轮的照片”“我注意到有液体泄漏。这种情况持续多久了?”)。A2A 还帮助汽车修理店的员工与其他代理(例如他们的零部件供应商)合作。

  • 关于MCP 的一些资源

如果你是一个开发者,对于开发 MCP 项目感兴趣,推荐以下 MCP 的相关资源。

官方 MCP 文档:https://modelcontextprotocol.io/introduction

官方 MCP 开源社区:https://github.com/modelcontextprotocol

官方 MCP 服务器:https://github.com/modelcontextprotocol/servers?tab=readme-ov-file

社区 MCP 客户端:https://www.pulsemcp.com/clients

社区 MCP 服务器:https://github.com/punkpeye/awesome-mcp-servers

作为一站式 AIGC 云服务平台,PPIO派欧云提供高性能的 API 服务,涵盖了最新的 DeepSeek R1/V3 Turbo、Qwen 等系列模型,仅需一行代码即可调用;并支持在 chatbox、angthingLLM、Ragflow 等 20+ 主流第三方平台调用。

除了稳定、弹性的底层技术服务外,企业最核心关注的是能不能低成本的使用 AI 推理服务。在这方面,PPIO 通过 2024 年的实践,已经实现大模型推理的 10 倍 + 降本,并在成本与性能之间找到最佳平衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值