MCP:非万能灵药,但仍相当不错

在当前的人工智能领域,一个概念正在引起广泛关注:MCP,即模型上下文协议。令人惊讶的是,围绕这一协议系统的关注甚至超过了 OpenAI 最新模型发布,成为行业讨论的焦点。

Agent 技术的兴起,特别是 Manus 的出现,激发了全球开发者的热情。MCP 被定位为 Agent 工具调用的“统一协议”,迅速获得关注,并在短短两个月内获得了 OpenAI 和 Google 等主要 AI 参与者的支持。这种迅猛的崛起将 MCP 从一个相对晦涩的技术规范转变为 AI 生态系统中的基础标准,标志着 AI 基础设施领域的一个“现象级事件”。

然而,随着最初的兴奋消退,关键问题浮出水面:MCP 真的具有普遍适用性吗?人们对其能力的期望是否被过分夸大了?

本文将深入探讨 MCP 的起源,剖析其核心优势和局限性,澄清普遍存在的误解,并考察其潜在的未来发展轨迹。目的不是否定 MCP 的内在价值,而是为了对其作用和边界形成更务实的理解。只有通过这种清晰的认识,才能充分发挥其潜力。

解密 MCP:统一的工具调用协议

MCP 的定义

MCP 是一种开放的技术协议,旨在标准化大型语言模型 (LLM) 与外部工具和服务的交互方式。可以将其视为 AI 世界中的一种通用翻译器,使 AI 模型能够与各种外部工具“对话”。它为 LLM 提供了一种通用的语言和结构,以便请求和利用不同应用程序和服务提供的功能。

MCP 的需求

在 MCP 出现之前,AI 工具调用一直受到两个关键挑战的困扰:

  • 接口碎片化: 每个 LLM 都采用不同的指令格式,而每个工具 API 都有其独特的数据结构。开发人员被迫为每种组合编写自定义连接代码,导致开发过程复杂且效率低下。
  • 开发效率低下: 这种“一对一翻译”的方法被证明成本高昂且难以扩展。这就像为每个外国客户聘请一名专门的翻译,阻碍了生产力和敏捷性。

MCP 通过为 LLM 提供与外部工具交互的标准化框架,简化了开发过程并实现了更大的可扩展性,从而解决了这些难题。

理解 MCP 的功能

MCP 的技术架构可以概念化为一个由三个核心组件组成的系统:MCP Host、MCP Client 和 MCP Server。这些元素协同工作,以促进 AI 模型与外部世界之间的无缝通信。

为了掌握 MCP 的作用,可以考虑一个现代企业环境。在这个类比中:

  • 用户 代表高级管理人员,负责理解用户需求并做出最终决策。
  • 大型语言模型 (LLM)(如 Claude 或 GPT)理解管理人员的指令,计划任务步骤,确定何时使用外部服务,并整合信息以提供答案。
  • Agent 系统 充当个人助理或行政秘书,按照指示执行任务。
  • MCP 充当秘书使用的标准化通信平台或企业服务访问系统。它不做出决策,而是遵循指令,以统一的格式和协议与各种服务提供商通信。

在 MCP 出现之前,AI 与外部工具的交互就像一个混乱的通信标准时代。每当秘书(Agent)需要联系不同的部门或外部供应商时,他们都必须使用不同的通信设备或软件。这需要熟悉各种系统,导致效率低下。开发人员必须为每个工具编写单独的连接代码,导致时间浪费和可扩展性有限。

MCP 通过提供统一的通信平台来简化此过程,使秘书可以使用相同的系统和通信协议来联系任何部门或服务提供商。开发人员只需实现一次 MCP 接口,就可以使 AI 系统与所有支持该协议的工具进行交互。

MCP:基于函数调用的工具箱

至关重要的是要理解 MCP 不是传统函数调用的替代品,而是一个增强其功能的补充组件。

函数调用是 LLM 与外部工具或 API 交互的核心机制。它是 LLM 的一项基本功能,使其能够识别何时需要工具以及需要哪种类型的工具。

MCP 充当工具分类系统,提供了一个用于组织和访问各种工具的结构化框架。因此,MCP 不会取代函数调用,而是与 Agent 协同工作来完成复杂的任务。

完整的工具调用过程涉及 ‘函数调用 + Agent + MCP 系统’ 的组合。

本质上,LLM 通过函数调用表达了调用特定工具的需求。Agent 按照指令执行工具调用,而 MCP 提供了一个标准化的工具调用规范。

考虑以下类比:老板(用户)想要咖啡。在办公室(MCP Host)中,办公室经理(LLM)指示秘书(Agent)购买一杯美式咖啡(函数调用)。秘书查看供应商列表,发现一家美式咖啡供应商已与美团或公司统一采购系统集成(已实现 MCP Server)。然后,秘书在采购系统中找到供应商 (MCP Client) 并下订单。

以前,如果没有 MCP,当 LLM 发出函数调用时,Agent 会翻译并直接连接到 API 以调用该工具。每个 API 都需要单独的调用模式,并且为 Agent 定义了一个工具列表和调用模式以供解释。有了 MCP,许多 API 可以通过供应商的 MCP Client 直接订购,从而节省了 Agent 的时间和精力。但是,LLM 的函数调用保持不变,仍然采用 {tool: ‘buy coffee’, ‘type’: ‘Americano’} 的格式。

通过区分函数调用和 MCP,可以清楚地看到 MCP 不决定使用哪个工具,也不处理任务规划或用户意图。这些方面属于 Agent 层的范围。MCP 只是提供了一个统一的工具接口,成为业内公认的标准协议。

MCP 的开发挑战和市场格局

开发难题

自 2 月以来,AI 开发社区见证了一场 ‘MCP 淘金热’。在没有官方应用商店的情况下,数千个工具在三个月内自愿与 MCP 协议集成。

这种快速增长已将 MCP 推向行业聚光灯,但也暴露了愿望与现实之间的差距。开发人员最初将 MCP 视为 ‘通用钥匙’,但发现它更像是一个 ‘专用扳手’,在某些情况下表现出色,但在其他情况下效果较差。

MCP 的参与者可以分为本地客户端应用程序、云客户端应用程序和 MCP 服务器开发人员。本地应用程序类似于本地 AI 助手,而云客户端应用程序类似于基于 Web 版本的 ChatGPT。MCP 服务器开发人员是工具的实际提供商,他们需要重新打包其 API 以符合 MCP 规则。

MCP 的出现最初受到本地客户端应用程序的欢迎,但云客户端应用程序和 MCP 服务器开发人员面临挑战。

MCP 起源于 Anthropic 的 Claude Desktop 应用程序,最初设计为调用本地文件和功能的接口协议,深深植根于客户端需求。

对于本地客户端用户来说,MCP 代表了一场革命,提供了一个无限可扩展的工具箱,使用户可以不断扩展其 AI 助手的能力。

Cursor 和 Claude Desktop 等本地客户端应用程序已利用 MCP 来使用户能够根据个人需求动态添加工具,从而实现 AI 助手功能的无限扩展。

MCP 解决了本地客户端开发中的一个核心难题:如何在不为每个工具开发单独接口的情况下,使 AI 应用程序能够与本地环境和外部工具无缝交互。这种统一协议显着降低了集成成本,为小型初创企业和个人开发人员提供了一条使用有限资源构建功能丰富的 AI 应用程序的捷径。

但是,在考虑服务器端开发 (MCP Server) 和云客户端时,MCP 的吸引力会降低。早期版本的 MCP 采用双链接机制用于云服务器(远程),使用 SSE 长连接用于从服务器到客户端的单向消息推送,并使用 HTTP 短连接用于发送消息。

这种方法非常适合及时用户反馈和干预,但在服务器端环境中产生了一系列工程挑战。

首先,实现 MCP 接口代表着大型企业服务提供商的额外工作量,而没有必然产生相应的收益。这些服务通常具有成熟的 API 系统,并且提供额外的 MCP 适配层可能只会增加维护成本,而不会创造实质性价值。许多企业级应用程序更喜欢封闭的、可控的工具调用机制,而不是 MCP 的开放生态系统。

此外,为了处理高并发调用,MCP 服务通常需要扩展到多服务器架构。MCP 的双连接模型引入了跨机器寻址的复杂性。当在一个服务器上建立长连接,并且请求被路由到另一个服务器时,需要一个额外的广播队列机制来协调这些分布式连接,从而显着增加了实现难度和维护成本。

其次,MCP 在云应用程序领域存在局限性。云 AI Agent(服务器端 Agent)通常在无状态服务中运行,在接受任务后处理任务,并在完成后释放资源。在服务器端使用 MCP Client 需要临时创建 SSE 链接,发送工具调用请求,从 SSE 接收结果,然后关闭 SSE 链接,这是一种效率低下的方法,会增加复杂性并降低性能。在这种情况下,单个 RPC 请求应该足够了。

在实践中,使用 MCP 的云应用程序通常依赖于预设工具集,而不利用 MCP 的动态工具发现和灵活加载的签名功能。

云环境的数据交互模式限制了像 MCP 预期的那样自由使用工具的能力。它需要一个高度标准化的过程来调用特定的、硬编码的工具,从而牺牲了灵活性。

MCP 团队已表现出对用户反馈的响应能力。在收到来自服务器端开发人员的反馈后,MCP 于 3 月 26 日更新了其协议,用可流式传输的 HTTP 传输取代了原来的 SSE 传输。新协议支持只需要单个工具调用请求的无状态服务场景,以及以前通过 HTTP + SSE 双链接满足的实时推送要求。

这些改进表明,当前的 MCP 问题源于最初的设计限制,但并非无法克服。

市场的混乱

MCP 面临的另一个挑战是市场上许多实现的可用性较低。

当前的 MCP 市场正经历一个典型的技术炒作周期。与早期 App Store 的混乱局面类似,目前可用的数千种 MCP 工具中,只有不到 20% 具有实际价值。许多实现存在严重问题,从简单的配置错误到完全无法使用。有些是在没有经过充分测试的情况下匆忙推向市场,而另一些则是从未打算实际使用的实验性产品。

一个更根本的问题是,市场可能不需要许多 MCP 实现。通过 MCP 提供的许多工具只是重新打包了 MCP 出现之前已经可用和使用的 API,几乎没有增加独特的价值。

例如,通过 MCP 提供了数十种搜索服务,但它们的质量差异很大。有些服务可能不准确或速度慢,使其不如现有解决方案受欢迎。

此外,MCP 缺乏强大的评估系统,使得 Agent 难以根据可靠的指标选择最合适的工具。这种低效的选择过程浪费了计算资源,延长了任务完成时间,并降低了用户体验。

缺乏评估系统使得代理难以选择最合适的工具。如果多个 MCP 服务提供具有相似名称和描述的工具,则代理可能会难以选择最佳选项,从而导致令牌浪费和效率降低。

最成功的 AI 应用程序通常采用相反的方法,提供更精确的工具,而不是更多的工具。例如,Manus 选择了构建内部应用程序,而不是采用 MCP 协议,尽管它已经存在。Manus 优先考虑调用准确性和稳定性,而不是与 MCP 生态系统集成。

像 Cursor 这样的代码编辑器具有内置的开发功能,使大多数外部 MCP 工具变得多余。

当前 MCP 市场的混乱状态不一定是失败的标志,而是任何新兴技术生态系统增长的必要阶段。历史先例表明,这种最初的过度扩张将通过市场选择机制逐渐融合,留下最有价值的元素。

这个过程将使行业能够从当前的挑战中吸取教训,并创建一个更强大、更可靠的 MCP 框架。与互联网泡沫导致电子商务和社交媒体领域颠覆性创新一样,MCP 趋势可能会导致一个更加精简和有价值的工具生态系统。

MCP 团队对用户反馈的开放态度令人鼓舞,并且行业需要更好的工具来评估和确保 MCP 服务的质量,这将有助于提高生态系统的可用性。

MCP 是好东西,但不是万能灵药

上面提到的问题来自 MCP 的局限性和缺点,突出了它可以实现的现实目标。但是,其他批评来自不切实际的期望。

最近的一项批评认为 MCP 是一种有缺陷的协议,因为它没有规定 LLM 和 MCP 之间的交互模式。

有些人期望 MCP 能够自动改善 AI 系统的决策或提高任务规划效率。这种期望将工具与工匠混淆了。

问题源于一种认知上的不匹配 - 期望通信协议执行智能系统的任务。这就像责怪 USB 不能编辑照片或指责 5G 标准不能编写代码一样。MCP 主要是一个标准化的 ‘工具插座’,确保插件兼容性,而不是规定使用哪种设备或如何使用。

Agent 工具调用的有效性取决于工具选择熟练程度、任务规划技能和上下文理解等因素,所有这些都不属于 MCP 的范围。MCP 仅保证标准化的工具接口,而不是如何选择和组合这些工具。

我们经常在技术中寻找银弹,即普遍适用的解决方案。就像软件工程的 ‘没有银弹’ 公理一样,AI 工具的使用没有神奇的解决方案。一个强大的 AI 系统需要精心设计的组件:用于理解和生成内容的 LLM、用于规划和执行内容的 Agent 框架,以及专注于统一工具接口的 MCP。

MCP 显示出良好的协议设计 - 专注于一个问题并很好地解决它,而不是解决所有问题。它的克制有助于其在客户端工具集成方面取得进展。

阿里巴巴的 Qwen、百度的 ‘新象’ 和字节跳动的 Kouzi Space 等实体都采用了 MCP 协议,试图建立更高效的内部 MCP 生态系统。

但是,部署方面存在关键差异:百度和字节跳动更积极。百度尝试采用 C 端方法,通过 ‘新象’ (Kokone) 集成多个 AI 模型和外部工具,利用 MCP 协议,主要针对移动设备,以融入用户日常生活并鼓励采用。

字节跳动的 Kouzi Space 有 60 多个 MCP 扩展插件。它通过网页访问,还推出了 AI 原生 IDE Trae,支持 MCP,主要针对生产力场景。

阿里巴巴将 MCP 协议集成到支付宝等产品中,实现一键 AI 工具调用,并开源了支持 MCP 协议的 Qwen3 模型,增强了其 Agent 功能。

腾讯云开发人员发布了一个支持 MCP 插件托管服务的 AI 开发套件。腾讯云的大模型知识引擎使用户能够调用 MCP 插件。腾讯云 CodeBuddy 推出的 Craft 软件开发智能代理与 MCP 开放生态系统兼容。此外,腾讯地图和腾讯云存储都发布了自己的 MCP SERVER。

AI 工具的使用可能会从直接的、单工具操作演变为专业的 Agent 协作,就像编程风格从汇编语言演变为面向对象一样。

在这种范例中,MCP 可能只是成为底层基础设施的一部分,而不是面向用户或开发人员的界面。更完整的计划可能需要像 Agent to Agents (A2A) 这样的架构,通过提高抽象级别来增强任务规划和工具选择效率。

通过将 MCP 恢复到其 ‘协议’ 角色,我们可以认识到其推动行业标准化的真正力量 - 这可能是技术演进中最宝贵的 ‘去神秘化’ 时刻。