OpenClaw Gateway が動いたあと、MCP ツールチェーンを接する難しさは、多くの場合「ping が通るかどうか」ではなく、トランスポートの選定、子プロセスのライフサイクル、握手プロトコル、下流の固着にあります。本稿はサイト内の MCP ホワイトリストと接続性、セキュリティ強化、クロスプラットフォームのインストールと役割分担します。まず範囲の説明と七つのセルフチェック項目を示し、続けてstdio と HTTP/SSE の対照表でアーキテクチャを決め、七段階の再現可能な接続手順、ツール発見とバージョン漂流の注意点、症状から対処の早見表をまとめ、MCP を一時的なスクリプトではなく監査可能なサプライチェーンとして扱う手がかりにします。
インストール稿は Gateway プロセスを常駐させる方法を扱います。セキュリティ稿はリスン面、トークン、dmPolicy と外向き通信を扱います。ホワイトリスト稿はツール登録と権限拒否のときの第一反応を扱います。本稿はその後段に位置し、stdio 子プロセスとHTTP リモート MCPの運用上の差、および握手・タイムアウト・固着のときに見るべきログの種類を説明します。
次の七項目のうち三つ以上当てはまる場合は、レビューシートに「MCP 実行レベル」のリスクとして一行を切り出し、「とりあえず Gateway を再起動」といった曖昧な項目に丸め込まないことをおすすめします。
コマンドラインが開発端末だけで成立している:npx のパス、Node のマイナー、グローバルパッケージが systemd 下の非対話シェルと一致せず、「SSH では動くのに Gateway 経由だと落ちる」が起きます。
作業ディレクトリへの暗黙の依存:MCP 子プロセスが特定のリポジトリルート前提で起動しており、空の HOME や読み取り専用マウントに移ると静かに失敗します。
HTTP MCP は URL だけ見て TLS を見ていない:証明書チェーン、SNI、社内自己署名と networkPolicy の組み合わせが悪いと、症状が「握手が終わらない」ように見えます。
ツール一覧のキャッシュが古い:サーバー側でツールを増減したあとも、クライアントが古いスキーマで呼び出し、パラメータ検証エラーがランダムに出ます。
タイムアウトのない長い呼び出し:下流 API が止まると Gateway 側のスレッドや接続が解放されず、最終的に全体が固まります。
子プロセスのゾンビ化:stdio パイプの片側を閉じ損ねると、子プロセスは生きたまま読み書きせず、fd と CPU を空費します。
設定の漂流に誰も署名しない:openclaw.json が複数台でバラバラに書き換えられ、validate/doctor の記録がなく、トラブルシュートが口伝になります。
これらを Runbook に書き込めば、MCP を CI と同様に「変更票+ロールバック可能なバージョン」として扱えます。次の対照表で stdio と HTTP の運用コストを並べ、会議で「リモートの方が楽」一句だけで TLS と外向き統制を飛ばすのを避けます。
2026 年頃のプラットフォームエンジニアリングでは、ツールチェーン統治は「誰が本番で子プロセスを起こせるか」と結びつきます。stdio は境界を OS ユーザーとファイル権限に押しつけ、HTTP は境界をネットワークポリシーと身分トークンに押しつけます。優劣はなく、既存の観測と当番モデルに合うかどうかだけです。
この表は SRE、セキュリティ、事業側と揃えるためのものです。遅延だけでなく、身元、外向き通信、アップグレード、故障の分離をまとめて数えてください。
| 観点 | stdio(ローカル子プロセス) | HTTP/SSE 系のリモート MCP |
|---|---|---|
| 典型的な配置 | Gateway と同一マシン、または同一コンテナ名前空間 | 独立サービス、サイドカー、または社内クラスタ |
| 身元と信頼 | OS ユーザー、ファイル権限、任意のサンドボックス | mTLS、Bearer、リバースプロキシでの認可 |
| アップグレード経路 | イメージ/パッケージを固定し、Gateway または子プロセスをロール | 独立したブルー/グリーン。プロトコル版の交渉に注意 |
| 観測の重点 | 終了コード、stderr、fd 漏れ、OOM | HTTP 5xx/429、接続プール、TLS 握手の所要時間 |
| 失敗の分離 | プロセスクラッシュは supervisor で再起動可能 | ネットワーク分断は複数ツールを遅くしうるため、サーキットブレーカーが要る |
MCP を本番に載せる本質は「ツール呼び出しを版付き・境界付き・ロールバック可能なサプライチェーンにすること」です。トランスポートは、複雑さをカーネル側に置くかネットワーク側に置くかを決めるだけです。
セキュリティ強化で networkPolicy を締めたうえで HTTP MCP を足すなら、外向きホワイトリストを再度通します。stdio なら、Gateway の実行ユーザーが想定バイナリを実行できるかを点検し、「手っ取り早く chmod +x を全世界に」といった回避をしないでください。
以下は起動できる Gateway がある前提です。インストールとデーモンがまだなら、クロスプラットフォームのインストール稿と systemd/Docker の本番稿に戻ってください。
ランタイムを凍結する:Node のマイナー、パッケージマネージャー、MCP サーバーの版を記録します。本番とステージングは同源にします。
最小 stdio プローブ:非対話コマンドで、Gateway と同じユーザーから一度だけ MCP を手起動し、PATH と cwd を確認します。
設定断片を書く:openclaw.json(またはプロジェクト文書の設定ファイル)にサーバーを登録し、チーム接頭辞で名前の衝突を避けます。
検証チェーンを回す:まず openclaw config:validate、つづけて openclaw doctor を実行します。差分は変更票に残します。
ホワイトリストに接続する:ホワイトリスト稿に沿って、ツール名と名前空間を最小集合に絞ります。
観測フックを足す:子プロセスの CPU/メモリと、HTTP MCP の P95 遅延にしきい値を置き、既存のログパイプラインに載せます。
ロールバックを演習する:直前に動いていた設定とイメージ digest を残し、「MCP の一行を削除すればベースラインに戻る」状態にします。
{
"mcpServers": {
"corp-files-stdio": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/var/lib/openclaw/mcp-data"],
"env": { "NODE_OPTIONS": "--max-old-space-size=512" }
},
"internal-api-http": {
"url": "https://mcp.internal.example/sse",
"headers": { "Authorization": "Bearer ${MCP_SERVICE_TOKEN}" }
}
}
}
ヒント:実際のキー名とネストは、利用中の OpenClaw 版のドキュメントに従ってください。上図は「stdio と HTTP の二系統が共存するとき」の構造イメージです。メジャーアップグレード前には必ず validate を再実行し、リリースノートの破壊的変更と突き合わせてください。
MCP のツール名はゲートウェイ側で名前空間が付くことが多く、同一 Gateway を複数環境で使うと「同名だが実装が違う」事故が起きます。設定で接頭辞(例:prod_/stg_)を明示し、リリースノートにツール一覧の diff を載せることをおすすめします。
HTTP MCP をローリングするときは、まず後方互換のスキーマを優先します。互換を壊すなら、ゲートウェイ側の許可リストを同時に更新し、会話トラフィックの一部だけをカナリアで流します。stdio 系サーバーの更新では、バイナリ ABI と動的リンクのパスに注意し、特に薄いコンテナイメージで差が出ます。
注意:本番 Gateway で、版の固定されていない npx -y による最新取得を試さないでください。digest 固定か社内アーティファクトリポジトリに切り替えないと、サプライチェーン監査の鎖が切れます。
次の表は当番の第一画面向けです。細部は Gateway ログと上流 MCP の実装ドキュメントとあわせてください。
| 症状 | 優先して確認すること | よくある対処 |
|---|---|---|
| 握手がすぐ失敗する | 版フィールド、認証ヘッダ、TLS チェーン | プロトコル版を揃える。証明書を直すか SNI を許可する |
| 初回だけ成功し、その後は通らない | 接続プール枯渇、子プロセスの固着 | MCP 側を再起動する。タイムアウトとサーキットブレーカーを足す |
| ツール一覧に項目がない | キャッシュ、カナリアルート、ホワイトリスト | キャッシュを消す。allowlist とルーティングを突き合わせる |
| ランダムなタイムアウト | 下流 API、クォータ、DNS | 階層化したタイムアウト。trace id を出す |
openclaw.json を変えるたびに、チケットに検証コマンドの出力抜粋を残し、事後レビューをしやすくします。MCP を開発用ノート PC にだけ載せると、スリープ、VPN の揺れ、複数ユーザーのデスクトップセッションで「ツールがたまに使えない」が出やすくなります。HTTP MCP を TLS とポリシーなしに公網へ出すと、Gateway の攻撃面が何倍にも膨らみます。チームが安定した macOS 環境で Apple ツールチェーンに絡む自動化(モバイルビルド、署名、ローカルエージェントと組み合わせた MCP など)を回す必要があるなら、実行層を契約に基づくリモート Mac ノードに載せる方が、権限とログの境界を引きやすいことが多いです。トランスポート選定、子プロセス統治、当番モデルをまとめて考えると、NodeMini の Mac Mini クラウドレンタルは補助的な算力面として向きます。OpenClaw コラムのインストール、セキュリティ、観測の各稿とあわせ、「モデルゲートウェイ+ツールチェーン+ macOS 実行」を責務ごとに分けて計画できます。
ホワイトリスト稿は登録、権限、接続の第一反応を扱います。本稿は stdio/HTTP の選定、ライフサイクル、固着を扱います。レビュー会では二枚の表をまとめて通してください。
ブログの OpenClaw カテゴリからインストール、systemd、Docker、セキュリティ、観測の各稿に入り、必要に応じて本稿で MCP 実行レベルを深掘りしてください。