いま抱えているモヤモヤ
長くClaude Codeを使っていると、明らかに"苦手パターン"があります。巨大リポの横断的な設計変更、依存関係の沼、曖昧なテスト失敗の切り分け、長いリファクタの作戦立案など。性能が波打つタイミングもあって、「今日は進まない日か…」となることがある。
一方、ネットでは「Codex CLIいいよ」という声をよく見る。ただ——私の前提はこうです。
- 私は Claude Code Max20(月額約3万円) を契約中。
- Codexをフルで使うなら ChatGPT Pro(約3万円) という選択肢がちらつく。
- 個人で月6万円は重い。しかも完全乗り換えはリスクが高い(未知数の部分が多い)。
ここで救世主になったのが Codex MCPサーバー でした。
MCPサーバーって何をしてくれるのか(要点だけ)
MCP(Model Context Protocol)は、エディタやエージェントが"外部の知恵袋"に安全に相談できる共通のやり取りルールです。 今回のポイントは 「Claude Codeが"必要な時だけ"Codexに相談できるようになる」 こと。
- 普段の実装・実行……これまで通り Claude Code が担当(私の手元の開発フロー・スクリプト・拡張はそのまま)。
- 設計/分析/レビュー/エラー調査……必要な時だけ Codex MCP に振る("切り札"運用)。
- 費用面……私は ChatGPT Plus(約3千円) 前提で組む。Proは試さず様子見。
"全部をCodexに移す"のではなく、Claude Codeの弱点だけを外部ブレーンで補う。この発想で一気に現実的になりました。
[VS Code / Claude Code]
│ (MCPで相談)
▼
[Codex MCP on WSL2] ← 設計/分析/作戦立案に特化(実行はしない)
│
└─(提案・指示をClaude Codeに返す)→ 私のWindows/Condaで実行・検証
結論(TL;DR)
- 乗り換えない。補完する。 Codexは"切り札"として使う。
- Analyze-only の明確な運用ルールを決める(実行・外部起動はしない)。
- 承認モード を徹底し、提案→実行→ログを戻す反復ループを短く回す。
- 費用は抑えつつ、詰まりポイントでの突破力はぐっと上がる。
私の手元では、この構成が一番ストレスが少なく、「詰まりを早く解く」「大改修の作戦を立てる」という局面で効果がはっきり出ました。
切り札Codexの"使いどころ"
長くClaude Codeを使っていると、手触りで"詰まりの予感"がわかります。私が振る場面はだいたい次の通り。
- 大規模リファクタの作戦立案 どの層から切るか、段階的移行プラン、巻き戻し点、テストの防波堤などを「文章で」設計してもらう。
- 依存関係の地雷撤去 バージョン衝突やラッパー層過多の泥沼を、構成図+チェックリストに落として進路を決める。
- "赤テスト"の切り分け 失敗ログを要因仮説に分解→追加で取るべきログや最小再現ケースの提案まで出させる。
- セキュリティ/権限設計の再点検 権限境界の棚卸し、秘密情報の流れ、監査ログの要件洗い出し。
- CLI/設定ファイルの情報設計 人が迷わないサブコマンド体系・フラグ命名・help文言の統一。
- 非機能要件レビュー 可観測性、パフォーマンス計測計画、SLO/SLIの叩き台。
要は「頭脳労働の助っ人」として振る。実際の変更や実行はClaude Code側でやります。ここを混ぜないのが事故らないコツ。
運用ルール(ここだけは固めたい)
- Analyze-only:Codex MCPは設計・分析・レビュー専任。実行・外部プロセス起動は禁止。
実行が必要な提案は
EXECUTION_NEEDEDのタグで「最小ステップ+理由」だけ返す。 - 承認フロー:Codex初期セットアップ時のウィザードで "Require approval of edits and commands" を選ぶ。 以降も、提案→私がClaude Codeで実行→結果ログをCodexに戻すの往復を守る。
- 手元の実行系は一本化:PythonはWindowsのCondaに固定(
conda run -n ... python ...)。 WSL側はあくまでCodex MCPの居場所に限定する。 - 痕跡を残す:
AGENTS.mdとCLAUDE.mdに役割分担と運用ルールを明記。あとで迷わない。
この運用だと、既存のClaude Code中心の作業スタイルを一切崩さず、必要な場面だけ"第二の脳"を呼べます。
使ってみて感じたこと(要点)
- 長考が必要な課題ほど効く 「いきなりコード」よりも「状況を整理して筋道を立てる」タスクで明確に差が出る。
- プロンプトは"素材"を厚く 仕様・制約・過去の経緯・ログなどを文章で渡すと、返りが具体化する。
- 人間の意思決定が早くなる 進める/やめる/先送るの判断が速い。迷いの時間が減るのが一番の効用でした。
- 費用の見通しが立つ 私の構成では、当面は Claude Code Max20 + ChatGPT Plus で足りている。 Proへは、「実際に不足してから」で良いと割り切れた。
※ここでの費用感は私の運用前提での所感です。公式の料金は各サービスの最新情報を必ずご確認ください。
注意点(つまずき予防)
- Nodeのバージョン:Codex CLIはNode 22推奨。古いNodeだと警告・失敗が出やすい。
- WSLの初期化癖:
.bashrcにnvm読み込みを必ず書く。MCP起動コマンドはsource ~/.bashrcを噛ませる。 - ディストリ名のズレ:
Ubuntuで入らずUbuntu-24.04になることがある。wsl -l -vで確認。 - 権限の線引き:Analyze-onlyを死守。実行系をCodex側に逃がさないほうがトラブルが少ない。
読者への提案:まずは"切り札スロット"を作る
- 既存フローはそのまま、Codex MCPを足すだけの構成にする
- ルールは Analyze-only/承認必須/実行はClaude Codeで の三本柱
- まずは詰まりやすい案件で使い、効果が出る場面を見極める
「乗せ替え」ではなく「乗せ増し」。これが個人開発の現実解でした。
以下、私が実際に使っている インストール手順(最短版) です。必要な方はそのままお使いください。
0) 前提
- Windows 11(管理者権限あり)
- Claude Code は Windows 側で使用
- Python 実行は Windows の Conda(
conda run -n ...) - Codex は WSL2 上で動かし、MCPサーバとして Claude Code に接続
1) WSL2 を有効化 → Ubuntu インストール
(最後に再起動がかかるので、順に実行)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartwsl --set-default-version 2- (候補確認:
wsl --list --online) wsl --install -d Ubuntushutdown /r /t 0
2) Ubuntu 初回セットアップ(WSL)
- スタートメニューから「Ubuntu」起動 → ユーザー名/パスワードを自分で作成
- 状態確認:
wsl -l -v
3) Node 22(nvm)+ Codex CLI(WSL)
- nvm インストール&有効化:
bash -lc "export PROFILE=~/.bashrc && curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && . ~/.bashrc && nvm install 22 && nvm alias default 22 && node -v && npm -v" - Codex CLI をインストール:
bash -lc "npm i -g @openai/codex && codex --version"
4) Codex に"サブスクでサインイン"
wsl.exe -e bash -lc "codex"→ 画面の指示で Sign in with ChatGPT を選択(ブラウザで認証) (成功すると~/.codex/auth.jsonが作成されます)
5) WSL の環境を恒久化(nvm など)
bash -lc 'echo "export NVM_DIR=\$HOME/.nvm" >> ~/.bashrc; echo "[ -s \$NVM_DIR/nvm.sh ] && . \$NVM_DIR/nvm.sh" >> ~/.bashrc; echo "[ -s \$NVM_DIR/bash_completion ] && . \$NVM_DIR/bash_completion" >> ~/.bashrc'- 確認:
bash -lc "source ~/.bashrc; node -v; npm -v; codex --version"
6) Claude Code に Codex(MCP) を登録
- ユーザースコープ:
claude mcp add -s user CodexWSL -- wsl.exe -e bash -lc "source ~/.bashrc; codex mcp" - (リポ単位で共有したい場合・ルートで)プロジェクトスコープ:
claude mcp add -s project CodexWSL -- wsl.exe -e bash -lc "source ~/.bashrc; codex mcp" - 接続確認(Claude Code 内):入力欄で
/mcp→ CodexWSL が一覧に見えること
7) "分析専用(実行禁止)"の固定(推奨)
- AGENTS.md(リポ直下)に追記:
## Codex (MCP) — Analyze-only
- 役割: 設計/レビュー/エラー分析/改善提案のみ。実行や外部プロセス起動は禁止。
- 実行が必要なら **EXECUTION_NEEDED** に最小手順と理由だけ提示(実行はClaude Codeが担当)。
* CLAUDE.md 冒頭に追記:
実行系は AGENTS.md を参照。通常の実装/実行は Claude Code、設計/分析は Codex CLI。
8) 実行ポリシー(Python は Windows の Conda)
- 実行は常に:
conda run -n proj310 python {file} {args} - Codex は実行しない(提案のみ)。Claude Code で実行→ログを Codex に戻して分析継続。
9) 単体テスト(切り分け用)
- Codex MCP を手動起動:
wsl.exe -e bash -lc "source ~/.bashrc; codex mcp"→ 待機状態になればOK(Ctrl+Cで抜ける) - Node / Codex の確認:
wsl.exe -e bash -lc "source ~/.bashrc; which node; node -v; which codex; codex --version"
10) よくある詰まりと対処(最短)
npm WARN EBADENGINE:Node が 20未満 → 3章の nvm で Node 22 に切替(nvm use 22)EACCES /usr/local/...:apt版 npm を使っている → nvm を読み込み直し(source ~/.bashrc; nvm use 22)→npm i -g @openai/codex.mcp.jsonで応答なし:"args": ["-e","bash","-lc","source ~/.bashrc; codex mcp"]にする(.bashrcを読ませる)- ディストリ名違い:
wsl -l -vで確認し、必要なら-d Ubuntu-24.04を付与 - 承認モード:初回ウィザードは 「2. Require approval…」 を選択(分析専用運用に合致)
11) ロールバック
- MCP解除(ユーザースコープ):
claude mcp remove CodexWSL - MCP解除(プロジェクトスコープ):
claude mcp remove -s project CodexWSL - Codex アンインストール(WSL):
bash -lc "npm -g rm @openai/codex" - Ubuntu を初期化(全消去注意):
wsl --unregister Ubuntu