2026 OpenClaw:MCP ツール連携、ClawHub Skills の導入・検証と Gateway トリアージ ランブック

読了目安 約13分 · MACCOME

想定読者:Gateway は動くが MCP ツールが出てこない、呼び出しがタイムアウトする、Skills が再起動後に消える、といった場面です。ゴール:初期構築はインストール記事Docker 本番運用ランブックに、永続化はボリュームと Skills 権限の記事に任せます。本ランブックは宣言 → プロセス可視性 → Gateway 登録 → モデル/ツール/チャネルのトリアージを扱います。構成:六つの落とし穴、二つの表、設定スケッチ、注意喚起、六ステップ、三つの KPI、締めのガイダンスです。

なぜ Gateway は MCP が無いように振る舞うのか

MCP は Gateway と子プロセスまたはリモートエンドポイントとの間のJSON-RPC セッションです。設定に行があっても子が起動するとは限らず、起動してもスキーマが返るとは限りません。よくある六つの誤読は次のとおりです。

  1. 環境変数が対話シェルだけ:systemd、launchd、Compose などのデーモンは ~/.zshrcPATH や API キーを読みません。
  2. ClawHub Skills が読み取り専用または匿名ボリューム上:取得は成功に見えてコンテナ再作成後に消えます。ボリューム記事を参照してください。
  3. 古いツールキャッシュ:設定を変えても UI/CLI の一覧が古いままのことがあります。失敗と決めつけずドキュメントに従い再読み込みします。
  4. タイムアウトが短すぎる:初回のコールドコールは往復遅延を含み、定常時とは別閾値が必要です。
  5. AGENTS.md と bootstrap 文面の重複:MCP と Skills の両方に同じ指示があるとコンテキストが膨らみます。境界はSkills 調整チェックリストに沿って分けます。
  6. チャネル問題を MCP のせいにする:Slack/Telegram の OAuth 経路を先に直します。

openclaw doctorインストール後 doctor の記事の順序で実行し、本稿はツール登録の証跡チェーンを足すものであり、別のインストール手順書ではありません。

MCP サーバーごとに一枚の「最小再現カード」を用意します。読み取りクエリ一つ、必ず拒否されるべき負のテスト一つ、ログで探すトークン三つを書き、オンコールが巨大なプロンプトを読み直さず設定退行を比較できるようにします。カードに許可された外向き通信とデータ分類を記載し、記録なしにトークン範囲を広げないようにします。

表1:MCP 症状 → 証拠 → 対応

フィールド名は OpenClaw の版により異なります。本表は作業の順序を固定します。

症状最初に集めるもの想定根本原因監査可能な対応
ツール一覧が空/一部だけGateway ログ、子の終了コードバイナリ欠落、cwd、permission denied絶対パスの commandargscwd。子を Gateway と同一ユーザーで実行
初回だけ遅く、その後は問題ないコールドスタート時間、パッケージ取得ログnpx -y やランタイム JITプリウォーム、イメージでの版固定、初回呼び出しタイムアウトの緩和
定常タイムアウト子の生存、CPU、ファイルディスクリプタデッドロック、ブロッキング IO許可範囲内でサンプリング/トレース、読み取り専用ツールで A/B
「ツールが登録されていない」スキーマログ、プロトコル版実装の不一致MCP 版の整合、マイナー固定、上流の変更履歴の確認

表2:ClawHub Skills/リポジトリ内 Skills/MCP

能力マトリクスを公開し、一つのワークフローを三通りに説明しないようにします。

ソース向いている用途バージョン管理リスク
ClawHub/マーケット迅速な試作コミットまたは semver 範囲を固定し週次で差分確認上流の漂移。回帰テストが必要
リポジトリの SKILL.md/非公開パックコンプライアンス重視のフローPR で本線に同梱保守負荷。MCP のスコープと揃える
MCP(正規の接続点)DB、チケット、社内 HTTP API独立したリリース周期権限の過大なトークン。許可リストを維持
config
# 構造スケッチのみ。実キー、ネスト、ホットリロードは現行 OpenClaw ドキュメントに従います。
# 目的:Gateway が固定ユーザーで stdio 上の MCP サーバーを起動する。
#
# mcpServers:
#   internal-readonly-lookup:
#     command: /usr/local/bin/node
#     args: ["/opt/mcp-servers/lookup/dist/index.js"]
#     env:
#       LOOKUP_API_TOKEN: "${LOOKUP_TOKEN_READONLY}"
#
# ClawHub Skill:チームの skills ディレクトリに展開/クローンし、
# 版に応じた skill インデックスの更新または公式の reload コマンドを実行します。
warning

注意:MCP はアシスタントを本番データに接続します。最小権限と監査証跡が「とにかく動かす」より優先です。読み取り用と書き込み用サーバーを分け、トークンを分け、許可リストの抜粋を変更チケットに添付してください。

六ステップ:「チャットは動く」から「ツール呼び出しが再現できる」まで

  1. トポロジを固定:ベアメタル、リモート Mac、コンテナのいずれかを決め、ユーザー、PATH、cwd、bind マウントを文書化します。
  2. MCP を登録:ドキュメントに従い command/args/env を埋め、Gateway と同一の身元で子を手動起動しハンドシェイクログを確認します。
  3. ClawHub Skills を導入:永続ストレージ上に配置し、版とチェックサムを記録します。短命レイヤだけに置かないでください。
  4. 重なる Skills 文面を削る:長い検索は memory_search やドキュメントツールへ移し、コンテキスト増大を抑えます。
  5. 三つの検査を自動化:コールドスタート、定常呼び出し、意図的な失敗(切断など)でタイムアウトと劣化挙動を検証します。
  6. 運用ガイドを更新:再読み込み順、ロールバック(サーバー削除と Gateway 再起動)、オーナーをオンコールと同じページに載せます。

週次レビューに載せたい三つの KPI

  1. 登録カバレッジ:宣言した MCP サーバー数と実際に一覧に出るツール数をリリース単位で比較します。
  2. 初回呼び出し P95 と定常 P95:ウォームアップと定常を分けて見ます。
  3. 重複能力の件数:MCP、ClawHub、AGENTS.md の三か所に同じ操作が書かれている数。二を超えるものは署名付きの例外扱いにします。

リモート Mac やクラウドホストでは、ディスク容量とログローテーションが一時ファイルを小さなシステム領域に書き出す MCP 子に影響し、モデル設定が変わっていなくてもタイムアウトがランダムに見えることがあります。ツール設定だけでなくホスト運用もあわせて確認してください。

HTTP/SSE 形式の MCP では、リバースプロキシのアイドルタイムアウト、Upgrade の扱い、TLS 終端を含めます。Gateway ログではハンドシェイク成功でも、エッジが 499/504 を返すことがあります。OpenClaw のタイムアウトだけ上げる前にNginx/Caddy リバプロの記事と突き合わせてください。

コミュニティ向けの方向性のメモ(ベンチマークではありません):重い MCP を三つ以上載せ、広い検索を併用すると、キューの揺らぎが分単位になることがあります。SLA には能力マトリクスと許可リストの方が無限のプラグインより効きます。

ノート PC とアドホックなホストでは長期のツール統治が難しい理由

スリープ、VPN の瞬断、パスの漂移により子プロセスと skill インデックスが不安定になります。実ビジネスデータに接続するには24 時間稼働、永続パス、監査可能な権限が必要です。

マルチリージョン選択や柔軟な契約のない自前機は、共有ホストに流れがちで、コールドスタートとログ IO が競合します。Gateway をディスクと外向き通信が予測できる専用 Apple Siliconに置くことは、プロ用 Mac クラウドでよくある選択です。MACCOME は地域横断のMac mini M4/M4 Proを柔軟なレンタル条件で提供し、Gateway とビルドファームの安定した土台になります。公開の料金とヘルプセンターの SLA を注文前に確認してください。

本ランブックの三つの検査を、イメージを全フリートに広げる前にリモート Mac で試し、「手元では動くが本番ではタイムアウト」のループを避けます。Gateway をインターネット公開する場合は TLS、レート制限、IP 許可リストを同じ変更に含め、後追いのパッチにしないでください。

よくある質問

チャネルオンボーディングの記事とどう組み合わせますか?

チャネル記事は Slack/Discord/Telegram の OAuth を扱い、本稿はツール発見を扱います。メッセージは Gateway に届くがツールだけ失敗するときは、表1から証拠を集めてから「接続はあるが無言」系の切り分けに戻ってください。

ロールバックに何を含めますか?

MCP エントリを削除し、再起動順序を記録し、読み取り専用の検証クエリを実行し、ダッシュボードでツール数がベースラインに戻ったことを確認します。課金の整合はレンタル料金で確認してください。

コンテナとベアメタルでパスが違うのはどうしますか?

ランタイムごとに絶対パスのマトリクスを維持し、モデルにチャットでパスを推測させません。ヘルプセンターと Docker ボリュームの記事を突き合わせてください。