MCPクライアントからOpenClawへ届ける最短経路がopenclaw mcp serveです。stdioが開いているあいだだけGatewayへWebSocketで参加し、一覧・トランスクリプト・ライブイベント・返信・権限をチャネル専用接着なしで揃えます。起動パターン、トークンファイル、許可の三層、stdio単位のライブキューを整理します。常駐とmacOS差分はクラウドMacでのOpenClaw運用FAQ、Linux導線はLinux VPS実践FAQを参照。
openclaw mcp serveが実際に起こすこと
クライアントがブリッジをspawnし、stdioが開いているあいだGatewayへ接続して会話をMCPツールへ写します。conversations_listが空なら多くはルート未充足で、MCP JSON自体の不備とは限りません。過去ログはmessages_read、接続後のイベントだけがevents_poll/events_waitの対象です。
# ローカルGateway(既定) openclaw mcp serve # リモートGateway + トークンファイル(シェル履歴に残さない) openclaw mcp serve --url wss://gateway-host:18789 \ --token-file ~/.openclaw/gateway.token # ブリッジの詳細ログをstderrへ openclaw mcp serve --verbose
| トポロジー | 向いている用途 | 注意点 |
|---|---|---|
| ローカルGateway + ローカルクライアント | ノート上の反復、再現性の高い検証 | 承認や送信も本番相当の操作として扱う |
| リモートGateway + トークンファイル | クラウドMac/VPSの共有Gateway | トークンを鍵のようにローテーションし、パス権限を絞る |
トークン/パスワード認証で秘密を漏らさない
リモートでは--token-fileや--password-fileを優先し、CIでは読み取り専用マウントにします。MCP JSONはパス参照にし、POSIX権限をエージェントユーザーへ絞ります。ブリッジはGatewayがルーティングできる会話だけを出し、送信元許可やペアリングはチャネル設定側の責務です。
ツール「ホワイトリスト」:混同しやすい三層
①クライアント許可、②openclaw mcp list|set|unsetの外向き定義(書き込みでリモートへプローブしない)、③チャネル許可。messages_sendは既存ルートのみ。「見えない」はこの順で切り分けます。
セッション隔離:キュー、承認、Claudeプッシュ
stdioごとにライブキューがあり、切断で消えます。古い行はmessages_read、permissions_list_openも短命、Claude通知はブリッジ生存中のみ。IDEとCIで承認タイムアウトの記述を分けます。Runnerは自ホストmacOS Runner比較参照。
本番のメッセンジャー前にpnpm test:docker:mcp-channelsで探索・読取・添付・ライブキュー・通知を一括スモークしてください。フラグとツール一覧はリリースで変わるので、Runbookの版も揃えます。
インシデントレビューで繰り返すFAQ
リストが空/イベントが取り逃がしに見える
空リストはメタ不足が多く、受信でルートが具体化されます。ライブキューは接続後のみで、古い行はmessages_readです。
Claudeチャネルモードを全員に広げるべき?
通知対応クライアントに限定し、汎用エージェントはポーリング主導が安全です。
クラウドMac miniなら、このブリッジ運用が「地味に強い」
常駐ブリッジはOSに依存します。macOSはUnix+launchd+Homebrewで依存を揃えやすく、NodeとWebSocketの並行でもユニファイドメモリが効きます。Mac mini M4は待機電力が数ワット級で、24時間オンラインでも机がデータセンターになりにくいです。
Gatekeeper/SIP/FileVaultはトークンファイル運用と相性がよく、単一サービスアカウントへ秘密を閉じやすいです。静音・小型でTCOも抑えやすく、常時オンGatewayの拠点として現実的です。
Gatewayの置き場所を標準化するなら、VPSSparkのクラウドMac mini M4はコストと運用のバランスが取りやすい出発点です——プランを今すぐ確認し、MCPブリッジを一日中安定して走らせるハードウェアに載せ替えましょう。