一文看懂 MCP:AI 世界的 USB-C 接口

先说个我自己每天都在经历、但一直没单独拎出来讲的事。我这个博客的整条生产线,从拉资讯、查重、配封面到一文多发,全长在 Claude Code 上。其中给文章生成封面那一步,背后调的是一个叫 banana-image 的东西;把稿子同步到各个平台那一步,调的是另一个叫 sync-assistant 的东西。我在 Claude Code 里说一句「给这篇配张封面」,它就自己把活干了。这两个「东西」,专业叫法都是 MCP server。

这阵子你大概也刷到了这个词:MCP。OpenAI 在支持它,Claude 原生带它,Cursor、Windsurf 这些编程工具全在接它。一个 Anthropic 自己提出来的协议,连最大的对手 OpenAI 都跑来用,这事本身就值得琢磨。今天我就用大白话,把 MCP 到底是个啥、跟我们熟的 API 和 function calling 差在哪、为什么能熬成行业标准,一次讲清楚。

MCP 到底是什么,一句话能不能说明白

能。Anthropic 官方自己打的那个比方最传神:MCP 是 AI 应用的 USB-C 接口。

你想想 USB-C 没普及之前是什么光景。安卓一个口、苹果一个口、相机一个口、老设备还有 mini USB,出门一抓一把线,还经常对不上。USB-C 出来之后,一根线插遍所有设备。MCP 干的就是这件事,只不过插的不是充电器,是 AI 和外部世界之间那根「数据与能力」的线。

说回正经定义。MCP 全称 Model Context Protocol,模型上下文协议,Anthropic 在 2024 年 11 月开源放出来的(准确说是 11 月 25 号,第一版规范号 2024-11-05),两位主创是 David Soria Parra 和 Justin Spahr-Summers。它定的是一套统一规矩:AI 这边怎么去问外部工具「你能干啥」,工具那边怎么把自己的能力暴露出来,双方按同一套话术对接。

它把角色拆成三块,记住这三个词后面就好懂了。一个是 host,就是你在用的那个 AI 应用本体,比如 Claude 桌面端、Cursor;一个是 server,就是把某个工具能力包出来的小服务,比如我那个 banana-image;中间还有 client,host 为每个 server 配一个,负责俩之间传话。我那句「配张封面」,就是 host 经由 client 找到 banana-image 这个 server,让它真的去生成图。

MCP 之前,对接这事烂在哪

这得说回 Anthropic 当初为什么要造这玩意。官方原话说,再聪明的模型也被「困在信息孤岛和老系统后面」,每接一个新数据源,都得专门写一套对接。

这话听着抽象,我换个算术你立马懂。假设市面上有 N 个 AI 模型,有 M 个工具想给它们用。在没有统一标准的年代,每个模型要单独适配每个工具,得写多少套对接?N 乘以 M 套。Anthropic 管这叫「N×M 难题」。10 个 AI 应用想连 100 个工具,理论上要拉 1000 套定制连接,每一套都得有人写、有人维护、工具一升级还得跟着改。

MCP 把这道乘法改成了加法。每个模型只要实现一次 MCP,每个工具也只要实现一次 MCP,N×M 就塌成了 N+M。这就是 USB-C 那个比方的内核:接口一旦统一,任意一头接进来,另一头全都能用。

这个降本我有第一手体感。我那条流水线上挂着十几个工具能力,配图的、查资讯的、发布的。它们能被 Claude Code 这一个 host 统一调起来,靠的就是大家都说 MCP 这一套话。哪天我想换个别的 AI 客户端当 host,这些 server 理论上原样还能用,不用为新家重写一遍。这种「攒一次、到处插」的踏实感,是过去各写各的接法给不了的。

MCP 和 API,到底是不是一回事

很多人第一反应:这不就是个 API 吗?工具早就有 API 了啊。

这话对一半。MCP 底下确实常常还是在调那些工具的 API,它没取代 API。说白了,差别在「谁来用、怎么用」。

传统 API 是写给程序员的。你得提前读文档、知道有哪个接口、参数怎么填,然后把调用逻辑硬编码进代码里。它是确定的、写死的:这个按钮点下去,固定调那个接口。

MCP 是写给 AI agent 的。AI 连上一个 MCP server 之后,能在运行当下自己「问」这个 server:你都有哪些能力、每个能力要喂什么参数。然后 AI 根据用户这句话临时决定调哪个、怎么调。一个是开发者预先写死的调用,一个是 AI 现场发现、现场决定的调用,这是两边最根本的分野。

还有个容易被忽略的点:凭证归谁管。传统做法里,API key 这些钥匙往往就揣在 AI 应用自己兜里。MCP 把执行和鉴权挪到了 server 那一侧,AI 这头压根不碰你的密钥。我那个发布的 server 就是这样,token 锁在它自己那儿,我在对话里从头到尾看不到,也不用看到。

MCP 和 function calling,是两层东西

这俩最容易绕进去,但拆开看其实清楚。

function calling 是 OpenAI 先带火的能力,意思是让模型学会「写 API 调用」:你在每次请求里,把所有工具的说明书一并塞给模型,模型读完决定调哪个、生成调用参数,再由你的程序去执行。它是模型本身的一项能力。

问题出在「每次都得把工具说明书塞进去」。工具一多,光这些说明就先吃掉一大把 token,模型还没看到用户问的正事,预算先去了一截。而且每家格式还不一样,OpenAI、Anthropic、Google 各写各的 schema,你换个模型供应商,所有工具定义得照新格式重写一遍。

MCP 是站在 function calling 上面的一层标准。它不跟 function calling 抢饭碗,反而常常合着用:MCP client 把 server 暴露的能力,翻译成某家模型 function calling 认的那套格式喂进去。你可以这么记,function calling 是模型「能调工具」这个本事,MCP 是「工具怎么统一接进来」这套规矩。一个解决会不会调,一个解决接得乱不乱。最实在的好处是可移植:一个 MCP server 写一次,Claude、GPT、Gemini 谁来都能接,不用为每家各维护一份。

为什么它能熬成行业标准

讲到这就能回答开头那个问题了:凭啥连 OpenAI 都来用对手家的协议。

时间线很说明问题。2024 年 11 月 Anthropic 开源 MCP,给了 Python 和 TypeScript 的 SDK,还顺手放了一批现成 server,Google Drive、Slack、GitHub、Git、Postgres 都有。早期 Block、Apollo 先接了,Zed、Replit、Sourcegraph 这些开发工具也跟进。到 2025 年 3 月,OpenAI 的 Sam Altman 直接在 X 上发话:「大家都喜欢 MCP,我们很高兴在自家产品里加上支持」,Agents SDK 当天就能用。最大的两家 AI 公司,自此站到了同一个接口标准上。

到 2025 年 12 月,Anthropic 干脆把 MCP 捐给了 Linux 基金会底下新成立的 Agentic AI Foundation,联合发起方里既有 Block,也有 OpenAI。一个协议从某家公司的项目,变成中立基金会托管的公共标准,这一步基本给它的长期生命盖了章。

为什么能走到这步?因为它戳中的是所有人共同的痛点,而不是某一家的私利。每多一个人写出一个 MCP server,所有支持 MCP 的 host 立刻都能用上;每多一个 host 接入 MCP,已有的一堆 server 它马上全能调。这是典型的网络效应,越多人用越值钱,谁先用谁先沾光。USB-C 当年也是这么赢的。让它一统天下的并非什么技术上的绝活,而是大家都受够了线对不上,于是干脆一起认了同一个口。MCP 走的就是这同一个剧本。

我自己就是这个网络效应里最末梢的一个受益者。我没写过协议、没造过标准,我只是个每天用 AI 干活的人。可正因为 banana-image、sync-assistant 这些 server 都讲 MCP,我才能把它们随手插进我的 Claude Code,攒成一条不用我盯着的流水线。USB-C 让我不用为每个设备配一根线,MCP 让我不用为每个工具求一次定制对接。说到底,好接口的最高境界,就是让用它的人忘了它的存在。

你平时用 AI 的时候,有没有哪个外部工具是你特别想插进去、但一直苦于对接太麻烦的?评论区聊聊,说不定已经有现成的 MCP server 了。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐