🚢

Codex CLIにClaude Codeから手軽に設定を移行する方法

に公開

Codex CLIにClaude Codeからの設定移行

Codex CLI、GPT5の登場とClaude Codeがアホになっているかも(?)ということで人気ですね。

私も気になっていたのですが、Claude Codeの設定を移行するのが面倒だったので手を出さないままでした。そんな中、我慢できずついに設定を移行したので手順を簡単に残しておきます。

コマンドはコピペしやすいように最初の$は省略しています。

Codex CLIのセットアップ

まずはCodex CLIのセットアップですね。Claude Codeをセットアップしているなら、以下コマンドでインストールできると思います。

$ npm install -g @openai/codex

起動したら、ChatGPTにサインインしましょう。有料プラン(Plus, Pro, Team)に入っている必要があります。

MCPサーバを追加

何はなくとも、重要な(個人の見解です)MCPサーバの設定です。Codex CLIは、他の多くのMCPホストで使われているJSONでなく、~/.codex/config.tomlというファイルにTOML形式でMCPサーバの設定を保存しています。本当、変なところで個性出さないで欲しいです。わざわざTOML形式で書き直すのは大変なので、ツールで移行しましょう。

複数AIエージェントのMCPサーバの設定を一元管理できるmmcpというソフトがあります。mmcpという独自形式から、各種のAIエージェントのMCPサーバ設定を一括で実施できるので、このソフトを活用することにします。

ただ、Claude Codeからmmcp形式に変換する必要あるため、そこに関しては自分でツールを作りました(ccmcpという自作のClaude CodeのMCPサーバ管理ツールに、変換機能を加えました)。

なので、以下の2ステップでCodexにMCPサーバを設定します(すでにClaude CodeのMCPサーバ設定済みの人は、1ステップ目は飛ばして2ステップ目のみを実行してもOKです)。

  1. Claude CodeにMCPサーバを設定
  2. Claude CodeのMCPサーバ設定をmmcpとccmcpを使って移行

Claude CodeにMCPサーバを設定

以下記事を参考にしてください。

https://zenn.dev/karaage0703/articles/3bd2957807f311

https://zenn.dev/karaage0703/articles/877f522cece23c

MCPサーバは、この後の移行のためにuserスコープで設定してください。以下は、userスコープでのMCPサーバの設定例です。

claude mcp add markitdown -s user -- uvx markitdown-mcp
claude mcp add arxiv-mcp-server -s user -- uvx arxiv-mcp-server
claude mcp add context7 -s user -- npx -y @upstash/context7-mcp

あとは、Google AI StudioでのGemini APIの取得だけ必要ですが、gemini-google-searchは設定しておくのがおすすめです(<your-api-key-here>だけ書き換えてください)。

claude mcp add gemini-google-search -s user -e GEMINI_API_KEY=<your-api-key-here> GEMINI_MODEL=gemini-2.5-flash -- npx mcp-gemini-google-search

SuperClaudeでは以下コマンドでデフォルトでuserスコープでMCPサーバがセットアップされます。

uvx SuperClaude install

Claude CodeのMCPサーバ設定をmmcpとccmcpを使って移行

Claude CodeのMCPサーバを設定した後、以下コマンドを実行すると、設定を移行できます。

npm install -g ccmcp
npm install -g mmcp
ccmcp export-to-mmcp
mmcp agents add codex-cli
mmcp apply

それぞれのコマンドの意味や実施している内容を知りたい場合は、mmcpccmcpのREADMEを参照ください。

実行した後、Codex CLIを起動して/mcpコマンドを実行すると、MCPサーバがセットアップできたかを確認できます。

スラッシュコマンド移行

続いてスラッシュコマンドの移行です。Codex CLIは~/.codex/promptsにマークダウンファイルを置くと、(多分)非公式ですがスラッシュコマンドに対応できます。

Claude Codeは、~/.claude/commands以下にスラッシュコマンドが置かれるので、以下のコマンドでコピーすればOKです。

mkdir -p ~/.codex/prompts
cp -r ~/.claude/commands/* ~/.codex/prompts

Claude Codeは~/.claude/commands以下に、例えばscというサブディレクトリを作ると、/sc:<command>みたいなスラッシュコマンドを使えますが、現状Codex CLIでは使えないので、サブディレクトリ以下のマークダウンファイルは、~/.claude/commands直下に移動するようにしてください。SuperClaudeのスラッシュコマンドは~/.claude/commands/sc以下に格納されています。

通知設定

~/.codex/config.tomlの冒頭に以下の行を追加することで、通知音を設定できます(ここは手動です)。

notify = ["bash", "-lc", "afplay /System/Library/Sounds/Glass.aiff"]

まとめ

Codex CLIにClaude Codeから設定を移行する方法を紹介しました。今回はClaude CodeからCodex CLIへの移行でしたが、特にMCPサーバの移行は、Gemini CLI等への移行にも応用できるかと思います。

手間はありましたが、Claude Code独自の機能は、なるべく使わないようにしていたので、Codex CLIも同じように使うことができています。AIエージェントの独自機能は、強力なことも多いですが、他のAIエージェントに乗り換えたいときに困ってしまうので、各ベンダーが切磋琢磨している今は、多くのAIエージェントが採用しているデファクトの機能以外は、あんまり手を出さないほうがよいかも、と個人的には思ったりしています。

そういう意味では、MCPはオープンな規格で、多くのAIエージェントが対応しているので(個人的には)おすすめです。MCP開発について書いたこちらの書籍も是非(自書の宣伝です)。

https://karaage.hatenadiary.jp/entry/python-mcp-book

参考リンク

https://zenn.dev/dely_jp/articles/codex-cli-matome

https://zenn.dev/kou_pg_0131/articles/mmcp-introduction

https://blog.lai.so/codex-rs-intro/

関連記事

https://zenn.dev/karaage0703/articles/93e469b342d012

Discussion