你正在调试一个AI助手,它突然要访问公司数据库。你面临两个选择:直接开放API,还是套一层MCP协议?选错的话,账单可能翻几倍,答案还更不准。

一、先搞清楚:API和MCP根本不是一回事

打开网易新闻 查看精彩图片

API(应用程序编程接口)和MCP(模型上下文协议)经常被混为一谈,都是系统交换信息的方式,但设计目的完全不同。

API存在于软件应用之间,让A应用能调用B应用的功能。MCP则是给大语言模型用的,让AI能以结构化方式使用数据和工具。

这个区别的根源在于:LLM需要自主判断。它得根据用户请求,自己决定需要什么工具、什么信息来完成任务。传统API是"你说要什么我给什么",MCP是"AI自己挑它要的"。

API的工作方式是硬编码的。开发者写代码发起请求,再写代码解析响应。格式固定、行为确定,双方代码一变就可能出问题。这种精确性是把双刃剑——可靠,但僵化。

MCP的设计哲学是服务模型本身。模型是数据的直接消费者,它主动建议需要什么工具或资源。

二、MCP暴露的三种能力

MCP服务器按预设规则,以标准格式暴露数据。规则决定了什么可用、谁能访问。

原文明确提到MCP服务器暴露三种能力,但没有展开具体是哪三种。这点留白很有意思——说明协议框架已定,具体实现还在演化。

这种设计让单一接口能对接多个数据源。AI不需要为每个数据库写不同的连接代码,MCP层统一封装了差异。

三、为什么API+LLM的组合很烧钱

很多AI系统仍在用API,甚至MCP背后也可能调API。但这里有个隐蔽的成本陷阱。

API默认返回的数据往往远超模型所需。比如一个客户查询API可能返回50个字段,但LLM只需要账户状态这一个字段。

问题在于:模型必须处理每一个字节。多余的49个字段不会自动忽略,它们会消耗token、增加延迟、推高成本。更糟的是,模型可能基于这些无关数据做出错误判断——它拿到数据之前,根本不知道哪些相关。

原文举的例子很直白:API返回50个数据库字段,LLM只需要1个。全部发送给模型,它得先花算力筛选,还可能被干扰信息带偏。

MCP的理想设计是围绕模型任务来定制工具。不是"我有什么数据",而是"模型完成这个任务需要什么数据"。

四、治理层面的考量

原文标题里提到的"Governance, Regulation & Policy"不是摆设。MCP的规则预设机制,天然带有治理属性。

API的权限控制通常是开发层面的:谁能调用、频率限制、IP白名单。MCP在此基础上多了一层语义控制:什么数据对AI可见、在什么上下文里可见。

这不是简单的技术封装,而是把数据访问策略产品化了。企业可以精细化管控AI能接触的信息边界,而不必在每个API端点重复实现。

五、开发者该怎么选

如果你的场景是应用之间的确定性交互,API仍然是最优解。精确、成熟、生态完善。

如果交互主体是LLM,需要模型自主决策用什么工具、取什么数据,MCP是更原生的设计。它能减少token浪费,降低幻觉风险,让AI的"工具使用"更可控。

原文没提但值得观察的:MCP目前主要是Anthropic推动的协议,生态还在早期。API的通用性仍是最大护城河。

一个务实的过渡方案:现有API不动,前向加MCP网关做适配。既保留历史投资,又获得AI友好的接口层。

最后

MCP的本质是把"AI能用数据"这件事工程化、协议化。它不是取代API,而是在API之上为LLM时代重建抽象层。

对企业来说,这意味着数据接口策略要分两层:底层保持API的稳定性,上层针对AI交互做MCP优化。账单数字和回答质量,会替你验证这个决策。