[控场AI]
概念

JSON-RPC

JSON-RPC是一种轻量级的远程过程调用(RPC)协议,使用JSON作为数据交换格式。它允许客户端通过网络调用远程服务器上的方法,支持请求-响应及通知(单向消息)两种通信模式,具有结构简单、与传输层无关、跨语言兼容等特点,可运行于HTTP、WebSocket等多种传输协议之上。

核心事实

时间轴 (近 90 天)

10月28日

JSON-RPC标准错误码中,-32700表示解析错误,-32601表示方法未找到,-32602表示参数无效。

待验证50%
10月26日

JSON-RPC 等基于消息的协议在管道上不携带分帧信息,写入方需自行约定消息边界(如按行分隔或长度前缀),SDK 只负责字节转发。

待验证50%
10月25日

与REST API不同,JSON-RPC不依赖HTTP动词和URL路径来表达语义,而是将操作意图封装在消息体中,更适合需要动态发现能力和双向通信的Agent场景。

待验证50%
10月19日

Python服务器中未知工具的错误码从isError结果改为JSON-RPC -32602错误(Unknown tool: <name>),两个协议时代均如此。

待验证50%
10月18日

在使用stdio传输时,服务器作为客户端的子进程运行,通过标准输入输出交换JSON-RPC消息,标准错误用于日志。

待验证50%
10月15日

对任意地址调用 eth_getCode:返回空表示普通 EOA,返回以 0xef0100 开头表示已委托,接下来的 20 字节为委托地址;委托账户可以拥有完全干净、很短的交易历史。

待验证50%
10月13日

JSON schema 在 MCP 中用于描述工具输入参数,宿主可以据此自动生成调用表单、校验参数或提前拒绝不合法参数,但不约束工具是否该被调用或调用是否被授权。

已验证65%
10月9日

JSON-RPC在每次交互中都有序列化、网络传输、反序列化三个不可省略的环节

待验证50%
10月9日

把数据库驱动包进JSON-RPC里会增加关键路径上的延迟

待验证50%
10月9日

即使通过SSE复用连接,每次工具调用依然需要完成JSON-RPC层的握手与协商,与直接复用数据库驱动连接池存在本质差异

待验证50%

还有 12 条时间轴事件

全部知识事实 (20)

已验证

MCP采用客户端-服务器架构,基于标准化的JSON-RPC通信协议

90%
已验证

Anthropic于2024年底正式发布MCP规范,采用JSON-RPC 2.0作为底层通信协议

80%
已验证

MCP基于JSON-RPC 2.0协议构建,支持请求-响应和通知两种消息模式

80%
已验证

MCP协议通过定义统一的JSON-RPC 2.0通信协议,将M×N的适配问题简化为M+N

80%
已验证

JSON-RPC 2.0规范最早由JSON-RPC工作组于2010年发布

80%
已验证

Language Server Protocol(LSP)将语言智能提示逻辑与编辑器解耦,使任意编程语言只需实现一次协议即可在所有支持LSP的编辑器中获得自动补全和错误检测

75%
已验证

JSON schema 在 MCP 中用于描述工具输入参数,宿主可以据此自动生成调用表单、校验参数或提前拒绝不合法参数,但不约束工具是否该被调用或调用是否被授权。

65%
已验证

在 stdio 传输中,MCP 服务器日志必须写入标准错误(stderr),因为多余的标准输出会污染协议流

65%
已验证

LSP将编辑器与语言集成的M×N关系压缩为M+N,通过标准化的JSON-RPC协议通信

65%
待验证

MCP协议中AI模型通过标准化的JSON-RPC调用来触发硬件操作

85%
待验证

MCP通过标准化的JSON-RPC通信格式让模型调用外部能力,采用全量加载的设计哲学

85%
待验证

MCP选择JSON-RPC而非REST或GraphQL,是因为JSON-RPC天然支持双向通信和异步调用,更适合模型与工具之间需要实时响应的交互场景

80%
待验证

LSP基于JSON-RPC 2.0协议通信,语言服务器通常作为独立进程运行,通过stdin/stdout或TCP与编辑器通信

60%
待验证

ACP协议本质上是一个基于JSON-RPC的协议,通常通过标准输入/输出(stdio)与子进程通信

60%
待验证

JSON-RPC标准错误码中,-32700表示解析错误,-32601表示方法未找到,-32602表示参数无效。

50%
待验证

JSON-RPC 等基于消息的协议在管道上不携带分帧信息,写入方需自行约定消息边界(如按行分隔或长度前缀),SDK 只负责字节转发。

50%
待验证

与REST API不同,JSON-RPC不依赖HTTP动词和URL路径来表达语义,而是将操作意图封装在消息体中,更适合需要动态发现能力和双向通信的Agent场景。

50%
待验证

Python服务器中未知工具的错误码从isError结果改为JSON-RPC -32602错误(Unknown tool: <name>),两个协议时代均如此。

50%
待验证

在使用stdio传输时,服务器作为客户端的子进程运行,通过标准输入输出交换JSON-RPC消息,标准错误用于日志。

50%
待验证

对任意地址调用 eth_getCode:返回空表示普通 EOA,返回以 0xef0100 开头表示已委托,接下来的 20 字节为委托地址;委托账户可以拥有完全干净、很短的交易历史。

50%

来源文章