2026 OpenClaw MCP:Macクラウドでstdioを托管し、タイムアウトとログで「モデル遅延」と「子プロセス固まり」を切り分ける

7×24のOpenClaw GatewayにMCP(Model Context Protocol)のstdioサーバを同居させると、CPUやパイプの詰まりが18789の不調に見える。本稿は三つの失敗パターン、症状マトリクス、七つの導入手順、レビュー用の数値閾値、FAQをまとめ、web_search/web_fetch五層モデルDockerサンドボックスJSONL可観測性各記事との読み分けを示す。

OpenClawゲートウェイとMCP stdioツールの接続図

目次

1. 三つの痛み:同居stdio

MCPはJSON一塊ではなく長命子プロセスである。MacクラウドでGatewayと同じCPUキューを共有すると次が頻発する。統合メモリ上ではRSSが一見余裕でも、短いバーストがGatewayスレッドを飢餓させ、管理UIだけ生きたままtool応答が全滅するパターンが2026年も多い。

また企業プロキシ配下では、MCPスクリプトが内部HTTPSを再取得するケースで出口ポリシと証明書ストアの差分が混ざり、モデル品質劣化に見えることがある。最初の一次切り分け表をRunbook1ページ目に貼るだけで平均復旧時間は大きく縮む。

  1. CPU飢餓でUIだけ生きる:launchdにCPU上限が無いとイベントループが止まり、ポート18789を疑いがち。
  2. モデルだけタイムアウト:巨大ディレクトリ列挙が許されるとツール壁時計が黒穴化し、モデル遅延に見える。
  3. 相関ID欠如:stderr混線でJSONLと結合できず再起動頼みになる。

レイヤを固定してからタイムアウトを触る。

2. スタック上の位置

Gatewayがtool callへ写像し、MCPが実行面を担う。検索系と違い失敗はfork/パイプに似る。スクリプトが外向きHTTPを再度叩く場合は出口層と交差するので五層ルーティングを先に当てる。

JSONL可観測性記事で推奨されるフィールドにtool名とpidを載せれば、子プロセス再起動とGateway再起動を混同しにくくなる。逆にフィールドが欠けると「とりあえず18789を再起動」に戻る。

ヒント:GatewayユーザーとMCP専用ユーザーを分離し~/.openclawを守る。

3. 症状マトリクス

表は一次オペレータ向け。モデル側を疑うときはトークン生成曲線と課金ダッシュボードを先に見る。MCP子を疑うときはopenclaw logs相当の行にtool名が連続しているか、RSSが頭打ち近傍で張り付いているかを確認する。出口を疑うときは企業PACと共有出口IPの評判を切り分ける。混同を減らすため印刷して貼付推奨。

症状モデル側MCP子出口
初トークン遅いがツール速い
ツールで停止
特定URLだけ403
ローカルOKクラウドNG

4. 七手順

導入順は「身份→権限→時間→観測→リソース→検証→ロールバック」に固定するとレビューが楽になる。

  1. plistでユーザとcwd固定し、対話SSHのHOMEに依存しない。
  2. argvホワイトリスト、必要ならサンドボックスで書き込み境界を分離。
  3. ツールとモデルタイムアウト分離し全体予算の約20%をマージンとして残す。
  4. stdout行頭にtool名・pid・req idを付与しJSONLと結合可能にする。
  5. ThrottleIntervalとCPU上限で再起動嵐とディスクスパイクを抑える。
  6. 冷起動・5並列・ネットワークフラップの三探针でRSSと壁時計を記録。
  7. 単一MCPを設定フラグで無効化しGateway本体は止めない。
UserName: _openclaw_mcp SoftResourceLimits: CPU: 2 MemoryResident: 2147483648

5. 閾値

ツール壁時計既定約25~45秒、巨大一覧は約12~20秒。RSS軟上限約1.5~2GBでkill+イベント。同名同時約3~5。5分で約3クラッシュならブレーカ。stdout行約256KB超はtruncate警告。TLS信頼ストアをMCP側にも配布し失敗ログをJSONLと同じ保持期間に揃える。

コスト側ではGateway分とツール分のSKUをレポートに分け、財務が「モデルが高い」のか「ツールが暴れている」のかを即断できるようにする。週次でargvホワイトリスト差分を添付し、サプライチェーン監査にも流用する。タイムゾーンとロケールはlaunchd最小環境でズレやすいので日付パースを含むMCPは単体テストをクラウドイメージ上で必ず回す。

6. FAQ

MCPとweb_fetchの順序は?

モデルがURLを直接出したならweb_fetch先。ツール内fetchならMCPログ。

ノートplistをそのまま?

鍵とプロキシ差の再探针必須。

五層のどこ?

多くは実行層、認証が残るなら上層へ。最近キーを回した場合はGatewayとMCP双方の環境変数に反映されたかを必ずdiffする。

7. 安定Mac基盤へ

ノートPoCは速いがCPU割当とJSONL契約が欠ける。LinuxだけではApple隣接作業に不向きでMCP接着剤が増える。夜間スリープや手元VPNの揺らぎはSLOを壊しやすい。監査可能な7×24ならVPSMACのM4 Macクラウドをレンタルし、launchd上限とJSONL・サンドボックス記事を一本のRunbookに束ねるのが安全側だ。専用メモリとSSH運用で制御面とツール面を分離し、障害時も設定トグルで段階的に縮退できる。