Claude Code から Codex MCP を並列で呼ぶなら、Supergateway で Streamable HTTP の1プロセスにまとめる
stdio の MCP は接続ごとに1プロセス起動するので、Claude Code のサブエージェントを並列にすると codex mcp-server が並列数だけ立ち上がり、メモリを食い潰す(64GB の Mac がカーネルパニックした報告あり)。Supergateway で stdio を Streamable HTTP に変換し、Claude Code からは HTTP の MCP として1つのサーバーにつなぐ。
どんな場面で使う?
- Task/Agent で複数のサブエージェントを同時に走らせ、それぞれが Codex MCP でレビューや相談をする構成
- 並列にした途端に Mac が重くなる・落ちる
手順
- Supergateway で
codex mcp-serverを HTTP 化して常駐させる(v3.4.0 以降を使う。v3.3.0 の並行処理の変更は取り消されている)bashNODE_OPTIONS=--max-old-space-size=256 \ npx -y supergateway --stdio "codex mcp-server" \ --outputTransport streamableHttp --port 8000 - Claude Code に HTTP の MCP として登録し、
/mcpで connected を確認bashclaude mcp add --transport http codex-http http://localhost:8000/mcp - 効いているか確かめる
bash
lsof -i :8000 # 待ち受けている ps aux | grep codex | wc -l # 並列実行中でもプロセスが増えないinitialize リクエストを curl で投げて応答が返るかも見ておく
- CLAUDE.md に「どんなときに Codex MCP を使うか」(例: 設計の第二意見・レビュー)を書いておくと、無駄な呼び出しも減る
注意点
- 1プロセスの裏でリクエストは順番に処理される。効果は「並列でも壊れない」であって、速くはならない
- 既知の問題: ストリーミングで最初の出力しか表示されない(Claude Code #5960)、HTTP 接続が5〜10分で切れる(#4598)。長いレビューは途中で切れることを前提にする
127.0.0.1だけで待ち受ける。DNS リバインディング対策として、サーバー側で Origin ヘッダーを検証する必要がある- そこまでしないなら、環境変数でサブエージェントの並列数を2〜3に絞るのが一番簡単な回避策
- 関連: Claude Code: plan を hooks で Codex にレビューさせる、Claude Code の Agent Teams で、各工程を Opus と Codex に二重レビューさせる
出典
- いいね: @oga_aiichiro · 2026-04-13 (Zenn「Claude CodeからのCodex MCP並行呼び出しをStreamable HTTPで解決した話」、Claude Code issue #45880)