什么是 MCP(Model Context Protocol)?
Model Context Protocol(MCP)是一项开放标准,由 Anthropic 于 2024 年 11 月发布,让 AI 智能体以一致的方式连接外部工具和数据:数据库、CRM、API、文件系统。Anthropic 已于 2025 年 12 月将其捐赠给 Linux 基金会。思路很简单:与其每次把智能体连到工具时都构建自定义集成,不如每个数据源构建一个 MCP 服务器,任何兼容 MCP 的智能体就都能使用。
截至 2025 年底,已存在超过 10,000 个公开 MCP 服务器,月 SDK 下载量达到 9,700 万。OpenAI、Google、Microsoft、AWS 和 Salesforce 都已采用该标准。
如果您在 AI 报道中不断看到「MCP」,并想要一个对其实际作用的清晰解释(包括它的不足),这就是那篇文章。
什么是 MCP?#
一句话定义#
MCP 是一项开放标准,定义 AI 智能体如何连接到外部工具、数据源和服务,让您只需构建一次集成,任何兼容 MCP 的智能体就都能使用。
它为什么被造出来:N x M 集成问题#
MCP 之前,每一次智能体-到-工具的连接都是一次性工程项目。新做一个智能体?为每个工具写新的连接器。换了 AI 提供方?重写集成。Anthropic 内部把它称为 N x M 问题:N 个智能体乘以 M 个工具,一张庞大、脆弱、不互通的代码网。
若您有 3 个 AI 智能体和 15 个工具,那潜在需要构建并维护 45 个自定义集成。每当一个工具的 API 变化,或您想切换底层模型,就会以难以预料的方式损坏,并且修复成本不低。
MCP 把这个数字压缩到 N+M。每个工具一个服务器,每个智能体一个客户端。任何兼容 MCP 的智能体都能接入任何兼容 MCP 的服务器,不必重做。45 个自定义集成变成 18 个标准连接。
USB-C 类比:它讲对了什么,又止于哪里#
Anthropic 以及多数行业选用的类比是 USB-C:一种让数十年专有线缆变得无关紧要的连接器标准。一根 USB-C 线通过任何设备上的同一个接口,承载电力、数据和视频。MCP 通过一个协议,在任何 AI 智能体和任何已连接系统之间承载上下文、工具调用和提示词。
类比止步的地方:USB-C 是实体硬件。一根线要么合规要么不合规。一个 MCP 服务器可以在技术上符合协议,却仍然存在认证缺口、不稳定的 schema 或安全漏洞。标准让连接成为可能,但并不保证其上承载的任何东西的质量。
MCP 的工作方式#
三种角色:host、client 与 server#
MCP 把职责拆分到三个角色。host 是 AI 应用 —— Claude Desktop、自定义智能体、IDE 插件。它管理整体会话。client 位于 host 内部,处理与 MCP 服务器之间的实际往返:把模型的请求翻译成 MCP 调用并返回结果。server 是一个轻量进程,包装某个具体的工具或数据源,并将其暴露给任何兼容 MCP 的 client。
会话开始时,client 连接到已配置的 server,并询问每一个能做什么。每个 server 回应其能力,模型可在对话中使用这些能力。
三种原语:tools、resources 与 prompts#
每个 MCP server 暴露三种构件的某种组合:
| 原语 | 作用 | 类比 |
|---|---|---|
| Tools | 智能体可调用以执行操作的函数:写入数据库、发邮件、跑查询 | REST API 的 POST 端点 |
| Resources | 智能体可访问的只读数据:文件、记录、文档 | REST API 的 GET 端点 |
| Prompts | 为常见任务给模型提供结构化上下文的预定义模板 | 针对某条工作流的系统提示词 |
大多数生产场景主要依赖 tools。resources 和 prompts 有价值,但在当前部署中使用得不那么普遍。
传输层:本地(stdio)vs. 远程(HTTP/SSE)#
MCP 支持两种传输模式:
- stdio(标准输入/输出):server 作为本地进程与 client 运行在同一台机器上。搭建更简单,适合开发者工具链与本地智能体。
- HTTP + Server-Sent Events(SSE):server 远程运行。client 通过 HTTP 发送请求,server 通过 SSE 流式返回响应。这是生产部署中的常用方式,适合 server 需要被运行在云端基础设施的智能体访问的场景。
一个具体例子:AI 智能体拉取 Salesforce 数据#
一位销售经理问他的 AI 助手:「把上季度 Salesforce 的交易数据拉出来,总结每个交易卡在哪里。」
使用 MCP:智能体调用包装您 Salesforce 实例的 MCP server。server 查询相关记录并返回结构化数据,没有把 Salesforce 凭证硬编码进智能体代码,也没有自定义 API 包装器,并且每次工具调用都有审计轨迹。
不使用 MCP:要么智能体完全无法访问 Salesforce,要么有人构建了一个专有集成,当 Salesforce 更新 API 或团队换 AI 提供方时就会断。
如今的 MCP 生态#
从发布时的 100 个 server 到 2025 年底超过 17,000 个被索引#
MCP 于 2024 年 11 月推出,由 Anthropic 和早期合作伙伴构建了大约 100 个 server。到 2025 年底,主要注册表追踪到的生产级 server 超过 10,000 个,更广的索引则列出不同质量级别共计 17,000 余条(Glama, December 2025)。
Python 与 TypeScript 合计每月 9,700 万次 SDK 下载#
Python 和 TypeScript SDK 在 2025 年 12 月跨过了每月合计 9,700 万次下载的门槛(Anthropic / Linux Foundation announcement, December 2025)。在不到 14 个月里,从近乎零到九位数的月下载量,比多数开发者基础设施标准走到这一阶段的速度更快。
谁采用了 MCP:OpenAI、Google、Microsoft、AWS、Salesforce 等#
OpenAI 于 2025 年 3 月采用 MCP,并在 ChatGPT 产品线中集成。Google、Microsoft Azure、AWS 和 Salesforce 紧随其后,让 MCP 成为主要云平台上默认的智能体集成层。包括 Zed、Replit 和 Sourcegraph 在内的开发者工具公司也为其 AI 代码功能加上了 MCP 支持。
您今天构建的一个 MCP server,无需修改就可被任一此类平台上的任何 AI 智能体使用。
捐赠给 Linux 基金会:厂商中立的治理在实践中意味着什么#
2025 年 12 月,Anthropic 将 MCP 捐赠给 Linux 基金会,成为 Agentic AI Foundation(AAIF)的创始项目 —— 这是由 Anthropic、Block 与 OpenAI 共同创立的一项定向基金。
厂商中立的治理在这里很重要。当一个标准落在一个开放基金会而非一家公司之下时,没有哪家厂商能修改规范以便利其自家产品,企业采用方可以基于它做建设而无需担心 Anthropic 的某次商业决策会让他们的投入作废。这与让 Linux、Kubernetes 和 OpenTelemetry 成为安全基础设施选择的是同一种模式。
MCP 为何对 AI 智能体重要#
瓶颈是上下文,不是推理#
对大多数 AI 智能体而言,限制不在推理能力,而在上下文。一个看不到您 CRM 记录或客户历史的模型,无法给出关于它们的有用回答,只能猜。
MCP 针对这一缺口。接入合适 MCP server 的智能体可以在回答前查询实时数据,而不是依赖训练知识、在真实业务系统内执行操作,并在单次交互中跨多个来源组合数据。它可以一致地做到这些,而不在乎做推理的是哪个模型。
有工具访问 vs. 没有工具访问,智能体能做什么#
没有工具访问时,AI 智能体是一台高级文本处理器。它可以基于给它的信息推理,但不能获取新信息,也不能采取行动。
通过 MCP 获得工具访问后,同一个智能体成为您系统中的参与者。它可以在报出时间前确认预约时段是否可用、在通话前拉取客户历史、在回答保险覆盖问题前查询保单,并把结论写回记录系统。演示智能体与生产智能体之间的差距,通常不在模型,而在数据管道。
更少幻觉,更接地气的答案#
当一个智能体通过 MCP 工具检索实时数据,而不是依赖训练知识或静态上下文窗口时,它的答案反映现实。它提供的预约时段确实存在。它引用的政策是当前的。它提到的客户余额来自今天的记录,而不是根据训练数据插补得来。
幻觉最可能出现在模型凭记忆生成事实性主张时,最不可能出现在模型基于刚刚检索到的数据进行推理时。MCP 让智能体走向后者。
演示智能体 vs. 生产智能体#
大多数智能体演示看起来很吸引人,是因为它们运行在由人为精心准备上下文的可控环境里。在生产中崩溃的通常不是模型:智能体到不了它需要的系统、拿到过期或片面的数据,或没有结构化方式去处理它学到的内容。
MCP 并不免除这些管道工作,而是把它们标准化了。做过生产 MCP 集成的团队反馈,协议本身不是难点,认证、schema 管理与安全加固才是复杂性所在。但如果没有 MCP 这样的标准,连走到这些更难的问题都得先写专有的胶水代码。
MCP 没有解决什么#
把边界讲清楚,和讲清它做什么一样有用。
认证和访问控制仍然是您的问题#
MCP 并未定义您的 server 如何对 client 做认证,也未定义如何为其所包装的底层服务管理凭证。您仍需要构建或集成一个认证层 —— OAuth2、API 密钥、token 权限范围 —— 并做对。在生产构建中,认证通常会给项目多加 4 到 6 周,而团队起初并没为此预留时间(Intuz / Zeo, 2025-2026)。
安全:提示词注入、权限过度开放的工具,以及仿冒工具#
2025 年发布的研究在 MCP 部署中识别出活跃的生产风险:提示词注入(恶意输入诱使智能体调用破坏性工具)、过度开放的工具权限(智能体获得超过所需的访问),以及仿冒工具攻击(被入侵的 MCP server 伪装成可信 server)(Zuplo MCP Security Report / Astrix State of MCP Server Security, 2025)。协议默认不防护其中任何一项。加固过的生产 server 需要明确的安全架构。
底层系统变化带来的 schema 漂移#
当您 MCP server 所包装的系统变化时 —— CRM 更新了 API、数据库 schema 变了 —— server 会坏。一个返回非预期数据类型的 MCP server 会在下游智能体中引发硬故障。人写的集成也许会优雅降级;MCP server 通常不会。您需要在生产中撞上这个问题之前就有一套版本管理策略。
生态中的质量差异很大#
在数以千计的公开 MCP server 中,质量从可投产到勉强能跑的演示不等。许多只为演示概念而建,并非为应对真实负载、边缘情况或错误条件。在不了解正在运行什么的情况下使用一个现成 server 是有风险的,尤其是那些触及敏感系统的 server。
您需要自定义 MCP server 吗?#
什么情况下现成 server 足够#
如果您要集成的是广泛使用的 SaaS 工具(GitHub、Slack、Google Drive、HubSpot 等),并且您的需求是标准的,维护良好的社区 server 已存在并被用于生产。Glama 等精选注册表追踪生产级 server,是一个合理的起点。
什么情况下需要自定义构建#
当您要连接的系统是专有的 —— 内部数据库、传统 EHR、您团队自建的 API —— 您需要自定义 server。合规要求(HIPAA、SOC 2、金融法规)要求通用 server 不具备的特定访问控制和审计轨迹时同样如此,或者当集成需要一套现成 server 并未编码的业务逻辑时也是。
还有一个维护问题。您自己构建、自己拥有的 server,可以在底层系统变化时更新,在出现安全问题时打补丁。社区 server 是别人的维护负担。
一个可投产的 server 实际需要什么#
一个可投产的 MCP server 有恰当的认证与访问控制、明确的工具作用范围限制、能优雅失败并清晰记录的错误处理、面向 schema 变化的版本管理策略、针对已知攻击向量的安全评审,以及书面的维护归属。
这不是高门槛,是工程门槛,不是原型门槛。公开列出的 MCP server 多数都达不到。
对评估生产 AI 部署的团队来说,MCP server 这个问题通常是更大系统问题的子集:您的智能体需要看到和做什么?谁负责保持这一连接持续工作?Silverthread Labs 把生产 MCP server 作为智能体 AI 部署的一部分来构建。若要对您的具体集成需求做评审,预约免费审计。
常见问题#
一句话说明 MCP? MCP 是一项开放标准,让 AI 智能体以一致的方式连接外部工具、数据库和服务,您只需构建一次集成,任何兼容 MCP 的智能体就都能使用。
MCP 和 API 是一回事吗? 不是。API 是某个具体服务暴露其功能的方式。MCP 在 API 之上再加一层,标准化 AI 智能体发现并调用那些能力的方式。一个 MCP server 通常包装一个或多个 API,并以模型能理解的格式把它们呈现给智能体。
哪些 AI 工具支持 MCP? 截至 2026 年:Claude(Anthropic)、ChatGPT(OpenAI)、Google Gemini 和 Vertex AI、Microsoft Copilot 和 Azure AI,以及一批持续增长的开发者平台,包括 Cursor、Zed、Replit 和 Sourcegraph。
存在多少个 MCP server? 截至 2025 年底,各类索引追踪到超过 17,000 条。质量参差:像 Glama 这样的精选注册表维护的约为 10,000 条生产级。每天都有新的 server 加入。
MCP 免费吗? 免费。MCP 是开源的(MIT 许可),规范由 Linux 基金会维护。构建 MCP server 或 client 不收任何授权费。
哪些编程语言支持 MCP? 官方 SDK 提供 Python 和 TypeScript。社区 SDK 涵盖 Go、Java、C# 和 Rust。在生产部署中,TypeScript SDK 目前使用最广。
如果我今天构建一个 MCP server,以后模型变了它还能工作吗? 可以。模型无关性是 MCP 的核心设计目标。今天能配合 Claude 工作的 server,在未做任何更改的情况下就能配合任何其他兼容 MCP 的模型。协议有意把集成层与模型层分开。
