MCP 协议(Model Context Protocol,模型上下文协议)详解
MCP(Model Context Protocol,模型上下文协议)是Anthropic 于 2024 年 11 月推出的开源、标准化通信协议,核心定位是AI 模型与外部工具 / 数据源的 “通用 USB 接口”,通过统一交互规范,让 LLM(大语言模型)能 “即插即用” 地访问文件系统、数据库、API、智能设备等外部资源,解决 AI 生态的集成碎片化问题。
一、核心定义与架构
1. 核心定位
- 本质:AI 模型与外部世界的标准化 “翻译官 + 连接器”,基于 JSON-RPC 实现统一通信格式,屏蔽不同模型、工具的接口差异。
- 核心目标:让 AI 模型突破训练数据限制,具备实时访问、操作外部资源的能力,从 “文本对话” 升级为 “可执行复杂任务的智能体”。
2. 核心架构(三组件协同)
| 组件 | 核心作用 | 典型示例 |
|---|---|---|
| MCP Host | AI 模型的执行环境,发起工具调用请求 | Claude Desktop、Cursor 编辑器、AI Agent 应用 |
| MCP Client | 通信枢纽,负责协议解析、连接管理与请求转发 | 应用内置的 MCP 客户端模块 |
| MCP Server | 服务终端,提供具体工具 / 数据能力,响应 Host 请求 | 文件系统服务器、数据库服务器、API 网关、智能家居控制服务器 |
工作流程:Host(AI 应用)→ Client(协议转发)→ Server(工具执行)→ 结果返回 Host,全程遵循统一 MCP 规范,无需定制适配。
我们以 **「AI 帮运营岗小周分析本地电商销售 Excel、生成周报」为真实业务场景,拆解MCP 协议下 5 个核心角色 ** 的具体职责、要做的事,以及角色间的协作流程,让各方动作和协议的衔接逻辑更清晰。场景前提:小周是纯业务岗,不会代码 / 开发;Claude Desktop 为支持 MCP 的 AI 应用;已有第三方开发者开发好标准化的「文件 MCP Server」和「数据分析 MCP Server」。
核心角色总览
所有角色的动作都围绕MCP 统一协议规范展开,无定制化适配,各自做好自己的模块即可,核心角色分为:
- MCP 协议制定方(Anthropic 等开源社区)
- MCP Server 开发者(工具能力提供方,第三方开发者 / 企业 / 个人)
- MCP Host 开发者(AI 应用方,如 Claude/ Cursor 团队)
- 终端用户(业务使用者,如运营小周)
- MCP Client(内置在 Host 中,无独立角色,是通信枢纽)
一、角色 1:MCP 协议制定方(Anthropic + 开源社区)
核心定位:游戏规则制定者,定统一的 “通信语言” 和 “交互规范”要做的事:
- 制定MCP 协议核心标准:明确基于 JSON-RPC 的请求 / 响应格式、参数规范、权限控制规则、错误码定义(比如读文件的请求必须包含file_path/read_mode参数,写文件必须返回save_status/file_url);
- 提供标准化开发文档:给出 MCP Server/Host 的开发模板、API 示例、兼容测试用例,让开发者有明确的开发依据;
- 维护协议生态:升级协议版本、解决跨版本兼容问题、推动各大 AI 厂商 / 工具开发者接入规范;
- 开源核心组件:提供 MCP Client/Server 的基础开发框架(如 Python/JS 版),降低开发者的开发门槛。核心要求:只定规则,不做具体工具 / 应用,保证协议的通用性、开放性、兼容性。
二、角色 2:MCP Server 开发者(工具能力提供方)
核心定位:标准化工具造作者,把「本地文件 / 数据分析 / API 调用」等能力封装成符合 MCP 规范的服务端,让 AI 能直接调用要做的事(以开发「Excel 文件 MCP Server」和「数据分析 MCP Server」为例):
- 基于 MCP 协议文档,封装基础工具能力:
- 文件 Server:把 pandas 读 / 写 Excel、os 文件路径校验等代码,封装成 MCP 规范的接口(如mcp/file/read/mcp/file/write);
- 分析 Server:把 pandas 数据统计、matplotlib 绘图等代码,封装成 MCP 规范的接口(如mcp/analysis/stat/mcp/analysis/plot);
- 实现权限与安全控制:比如限定文件 Server 仅能访问指定文件夹(如D:/电商销售数据/)、分析 Server 仅支持 Excel/CSV 格式,防止 AI 越权操作;
- 提供Server 启动 / 部署方式:比如做成可执行文件 / 命令行工具,让普通用户双击 / 输入一行命令就能启动,无需配置环境;
- 做协议兼容测试:确保开发的 Server 能和主流 MCP Host(Claude/Cursor)正常通信,符合协议的请求 / 响应格式;核心要求:只需保证自己的 Server符合 MCP 统一规范,无需关心对接哪个 AI 模型 / 应用,一次开发,全生态兼容。
三、角色 3:MCP Host 开发者(AI 应用方,如 Claude Desktop 团队)
核心定位:AI 能力落地者,把大模型和MCP 通信能力整合到 AI 应用中,让用户能通过自然语言触发工具调用要做的事:
- 在 AI 应用中内置 MCP Client 组件:这个 Client 是 “通信枢纽”,负责解析 MCP 请求、转发给对应的 MCP Server、接收 Server 的返回结果,无需用户单独安装;
- 做模型与 MCP 的融合:训练 / 优化大模型,让模型能理解用户的自然语言指令,自动拆解为 MCP 标准化请求(比如把小周的 “读 D 盘的销售 Excel,分析各品类销量”,拆解为「调用 file/read 接口」→「调用 analysis/stat 接口」的连续请求);
- 实现Server 发现与连接:让 Host 能自动识别本地启动的 MCP Server(如局域网 / 本地端口扫描),用户无需手动配置 Server 的 IP / 端口,一键连接;
- 做结果整合与展示:把 MCP Server 返回的数据分析结果、可视化图片,通过大模型整合为自然语言周报,在应用界面直观展示(文字 + 图片 + 文件链接);
- 提供用户操作入口:比如在 Claude 界面加 “启动 MCP” 按钮、权限设置入口,让用户能快速开启 / 关闭 MCP 功能、限定 AI 的操作范围;核心要求:只需保证 Host兼容 MCP 统一协议,无需关心对接哪个 Server / 工具,只要是符合规范的 Server,都能自动识别、调用。
四、角色 4:终端用户(业务使用者,如运营小周)
核心定位:MCP 生态的最终使用者,零技术门槛,用自然语言完成 “AI + 工具” 的复杂任务要做的事:全程无开发操作,仅 3 步基础操作,适合所有非技术岗:
- 下载并启动 MCP Server:从开发者官网下载「文件 Server」和「数据分析 Server」,双击启动(桌面出现小图标,提示 “Server 已启动,等待连接”);
- 打开支持 MCP 的 AI 应用:打开 Claude Desktop,点击界面的 “连接 MCP Server”,应用自动识别本地启动的两个 Server,提示 “连接成功”;
- 输入自然语言指令:直接在对话框输入业务需求,无需考虑接口 / 格式,比如:
“帮我读取 D:/ 电商销售数据 / 2025 年 12 月淘宝店铺销售.xlsx,统计各品类的销售额、客单价,生成柱状图可视化,再用文字写一份 100 字左右的销售周报,把图表和周报都保存到原文件夹。”核心要求:只需知道自己的业务需求,会用电脑双击启动程序、输入文字,即可完成所有操作。
五、角色 5:MCP Client(内置通信枢纽,无独立角色)
核心定位:MCP 协议的 “翻译官 + 快递员”,内置在 MCP Host 中,无单独安装 / 操作,是连接 Host 和 Server 的中间层要做的事:
- 协议解析:把 Host(Claude)发出的模型指令,转化为MCP 标准化 JSON-RPC 请求;把 Server 返回的工具执行结果,转化为模型能理解的文本格式;
- 请求转发:按 MCP 规范,把解析后的请求精准转发给对应的 Server(比如读文件请求转发给文件 Server,分析请求转发给分析 Server);
- 连接管理:维护 Host 和多个 Server 的连接状态,实时检测 Server 是否在线,断连后自动重连;
- 错误反馈:若 Server 执行失败(如文件不存在、路径错误),按 MCP 错误码规范,把错误信息返回给 Host,再由模型告知用户(如 “未找到 D:/ 电商销售数据 /xxx.xlsx,请检查文件路径”)。
六、各方完整协作流程(时间线)
以上述场景为例,从用户操作到任务完成,各方动作环环相扣,无定制化衔接,全程由 MCP 协议兜底:
- 【协议制定方】提前定好 MCP 通信规范,提供开发文档;
- 【Server 开发者】基于规范开发文件 / 数据分析 Server,发布可执行版本;
- 【Host 开发者】基于规范开发 Claude Desktop,内置 MCP Client,支持 Server 自动连接;
- 【用户小周】启动两个 Server → 打开 Claude 并连接 Server → 输入自然语言指令;
- 【Host(Claude)】拆解用户指令,生成工具调用逻辑,传给内置的 MCP Client;
- 【MCP Client】把调用逻辑转化为 MCP 标准化 JSON 请求,分别转发给文件 / 数据分析 Server;
- 【MCP Server】执行读文件→数据分析→绘图→写文件操作,把结果(数据 / 图表 / 文件路径)返回给 MCP Client;
- 【MCP Client】把结果解析为模型能理解的格式,返回给 Host(Claude);
- 【Host(Claude)】整合结果,生成销售周报(文字 + 图表链接),展示给用户小周;
- 【用户小周】直接打开文件夹,获取 AI 生成的周报和图表,完成任务。
七、核心结论:MCP 让各方 “各司其职,无需互配”
没有 MCP 协议时,每两方之间都需要定制化对接(比如 Server 开发者要为 Claude 单独做适配,Host 开发者要为每个工具做接口开发),各方互相绑定,效率极低;有 MCP 协议后,所有角色只需要对接「MCP 统一规范」,无需对接彼此:
- Server 开发者:只对 MCP 规范负责,开发的工具能对接所有支持 MCP 的 Host;
- Host 开发者:只对 MCP 规范负责,开发的应用能调用所有支持 MCP 的 Server;
- 用户:无需关心任何开发细节,只需组合 “Host+Server”,用自然语言完成任务;这也是 MCP 被称为 AI 生态 “通用 USB 接口” 的核心原因 —— 就像 U 盘只需符合 USB 规范,就能插所有电脑;电脑只需符合 USB 规范,就能读所有 U 盘,各方互不依赖,生态自然繁荣。