协议版本: 2024-11-05
MCP中的所有消息必须遵循 JSON-RPC 2.0规范。该协议定义 三种消息类型:

请求

请求从客户端发送到服务端,或反向发送。
{
  jsonrpc: "2.0";
  id: string | number;
  method: string;
  params?: {
    [key: string]: unknown;
  };
}
  • 请求 必须 包含一个字符串或整数ID。
  • 与基础 JSON-RPC 不同,ID 绝不能null
  • 请求ID 绝不能在同一个会话内被请求者重复使用。

响应结果

响应是对请求的回复发送过来的。
{
  jsonrpc: "2.0";
  id: string | number;
  result?: {
    [key: string]: unknown;
  }
  error?: {
    code: number;
    message: string;
    data?: unknown;
  }
}
  • 响应必需包含与对应请求相同的ID。
  • Either a result or an error 必须 be set. A response 不可 set both.
  • 错误码必须是整数。

通知

通知由客户端发送至服务器端或反之。它们不期待响应。
{
  jsonrpc: "2.0";
  method: string;
  params?: {
    [key: string]: unknown;
  };
}
  • 通知不得包含ID。