专栏名称: 腾讯科技
只供应最有营养的科技大餐!
目录
相关文章推荐
51好读  ›  专栏  ›  腾讯科技

MCP很好,但它不是万灵药|一文读懂 MCP

腾讯科技  · 公众号  · 科技媒体  · 2025-04-30 11:48

正文

请到「今天看啥」查看全文


MCP的出现改变了这一局面。它就像是一个统一的企业通信平台,无论秘书需要联系哪个部门或服务商,都可以使用同一个系统,遵循同一套通信协议。
MCP的技术架构由三个核心组件构成:
MCP Host (执行环境) 就像是企业的办公环境和基础设施。 它提供了高管办公和秘书工作的场所,是一切活动的发生地。在实际应用中,Claude Desktop、Cursor这类AI应用就是典型的Host,它们提供了用户与AI交互的界面和环境,同时也为Agent和MCP Client提供了运行空间。
MCP Client (通信枢纽) 像是秘书(Agent)使用的标准化供应商。 它不参与决策,不理解任务本质,只负责按照秘书的指示,以正确的格式和协议与各种服务提供商通信。MCP Client是一个纯技术组件,处理通信协议、数据格式转换和连接管理等底层问题。
MCP Server (服务终端) 就像是各个专业部门或外部服务提供商,每一个都负责特定类型的服务。 有的提供数据分析(如财务部),有的提供信息检索(如资料室),还有的提供内容生成(如市场部)。在MCP架构中,每个Server提供特定类型的功能:工具、资源或提示。
在MCP出现之前,当秘书需要完成高管的多项任务时,必须切换使用多种通信工具和系统,熟悉各自不同的操作方式。例如,预订会议室需要登录内部系统A,获取财报需要使用系统B,订餐则需要拨打餐厅电话。开发者则需要为每个工具单独编写连接代码,效率低下且难以维护。
在MCP之后,秘书只需使用一个统一的通信平台,就能以相同的方式联系所有部门和服务提供商。开发者也只需实现一次MCP接口,就能让AI系统与所有支持该协议的工具进行交互。

MCP不是Function Call的替代,而是基于Function Call的工具箱

很多人认为,MCP是对传统Function Call的一种替代。
而实际上,两者并非替代关系,而是紧密合作的关系。
Function Call是大型语言模型(LLM)与外部工具或API交互的核心机制。它是大模型的一个基础能力,就是 识别什么时候要工具,可能需要啥类型的工具的能力
而MCP则是工具分类的箱子。 因此MCP不是要取代Function Call,而是在Function Call基础上,联合Agent一起去完成复杂任务。
如果把整个工具调用的流程剖析开来,实际是"Function Call + Agent + MCP系统"的组合。
用一句话说清楚: 大模型通过FunctionCall表达,我要调用什么工具,Agent遵循指令执行工具的调用,而MCP则是提供了一种统一的工具调用规范。
图片
用一个比喻来理解: 老板(用户)要喝咖啡,于是,在办公室(MCP Host)里,办公室主任(大模型)吩咐秘书(Agent)去买一杯美式(Function Call)。秘书(Agent)查了一下供应商名册,发现美式咖啡的供应商已接入了美团或公司统一采购系统(实现了MCP Server),接着,秘书在采购系统中找到供应商(MCP Client)一键下单。
在过去没有MCP时,大模型下发Function Call,Agent去执行翻译,直接连接到API去调用工具。因此,你得为每个API单独设置对应的调用模式,去单独定义工具列表和调用模式,这样Agent才知道怎么去翻译。而有了MCP后,只是很多API都可以直接通过供应商MCP Client一键下单了,Agent省力了。但大模型的Function Call没有任何变化。还是{tool: “买加啡”, "type": "美式"}这个形式。
图片
不过在过去,有人会把这一整套Function Call+ Agent +API的模式叫做一个Function Calling,所以会引起混淆。

通过区分Function Call和MCP,我们可以清晰地看出,MCP并不负责决定使用哪个工具,也不进行任务规划或理解用户意图。这些是Agent层面的工作。MCP只是提供了一个统一的工具接口,成为了产业内认可的工具调用标准协议。

图片

MCP的开发难题与市场乱局


一宗罪:开发的难题







请到「今天看啥」查看全文