Skip to main content
协议修订: 2024-11-05
MCP客户端和服务器之间的所有消息必须遵循JSON-RPC 2.0规范。该协议定义了三种基本类型的消息:
类型描述要求
请求发送以启动操作的消息必须包含唯一ID和方法名称
响应发送以回复请求的消息必须包含与请求相同的ID
通知无回复的单向消息不能包含ID
响应进一步细分为成功结果错误。结果可以遵循任何JSON对象结构,而错误必须至少包含错误代码和消息。

协议层

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

认证

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

模式

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