Claude Code를 쓰다 보면 가끔 다른 모델의 의견이 궁금할 때가 있습니다. 이 구현을 Codex한테 한 번 더 검증받아 보고 싶다는 생각이 드는 순간이 있거든요. 실제로 리서치해 보니 Claude Code 안에서 OpenAI Codex를 호출하는 방법이 여러 가지 있었고, 이 글에서 직접 정리한 4가지 방법을 비교합니다. 결론부터 말하면 가장 간단하면서도 강력한 것은 Codex 내장 MCP 서버 방식(codex mcp-server)입니다.
방법 한눈에 보기
| 방법 | 난이도 | 핵심 |
|---|---|---|
| Codex 내장 MCP 서버 | 쉬움 | codex mcp-server stdio 연결 |
| 커뮤니티 MCP 래퍼 | 쉬움 | npx 원클릭 설치 |
| Custom Slash Command | 쉬움 | 단방향 CLI 호출 |
| agent-mux | 중간 | 멀티엔진 orchestrator |
아래에서 하나씩 살펴봅니다.
가장 추천하는 방법은 Codex 내장 MCP 서버입니다
Codex CLI에는 codex mcp-server라는 내장 MCP 서버가 포함되어 있습니다. stdio 방식으로 Claude Code에 직접 연결할 수 있어서 별도 서버를 띄울 필요가 없습니다.
# Codex CLI 설치 및 인증npm install -g @openai/codexcodex login
# Claude Code에 MCP 서버 등록claude mcp add --transport stdio --scope user codex -- codex mcp-server이렇게 하면 Claude Code 안에 두 개의 MCP 도구가 생깁니다.
codex— 새 Codex 세션을 시작합니다. prompt, approval-policy, sandbox, model 파라미터를 지정할 수 있습니다.codex-reply—threadId로 기존 세션을 이어갑니다. 대화형 컨텍스트가 유지되므로 후속 질문도 가능합니다.
등록이 잘 됐는지는 claude mcp list로 확인합니다. codex: codex mcp-server - Connected가 보이면 성공입니다.
파라미터 중에서는 approval-policy가 꽤 중요합니다. untrusted, on-request, on-failure, never 중에서 선택할 수 있는데, 자동화 pipeline에서는 never로 설정하면 Codex가 별도 승인 없이 작업을 수행합니다.
세션 관리가 필요하면 커뮤니티 MCP 래퍼
공식 내장 서버가 부족하다고 느낀다면 커뮤니티에서 만든 MCP 래퍼도 있습니다.
claude mcp add codex-cli -- npx -y codex-mcp-server이 래퍼는 세션 관리, 모델 선택, resume 기능 같은 추가 기능을 제공하고, npm 패키지라서 설치도 간단합니다. agency-ai-solutions/openai-codex-mcp 같은 프로젝트는 write_code, explain_code, review_code 같은 특화 메서드도 제공하더라고요.
다만 서드파티인 만큼 업데이트 주기나 모델 지원 범위는 확인하고 쓰는 것이 좋습니다.
단순하게 쓰고 싶으면 Custom Slash Command
MCP 서버까지는 필요 없고 특정 작업만 Codex에 맡기고 싶다면 slash command가 적합합니다.
---description: "Generate code using OpenAI Codex CLI"---codex write --language $2 --task "$3" --model o4-mini---description: "Get code explanations from Codex CLI"---codex explain @$1 --focus "$2" --detail comprehensiveClaude Code에서 /codex-write python "피보나치 수열 생성 함수" 처럼 호출하면 됩니다.
단점도 명확합니다. Claude와의 양방향 상호작용이 안 되거든요. Codex의 출력이 Claude의 컨텍스트로 돌아오긴 하지만, Claude가 Codex 결과를 보고 후속 질문을 던지는 흐름은 만들기 어렵습니다. 단발성 작업에 적합한 방식입니다.
여러 엔진을 통째로 orchestration하려면 agent-mux
agent-mux는 Claude, Codex, OpenCode 등 여러 AI 엔진을 하나의 CLI로 통합하는 orchestrator입니다.
# Codex로 정밀 코드 변경agent-mux --engine codex --reasoning high --effort high \ "Refactor auth module in src/auth/"
# Claude로 아키텍처 설계agent-mux --engine claude --effort high \ "Design the rollback strategy for the payments migration"핵심은 Claude Code의 subagent 시스템과 결합할 수 있다는 점입니다. Claude가 아키텍처 설계를 하고, 실제 코드 변경은 Codex에 위임하고, 또 다른 Claude가 리뷰하는 pipeline을 구성할 수 있습니다.
결국 엔진별 강점을 태스크에 맞게 routing하는 구조입니다. Claude Opus는 설계와 추론에 강하고 Codex는 정밀한 코드 변경에 강하니, 각자 잘하는 일을 맡기는 것이죠. agent-mux의 GSD(Get Shit Done) coordinator는 각 태스크에 엔진뿐 아니라 적절한 skill과 MCP 서버까지 자동으로 주입합니다.
# Codex 안에서 Claude를 coordinator로 실행agent-mux --engine codex --coordinator get-shit-done-agent \ --effort xhigh --full \ "Migrate the auth module to the new API, test everything, audit the result"다만 설정 복잡도가 올라가고, agent-mux 자체가 아직 초기 단계라는 점은 감안해야 합니다.
실용적인 적용 포인트
리서치하면서 정리한 usecase는 크게 세 가지입니다.
세컨드 오피니언 — Claude가 작성한 코드를 Codex에 리뷰 요청하거나, 그 반대도 가능합니다. 두 모델의 관점이 다르기 때문에 한쪽이 놓치는 부분을 잡아낼 수 있습니다.
강점 기반 routing — 아키텍처 설계와 문서 작성은 Claude Opus에, 정밀 코드 변경과 디버깅은 Codex에 맡기는 패턴입니다. MCP 서버를 통해 자연스럽게 위임이 이뤄집니다.
대규모 refactoring — Codex의 넓은 컨텍스트 윈도우로 monorepo 전체를 파악한 뒤, Claude로 세부 구현을 진행하는 방식도 가능합니다.
제약사항과 주의할 점
당연히 제약도 있습니다.
비용 이중 발생 — Claude API와 OpenAI API를 동시에 사용하므로 비용이 두 배 가까이 들 수 있습니다. 모든 작업에 양쪽 모델을 쓸 필요는 없고, 가치가 큰 작업에만 선별적으로 사용하는 것이 현실적입니다.
인증 분리 — Codex는 ChatGPT 구독 또는 OpenAI API 키가 별도로 필요합니다. codex login으로 ChatGPT 계정 인증을 해두면 편합니다.
컨텍스트 단절 — MCP를 통한 호출이라 Claude의 전체 컨텍스트가 Codex로 전달되지 않습니다. 프롬프트로 명시한 내용만 넘어가거든요. 중요한 맥락은 프롬프트에 충분히 담아야 합니다.
실험적 상태 — codex mcp-server에는 아직 experimental 태그가 붙어 있습니다. API 변경 가능성은 염두에 두는 것이 좋습니다.
시작은 두 줄이면 됩니다
저는 내장 MCP 서버 방식으로 시작했습니다. 필요한 명령은 딱 두 줄입니다.
npm install -g @openai/codex && codex loginclaude mcp add --transport stdio --scope user codex -- codex mcp-server이후 Claude Code에서 “Codex로 이 함수 리뷰해줘” 같은 자연어 요청을 하면 Claude가 자동으로 Codex MCP 도구를 호출합니다. 사용 패턴이 잡히면 slash command로 자주 쓰는 흐름을 래핑하고, 더 복잡한 orchestration이 필요해지는 시점에 agent-mux를 검토하는 순서가 자연스럽습니다.