JSON-RPC
JSONを使用したリモートプロシージャコール(RPC)プロトコル。シンプルで軽量な設計が特徴。
構造
リクエスト
{
"jsonrpc": "2.0",
"id": 1,
"method": "メソッド名",
"params": { "引数": "値" }
}
レスポンス(成功)
{
"jsonrpc": "2.0",
"id": 1,
"result": { "データ": "値" }
}
レスポンス(エラー)
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32600,
"message": "Invalid Request"
}
}
特徴
- トランスポート非依存: HTTP、WebSocket、STDIO等で利用可能
- シンプル: XMLやSOAPより軽量
- バッチリクエスト対応: 複数リクエストを一度に送信可能
- 通知: idを省略するとレスポンス不要の通知になる
採用例
- MCPの通信プロトコル
- Ethereum JSON-RPC API
- Language Server Protocol(LSP)
関連
- MCP
- REST API
- gRPC