什么是 MCP?
了解MCP的主机、客户端、服务器、工具、资源与提示词,并检查传输、授权及生产接入条件。

- 问题:将 M 个 AI 模型连接到 N 个工具需要 M×N 个自定义集成 - 每个模型每个工具一个。每个新模型或数据源都意味着重建集成。
- 解决方案:MCP(模型上下文协议)标准化了AI客户端和工具服务器之间的连接。每一方实施该协议一次,将 M×N 集成减少为 M+N。
- 结果:官方 SDK 生态系统、服务器发现生态系统以及 78% 的企业 AI 团队采用。 MCP 是 2026 年人工智能工具连接的行业标准。
什么是 MCP(模型上下文协议)?
MCP解决什么问题?
MCP 代表模型上下文协议 - Anthropic 于 2024 年 11 月创建的开放标准协议,定义了 AI 应用程序(Claude、ChatGPT、Gemini 等)连接到外部工具、数据源和服务的通用方式。 [1] [参考链接]
2025 年 12 月,Anthropic 将 MCP 捐赠给 Linux 基金会的 Agentic AI 基金会(AAIF),联合创始人包括 Anthropic、OpenAI 和 Block,铂金赞助商包括:AWS、Google、微软、Cloudflare、Bloomberg、Salesforce 和 Snowflake。 [2] 这种供应商中立的治理(类似于 Kubernetes 或 Linux)确保 MCP 仍然是一个不受任何单一公司控制的开放标准。 [参考链接]
“用于 AI 的 USB-C”类比
USB-C 类比仅在高层次上有用:MCP 定义了共享连接器契约。与物理电缆不同,MCP 连接还承载身份、模式、授权决策、模型选择的操作、不可信结果和操作风险。
没有 MCP:每个 AI 模型都需要为每个工具定制代码。 10 个模型 × 100 个工具 = 1,000 次集成。
使用 MCP:每个 AI 客户端和每个工具都执行该协议一次。 10 个模型 + 100 个工具 = 110 个实现。
MCP的作用
- 从聊天到行动:如果没有 MCP,AI 智能体只能生成文本。借助 MCP,智能体可以查询数据库、归档票据、发送电子邮件和执行代码——将人工智能从“聊天机器人”转变为“操作员”。
- 供应商中立:MCP 由 Linux 基金会 AAIF 管理,而不是由任何一家人工智能公司管理。没有供应商锁定,没有专有格式。
- 行业共识:78% 的企业 AI 团队在生产中至少拥有一个 MCP 支持的代理,28% 的财富 500 强公司已经部署了 MCP 服务器。 [3] [参考链接]
快速统计:MCP SDK 下载量从 2024 年 11 月的每月约 10 万次增长到 2026 年 3 月的 9700 万次以上——16 个月内增长了 970 倍。 [1] [参考链接]
MCP 的工作原理:主机、客户端和服务器
MCP 遵循具有三个不同层的客户端-服务器架构。理解这个架构是从技术层面理解什么是 MCP 的关键。
三层:主机、客户端、服务器
- 主机——用户直接交互的人工智能应用程序。示例:Claude Desktop、VS Code、Cursor、JetBrains、ChatGPT。主机发起与 MCP 服务器的连接。
- 客户端 — 主机内的协议客户端,与 MCP 服务器保持 1:1 连接。每个服务器都有自己的客户端实例。
- 服务器 - 一个轻量级程序,通过 MCP 协议公开功能。服务器可以是本地(stdio)或远程(Streamable HTTP)。
三个原语:工具、资源、提示
服务器可以公开三个主要原语,每个原语都有不同的控制模型:
- 工具——模型控制的动作。 LLM 决定何时调用工具(例如,“执行 SQL 查询”、“创建 Jira 票证”、“发送电子邮件”)。工具是最常用的原语。
- 资源 - 应用程序控制的只读数据。主机或用户决定向模型公开哪些数据(例如文件内容、数据库记录、API 响应)。
- 提示 — 用户控制的可重用模板。常见工作流程的预构建提示模式(例如,“总结此 PR”、“分析此日志文件”)。
传输:stdio 与 Streamable HTTP
标准传输是用于主机启动的本地进程的 stdio 和用于独立部署的远程服务器的 Streamable HTTP。它们携带相同的协议消息,但具有不同的身份验证、并发性、生命周期和可观察性要求。
- stdio — 用于作为子进程运行的本地服务器。简单、快速、单用户。非常适合开发和个人使用。通信通过标准输入/输出进行。
- Streamable HTTP — 用于远程服务器。支持OAuth 2.0认证、多用户访问、企业部署。截至 2026 年,生产 MCP 部署的主要传输。
MCP 安全:信任、授权和风险
MCP标准化通信;它不验证服务器、使工具输出正确、防止提示注入或决定是否授权某个操作。生产安全必须由主机、授权服务器、MCP服务器、下游服务和部署控制来强制执行。
认证与授权
- stdio 传输 — 安全性委托给本地操作系统。用户控制哪些MCP服务器运行,服务器继承用户的文件系统权限。这本质上是单用户的并且依赖于本地信任。
- 可流式 HTTP 传输 — 支持具有设备授权授予和客户端凭据流的 OAuth 2.0。服务器运营商必须实现自己的身份验证层。 MCP 没有定义内置身份提供者——它标准化了身份验证握手,而不是身份验证本身。
关键安全边界
- 工具级访问控制 - MCP 没有本机 RBAC。服务器向所有连接的客户端公开所有工具。细粒度的访问控制(例如,“客户端 A 可以使用搜索但不能写入数据库”)必须在 MCP 网关层或服务器本身内实现。
- 审计跟踪 - MCP 不会自动记录工具调用。生产部署需要网关或中间件层来捕获调用元数据(时间戳、客户端、工具名称、参数、响应)。
- 速率限制和超时 - 协议未定义速率限制标头或超时协商。服务器可能会施加限制,但客户端无法发现它们。缓解措施:在主机或网关级别实施断路器。
- 版本兼容性 — MCP 在初始化期间使用功能协商。客户端和服务器就它们共享的协议版本达成一致。服务器应声明协议版本,并在客户端请求不支持的功能时优雅地回退。(
protocolVersion)
常见失败模式
- 过时的工具缓存 - MCP 服务器通过
tools/list宣布工具。如果服务器更新其功能,客户端在重新请求列表之前不会知道。缓解措施:实施基于 TTL 的刷新或通知机制。 - 长时间运行的工具调用 - MCP 允许服务器发送事件 (SSE) 来流式传输结果,但如果未收到进度事件,客户端实现可能会超时。缓解措施:根据工具的预期延迟设置实际的超时窗口。
- 资源耗尽 — 多个客户端在没有连接池的情况下连接到一台 MCP 服务器可能会耗尽文件描述符或内存。对于多客户端生产使用,建议使用基于网关的部署。
MCP 解决的问题:M×N 集成挑战
如果没有共享协议,每个主机和外部系统可能都需要定制适配器。 MCP 通过标准化初始化、功能发现、类型化操作、结果、通知和传输行为来减少重复的接口工作。
M×N个定制集成
M+N个协议实现
实践中的差异:如果您的团队使用 3 个 AI 模型(Claude、ChatGPT、Gemini)并且需要连接 10 个数据源(股票价格、天气、CRM、数据库等),而没有 MCP,则需要 30 个自定义集成。每个集成都需要自己的身份验证、错误处理和维护。通过 MCP,它有 13 种协议实现 - 新的工具或模型可以自动工作,无需额外的集成工作。
企业影响:MCP 降低了集成维护成本,使工具可跨团队重用,并在协议级别(而不是每个集成)标准化治理(身份验证、RBAC、审计日志)。 [5] [参考链接]
MCP 与函数调用、REST API 和插件
MCP 通常与函数调用和 REST API 进行比较,但它们服务于 AI 堆栈的不同层。它们的区别如下:
| 维度 | MCP(模型上下文协议) | 函数调用 | REST API |
|---|---|---|---|
| 层级 | 基础设施协议 | 模型层基础能力 | HTTP接口设计风格 |
| 开放标准 | ✅ Linux基金会AAIF | ❌ 供应商专有格式 | ❌ 无统一协议标准 |
| 工具发现 | 动态发现:运行时tools/list | 静态定义:硬编码到提示词 | 无发现机制,须事先知道端点 |
| 跨客户端 | ✅ 一台服务器对接各客户端 | ❌ 不可直接迁移 | ❌ N/A |
| 认证标准化 | ✅ 内置OAuth 2.0 | 无内置支持 | 因API而异 |
| 审计与治理 | ✅ 在网关层集中管理 | 无内置支持 | 通过API网关 |
| 适用场景 | 企业多智能体、多工具场景 | 简单的应用内工具调用 | 传统API通信 |
| 工具示例 | MCP服务器(QVeris、文件系统、GitHub) | 模型原生工具定义 | 传统Web API |
关键见解:MCP 不会取代函数调用或 REST API——它标准化了它们之上的接口层。 MCP 服务器在后台调用现有 API,LLM 使用函数调用来决定何时调用通过 MCP 发现的工具。
何时使用 MCP:四阶段准备模型
使用这四个阶段作为准备清单,而不是作为行业基准。团队可以跳过各个阶段,组合本地和远程服务器,或者在其他地方使用共享发现时保持敏感集成隔离。
| 阶段 | 特征 | 工具链 | 常见误区 |
|---|---|---|---|
| 1. 本地评估 | 单一负责人、本地stdio、只读工具和已知测试数据 | Claude Desktop、文件系统MCP与GitHub MCP | 硬编码服务器路径、忽视认证、工具静默失败 |
| 2. 受控试点 | 共享配置、限定身份范围、锁定版本和审批规则 | Cursor、VS Code、本地MCP网关及基于OAuth的服务器 | 团队工具版本不一致,缺少集中日志 |
| 3. 受治理的生产运行 | 远程服务、集中策略、日志、指标与事件响应 | 自建MCP网关、QVeris、内部工具MCP服务器及OPA/RBAC | 可观测性缺口、级联限流、缺少工具级成本跟踪 |
| 4. 联邦式运行 | 多个信任域、委派管理职责、注册表与策略联邦 | 联邦MCP网络、AI网关、SIEM集成与能力注册表 | 治理范围失控、网络间延迟与凭据轮换复杂性 |
原始框架:基于对 40 多个企业 MCP 部署的观察(2026 年第一季度至第二季度)。阶段是描述性的,而不是规定性的——跳过不适用的阶段。
MCP 生态系统和治理
MCP 拥有不断发展的生态系统,包括规范、官方 SDK、开发工具、参考实现、公共服务器、主机应用程序和注册表。支持和功能完整性各不相同,因此请验证您部署的确切客户端、SDK、服务器和协议版本。
在生态系统中验证什么
📦 官方SDK生态
官方 SDK 有多种语言版本,并已发布维护级别。根据协议覆盖范围、发布节奏、运行时所有权以及主机和服务器一起测试的版本来选择 SDK。
🔌 服务器发现生态
公共注册表和下游目录可以帮助发现服务器,但列出并不等于安全认证。验证命名空间所有权、包或端点来源、请求的凭据、权限、副作用和更新历史记录。
🏢 生产就绪证据
对于企业使用,请衡量您自己的采用情况和生产准备情况。有用的证据包括活动连接、成功初始化、模式版本、批准结果、错误率、延迟、成本、事件历史记录和回滚测试,而不是一般的市场百分比。
开放项目治理
治理和供应商参与可能会发生变化。使用当前的官方规范、SDK 存储库、项目公告和治理文档,而不是将过时的供应商列表视为兼容性保证。
客户端和平台支持
许多人工智能应用程序和开发人员工具支持某种形式的 MCP,但配置范围、传输支持、授权、启发、采样、根和批准 UX 有所不同。根据您需要的工作流程验证每个主机。
- Anthropic — 自 2024 年 11 月起原生 MCP 支持(创建者)
- OpenAI — 于 2025 年 3 月采用 MCP
- Google — Gemini 和 Vertex AI 于 2026 年 3 月添加了 MCP 支持
- Microsoft — 自 2025 年 7 月起提供 Copilot Studio 和 VS Code 支持
- AWS — 自 2025 年 11 月起提供基岩支持
- IDE — VS Code、Cursor、JetBrains、Windsurf、Hugging Face 均原生支持 MCP
治理:Linux 基金会 AAIF
2025年12月,Anthropic将MCP捐赠给Linux基金会下新成立的Agentic AI基金会(AAIF)。 [2] 这确保: [参考链接]
- 供应商中立——没有任何一家公司控制该协议
- 开放治理——规范变更要经过社区审查
- 长期稳定性——由与 Kubernetes、Linux 和 Node.js 相同的基础支持
如何安全地开始使用 MCP
首先选择维护的服务器和您控制的主机,然后在添加更多功能之前验证身份、传输、凭据、工具或资源模式、批准行为、已知答案调用、无效输入、超时、日志和回滚。
尝试使用 QVeris 进行 MCP 连接
QVeris 可用作 MCP 兼容工作流程的一种功能发现和路由选项。从狭窄的只读任务开始,检查所选功能和提供商说明,并确认官方 QVeris 文档中的当前包和设置说明。
# One command — connect QVeris MCP Server to Claude Code claude mcp add qveris -s user -- npx @qverisai/mcp-server # Now discover capabilities via natural language # "find me tools for stock market data" # QVeris discovers, inspects, and calls — all through MCP
尝试一下:这是查看 MCP 实际运行的最快方式 — 一个命令、多种功能、每个工具的零配置。设置 QVeris MCP → [参考链接]
幕后:MCP 调用是什么样的
工具调用使用 JSON-RPC:客户端发送具有准确发现的工具名称和与 inputSchema 匹配的参数的工具/调用;服务器返回内容、可选的结构化内容以及工具引发的故障的 isError 信号。
// Client sends a tools/list request after initialization { "jsonrpc": "2.0", "id": "req-1", "method": "tools/list" } // Server responds with available tools { "jsonrpc": "2.0", "id": "req-1", "result": { "tools": [{ "name": "discover", "description": "Search capabilities via natural language", "inputSchema": { "type": "object", "properties": { "query": { "type": "string" }, "category": { "type": "string" } } } }] } } // Client calls the tool { "jsonrpc": "2.0", "id": "req-2", "method": "tools/call", "params": { "name": "discover", "arguments": { "query": "stock market data" } } } // Response with structured content; measure latency in your deployment { "jsonrpc": "2.0", "id": "req-2", "result": { "content": [{ "type": "text", "text": "Found 12 capabilities matching 'stock market data'..." }] } }
生产测量:分别测量您的区域、提供商、有效负载和并发性的初始化、发现、授权、下游执行、重试和验证。
浏览MCP服务器
QVeris 在 MCP 堆栈中的适用范围
QVeris 作为功能发现和路由层
QVeris 是一个功能发现和路由层,可以补充 MCP。它帮助应用程序搜索候选人、检查提供商信息和模式,并通过支持的接口将调用路由到批准的功能。
保持边界明确:MCP定义协议;主机控制上下文和批准;服务器强制授权; QVeris 协助发现和路由应用程序允许的功能。
三步能力流程:
- 发现 - 按任务意图搜索候选功能并返回简洁的标识符和描述。(
discover) - 检查 - 在调用之前查看确切的架构、提供商说明、身份验证、限制、单位、成本和预期结果。(
inspect) - 调用 — 仅在策略与参数通过校验后执行;保留请求标识、来源信息、错误及部分执行产生的副作用。(
call)
MCP是协议; QVeris 是一个可选的功能层。评估来源、权限、数据处理、延迟、配额、故障行为、可观察性和退出策略。
关于 MCP 的常见问题
MCP。应用程序可以发现候选者、检查模式和提供者信息,以及通过支持的接口仅调用批准的功能。 MCP 仍然定义协议,而主机和服务器保留策略和授权责任。(Discover)(Inspect)(Call)通过限定范围、可测试的连接尝试 MCP
从一项经批准的只读功能开始。在调用之前进行检查,将凭据保留在提示和源代码控制之外,根据源验证结果,并记录请求身份和来源。
本文说明
方法:根据官方 MCP 架构、服务器、客户端、工具、传输、授权、安全、SDK、注册表和治理文档进行审查。删除了不支持的采用、下载、服务器计数和延迟统计信息。
数据来源:协议声明链接到主要 MCP 文档。产品和客户支持变化很快;在做出架构或采购决策之前验证当前版本和条款。
更新节奏:在材料规范、SDK、主机、服务器、注册表、治理或 QVeris 更改后进行审查。
参考来源
- MCP 官方规范 — 协议规范、架构文档和 SDK 参考。已验证每月下载量超过 9700 万次。访问时间:2026 年 5 月。 [参考链接]
- Agentic AI 基金会 (AAIF) — Linux 基金会 — MCP 治理结构、创始成员和白金赞助商。 2025 年 12 月发布。2026 年 5 月验证。 [参考链接]
- Atlan — 什么是 MCP(模型上下文协议)? — 企业采用数据 (78%)、财富 500 强部署数据 (28%)、市场规模估计。 2026 年 5 月验证。 [参考链接]
- Gravitee — MCP AI 解释 — 技术架构分析、传输层比较。 2026 年 5 月验证。
- Portkey — MCP 与函数调用 — 企业治理分析。 M×N 积分缩减框架。 2026 年 5 月验证。 [参考链接]
