什么是 MCP(模型上下文协议)
MCP(模型上下文协议)是由Anthropic推出的开源标准协议,旨在实现AI应用与外部系统的标准化双向通信。它采用客户端-主机-服务器架构,基于JSON-RPC 2.0协议,通过三种核心原语(工具、资源和提示)为AI应用提供外部连接能力。MCP解决了传统AI集成中的碎片化、工具数量限制和维护成本高等问题,使开发者能够构建更复杂的AI工作流。其上下文机制通过按需调用外部工具和数据源,显著提升了AI
什么是 MCP(模型上下文协议)
资料来源:本文整理自 MCP 官方文档 和 Red Hat 技术博客,综合两篇优质内容而成。

图 1:MCP 官方示意图。MCP 充当"AI 应用的 USB-C 接口",将 LLM 应用与各类数据源、工具和工作流标准化地连接起来。
一、基本定义
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 于 2024 年 11 月 推出的开源标准协议,旨在实现 AI 应用与外部系统之间的双向连接和标准化通信。
官方比喻:MCP 就像是"AI 应用的 USB-C 接口" —— 正如 USB-C 提供了连接电子设备的标准化方式,MCP 提供了连接 AI 应用与外部系统的标准化方式。
通过 MCP,AI 应用(如 Claude、ChatGPT)可以连接至:
- 数据源:本地文件、数据库、云存储
- 工具:搜索引擎、计算器、API 服务
- 工作流:专业化提示模板、自动化流程
图 1:MCP 官方示意图。MCP 充当"AI 应用的 USB-C 接口",将 LLM 应用与各类数据源、工具和工作流标准化地连接起来。
二、为什么 MCP 很重要?
2.1 解决的核心问题
在 MCP 出现之前,开发人员面临以下困境:
| 问题 | 说明 |
|---|---|
| 集成碎片化 | 每个 AI/工具都需要定制 API 集成,以略微不同的方式反复编写功能相似的代码 |
| 工具数量限制 | 主流 LLM 平台限制一次可调用的工具数量(如最多 128 个) |
| 维护成本高 | 每个集成单独维护,随着工具增多复杂度呈指数级增长 |
| 安全风险 | 缺乏标准化的安全控制和认证机制 |
2.2 MCP 不会取代 API
关键澄清:MCP 不会取代 API,而是基于 API 实现通信标准化。开发人员可以使用单一标准化协议,将 AI 应用连接至外部服务,使构建复杂的 AI 工作流变得更加容易。
2.3 各方受益
| 角色 | 收益 |
|---|---|
| 开发者 | 减少开发时间和复杂度,一次开发即可集成到多个平台 |
| AI 应用/代理 | 获得丰富的数据源、工具和应用生态,增强能力 |
| 最终用户 | 使用更强大的 AI 应用,能够访问个人数据并代为执行操作 |
三、核心架构与工作原理
3.1 客户端-主机-服务器模型
MCP 采用基于 JSON-RPC 2.0 的通信架构:
| 组件 | 功能 |
|---|---|
| MCP 客户端 | 请求访问外部数据或资源的 AI 应用或系统 |
| MCP 主机 | 管理客户端和服务器之间通信的基础架构(虚拟机、容器或无服务器功能) |
| MCP 服务器 | 为客户端提供特定工具、资源和功能的组件 |
3.2 通信流程
图 2:MCP 客户端-主机-服务器架构图。一个 AI 应用(Host)内可包含多个 MCP Client,每个 Client 与其对应的 MCP Server 维持独立连接。Server 既可以是本地进程(如文件系统),也可以是远程服务(如云 API)。
第一步:握手协议(能力发现)
图 3:MCP 握手协议(能力发现)序列图。连接建立时,双方交换各自支持的协议版本和功能清单,确保后续通信在双方能力范围内进行。
- 客户端分享其具有的功能以及支持的 MCP 版本
- 服务器分享其支持的功能以及可提供的工具和资源
- 目的:确认双方能够相互通信
第二步:动态发现
- 功能发现阶段完成后,客户端和服务器能够协同为用户解决问题
- LLM 可在运行时发现和调用新工具,无需重新训练
第三步:工具调用与响应
图 4:MCP 工具调用完整流程。LLM 根据对话上下文决定调用某个工具,Client 将请求转发至对应的 Server,Server 执行后返回结构化结果,最终由 Client 将结果回传给 LLM 作为后续生成的上下文。
四、上下文(Context)机制
4.1 什么是上下文?
上下文是指模型能够访问的特定于任务的相关信息。上下文窗口则指模型生成响应时可访问的信息量。
4.2 MCP 如何优化上下文?
图 6:传统方式 vs MCP 方式的上下文处理对比。传统方式往往将所有可能相关的信息一次性塞入上下文窗口,导致噪声大、易幻觉;MCP 则通过协议按需调用外部工具/数据源,仅将精准信息注入 LLM,显著提升响应质量。
MCP 的优势在于:应用"能更高效地与工具及服务通信,精准获取所需信息,而非保留不相关的信息",从而:
- 减少模型产生幻觉(生成不准确的内容)
- 提高响应的准确性和相关性
- 避免上下文窗口浪费
五、MCP 的核心功能类型
MCP 定义了三种由 Server 暴露给 Client 的核心原语(Primitives):
图 5:MCP 三种核心原语示意图。Server 通过 Tools、Resources 和 Prompts 向 AI 应用提供能力:Tools 用于"做",Resources 用于"读",Prompts 用于"引导"。
| 类型 | 说明 | 示例 |
|---|---|---|
| 工具(Tools) | 可执行的操作/函数 | 搜索引擎、计算器、数据库查询、发送邮件 |
| 资源(Resources) | 可读的数据源 | 文件、数据库表、API 数据、本地文档 |
| 提示(Prompts) | 预定义的提示模板 | 专业领域的工作流模板、代码审查模板 |
六、MCP 服务器的类型
| 类型 | 说明 |
|---|---|
| 本地数据源 | 存储在您计算机上的信息,包括文件、本地数据库或应用 |
| 远程服务 | 通过互联网连接到外部服务,包括云数据库和基于网络的工具 |
| 官方集成 | 企业组织预先构建,具备有保障的质量和技术支持 |
| 社区服务器 | 开发人员构建并公开分享 |
| 参考服务器 | 展示最佳实践,充当模板和学习工具 |
七、MCP 与相关技术的关系
图 7:MCP 在 AI 技术栈中的位置。MCP 位于 AI 应用与外部世界之间,提供标准化的协议层;Function Calling、RAG 和 Inference 则分别对应模型的调用机制、检索能力和生成能力,与 MCP 相辅相成而非替代关系。
7.1 MCP 与 Function Calling(函数调用)
| 对比维度 | Function Calling | MCP |
|---|---|---|
| 性质 | 特定模型厂商的实现机制 | 开放标准协议 |
| 适用范围 | 通常限于特定 LLM 平台 | 任何兼容 MCP 的 LLM 都可以使用 |
| 生态 | 各平台工具不互通 | 一次开发,到处使用 |
7.2 MCP 与 RAG(检索增强生成)
MCP 是对 RAG 等传统方法的补充,并提供企业组织在现有系统和工作流中部署代理式 AI 所需的安全控制和接口。
7.3 MCP 与推理(Inference)
- MCP:将 AI 与工具、数据和外部资源连接
- 推理:模型处理提示词并生成令牌,以提供预期的输出
关键区分:MCP 与 AI 推理并非直接关联,但可形成相互依赖的流程。MCP 可在推理过程中用于为模型提供信息支持,但它不会提高推理效率,也不会影响模型的架构。
7.4 MCP 与代理式 AI(Agentic AI)
MCP 和代理式 AI 相辅相成:
- 代理式 AI 能够以尽可能少的人工干预实现与数据和工具的交互,强调目标导向行为
- 如果没有 MCP,代理式 AI 可以进行思考和规划,但无法与任何外部系统交互
八、安全防护
图 8:MCP 安全架构示意图。MCP 内置 OAuth 身份验证、加密通信和权限控制三层安全机制,确保 AI 应用与外部系统之间的连接既开放又受控。
8.1 内置安全功能
- OAuth:用于验证用户访问权限
- 加密连接:客户端与服务器之间建立加密通信
8.2 最佳实践
- 最小特权原则:仅向 MCP 服务器提供其正常运作所需的最低访问权限
- 定期检查:定期检查每台服务器可以访问的内容
- 信任来源:仅使用您信任的 MCP 服务器
九、实际应用场景
图 9:MCP 应用场景思维导图。MCP 的通用连接能力使其在编程开发、企业办公、个人助理、创意生产和智能制造等多个领域都有广泛应用。
| 场景 | 说明 |
|---|---|
| AI 编程助手 | Claude Code 通过 MCP 连接 GitHub、数据库、Figma 等,根据设计图生成完整 Web 应用 |
| 企业知识库 | 聊天机器人连接多个内部数据库,支持用户通过对话分析数据 |
| 个人助理 | AI 访问 Google Calendar、Notion,管理日程和任务 |
| 创意工作流 | AI 创建 3D 设计并直接发送到 3D 打印机 |
| 智能制造 | LLM 代理检索传感器数据、与 MES 系统交互、执行控制动作 |
十、生态支持现状
MCP 正快速成为 LLM 代理工具集成的行业标准:
- 模型提供商:OpenAI、Google、Anthropic 均已支持
- 开发工具:Visual Studio Code、Cursor、Cline、GitHub Copilot、MCPJam 等
- 生态规模:已有 500+ 社区实现
- 核心理念:Build once, integrate everywhere(一次构建,处处集成)
十一、简单比喻理解
没有 MCP 之前:每个智能设备(电视、空调、音响)都有自己的专用遥控器,操作繁琐,互不相通。
有了 MCP 之后:一个"万能遥控器"统一控制所有设备,生活瞬间简单。
MCP 让 AI 从 “只会聊天的书呆子” 变成 “能动手干活的实干家” —— 查数据库、发邮件、写代码、操作 3D 软件,真正连接数字世界。
参考资源
- MCP 官方文档:modelcontextprotocol.io
- MCP 中文文档:mcp.wiki
- GitHub 组织:github.com/modelcontextprotocol
- 官方规范:modelcontextprotocol.io/specification
- Red Hat 技术博客:什么是模型上下文协议(MCP)?
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)