一幅纸艺插画:一条蜿蜒的路把安静的山景和一座未来感的互联城市连在一起,表示用一条标准道路取代一堆各走各的小路
AI与信任

什么是 MCP,为什么每个 AI 工具突然都在说它?

过去十年的大部分时间里,把 AI 模型接到公司的工具上,意味着每一对组合都要做一套定制集成。Anthropic 在 2024 年 11 月推出的开放标准 Model Context Protocol,用一个到处都能插上的插头取代了这件事。OpenAI、Google 和 Microsoft 后来都采用了它。下面说明它实际上怎么工作,以及在把它接到团队数据之前,一份真正该过一遍的检查清单。

FabricLoop编辑部
2,650字
阅读需12分钟

打开 Claude 的桌面应用,让它查看团队尚未关闭的拉取请求,它可以直接做到。不是因为 Anthropic 把 GitHub 集成做进了 Claude。而是因为在某个地方——你们的 IT、一家供应商、GitHub 上的一位开发者——有人写了一个会说 MCP 这种协议的小程序,而 Claude 已经知道怎么和任何会说它的东西交谈。ChatGPT、Google 的 Gemini 和 Microsoft Copilot 现在也一样。这种汇合,比任何一次单独的功能发布,更说明为什么几乎每家 AI 供应商过去一年都在做 MCP 支持。

MCP 实际上是什么

MCP 是 Model Context Protocol 的缩写。Anthropic 设计了它,并在 2024 年 11 月 25 日把规范和第一批 SDK 以开源方式发布。它自己的发布材料用一个留下来的比喻说明这个想法:把 MCP 想成 AI 应用的 USB-C 接口——一种物理接头标准,而不是每种配件一根不同的线。发布时,Anthropic 点名了已经在把 MCP 支持做进自己产品的早期采用者,其中包括企业软件公司 Block 和 Apollo,以及开发者工具厂商 Zed、Replit、Codeium 和 Sourcegraph。Claude 的桌面应用在同一天推出,并且能够在一个人自己的电脑上本地运行 MCP 服务器。

本文核心说法的出处
01Anthropic,《Introducing the Model Context Protocol》——最初的公告,2024 年 11 月 25 日。
02modelcontextprotocol.io——开放规范、参考 SDK,以及下文所说的角色、原语和传输方式。
03OpenAI、Google 和 Microsoft 各自关于 MCP 支持的开发者文档与产品公告,文中按名称和大致日期引用。

它解决的问题:N 个工具乘以 M 个数据源

MCP 要解决的问题,工程师随口就有个名字:N 乘 M 的集成问题。假设一家公司用五个需要作用于公司数据的 AI 工具——Claude、ChatGPT、GitHub Copilot、Cursor,以及一个内部支持机器人——而这些数据放在八个地方:Slack、GitHub、一个 Postgres 数据库、Salesforce、Notion、Google Drive、Jira,以及一个内部 API。没有共享协议时,把每个工具以有用的方式接到每个数据源,最多需要四十套单独的集成——五乘八——每一套都有自己的认证方式、自己的错误处理,以及每当其中一个 API 改了形状就要付的维护税。再加第六个 AI 工具,数字就跳到四十八。实践中,没有人把四十套都做出来。每家 AI 供应商只做了它觉得值得投入工程时间的那一小把,其余的一直靠手工:复制、粘贴、再解释一遍、重复。

没有共享协议
N 个工具 × M 个数据源 = 最多 N×M 套定制开发
5 个 AI 工具 × 8 个系统 = 最多 40 套单独集成,每一套都有自己的认证、自己的错误处理和自己的维护负担。
有了 MCP
N 个客户端 + M 个服务器 = 要做的是 N + M 件事,每件只做一次
5 个工具 + 8 个系统 = 一共 13 块。一个系统的 MCP 服务器做一次,任何兼容 MCP 的工具都能用它。

MCP 把乘法变成加法。一家公司若想让 Claude 读取自己的 Postgres,并不去做一个 Claude 专用的 Postgres 连接器。它做一个——或者复用别人已经发布的——暴露 Postgres 的 MCP 服务器,这个服务器就能和 Claude、ChatGPT、Gemini 或任何其他兼容 MCP 的智能体一起工作,不必再写代码。Anthropic 自己在发布时列出的预置服务器,包括 Google Drive、Slack、GitHub、Git、Postgres,以及一个叫 Puppeteer 的浏览器自动化工具。重点从来不是 Anthropic 会把它们全部做出来。重点是谁都可以做,而可用服务器的目录已经远远超过任何一家公司靠自己的人手能覆盖的范围。

协议实际上怎么工作

剥掉包装,MCP 是一套相当朴素的客户端-服务器协议,刻意不做得很炫。Host 是人真正打开的那个应用——Claude Desktop、Cursor 这样的 IDE、ChatGPT 应用。Host 内嵌一个 MCP Client,由它向 MCP Server 打开一条直接的、有状态的连接。MCP Server 是一个小程序,只暴露某一个具体系统:数据库、工单工具、文件系统、内部 API。客户端和服务器交换 JSON-RPC 2.0 格式的消息,这是现有基础设施里已经很常见的一种轻量远程过程调用格式。传输有两种:stdio,当服务器是跑在同一台机器上的本地程序;Streamable HTTP,当它是跑在别处的托管服务。

服务器能暴露的东西,归结为三种原语。Tools 是模型可以调用以采取行动的函数——create_task、run_query、send_message——模型根据对话决定何时调用其中一个。Resources 是只读上下文,Host 可以拉进来交给模型,而不必等模型开口要——一份文件的内容、数据库模式、一张支持工单。Prompts 是可复用的、由人触发的模板——一句现成的“总结这个讨论串”或“起草一则状态更新”,由人明确调用,而不是模型自己决定去做。一个做得好的服务器会明确说明,对某项能力它提供的是这三者中的哪一个,因为这个区分恰恰决定了连上的 AI 工具是只能看,还是也能改。

Host + Agent
Claude、ChatGPT、Cursor——你真正在用的应用
↔
MCP Client
内置在 Host 里;每个服务器开一条连接
↔
MCP Server
暴露一个系统的 tools、resources 和 prompts
↔
工具 / 数据
Slack、GitHub、Postgres、内部 API

还有谁采用了它,以及是在什么时候

MCP 的头几个月只是 Anthropic 自己的项目。变化来得很快,而且是 AI 领域里真正少见的那种变化:直接的竞争对手汇合到一家公司的协议上,而不是各自发布自己的。OpenAI 在 2025 年 3 月把 MCP 支持加进了 Agents SDK,让开发者可以把智能体工作流接到任何 MCP 服务器,而不必做只适用于 OpenAI 的定制工具集成。接下来的一个月,Google DeepMind 确认 Gemini 和它自己的智能体开发套件也会支持 MCP——Google 把这一步和自己的互补协议 Agent2Agent 配在一起,目的是让独立的智能体彼此协调,而不只是和工具协调。到 2025 年 5 月,Microsoft 已经通过它称为 Windows AI Foundry 的方式,把原生 MCP 支持带到了 Windows 11,GitHub Copilot 和 Copilot Studio 里也有了支持。

这四家公司在模型架构、定价或平台策略上几乎没有多少共识。但四家现在都在交付用同一种协议把智能体接到工具上的产品。在这个行业里,这件事本身就足够少见,比 MCP 能实现的任何单项功能更像真正的故事。

为什么这是信任问题,不只是管道问题

这种汇合确实有用,也正因为如此,MCP 值得审视,而不是盲目信任。一种让智能体连接到公司系统变得轻而易举的协议,同样会让一条做得很糟或配置得很糟的连接轻而易举地碰到同一批系统。MCP 本身阻止不了这件事。规范只定义客户端和服务器怎么交谈——它不说谁有权批准一条连接、这条连接可以碰到什么,也不说出了问题会不会有人注意到。这些选择完全落在做出或配置你眼前这个具体服务器或客户端的人身上。有的供应商会把这些都认真做上。有的根本不做,协议也不会拦住他们。

MCP 是一套线路协议,不是访问控制系统。它标准化的是智能体如何请求工具去做一件事。这次请求有没有范围、有没有记录、能不能撤销,是有人在协议之上做了的决定——或者没做的决定。

连接之前的一份检查清单

在团队连接一个 MCP 服务器之前——无论它是供应商的产品、有人在 GitHub 上找到的开源工具,还是内部做的东西——六个问题把一条受治理的连接和一扇敞开的门分开。哪一个都不需要去读规范。它们只要求有人在点批准之前先问,并且真的去读连接界面返回的答案。

问这个好的样子要留心
它请求哪些范围或 tools? 逐项列出 一份有名字、很具体的清单,批准前就能读——“创建任务,读取这个频道里的消息。” 一揽子 “账户完全访问”,却没有它实际能做什么的逐项清单。
它是只读,还是也能写入和采取行动? 分开 默认只有读取;任何会改数据的动作都需要自己单独、看得见的授权。 捆在一起 写入权限自动附带,看不出哪项能力在做什么。
它是按人,还是全团队共用? 按人 每个人用自己的登录;智能体只能看到这个人能看到的东西。 共用 一把 API 密钥或一个服务账号给整个团队用,绕过个人权限。
有没有它做了什么的审计日志? 有记录 每一次工具调用都留下记录——谁连上了它、它碰到了什么、什么时候。 无记录 除了 AI 工具自己选择告诉你发生了什么,没有别的记录。
能不能立刻撤销? 立即 一个开关,马上生效,在你控制的设置页上。 滞后 撤销要提支持工单、给供应商打电话,或者根本做不到。
撤销它会不会弄坏别的东西? 隔离 只作用于这一条连接;关掉只影响它。 缠在一起 和其他工具共用一份凭证,撤销一个会悄悄弄坏另外三个。

一条做得好的连接实际上是什么样

FabricLoop 自己的 MCP 设置,是对这份清单的一个具体回答——不是因为它特别,而是因为每一块都直接对应上面六个问题中的一个,值得把真实的机制说出来,而不是营销版本。FabricLoop 同时担任两个角色:它是外部工具连进来的 MCP 服务器,这样 Cursor、Claude 或 ChatGPT 可以用某一个具体的人自己的 FabricLoop 权限去创建任务、添加评论或阅读笔记;它也是向外连接的 MCP 客户端,这样一条频道可以拉进供应商的 MCP 应用,比如 GitHub 或 Linear,并像提到同事一样 @ 它。

FL
机制实际上怎么工作

每个方向的连接,起点都是一个人,不是一个工作区。连接 Cursor 这样的外部客户端,会在 app.fabricloop.com/oauth/consent 打开一个 OAuth 同意界面,由这个人选择工作区,并批准客户端正在请求的那些具体 tools——之后客户端只能用这个界面上授予的范围来行动,而且是在这一个人的权限之下,绝不是共用的服务账号。反方向也一样:管理员可以为整个团队启用供应商的 MCP 应用,但每个人仍然要完成自己的登录,它才会对该人生效;管理员还可以把这个应用设成只读,或限制在一份特定 tools 的允许名单上,而不是供应商暴露的全部。

每一个已连接的客户端都会出现在设置界面上,旁边有一个立即断开的“撤销”控件——是这个人自己的页面,不是一张支持工单。在 Enterprise 方案上,这些活动——包括 MCP 授权,以及连上的智能体实际上做了什么——会进入安全团队可以随时查阅的审计日志,而不是事后从聊天线程里翻截图。

这些都不是什么奇特的工程。它是一小套刻意不炫的决定,被一致地重复:限定范围,绑到一个人身上,记下来,让它能撤销而不伤及旁的东西。这和本站在更广的意义上对 Legibility 所做的论证是同一件事——能命名、能记录、能撤销的访问,胜过没人需要去想的访问——而 MCP 只有在有人这样去建造时才会给出这一点。协议把管道变成标准。它不会让治理自动发生。

真正要紧的那个决定

MCP 不会消失,这个时候反对它,有点像反对 USB。每一家主要的模型提供方现在都在交付它,可用服务器的名单还在变长,而一个够不着你的工具的智能体,对大多数真实工作来说,就是一个做不了多少事的智能体。有意思的决定不是要不要让 AI 工具连上你的系统——越来越多的时候,这个决定的某个版本已经在替你做了,一次集成一次集成地做,因为团队已经在用的工具,会在你没读细则就点进去的功能下面,悄悄加上 MCP 支持。仍然真正属于你的决定,是在点批准之前你检查了什么。

一句话版本

MCP 标准化了 AI 智能体如何请求工具去做一件事。它完全没有标准化这次请求是否安全到可以批准——这一部分现在是,也将继续是,点下“批准”的那个人的决定。


要点
01
MCP(Model Context Protocol)是 Anthropic 设计并在 2024 年 11 月 25 日以开源方式发布的标准。它自己的发布材料把它描述成“AI 应用的 USB-C 接口”——一种接头标准,而不是每种配件一根定制线缆。
02
它解决的是 N 乘 M 的集成问题:没有共享协议时,把 N 个 AI 工具接到 M 个数据源,可能需要最多 N×M 套定制集成。有了 MCP,你做的是 N 个客户端加 M 个服务器——每件一次——任何兼容 MCP 的工具都可以使用任何兼容 MCP 的服务器。
03
技术上,它是一套客户端-服务器协议,用 JSON-RPC 2.0 消息,走 stdio(本地)或 Streamable HTTP(远程)。服务器暴露三种原语:Tools(模型可以调用的动作)、Resources(只读上下文)和 Prompts(由人触发的模板)。
04
采用在直接竞争对手之间扩散得很快:OpenAI 在 2025 年 3 月把 MCP 支持加进 Agents SDK,Google DeepMind 在 2025 年 4 月确认 Gemini 支持,并同时推出自己的 Agent2Agent 协议,Microsoft 到 2025 年 5 月把原生 MCP 支持带到了 Windows 11 和 GitHub Copilot。
05
MCP 是线路协议,不是访问控制系统。它标准化的是客户端和服务器怎么交谈——不是谁能批准连接、连接能碰到什么,也不是出了问题会不会有人发现。这些保护是每个实现者的选择,不是协议提供的保证。
06
在把任何 MCP 服务器接到团队数据之前,检查六件事:请求的具体范围、它是只读还是也能写入和采取行动、连接是按人还是全团队共用、有没有审计日志、能不能立刻撤销,以及撤销会不会弄坏共用同一份凭证的其他东西。
07
一条范围是一揽子的、没有读写区分、用全团队共用 API 密钥、没有审计日志、也没有干净撤销路径的连接,会同时在这份清单的几乎每一个问题上失败——无论这个工具在演示里看起来多有用,都值得拒绝。
08
FabricLoop 自己的 MCP 实现具体回答了这份清单:入站和出站连接都按人做 OAuth 同意,管理员可配置的只读模式和 tools 允许名单,一次点击即可撤销且不碰其他连接,以及 Enterprise 方案上的 MCP 授权审计日志。
09
留给任何团队的真正决定,不是要不要采用 MCP——随着你已经在用的工具加上支持,这个选择越来越是替你做的。真正的问题是,你在点批准之前,有没有真的读那张同意界面。