テック技報最新号へ →
AIコーディング

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つのサーバーにつなぐ。

@oga_aiichiro · 投稿 2026-04-13
#claude-code#codex#mcp#並列#メモリ#サブエージェント

どんな場面で使う?

  • Task/Agent で複数のサブエージェントを同時に走らせ、それぞれが Codex MCP でレビューや相談をする構成
  • 並列にした途端に Mac が重くなる・落ちる

手順

  1. Supergateway で codex mcp-server を HTTP 化して常駐させる(v3.4.0 以降を使う。v3.3.0 の並行処理の変更は取り消されている)
    bash
    NODE_OPTIONS=--max-old-space-size=256 \
    npx -y supergateway --stdio "codex mcp-server" \
      --outputTransport streamableHttp --port 8000
  2. Claude Code に HTTP の MCP として登録し、/mcp で connected を確認
    bash
    claude mcp add --transport http codex-http http://localhost:8000/mcp
  3. 効いているか確かめる
    bash
    lsof -i :8000                      # 待ち受けている
    ps aux | grep codex | wc -l        # 並列実行中でもプロセスが増えない

    initialize リクエストを curl で投げて応答が返るかも見ておく

  4. 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)
X の元の投稿を開く