スプーキーズのちょっとTech。

SPOOKIES社内のより技工的な、専門的なブログページです。

Claudeで設計、Codexが実装:MCPでつなぐAI開発環境

こんにちは!まっちゃんです! 👋

皆さん、Claude Codeは活用できていますか?

私は、現状でもSerena MCPを導入するなどして、結構活用できているように感じています!

ですが、AIを活用する際に、もう一歩前に進む方法を @spookies_yuushi_suzuki と考えてみたので、共有したいと思います!

Claude Code を使って Codex を使ってみる

要するに、どっちもの良いとこ取りをしたいわけですね👀

モデルの得意不得意に決定的な違いがある

現状、Claude Code の使用しているClaude Sonnet 4.5 と、Codexの使用している GPT-5 Codex には、決定的な違いがあるのです

何かというとコンテキストウィンドウの使い方です

どのような長所・短所があるかを図にしてみました👀

モデル名 開発元 コンテキストウィンドウ(入力) 長所(得意な点) 短所(課題・注意点)
Claude Sonnet 4.5 Anthropic 約200K トークン(20万トークン) ・「コンテキストウィンドウ」という制約を超え、タスク全体を通しての流れを把握できる(らしい)
・大量のコードや仕様書を一度に読ませても、理解が破綻しにくい。
・レスポンスは速いが、生成コードがやや大雑把な場合がある。
・数回のプロンプト修正を経ないと、期待通りの実装に至らないことが多い。
GPT-5 Codex OpenAI 約272K トークン(約28万トークン)
参考
・既存コードを正確に読み取り、文脈を踏まえたうえで高精度に実装可能。
・プロジェクト全体の整合性を保ちつつ、動作するコードを高確率で出力できる。
・セッションが長くなると古い履歴を圧縮し、文脈の一部が欠落することがある。
・長期の調査・開発セッションでは、途中経過や思考履歴が失われやすい。
・レスポンスまでが長い。

*1

コンテキストウィンドウが小さいのに、どうして Claude Sonnet 4.5 は大きなコンテキストを扱えるの?というのはここには書ききれないので、 https://www.anthropic.com/news/context-management を参照することとします。

簡単に書くと、不要になったコンテキストを賢く削除したり、重要な情報はメモリに保存することによっていい感じにしているらしいです。

どう生かすの?

Claudeが全体的な設計を、Codexが実装を担当するように分けることで、Claudeの理解力とCodexのコーディング頭脳を両方活かせる(はず)です!

要するに、Claudeは設計者、Codexは実装者として使い分けるのが理想だよね。という感じです 👀

環境構築の前提

まず、CodexとClaude Codeが入っているかつログインされている必要があります。

まだ入っていない方は、入れましょう。

注意

Codex は ChatGPT の Plus 以上のプランが必要です。

https://openai.com/ja-JP/codex/

Claude Code は Pro でも使えなくはないですが、リミットがずいぶん厳しいと思います。

Proで使ってみて、よかったらMax x5 にあげるのがおすすめです

https://docs.claude.com/ja/docs/claude-code/quickstart

実際にやってみた

実際に、Claude Code でCodexを使用できるようにしてみましょう 👀

そのためには、Claude Code にMCP経由でCodexを使えるようにしてあげる必要があります。

下記のコマンドをするといい感じになります。

claude mcp add codex-mcp codex mcp-server

コマンドの構文を解説します。

claude mcp add [名前] [コマンド] [引数]

のような感じです。

なので上のコマンドは、

codex というコマンドに mcp-server という引数をつけたもの( codex mcp-server というコマンド )を、 codex-mcp という名前のMCPとして登録する。のようになりますね。

尚、古い記事だと codex mcp というコマンドで追加するような記事がありますが、もう既に古い構文となっているようです。*2 *3 *4

この状態で、あとはClaude CodeでCodexを使って!と言うだけ!

ではありません!

このままでは、Claude Code 自身がどうCodexを生かせばいいのか知らないからですね!

Claude CodeがCodexを気持ちよく動かすためには??

使うためにはプロンプトをいい感じにしてあげる必要があります。

これを理解するためには、Codexのオプションを理解する必要があります。

approval-policy

簡単に言うと、 Codex自身が、Toolを使う際に許可を求めるかどうか なのですが、このオプションには、"never" | "on-request" | "on-failure" | "untrusted"のどれらが入ります。

それぞれ、

  • never (推奨)
    • どのツールも勝手に使っていい(許可を求めなくていい)
  • on-request
    • Codex 自身が判断して、許可を求める
  • on-failure
    • コマンドが失敗した時に、許可を求める(?)
  • untrusted
    • 信用済みでないコマンドは実行前に許可を求める

のような挙動になっているようです。

その上で、Codexのツールの使用をMCP経由でapprovalするという事に、恐らくClaude Codeが対応していないようなので、on-requestにすると、詰みます。

これであなたもFull Stuck Enginnerです。

sandbox

こちらのオプションは、下のような3つがあります。

  • read-only
    • そのまま。読み取り専用。
  • workspace-write (一番推奨)
    • ワークスペースの中のファイルは編集可能
  • danger-full-access
    • 全部にアクセスできる。破壊し放題

read-onlyをつけられると実作業ができません。

また、Codexくんが動いている間は、進捗が不透明で結構不安になるので、タスクを振る粒度は細かい方が良いでしょう。(多分?)

なので、上記3点を踏まえ、下の方なプロンプトをClaude.mdに突っ込んでおくと良いでしょう。(例なので、いい感じにしてみてください!)

実際の実装に差し掛かる際には、Codex MCPを使用してください。
オプションとして、
workspace には、 workspace-write を
approval-policy には、 never を
つけて、Codex MCPを使用してください。
また、Codexに振るタスクは細分化して、細かく投げて、進捗を追いやすくしてください。

このようにしてあげると、Claude Code は動きやすくなります!

思いついてから突発的に書いているので、感想などはありません!

もっと使ってから、感想だけ追記しておきます!

最後に

いかがでしたか!

これらの考えが参考になれば幸いです!

進化していくAI、追うのも大変ですが、その中で最適解を見つけるために紆余曲折していかなければならないのも、また楽しいですね 👀

また、もしかしたら、Codexの中でCodex MCPを使用することでSubAgents的な動きをできるのでは...?のような考えもあるので、そのようなこともやっていきたいですね 👀

もし、ここが間違ってる!などがあれば是非ご指摘ください 🙏

最後まで読んでいただきありがとうございました!

参照 & 参考

Codexのオプション周り、参考にしました! ありがとうございます 🙏

-> https://zenn.dev/hokuto_tech/articles/97fa88f7805a23

以下ドキュメントなど