MCP 协议拆解:AI 工具对接为什么需要一套统一标准
AIAI Summary (BLUF)
MCP(模型上下文协议)是一种开放协议,用于让大语言模型应用无缝连接外部数据源、工具和服务,类似网络中的HTTP协议。文章介绍了MCP的核心概念、四层架构(主机、客户端、服务器、基础协议)、基于JSON-RPC 2.0的工作原理、消息类型、关键特性、应用场景以及优缺点和替代方案。
核心洞察
MCP 想解决的问题其实很朴素:现在每个 AI 应用要接外部工具,都得自己写一套对接逻辑,接十个工具就写十套。MCP 把这个事标准化了,就像当年 USB-C 统一了充电口。但说实话,协议本身不复杂,复杂的是生态能不能跟上来。
MCP(Model Context Protocol,模型上下文协议)是一个开放协议,目标是让大语言模型应用和外部数据源、工具、服务之间的对接变得顺畅。你可以把它理解成 AI 世界里的 HTTP 协议,或者邮件系统里的 SMTP 协议。
它做的事情就是标准化模型和外部资源的交互方式,让 LLM 应用更好用、更灵活、也更容易扩展。
MCP 给 AI 应用生态定了一套统一的通信规则,开发者不用再为每个工具单独写对接代码。
核心结论
MCP(Model Context Protocol,模型上下文协议)是一个开放协议,目标是标准化大语言模型应用与外部数据源、工具、服务之间的对接方式,开发者无需再为每个工具单独编写对接代码。
MCP 采用 JSON-RPC 2.0MCP使用的消息格式,通过标准的请求、响应和通知消息进行通信。 作为消息格式,支持三种基本消息类型:请求、响应和通知;传输机制上支持本地的标准输入输出(Stdio)和基于 HTTP 的服务器发送事件(SSE)MCP支持的一种基于HTTP的传输机制。。
MCP 架构由四个关键部分组成:主机(Host)期望从服务器获取数据的人工智能应用,例如集成开发环境(IDE)、聊天机器人等。主机负责初始化和管理客户端、处理用户授权、管理上下文聚合等。、客户端(Client)主机与服务器之间的桥梁,与服务器保持一对一的连接,负责消息路由、能力管理、协议协商和订阅管理等。、服务器(Server)提供外部数据和工具的组件,通过工具、资源和提示模板为大型语言模型提供额外的上下文和功能。和基础协议(Base Protocol)定义主机、客户端和服务器之间如何通信,包括消息格式、生命周期管理和传输机制等。,其中客户端与服务器保持一对一连接,负责消息路由、能力管理和协议协商。
MCP 的生命周期分为初始化、运行和关闭三个阶段,确保连接的建立、通信和终止均符合协议规范。
MCP 的主要应用场景包括增强型问答系统、智能助手、知识管理和多轮对话;其主要优势是功能扩展、灵活性和开放性,缺点是存在复杂性及访问外部资源可能引入的额外性能开销。
MCP 的核心概念
MCP 的核心是模型上下文,也就是 LLM 在运行过程中需要用到的所有外部信息和工具。
MCP 定义了一套标准化接口和协议,让 LLM 能动态访问和集成这些东西:
- 外部数据源:数据库、API、文档库等,给 LLM 提供实时或历史数据。
- 工具和服务:计算工具、搜索引擎、第三方服务等,扩展 LLM 的能力边界。
- 上下文管理:动态维护 LLM 的对话上下文,保证多轮对话的连贯性。
MCP 的架构
MCP 的架构由四个关键部分组成:
- 主机(Host):主机是想要从服务器获取数据的 AI 应用,比如 IDE、聊天机器人。它负责初始化和管理客户端、处理用户授权、管理上下文聚合。
- 客户端(Client):客户端是主机和服务器之间的桥梁。它和服务器保持一对一的连接,负责消息路由、能力管理、协议协商和订阅管理。客户端保证主机和服务器之间的通信清晰、安全、高效。
- 服务器(Server):服务器提供外部数据和工具。它通过工具、资源和提示模板给大语言模型提供额外的上下文和功能。比如一个服务器可以提供 Gmail、Slack 等外部服务的 API 调用。
- 基础协议(Base Protocol):基础协议定义了主机、客户端和服务器之间怎么通信,包括消息格式、生命周期管理和传输机制。
MCP 就像 USB-C,让不同设备通过相同的接口连在一起。
MCP 的工作原理
MCP 通过定义标准化的数据格式和通信协议,实现 LLM 和外部资源的交互。
它用 JSON-RPC 2.0 作为消息格式,通过标准的请求、响应和通知消息来通信。
传输机制上,MCP 支持本地的标准输入输出(Stdio)和基于 HTTP 的服务器发送事件(SSE)。
MCP 的生命周期分三个阶段:初始化、运行和关闭,保证连接的建立、通信和终止都符合协议规范。
工作流程是这样的:
1. 上下文请求
LLM 应用向外部资源发送上下文请求,包含所需的数据或服务类型。
- LLM 应用根据任务需求,向外部资源发送请求。
- 外部资源返回所需的数据或服务结果。
2. 上下文集成
LLM 应用把外部资源返回的上下文数据集成到模型中,用来生成响应或执行任务。
- LLM 应用将外部数据和模型内部知识结合,生成更准确或更丰富的响应。
3. 上下文管理
MCP 支持动态管理 LLM 的对话上下文,确保多轮对话的连贯性。
- 上下文管理器维护对话的历史记录和状态。
- LLM 应用根据上下文生成连贯的响应。
协议的关键部分:消息
MCP 的核心是用 JSON-RPC 2.0 作为消息格式,给客户端和服务器之间的通信提供一种标准化的方式。
基础协议定义了三种基本消息类型:请求、响应和通知。
1. 请求
请求消息用于从客户端向服务器发起操作,或者反过来。
请求消息的结构:
{
"jsonrpc": "2.0",
"id": "string | number",
"method": "string",
"params": {
"[key: string]": "unknown"
}
}
- jsonrpc:协议版本,固定为 “2.0”。
- id:请求的唯一标识符,可以是字符串或数字。
- method:要调用的方法名称,是一个字符串。
- params:方法的参数,可选的键值对对象,键是字符串,值可以是任意类型。
2. 响应
响应消息是对请求的答复,从服务器发到客户端,或者反过来。
响应消息的结构:
{
"jsonrpc": "2.0",
"id": "string | number",
"result": {
"[key: string]": "unknown"
},
"error": {
"code": "number",
"message": "string",
"data": "unknown"
}
}
- jsonrpc:协议版本,固定为 “2.0”。
- id:和请求中的 id 对应,用来标识响应属于哪个请求。
- result:请求成功时,result 字段包含操作结果,是一个键值对对象。
- error:请求失败时,error 字段包含错误信息:
- code:错误代码,数字。
- message:错误描述,字符串。
- data:可选的附加错误信息,任意类型。
3. 通知
通知消息是单向的,不需要接收方回复。
通知消息的结构:
{
"jsonrpc": "2.0",
"method": "string",
"params": {
"[key: string]": "unknown"
}
}
- jsonrpc:协议版本,固定为 “2.0”。
- method:要调用的方法名称,字符串。
- params:方法的参数,可选的键值对对象。
说明
- 请求和响应:一对一。客户端发请求,服务器返回响应。id 字段用来关联两者。
- 通知:单向。发送方不等接收方回复,通常用于事件推送或状态更新。
- 错误处理:请求失败时,响应里会带 error 字段,提供错误代码和描述,帮开发者定位问题。
MCP 的关键特性
- 标准化接口:定义统一的接口和协议,保证 LLM 和外部资源的兼容性。
- 动态集成:支持 LLM 动态访问和集成外部数据源和工具。
- 上下文感知:支持动态管理对话上下文,提升多轮对话的连贯性。
- 开放性和可扩展性:支持第三方开发者为 LLM 应用扩展功能和资源。
MCP 的应用场景
MCP 主要用在下面这些场景:
- 增强型问答系统:集成外部数据源,提供实时、准确的答案。
- 智能助手:集成工具和服务,执行复杂任务(预订、计算、搜索等)。
- 知识管理:集成文档库和数据库,提供专业领域的知识支持。
- 多轮对话:通过上下文管理,实现连贯的多轮对话。
MCP 的优缺点
优点:
- 功能扩展:集成外部资源,扩展 LLM 应用的功能。
- 灵活性:支持动态访问和集成多种数据源和工具。
- 开放性:标准化协议支持第三方开发和集成。
缺点:
- 复杂性:需要设计和维护与外部资源的交互逻辑。
- 性能开销:访问外部资源可能引入额外延迟。
MCP 的替代方案
某些场景下可以用这些替代方案:
- 自定义 API:为 LLM 应用开发自定义的 API 接口。
- 插件机制:用插件机制扩展 LLM 应用的功能。
- 知识图谱:通过知识图谱集成外部知识。
常见问题(FAQ)
MCP 和 HTTP 协议有什么区别?
MCP 是 AI 领域的开放协议,类似 HTTP 但专为 LLM 设计。HTTP 用于网页通信,MCP 标准化模型与外部数据源、工具和服务的交互,让 LLM 动态集成上下文,提升灵活性和扩展性。
MCP 的架构包括哪些部分?
MCP 架构由四部分组成:主机(AI 应用)、客户端(通信桥梁)、服务器(提供数据和工具)和基础协议(定义通信规则)。它们协同工作,实现模型与外部资源的无缝连接。
MCP 有哪些实际应用场景?
MCP 主要用于增强型问答系统、智能助手、知识管理和多轮对话。通过集成外部数据源和工具,它能提供实时答案、执行复杂任务,并确保对话连贯性。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。



