JSONRPC2.0入门
MCP协议使用JSONRPC作为底层数据层的传输协议. 这是一个及其简单明了的协议, 官方定义在这儿: https://www.jsonrpc.org/specification
简单说明:
- JSONRPC是客户端向服务器发起一个
请求Request, 服务器返回一个响应Response. - 客户端发起的请求有
id时, 服务器必须响应并带上id, 如果客户端发起的请求没有id, 则这个请求是一个"通知", 服务器不需要响应. - 服务器的响应中必须有
id, 如果这个id是null, 则说明客户端给的id有问题
request格式:{ "jsonrpc": "2.0", // 必选, 值必须是"2.0" "method": "subtract", // 必选, 值为string "params": [42, 23], // 可选, 按具体method的要求 "id": 1 // 要返回值时必选, 不要返回值是必须省略 }response 成功时格式:
{ "jsonrpc": "2.0", // 必选, 值必须是"2.0" "result": 19, // 成功时必须有, 失败时必须没有 "id": 1 // 必须有, 与客户端request中一致 }response 失败时格式
{ "jsonrpc": "2.0", "error": { // 失败时必须有, 成功时必须没有 "code": -32601, // 必选, 为整数. 其中从-32768 到-32000 范围内的错误代码被保留用于预定义错误 "message": "Method not found" // 必选, 为string, 一句话描述错误. }, "id": "1" // 必选, 解析不了client发来的id时候返回null }更多示例请看官方文档. https://www.jsonrpc.org/specification