Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw mcp には 2 つの役割があります。
openclaw mcp serveで OpenClaw を MCP サーバーとして実行するlist、show、set、unsetで、OpenClaw が所有するアウトバウンド MCP サーバー定義を管理する
serveは、MCP サーバーとして動作する OpenClaw ですlist/show/set/unsetは、ランタイムが後で利用する可能性のある他の MCP サーバー向けに、MCP クライアント側レジストリとして動作する OpenClaw です
openclaw acp を使用します。
MCP サーバーとしての OpenClaw
これはopenclaw mcp serve の経路です。
serve を使用する場合
次の場合に openclaw mcp serve を使用します。
- Codex、Claude Code、または別の MCP クライアントが、OpenClaw が支えるチャンネル会話と直接通信する必要がある
- ルーティング済みセッションを持つローカルまたはリモートの OpenClaw Gateway がすでにある
- チャンネルごとに個別のブリッジを実行するのではなく、OpenClaw のチャンネルバックエンド全体で動作する 1 つの MCP サーバーが必要
openclaw acp を使用します。
仕組み
openclaw mcp serve は stdio MCP サーバーを起動します。MCP クライアントがそのプロセスを所有します。クライアントが stdio セッションを開いたままにしている間、ブリッジは WebSocket 経由でローカルまたはリモートの OpenClaw Gateway に接続し、ルーティング済みチャンネル会話を MCP 経由で公開します。
Important behavior
Important behavior
- ライブキューの状態はブリッジが接続したときに開始されます
- 古いトランスクリプト履歴は
messages_readで読み取ります - Claude プッシュ通知は MCP セッションが有効な間だけ存在します
- クライアントが切断されると、ブリッジは終了し、ライブキューはなくなります
openclaw agentやopenclaw infer model runなどの単発エージェントエントリポイントは、応答が完了したときに、それらが開いた同梱 MCP ランタイムを破棄するため、スクリプトによる繰り返し実行で stdio MCP 子プロセスが蓄積されることはありません- OpenClaw によって起動された stdio MCP サーバー(同梱またはユーザー設定)は、シャットダウン時にプロセスツリーとして終了されるため、サーバーによって開始された子サブプロセスは、親 stdio クライアントの終了後に残りません
- セッションの削除またはリセットでは、共有ランタイムクリーンアップ経路を通じてそのセッションの MCP クライアントが破棄されるため、削除されたセッションに紐づく stdio 接続が残ることはありません
クライアントモードを選択する
同じブリッジを 2 通りの方法で使用できます。- Generic MCP clients
- Claude Code
標準 MCP ツールのみです。
conversations_list、messages_read、events_poll、events_wait、messages_send、および承認ツールを使用します。現在、
auto は on と同じ動作をします。クライアント機能の検出はまだありません。serve が公開するもの
ブリッジは既存の Gateway セッションルートメタデータを使用して、チャンネルが支える会話を公開します。OpenClaw に、次のような既知のルートを持つセッション状態がすでにある場合、会話が表示されます。
channel- 受信者または宛先メタデータ
- 任意の
accountId - 任意の
threadId
- 最近のルーティング済み会話を一覧表示する
- 最近のトランスクリプト履歴を読む
- 新しい受信イベントを待つ
- 同じルートを通じて返信を送信する
- ブリッジ接続中に届く承認リクエストを確認する
使用方法
- Local Gateway
- Remote Gateway (token)
- Remote Gateway (password)
- Verbose / Claude off
ブリッジツール
現在のブリッジは、次の MCP ツールを公開します。conversations_list
conversations_list
Gateway セッション状態にルートメタデータがすでにある、最近のセッションベースの会話を一覧表示します。便利なフィルター:
limitsearchchannelincludeDerivedTitlesincludeLastMessage
conversation_get
conversation_get
直接の Gateway セッション検索を使用して、
session_key によって 1 つの会話を返します。messages_read
messages_read
1 つのセッションベースの会話について、最近のトランスクリプトメッセージを読み取ります。
attachments_fetch
attachments_fetch
1 つのトランスクリプトメッセージから、非テキストのメッセージコンテンツブロックを抽出します。これはトランスクリプトコンテンツ上のメタデータビューであり、単独で永続的な添付ファイル BLOB ストアではありません。
events_poll
events_poll
数値カーソル以降のキュー済みライブイベントを読み取ります。
events_wait
events_wait
次に一致するキュー済みイベントが到着するか、タイムアウトが期限切れになるまでロングポーリングします。Claude 固有のプッシュプロトコルなしで、汎用 MCP クライアントにほぼリアルタイムの配信が必要な場合に使用します。
messages_send
messages_send
セッションにすでに記録されている同じルートを通じて、テキストを送り返します。現在の動作:
- 既存の会話ルートが必要です
- セッションのチャンネル、受信者、アカウント ID、スレッド ID を使用します
- テキストのみを送信します
permissions_list_open
permissions_list_open
ブリッジが Gateway に接続して以降に観測した、保留中の exec/Plugin 承認リクエストを一覧表示します。
permissions_respond
permissions_respond
保留中の exec/Plugin 承認リクエスト 1 件を次のいずれかで解決します。
allow-onceallow-alwaysdeny
イベントモデル
ブリッジは、接続されている間、メモリ内イベントキューを保持します。 現在のイベントタイプ:messageexec_approval_requestedexec_approval_resolvedplugin_approval_requestedplugin_approval_resolvedclaude_permission_request
Claude チャンネル通知
ブリッジは Claude 固有のチャンネル通知も公開できます。これは Claude Code チャンネルアダプターに相当する OpenClaw の機能です。標準 MCP ツールは引き続き利用できますが、ライブの受信メッセージを Claude 固有の MCP 通知として受け取ることもできます。- off
- on
- auto (default)
--claude-channel-mode off: 標準 MCP ツールのみ。notifications/claude/channelnotifications/claude/channel/permission
- 受信した
userトランスクリプトメッセージはnotifications/claude/channelとして転送されます - MCP 経由で受け取った Claude 権限リクエストはメモリ内で追跡されます
- リンクされた会話が後で
yes abcdeまたはno abcdeを送信した場合、ブリッジはそれをnotifications/claude/channel/permissionに変換します - これらの通知はライブセッション専用です。MCP クライアントが切断されると、プッシュ先はありません
MCP クライアント設定
stdio クライアント設定の例:オプション
openclaw mcp serve は次をサポートします。
Gateway WebSocket URL。
Gateway トークン。
ファイルからトークンを読み取ります。
Gateway パスワード。
ファイルからパスワードを読み取ります。
Claude 通知モード。
stderr に詳細ログを出力します。
セキュリティと信頼境界
ブリッジはルーティングを作り出しません。Gateway がすでにルーティング方法を把握している会話のみを公開します。 つまり、次のようになります。- 送信者許可リスト、ペアリング、チャンネルレベルの信頼は、引き続き基盤となる OpenClaw チャンネル設定に属します
messages_sendは、既存の保存済みルートを通じてのみ返信できます- 承認状態は、現在のブリッジセッションに対してのみライブ/メモリ内です
- ブリッジ認証には、他のリモート Gateway クライアントに対して信頼するものと同じ Gateway トークンまたはパスワード制御を使用する必要があります
conversations_list にない場合、通常の原因は MCP 設定ではありません。基盤となる Gateway セッションに、ルートメタデータが欠落しているか不完全です。
テスト
OpenClaw には、このブリッジ向けの決定的な Docker スモークが同梱されています。- シード済み Gateway コンテナを起動する
openclaw mcp serveを生成する 2 つ目のコンテナを起動する- 会話検出、トランスクリプト読み取り、添付ファイルメタデータ読み取り、ライブイベントキューの動作、アウトバウンド送信ルーティングを検証する
- 実際の stdio MCP ブリッジ経由で、Claude スタイルのチャンネル通知と権限通知を検証する
トラブルシューティング
No conversations returned
No conversations returned
通常は、Gateway セッションがまだルーティング可能でないことを意味します。基盤となるセッションに、保存済みチャンネル/プロバイダー、受信者、および任意のアカウント/スレッドルートメタデータがあることを確認してください。
events_poll or events_wait misses older messages
events_poll or events_wait misses older messages
想定どおりです。ライブキューはブリッジ接続時に開始されます。古いトランスクリプト履歴は
messages_read で読み取ります。Claude notifications do not show up
Claude notifications do not show up
次のすべてを確認してください。
- クライアントが stdio MCP セッションを開いたままにしていた
--claude-channel-modeがonまたはautoである- クライアントが Claude 固有の通知メソッドを実際に理解している
- 受信メッセージがブリッジ接続後に発生した
Approvals are missing
Approvals are missing
permissions_list_open は、ブリッジが接続されている間に観測された承認リクエストのみを表示します。永続的な承認履歴 API ではありません。MCP クライアントレジストリとしての OpenClaw
これはopenclaw mcp list、show、set、unset のパスです。
これらのコマンドは MCP 経由で OpenClaw を公開しません。OpenClaw 設定の mcp.servers 配下にある、OpenClaw が所有する MCP サーバー定義を管理します。
保存されたこれらの定義は、組み込み Pi やその他のランタイムアダプターなど、OpenClaw が後で起動または設定するランタイム向けです。OpenClaw は定義を一元的に保存するため、それらのランタイムが独自の重複した MCP サーバーリストを保持する必要はありません。
重要な動作
重要な動作
- これらのコマンドは OpenClaw 設定の読み取りまたは書き込みのみを行います
- 対象の MCP サーバーには接続しません
- コマンド、URL、またはリモートトランスポートが現時点で到達可能かどうかは検証しません
- 実行時に実際にサポートするトランスポート形状はランタイムアダプターが決定します
- 組み込み Pi は、設定済みの MCP ツールを通常の
codingおよびmessagingツールプロファイルで公開します。minimalでは引き続き非表示になり、tools.deny: ["bundle-mcp"]は明示的に無効化します - セッションスコープのバンドル MCP ランタイムは、
mcp.sessionIdleTtlMsミリ秒のアイドル時間後に回収されます(デフォルトは 10 分。無効化するには0を設定)。ワンショットの組み込み実行では、実行終了時にそれらをクリーンアップします
transport 値を直接使用しますが、Claude Code と Gemini は http、sse、stdio などの CLI ネイティブな type 値を受け取ります。
保存済み MCP サーバー定義
OpenClaw は、OpenClaw 管理の MCP 定義を必要とするサーフェス向けに、軽量な MCP サーバーレジストリも設定に保存します。 コマンド:openclaw mcp listopenclaw mcp show [name]openclaw mcp set <name> <json>openclaw mcp unset <name>
listはサーバー名をソートします。- 名前なしの
showは、設定済みの MCP サーバーオブジェクト全体を出力します。 setは、コマンドライン上で 1 つの JSON オブジェクト値を想定します。- Streamable HTTP MCP サーバーには
transport: "streamable-http"を使用します。openclaw mcp setは互換性のため、CLI ネイティブなtype: "http"も同じ正規の設定形状に正規化します。 - 名前付きサーバーが存在しない場合、
unsetは失敗します。
Stdio トランスポート
ローカルの子プロセスを起動し、stdin/stdout 経由で通信します。| フィールド | 説明 |
|---|---|
command | 起動する実行可能ファイル(必須) |
args | コマンドライン引数の配列 |
env | 追加の環境変数 |
cwd / workingDirectory | プロセスの作業ディレクトリ |
SSE / HTTP トランスポート
HTTP Server-Sent Events 経由でリモート MCP サーバーに接続します。| フィールド | 説明 |
|---|---|
url | リモートサーバーの HTTP または HTTPS URL(必須) |
headers | HTTP ヘッダーの任意のキー値マップ(例: 認証トークン) |
connectionTimeoutMs | サーバーごとの接続タイムアウト(ミリ秒、任意) |
url(userinfo)と headers の機密値は、ログとステータス出力で編集されます。
Streamable HTTP トランスポート
streamable-http は、sse と stdio に並ぶ追加のトランスポートオプションです。リモート MCP サーバーとの双方向通信に HTTP ストリーミングを使用します。
| フィールド | 説明 |
|---|---|
url | リモートサーバーの HTTP または HTTPS URL(必須) |
transport | このトランスポートを選択するには "streamable-http" に設定します。省略時、OpenClaw は sse を使用します |
headers | HTTP ヘッダーの任意のキー値マップ(例: 認証トークン) |
connectionTimeoutMs | サーバーごとの接続タイムアウト(ミリ秒、任意) |
transport: "streamable-http" を正規の表記として使用します。CLI ネイティブな MCP の type: "http" 値は、openclaw mcp set 経由で保存される場合に受け入れられ、既存設定では openclaw doctor --fix によって修復されますが、組み込み Pi が直接使用するのは transport です。
例:
これらのコマンドは保存済み設定のみを管理します。チャンネルブリッジを開始したり、ライブ MCP クライアントセッションを開いたり、対象サーバーが到達可能であることを証明したりはしません。
現在の制限
このページは、現在出荷されているブリッジを文書化しています。 現在の制限:- 会話検出は既存の Gateway セッションルートメタデータに依存します
- Claude 固有のアダプター以外に汎用プッシュプロトコルはありません
- メッセージ編集ツールやリアクションツールはまだありません
- HTTP/SSE/streamable-http トランスポートは単一のリモートサーバーに接続します。多重化されたアップストリームはまだありません
permissions_list_openには、ブリッジ接続中に観測された承認のみが含まれます