Claude Codeの相談相手としてCodexをつなぐ:MCPで疎通・追質問・議論まで試した

こんにちは。AlgomaticでソフトウェアエンジニアをしているGo(@53able)です。
Claude Codeを普段の開発入口にしていると、Codexも同じ作業の中で使いたくなります。
ただ、「MCPでつなげば使える」と「実務で安全に使える」は別です。登録できても、実際にCodexへ問い合わせられるとは限りません。単発で返事が来ても、同じスレッドに追質問できるかはまた別です。さらに、2つのエージェントに同じリポジトリを触らせるなら、編集競合や責任範囲の問題も出ます。
そこで今回は、Claude CodeからCodexをMCP serverとして呼び出し、次の3段階を確認しました。
- Claude CodeからCodexへ単発で問い合わせる
- codex-replyで同じCodexスレッドに追質問する
- ClaudeとCodexに短い議論をさせる
結論から言うと、疎通だけでなく、同一スレッドでの追質問と簡単な論点のすり合わせまで動きました。ただし、最初から両方に自由編集させるのは危険です。現実的には、Claude Codeを主導役にして、Codexをレビュー・別案・用語整理の相談相手にするのがよさそうです。
- 実行環境
- まずCodex MCP server単体を確認する
- 単発の疎通確認:Claude CodeからCodexへMCP_OKを返させる
- 追質問できるか:codex-replyで同じスレッドに続ける
- 議論できるか:「背景 vs. 経緯」で試す
- 途中で起きた失敗:クレジット不足の切り分け
- 実務での使いどころ
- そのまま使えるセットアッププロンプト
- まとめ
- エンジニアを募集しています!
- 参考
実行環境
今回の確認環境は以下です。
Claude Code: 2.1.197
Codex CLI: codex-cli 0.142.4
Codex login: Logged in using ChatGPTClaude Code側では、CodexをstdioのMCP serverとして登録します。
claude mcp add --transport stdio codex -- codex mcp-server検証では、他のMCP設定の影響を避けるため、次のmcp.jsonだけを使いました。
{
"mcpServers": {
"codex": {
"command": "codex",
"args": ["mcp-server"]
}
}
}

まずCodex MCP server単体を確認する
最初に見るべきなのは、Claude CodeではなくCodex MCP server側です。tools/listを確認すると、Codex MCP serverは次の2つのtoolを公開していました。
{
"tool_count": 2,
"tools": [
{
"name": "codex",
"description_head": "Run a Codex session."
},
{
"name": "codex-reply",
"description_head": "Continue a Codex conversation by providing the thread id and prompt."
}
]
}
ここで分かることは2つあります。
- codexは新しいCodexセッションを開始する
- codex-replyは既存スレッドに続けて返信する
つまり、Codexは単発コマンドとしてだけでなく、threadIdを持つ相談相手として扱える可能性があります。

単発の疎通確認:Claude CodeからCodexへMCP_OKを返させる
最初のend-to-end確認では、Claude Codeに次の依頼を投げました。
Use the codex MCP tool once.
Ask Codex: "Reply exactly MCP_OK and nothing else."
Then report whether Codex replied exactly MCP_OK.
Do not edit files.実行コマンドは以下です。
claude -p \
--strict-mcp-config \
--mcp-config ./mcp.json \
--allowedTools 'mcp__codex__codex' \
--max-turns 4 \
--output-format text \
'Use the codex MCP tool once. Ask Codex: "Reply exactly MCP_OK and nothing else." Then report whether Codex replied exactly MCP_OK. Do not edit files.'Codex MCP tool側の応答は次でした。
{
"structuredContent": {
"threadId": "019f5677-c87a-71e0-87d9-42f62b176c6a",
"content": "MCP_OK"
}
}
Claude Code側では、最終的にこう出力されました。
Codexは正確に `MCP_OK` と返答しました。指示通りの応答です。
exit=0この時点で、次の経路は確認できました。
Claude Code
-> Codex MCP tool
-> codex mcp-server
-> Codex session
-> MCP_OK
-> Claude Codeの最終応答
実行画面も残しておきます。

追質問できるか:codex-replyで同じスレッドに続ける
次に、単発ではなく2ターンのやり取りを試しました。
Claude CodeからCodexへ、まず「2つのエージェントが同じリポジトリで協調すると何が壊れるか」を聞きます。その後、同じCodexスレッドに対して「では安全な運用ルールを1つ出して」と追質問します。
結果は次でした。
Claude → Codex:
We are testing Claude Code calling Codex through MCP. In exactly two bullet points, say what can go wrong when two coding agents collaborate on one repository.
Codex:
- They can overwrite or conflict with each other's edits if they touch the same files without checking the current worktree state first.
- They can make incompatible assumptions about scope, tests, architecture, or ownership, leaving the repo with duplicated work, partial fixes, or inconsistent behavior.
Claude → Codex:
Given those risks, propose one safe operating rule in one sentence.
Codex:
Before editing, each agent must inspect the current worktree and coordinate ownership of the files it plans to modify.
exit=0ここで分かったのは、codex-replyを使うと、Codexが前ターンの文脈を踏まえて返答できることです。
これは実務上かなり重要です。Codexを「1回だけ答える外部ツール」ではなく、「Claude Codeが必要に応じて追質問する相手」として使えます。

議論できるか:「背景 vs. 経緯」で試す
最後に、文章上の論点でClaudeとCodexを議論させました。テーマは、技術文書で混ざりやすい「背景」と「経緯」の違いです。
まずCodexに定義を出させました。
Codex:
「背景」と「経緯」は分けるべきです。背景は判断に必要な静的条件、経緯はそこに至った時系列です。
例: ADRで「背景」は既存DBが書き込み集中で限界、SLOは99.9%など。
「経緯」はRedis案、CQRS案を検討し、負荷試験でRedis案を棄却した流れ。これに対して、Claude側で反論を入れました。
Claude:
「静的 vs 時系列」の区分は綺麗だが、背景自体が変化する事象も多い。
たとえば「競合の新規参入」は背景だが、静的条件とは言いにくい。
静的/時系列ではなく、文書内の機能で分けるべきではないか。
背景 = なぜ今この対応が必要か。
経緯 = 具体的にどう検討し、何が起きたか。その反論を同じCodexスレッドに戻すと、Codexは定義を修正しました。
Codex:
同意します。「静的/時系列」は目安で、本質は機能の違いです。
背景は判断の必要性と制約を説明し、経緯は検討・発生・対応の追跡性を担保する、という区別に修正できます。
実践ルール: 背景には「なぜ扱う必要があるか」を書く。経緯には「いつ、誰が、何を見て、どう判断・対応したか」を時系列で書く。
exit=0最終的には、次の区分に落ち着きました。
項目
書くこと
読者に提供する価値
背景
なぜ扱う必要があるか。動機、制約、前提、問題の重要性
判断の必要性が分かる
経緯
いつ、誰が、何を見て、どう判断・対応したか
判断や対応の追跡ができる
この検証で面白かったのは、Codexの最初の回答がそのまま最終解ではなかったことです。Codexはまず分かりやすい軸を出し、Claudeがその弱点を突き、Codexが実務で使えるルールに修正しました。
この流れは、コード実装よりも前の段階、たとえばADR、障害報告、設計文書、技術記事の用語整理で使いやすそうです。
Claude: 論点を設定する
Codex: たたき台を出す
Claude: 弱点を指摘する
Codex: 実践ルールに直す
Claude: 最終判断として統合する
途中で起きた失敗:クレジット不足の切り分け
最初のend-to-endテストでは、次のエラーが出ました。
Credit balance is too low
exit=1このとき、Codex側が失敗したのか、Claude Code側が失敗したのかを分ける必要があります。
切り分けは単純です。まずClaude Code単体を動かします。
claude -p 'Reply exactly CLAUDE_OK and nothing else.' --max-turns 1期待する出力は以下です。
CLAUDE_OK次にCodex単体を動かします。
codex exec --sandbox read-only --ask-for-approval never \
'Reply exactly CODEX_OK and nothing else.'期待する出力は以下です。
CODEX_OKさらにCodex MCP server単体でtools/listとtools/callを確認し、最後にClaude CodeからCodex MCP toolを呼びます。
失敗する場所
疑う対象
claude -p単体
Claude Code側の認証・契約・クレジット
codex exec単体
Codex側の認証・契約・クレジット
MCP tools/list
codex mcp-serverの起動・MCP protocol
MCP tools/call
Codex MCP serverからCodex sessionへの呼び出し
Claude → Codex MCPのみ
Claude CodeのMCP設定・tool許可・workspace trust・認証状態
今回の失敗では、Codex MCP toolの直接呼び出しは成功していました。一方で、Claude Codeのend-to-end実行だけがCredit balance is too lowで止まりました。その後、Claude Code側で再ログインしました。
claude auth logout
claude auth login --claudeai再ログイン後、Claude単体のCLAUDE_OKとClaude → Codex MCPのMCP_OKが通ったため、原因はClaude Code側の状態だったと判断しました。
実務での使いどころ
今回の検証から、Claude CodeとCodexの連携は次の用途に向いていると感じました。

- 実装前にリスクを洗い出す
- 別案やテスト観点を出す
- ADRや設計文書の論点を整理する
- 技術記事の用語定義を揉む
- Claude Codeの判断に対してセカンドオピニオンを取る
一方で、避けた方がよい使い方もあります。
- 同じworktreeをClaudeとCodexの両方に自由編集させる
- ファイル所有範囲を決めずに複数エージェントを走らせる
- Codexの回答を検証せず、そのまま採用する
最初の運用ルールは、Codex自身が出した次の一文で十分だと思います。
Before editing, each agent must inspect the current worktree and coordinate ownership of the files it plans to modify.日本語にすると、こうです。
編集前に、各エージェントは現在のworktreeを確認し、自分が変更するファイルの所有範囲を調整する。そのまま使えるセットアッププロンプト
別のチームや別の環境で試すなら、チェックリストよりも、Claude Codeにそのまま渡せるセットアッププロンプトにしておく方が再利用しやすいです。

あなたはClaude Code上で、Codex MCP serverとの疎通を検証する作業担当です。
目的:
Claude CodeからCodexをMCP経由で呼び出せるかを、段階的に確認してください。ファイル編集はしないでください。確認ログだけを出してください。
前提:
- Codex CLIは `codex` コマンドで利用できる想定です。
- Claude Code CLIは `claude` コマンドで利用できる想定です。
- destructiveな操作は禁止です。
- 既存ファイルの削除、依存追加、Git操作、DB変更はしないでください。
手順:
1. `claude --version` と `codex --version` を確認してください。
2. `codex login status` と `claude auth status` を確認してください。
3. `codex mcp-server` がMCP serverとして起動できるか確認してください。
4. Claude CodeにCodex MCP serverを登録するための設定例を作ってください。
5. `claude mcp add/list/get` で登録状態を確認するコマンドを提示してください。
6. `MCP_OK` を返させる最小end-to-endテストを実行してください。
7. 可能なら `codex-reply` を使い、同じCodex threadに追質問できるか確認してください。
8. 失敗した場合は、Claude単体、Codex単体、MCP server単体、Claude→Codex end-to-endのどこで失敗しているかを切り分けてください。
成功条件:
- Codex MCP serverが `codex` と `codex-reply` toolを公開していること。
- Claude CodeからCodexへ問い合わせ、Codexが `MCP_OK` を返すこと。
- Claude Codeがその結果を読み取り、成功として報告すること。
- 失敗した場合は、失敗箇所と次に確認すべきコマンドが分かること。
出力形式:
次の見出しで簡潔に報告してください。
## 実行環境
## MCP登録状態
## 最小疎通テスト
## codex-reply追質問テスト
## 失敗時の切り分け
## 次に安全に使うための運用ルール
運用ルールには必ず次を含めてください。
「編集前に、各エージェントは現在のworktreeを確認し、自分が変更するファイルの所有範囲を調整する。」まとめ
Claude CodeからCodexをMCPで呼ぶと、次のことができました。

- codex mcp-serverをMCP serverとして登録する
- Claude CodeからCodexへ単発で問い合わせる
- codex-replyで同じCodexスレッドに追質問する
- Claudeが反論し、Codexが修正する形で短い議論を進める
ただし、これは「2つのエージェントに何でも任せてよい」という意味ではありません。むしろ、Claude Codeを主導役にし、Codexをレビュー・別案・用語整理の相談相手として使う方が安全です。
MCP接続の成功条件は、✔ Connectedを見るだけでは足りません。最低でも、Codex MCP server単体、Codex tool直接呼び出し、Claude Codeからのend-to-end呼び出しを分けて確認した方がよいです。
エンジニアを募集しています!
ここまで読んでいただきありがとうございました!
Algomatic では、「AI革命で人々を幸せにする」をミッションに、変化の速い領域でも 学びや試行錯誤を続けられる エンジニアを募集しています。
もし少しでもご興味をお持ちいただけましたら、カジュアル面談に足を運んでいただけるとうれしいです!
参考
- Claude Code MCP docs
- Claude Code CLI reference
- OpenAI Codex MCP docs
- OpenAI Codex CLI reference
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み