Skip to main content
MCP 客户端和服务器之间的所有消息 必须 遵循 JSON-RPC 2.0 规范。该协议定义了 三种基本类型的消息:
TypeDescriptionRequirements
Requests用于发起操作的消息必须包含唯一 ID 和方法名
Responses用于回复请求的消息必须包含与请求相同的 ID
Notifications无需回复的单向消息不得包含 ID
Responses 进一步细分为 成功结果错误。 结果可以遵循任何 JSON 对象结构,而错误至少必须包含错误代码和 消息。

协议层

模型上下文协议由几个关键组件共同组成:
  • 基础协议:核心 JSON-RPC 消息类型
  • 生命周期管理:连接初始化、能力协商和 会话控制
  • 服务器功能:服务器暴露的资源、提示词和工具
  • 客户端功能:客户端提供的采样和根目录列表
  • 实用工具:日志记录和参数补全等跨领域关注点
所有实现 必须 支持基础协议和生命周期管理 组件。其他组件 可以 根据应用程序的具体需求来实现。 这些协议层建立了清晰的关注点分离,同时支持客户端和服务器之间丰富的 交互。模块化设计允许实现仅支持它们所需的功能。 请参阅以下页面以了解不同组件的更多详细信息:

生命周期

资源

提示词

工具

日志记录

采样

认证

认证和授权目前不是核心 MCP 规范的一部分, 但我们正在考虑在未来引入它们的方法。加入我们的 GitHub Discussions 以帮助塑造协议的未来! 客户端和服务器 可以 协商它们自己的自定义认证和授权 策略。

模式

协议的完整规范定义为 TypeScript 模式。 这是所有协议消息和结构的真实来源。 还有一个 JSON Schema, 它是从 TypeScript 真实来源自动生成的,用于 各种自动化工具。