消息

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。
  • resulterror必须设置其中一个。响应不能同时设置两者。
  • 错误代码必须是整数。

通知

通知可以从客户端发送到服务器,也可以从服务器发送到客户端。它们不期望得到响应。

{
  jsonrpc: "2.0";
  method: string;
  params?: {
    [key: string]: unknown;
  };
}
  • 通知不能包含 ID。
文章目录