メインコンテンツまでスキップ

RPC

RPC システムにより、MOD サービスはステートフルな HTTP メソッドを公開でき、エンジン、他の MOD、AI エージェントが中央プロキシを通じて呼び出すことができます。MOD コマンド(ワンショットの bin スクリプト)とは異なり、RPC メソッドは MOD の長時間実行サービスプロセス内で動作するため、インメモリ状態にアクセスできます。

MOD サービスから RPC メソッドを定義・提供する方法については、rpc SDK モジュールを参照してください。

仕組み

エンジンはエフェメラルポートを割り当て、MOD プロセスを起動する前に RPC レジストリに事前登録します。MOD サービスは HMCS_RPC_PORT からポートを読み取り、rpc.serve() で HTTP サーバーを起動し、POST /rpc/register を呼び出してメソッドを公開します。MOD に事前割り当てされたポートが存在しない場合、登録は 404 を返します。

環境変数

エンジンは MOD サービスの起動時に以下の環境変数を設定します:

変数説明
HMCS_RPC_PORTMOD サービスがリッスンするポート(エンジンが割り当て)
HMCS_MOD_NAMEMOD パッケージ名
HMCS_PORTエンジン HTTP API ポート。エンジンからは明示的に設定されません — SDK は未設定の場合 3100 にフォールバックします。エンジンが非標準ポートで動作している場合にのみ必要です。

エラー処理

POST /rpc/call が返すエラーコード:

ステータス意味
503MOD が未登録(まだ起動していないかクラッシュした)
404不明なメソッド。事前登録フェーズ中(MOD が /rpc/register を呼び出す前)は、すべてのメソッド名が転送されます。
504タイムアウト超過(デフォルト 30 秒、またはメソッドごとの timeout が設定されている場合はその値)
502接続拒否(MOD サービスに到達不能)
500内部エラー

RPC メソッドの呼び出し

メソッド説明リファレンス
MCP ToolAI エージェント向け call_rpcMCP リファレンス
HTTP APIPOST /rpc/call エンドポイントREST API リファレンス

関連項目