什么是 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 通信流程
MCP Host (AI 应用)
专用连接
专用连接
专用连接
专用连接
MCP Client 1
MCP Client 2
MCP Client 3
MCP Client 4
MCP Server A
(本地数据源 / 文件系统)
MCP Server B
(本地数据源 / 数据库)
MCP Server C
(远程服务 / 第三方 API)
图 2:MCP 客户端-主机-服务器架构图。一个 AI 应用(Host)内可包含多个 MCP Client,每个 Client 与其对应的 MCP Server 维持独立连接。Server 既可以是本地进程(如文件系统),也可以是远程服务(如云 API)。
第一步:握手协议(能力发现)
MCP Server MCP Client MCP Server MCP Client initialize (协议版本、能力列表) initialize_response (支持的工具/资源/提示) notifications/initialized
图 3:MCP 握手协议(能力发现)序列图。连接建立时,双方交换各自支持的协议版本和功能清单,确保后续通信在双方能力范围内进行。
- 客户端分享其具有的功能以及支持的 MCP 版本
- 服务器分享其支持的功能以及可提供的工具和资源
- 目的:确认双方能够相互通信
第二步:动态发现
- 功能发现阶段完成后,客户端和服务器能够协同为用户解决问题
- LLM 可在运行时发现和调用新工具,无需重新训练
第三步:工具调用与响应
MCP Server MCP Client 大语言模型 MCP Server MCP Client 大语言模型 请求调用工具 (tools/call) 转发工具调用请求 返回执行结果 将结果注入上下文
图 4:MCP 工具调用完整流程。LLM 根据对话上下文决定调用某个工具,Client 将请求转发至对应的 Server,Server 执行后返回结构化结果,最终由 Client 将结果回传给 LLM 作为后续生成的上下文。
四、上下文(Context)机制
4.1 什么是上下文?
上下文 是指模型能够访问的特定于任务的相关信息 。上下文窗口则指模型生成响应时可访问的信息量。
4.2 MCP 如何优化上下文?
MCP 方式
按需调用
精准返回
所需信息
更准确
AI 应用
MCP Server
LLM
输出
传统方式
一次性加载
处理
容易幻觉
AI 应用
海量上下文
含大量无关信息
LLM
输出
图 6:传统方式 vs MCP 方式的上下文处理对比。传统方式往往将所有可能相关的信息一次性塞入上下文窗口,导致噪声大、易幻觉;MCP 则通过协议按需调用外部工具/数据源,仅将精准信息注入 LLM,显著提升响应质量。
MCP 的优势在于:应用"能更高效地与工具及服务通信,精准获取所需信息,而非保留不相关的信息",从而:
- 减少模型产生幻觉(生成不准确的内容)
- 提高响应的准确性和相关性
- 避免上下文窗口浪费
五、MCP 的核心功能类型
MCP 定义了三种由 Server 暴露给 Client 的核心原语(Primitives):
MCP Server
调用/执行
读取/订阅
加载/使用
Tools
可执行函数
Resources
数据源
Prompts
提示模板
MCP Client
AI 应用
图 5:MCP 三种核心原语示意图。Server 通过 Tools、Resources 和 Prompts 向 AI 应用提供能力:Tools 用于"做",Resources 用于"读",Prompts 用于"引导"。
| 类型 | 说明 | 示例 |
|---|---|---|
| 工具(Tools) | 可执行的操作/函数 | 搜索引擎、计算器、数据库查询、发送邮件 |
| 资源(Resources) | 可读的数据源 | 文件、数据库表、API 数据、本地文档 |
| 提示(Prompts) | 预定义的提示模板 | 专业领域的工作流模板、代码审查模板 |
六、MCP 服务器的类型
| 类型 | 说明 |
|---|---|
| 本地数据源 | 存储在您计算机上的信息,包括文件、本地数据库或应用 |
| 远程服务 | 通过互联网连接到外部服务,包括云数据库和基于网络的工具 |
| 官方集成 | 企业组织预先构建,具备有保障的质量和技术支持 |
| 社区服务器 | 开发人员构建并公开分享 |
| 参考服务器 | 展示最佳实践,充当模板和学习工具 |
七、MCP 与相关技术的关系
标准化连接
调用
读取
使用
是底层机制
补充检索能力
生成令牌
AI 应用 / Agent
MCP 协议层
Tools / 外部 API
Resources / 数据源
Prompts / 模板
Function Calling
RAG
推理 Inference
图 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 可以进行思考和规划,但无法与任何外部系统交互
八、安全防护
安全层
安全通道
验证身份
保护传输
限制访问
OAuth 2.0
身份验证
加密连接
TLS/HTTPS
权限控制
最小特权原则
MCP Client
MCP Server
图 8:MCP 安全架构示意图。MCP 内置 OAuth 身份验证、加密通信和权限控制三层安全机制,确保 AI 应用与外部系统之间的连接既开放又受控。
8.1 内置安全功能
- OAuth:用于验证用户访问权限
- 加密连接:客户端与服务器之间建立加密通信
8.2 最佳实践
- 最小特权原则:仅向 MCP 服务器提供其正常运作所需的最低访问权限
- 定期检查:定期检查每台服务器可以访问的内容
- 信任来源:仅使用您信任的 MCP 服务器
九、实际应用场景
MCP
应用场景
编程开发
GitHub 代码仓库
数据库查询
Figma 设计稿
企业办公
多源数据库
内部知识库
数据分析
个人助理
Google Calendar
Notion 笔记
邮件收发
创意生产
3D 建模/打印
自动化渲染
多媒体生成
智能制造
传感器数据
MES 系统
设备控制
图 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)?