はじめに
最近はコード生成の分野で Claude Code が注目されていますが、私は ChatGPT-5 のリリースをきっかけに Codex CLI を使う機会が増えました。
ただし Codex CLI には、似たファイルを繰り返し生成してしまうなど、複雑なコード構造や文脈の把握が苦手という弱点があり、正直 Claude Code に劣ると感じる部分がありました。
その弱点を補う方法はないかと調べたところ、「Serena」 という MCP サーバーにたどり着いたため、Codex CLI により賢くなってもらおうと思います👨💻
Serena のセットアップ
一言でまとめると、「AIにプロジェクトコードを深く理解させるための通訳者」 です。
以下の記事が参考になりました!
必要なもの
- Codex CLI
- uv(Python パッケージマネージャー)
手順
Codex CLI と連携する方法は公式 GitHub に記載されているため、基本的にはそれに沿って進めれば問題ありません。
1. Serena の起動方法
Serena を Codex CLI と連携させるには2パターンあります。
(1) 手動で起動する方法
uvx --from git+https://github.com/oraios/serena serena start-mcp-server --context codex
(2) Codex CLI から自動で起動する方法(推奨)~/.codex/config.toml
にMCPサーバーの接続設定を記述します。
この記述により、Codex 起動時に自動で Serena も起動するようになります。
[mcp_servers.serena]
command = "uvx"
args = ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "codex"]
2. プロジェクトをアクティブ化
Codex を起動し、以下のプロンプトを実行してプロジェクトをアクティブ化します。
これにより .serena/ ディレクトリが作成されます。
このディレクトリには Serena が生成するインデックスや要約ファイルが格納され、各プロジェクトごとに最初の1回だけ必要です。
Activate the current dir as project using serena
これで、Codex CLI と Serena の連携が完了しました 👏
動作確認
続いて Codex CLI が Serena と接続されているか確認してみます
-
Codex CLI を起動
同時に Serena もブラウザで開き、このタイミングでインデックスの準備などが始まります。
ここで Codex CLI ↔︎ Serena 間のやり取りがログとして確認できます。 -
初期ログの確認
最初に表示されるログは以下のような内容です。- Serena が MCP サーバーとして起動
- 提供するツール群を初期化
- Codex CLI がツール一覧を問い合わせ
このログが出ていれば「Serena と Codex CLI の接続は成功している」と見て問題ありません ✅
-
コマンド実行時のログ
Codex 上で指示を出すと、さらにログが追記されていきます。
(例:package.json
をを見つけたときのログ)
補足:Codex 側の既知バグについて
前述した通り、Codex CLI 上では、Serena が正常に動作していても以下のように tool failed
と表示されることがありますが、Serena の処理自体は正常に完了しています。
チームで導入する場合のポイント
Serena はローカルで動作するMCPサーバーのため、各メンバーが自分の環境で設定を行う必要があります。
特に ~/.codex/config.toml
はユーザーごとに存在するため、共通のリポジトリに含めることはできません。
また .serena/
ディレクトリの生成タイミングもバラバラになり、開発途中のファイルやローカル専用の設定まで含まれるため、Git 管理には含めず .gitignore
に追加しておくのがオススメかと思います。
まとめと所感
今回、Codex CLI と Serena を連携させる方法を紹介しました。
実際に私のケースでは、以前は「〇〇な処理を実装してください」と指示すると、既に存在するリレーションを見落として新しいリレーションを作成してしまい、同じものが2つできてしまうことがありました。
Serena を接続してからは、既存のコードやスキーマを把握できているためか、こうした重複はほとんど起きなくなりました。
Serena を入れてから、プロジェクトを理解した上で回答してくれる という大きな安心感ができ、Codex が「プロジェクトに詳しい相棒」になった感覚があります 🚀
Views: 0