- 基础协议:核心 JSON-RPC 消息类型
- 生命周期管理:连接初始化、能力协商和会话控制
- 服务器功能:服务器暴露的资源、提示词和工具
- 客户端功能:客户端提供的采样和根目录列表
- 实用工具:跨领域关注点,如日志记录和参数补全
消息
MCP 客户端和服务器之间的所有消息必须遵循 JSON-RPC 2.0 规范。该协议定义了以下类型的消息:请求
请求由客户端发送给服务器,反之亦然,用于发起操作。- 请求必须包含字符串或整数 ID。
- 与基础 JSON-RPC 不同,ID 不得为
null。 - 请求 ID 在同一会话中不得被请求者先前使用过。
响应
响应作为对请求的回复发送,包含操作的结果或错误。- 响应必须包含与其对应的请求相同的 ID。
- 响应进一步细分为成功结果或错误。
result或error必须设置其中一个。响应不得同时设置两者。 - 结果可以遵循任何 JSON 对象结构,而错误必须至少包含错误代码和消息。
- 错误代码必须是整数。
通知
通知由客户端发送给服务器,反之亦然,作为单向消息。接收者不得发送响应。- 通知不得包含 ID。