2026 運用OpenClawMCPstdiogateway

2026年 OpenClaw MCP 運用と切り分け:stdio 子プロセスリーク、HTTP MCP の限界、ゲートウェイ再起動と doctor 階段

VPS やリモート Macで OpenClaw に複数の stdio MCPを載せると、対話が進むほど openclaw-gateway 配下に nodenpx の子プロセスが増え、RSS が右肩上がりになることがある。mcp.servers を空にしてホットリロードしても古い子が残るケースも報告されている。別筋では、設定に url だけの HTTP MCP を書くとログに stdio のみ対応 と出てスキップされる。これは輸送実装の境界であり、単なる一時障害ではない。本稿は ゲートウェイ運用と doctor と同じ階段を踏み、MCP プラグインとアップグレードNginx/Caddy リバースプロキシインストール経路の比較へ橋渡しし、成果物転送と AI ゲートウェイを同居させるホスト型リモート Macの価値で締める。

OpenClawMCPstdiogatewaydoctorリモートMac
リモート Mac 上で OpenClaw ゲートウェイが MCP ツールを stdio で読み込むイメージ

要約:stdio はプロセス艦隊として扱う

MCP を増やせば便利になるとは限らない。各 stdio サーバは独立した子プロセスであり、メモリ・ファイル記述子・終了フックを個別に持つ。ツール一覧の再取得やモデル側のリトライが重なると、スポーン速度が回収速度を上回り、ps の行数が会話ラウンドと一緒に伸びるパターンが出る。RSS と子プロセス数が連動して増えるときは stdio ツリーの残留を疑い、RSS だけが尖って子数が平坦ならコンテキストやメディア一時領域を先に見る。

HTTP/SSE の url エントリは別クライアントパスに乗る。ビルドが stdio しか実装していない場合、設定に残したままだと明示的にスキップログが出る。コンプライアンスが許すなら薄いラッパで遠隔能力を stdio に折り返すか、検証済み stdio サーバへ一覧を絞る。

推奨順は openclaw statusopenclaw gateway statusopenclaw logsopenclaw doctoropenclaw channels status --probeゲートウェイ運用記事と整合させてから MCP に潜り、リバプロと MCP の間で空振りしない。

痛みの分解:リーク、ホットリロード、HTTP 境界

ホットリロードは子の完全終了を保証しない。mcp.servers を空にしても親プロセスが生きていると npx subtree が残る。openclaw gateway restart だけでは足りないときは systemd や launchd、コンテナの stop→start で冷やす。

多チャネル・大コンテキストはスポーンを増幅する。並列セッションごとにツール探索が走ると、モデル層の再試行と相まって負荷が跳ねる。まず有効サーバを減らし、次にモデルとチャネル、最後にメモリ増設を検討する。

アップグレード直後は plugins と mcp の競合に注意。スナップショットとロールバック手順に沿い、doctor とリリースノートの破壊的変更を突き合わせる。

リバプロのタイムアウトは再接続ストームを招く。再接続のたびに探索が再走しスポーンが増える。WebSocket とアイドル設定を先に整える。

CLI と常駐サービスの版ズレ。グローバル npm とコンテナ内バイナリが混在すると、doctor は緑でも挙動が食い違う。インストール比較で入口を一本化する。

意思決定表:信号 → 仮説 → 行動

信号仮説行動ガイド
RSS と子数が連動上昇stdio リークサーバ一覧を収束、コールド再起動、パッチ適用MCP アップグレード記事
skipped / http のログ輸送ギャップstdio ラッパへ寄せるか url 項目を外すインストール比較
doctor 良好だがユーザー断プロキシのアイドル読み取り/送信タイムアウトと Upgrade ヘッダリバプロ記事
未知の設定キースキーマ変更リリースノートで JSON を移行MCP アップグレード記事
小メモリのリモート Mac容量不足MCP 数削減、並列抑制、プラン見直しプラン/ノード

原則は動く部品を減らしてから微調整。メモリを増やす前にプロセス曲線を読むほうが根本原因に近い。

手順スケルトン(How-to)

openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
ps aux | rg -i 'openclaw|mcp|npx' || true
openclaw gateway restart
# 不十分なら: sudo systemctl restart openclaw-gateway
# もしくは compose 再起動(インストール手順に従う)

本番ではシェル履歴に秘密を残さない。sudo 境界とログマスキングを Runbook に明記する。

監視項目:感覚を時系列に落とす

ゲートウェイホストに RSS、子プロセス数、開いているファイル記述子、負荷平均、空きディスクを載せる。会話トラフィックと相関させ、子プロセス数のベースライン逸脱でアラートを張ると誤報が減る。

7×24 ゲートウェイと複数 MCP には数 GB 級の余裕と SSD 空きを確保する。ディスク満杯はログローテーション失敗を招き、二次障害になりやすい。

FAQ とホスト型リモート Mac

メモリ増設だけで十分?

一時しのぎにはなるが、リークがあれば再び単調増加する。再起動後に子がゼロに戻るかを必ず確認する。

url だけの MCP はいつ使える?

リリースノートに HTTP クライアントが明記されるまで stdio 前提で設計する。

sessions_spawn 記事との違いは?

そちらはサブエージェント権限。こちらは OS プロセスと輸送境界。順に読むと理解が速い。

まとめ:MCP は監督付きのプロセス艦隊として扱い、輸送の事実をリリースノートに合わせ、リロード不足なら冷たく再起動する。

限界:自前 VPS は OS パッチ、ディスク、リバプロ、常駐プロセスの積み上げが重い。SFTPMAC のホスト型リモート Macは Apple 互換環境と安定オンライン、SFTP 入口を束ね、バイナリ配送とゲートウェイを同じ現場に置きやすい。

プランとノードを確認し、リモート Mac 上のゲートウェイとファイル入口を揃える。