Codex CLI 設定&活用ガイド|config.toml・MCP・AGENTS.mdで「運用できる形」に固める

Codex CLI 設定&活用大全 ~ 逆引き辞書+MCP設定ガイド 〜 AI
この記事は約12分で読めます。
  1. はじめに:Codex CLIを「毎日使える道具」にする
  2. 1. 設定の全体像(まず何を決める?)
    1. 設定の4層構造
  3. 2. config.toml の基本(場所・優先順位)
    1. 2-1. 設定ファイルの場所
    2. 2-2. 設定値の優先順位(超重要)
  4. 3. 事故らない初期設定(おすすめテンプレート)
    1. おすすめ初期設定テンプレート
    2. 各設定項目の解説
      1. approval_policy(承認ポリシー)
      2. sandbox_mode(サンドボックスモード)
      3. shell_environment_policy(環境変数ポリシー)
      4. features(機能フラグ)
  5. 4. profile運用(用途別に設定を分離する)
    1. おすすめprofile構成(3種類)
    2. 設定例
    3. profileの使い方
    4. 運用上の注意点
  6. 5. AGENTS.md:プロジェクトの暗黙知を固定化
    1. 5-1. AGENTS.mdの置き場所
    2. 5-2. 最小テンプレート(コピペOK)
    3. 5-3. 各セクションの解説
      1. How to run(実行方法)
      2. Rules(ルール)
      3. Areas to avoid(触ってはいけない領域)
    4. 5-4. 運用のコツ
  7. 6. Custom Prompts:繰り返し作業をコマンド化
    1. 6-1. 置き場所の作成
    2. 6-2. プロンプトファイルの作成例
    3. 6-3. 呼び出し方
    4. 6-4. 作っておくと便利なプロンプト例
  8. 7. MCP:外部ツール連携の導入と設計
    1. 7-1. MCPツールの追加方法
    2. 7-2. 利用可能なツールの確認
    3. 7-3. MCP設計のベストプラクティス
      1. 原則1:まずは「読む系」から
      2. 原則2:「書く系」は承認フローを固めてから
      3. 原則3:1〜2個から始める
  9. 8. Web検索・ネットワーク許可の扱い方
    1. 推奨運用:「必要なときだけON」
    2. 設定例(一時的にONにする場合)
    3. 運用パターン
  10. 9. トラブルシューティング
    1. 9-1. config.toml を書き換えたのに反映されない
    2. 9-2. 強めの設定(fast profile)にしたいのに禁止される
    3. 9-3. MCPツールが認識されない
  11. 10. 仕上げチェックリスト
    1. 基本設定
    2. プロジェクト設定
    3. 外部連携
    4. 運用習慣
  12. まとめ
    1. ポイントの振り返り
  13. 参考リンク

はじめに:Codex CLIを「毎日使える道具」にする

前回の記事「Codex CLI 機能 逆引き辞典」では、コマンドの使い方を「やりたいこと」から引ける形でまとめました。

この記事では、その次のステップとして、Codex CLIを「安全に・再現性高く・迷わず」運用するための設定を解説します。

設定をしっかり固めることで、「便利だけど怖い」が「便利で安心」に変わります。config.toml、profile、AGENTS.md、Custom Prompts、MCPまで、順を追って見ていきましょう。


1. 設定の全体像(まず何を決める?)

Codex CLIの設定は、4つの層で考えると整理しやすくなります。

設定の4層構造

  1. 基礎設定:モデル、承認ポリシー(approvals)、サンドボックス
  2. 運用分離:profile(用途別に設定を切り替える)
  3. プロジェクト知識:AGENTS.md(暗黙知をCodexに渡す)
  4. 繰り返し作業:Custom Prompts(定型作業をコマンド化)

さらに必要に応じて、MCP(外部ツール連携)を追加します。

この順番で整えていくと、段階的に「使いこなせている感」が増していきます。焦らず、一つずつ固めていきましょう。


2. config.toml の基本(場所・優先順位)

2-1. 設定ファイルの場所

Codex CLIの設定ファイルは、以下の場所に配置します。

~/.codex/config.toml

ホームディレクトリの .codex フォルダ内に config.toml を作成します。フォルダがなければ作成してください。

2-2. 設定値の優先順位(超重要)

「設定を書き換えたのに反映されない」というトラブルの99%は優先順位の問題です。設定値は以下の順番で決まります。

  1. CLIフラグ(例:--model gpt-5
  2. --profile <name> で指定したprofile内の値
  3. config.toml のルート値
  4. 組み込みの既定値

上にあるものほど優先度が高く、下を上書きします。つまり、config.tomlを編集しても、CLIフラグやprofile指定で上書きされていれば反映されません。

「設定が効かない」と思ったら、まずはCLIフラグやprofile指定を確認しましょう。


3. 事故らない初期設定(おすすめテンプレート)

最初は「安全寄り」の設定から始めることを強くおすすめします。慣れてきたらprofileで段階的に強くしていけばOKです。

おすすめ初期設定テンプレート

# ~/.codex/config.toml

# 使用するモデル
model = "gpt-5.2"

# 承認ポリシー:操作の前に確認を挟む
approval_policy = "on-request"

# サンドボックス:作業ディレクトリ内への書き込みのみ許可
sandbox_mode = "workspace-write"

# 子プロセスに渡す環境変数を制限(秘密情報の混入を防ぐ)
[shell_environment_policy]
include_only = ["PATH", "HOME"]

# 便利機能は最初は慎重に
[features]
shell_snapshot = true
web_search_request = false

各設定項目の解説

approval_policy(承認ポリシー)

Codexがファイル操作やコマンド実行を行う際の確認レベルを設定します。

  • on-request:操作の前に確認を求める(推奨)
  • never:確認なしで自動実行(上級者向け)

最初は必ず on-request にしておきましょう。

sandbox_mode(サンドボックスモード)

Codexがアクセスできる範囲を制限します。

  • workspace-write:作業ディレクトリ内のみ書き込み可能(推奨)
  • read-only:読み取りのみ(変更不可)
  • full:制限なし(危険)

workspace-write から始めて、必要に応じて調整するのが安全です。

shell_environment_policy(環境変数ポリシー)

Codexが実行するコマンドに渡される環境変数を制限します。include_only で必要最小限の変数だけを許可することで、APIキーなどの秘密情報が意図せず漏れるリスクを減らせます。

features(機能フラグ)

Web検索やスナップショットなどの追加機能のON/OFFを制御します。最初は web_search_request = false にしておき、必要になってから有効にするのがおすすめです。


4. profile運用(用途別に設定を分離する)

「普段は慎重に、必要なときだけ強めに」を実現するのがprofile機能です。用途別にプリセットを作っておくと、運用が安定します。

おすすめprofile構成(3種類)

  1. default:安全寄り(普段使い)
  2. fast:高速化(雑務を素早く片付けたいとき)
  3. readonly:読み取り専用(設計相談・調査用)

設定例

# ~/.codex/config.toml

# ルート設定(普段使い・安全寄り)
model = "gpt-5.2"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

# 高速化profile(確認を省略)
[profiles.fast]
approval_policy = "never"
sandbox_mode = "workspace-write"

# 読み取り専用profile(相談モード)
[profiles.readonly]
approval_policy = "on-request"
sandbox_mode = "read-only"

profileの使い方

# 読み取り専用モードで起動(設計相談に)
codex --profile readonly

# 高速モードで起動(雑務処理に)
codex --profile fast

運用上の注意点

組織管理のPCやセキュリティポリシーが厳しい環境では、「強い設定」が禁止されている場合があります。その場合は以下の対応を検討してください。

  • fast profileを作らない
  • sandbox_modeworkspace-write 限定で運用
  • どうしても必要な操作は ! で明示的に実行(ログが残る)

5. AGENTS.md:プロジェクトの暗黙知を固定化

毎回Codexに説明していること(テストの実行方法、コーディング規約、触ってはいけないファイル)を、AGENTS.mdに書いて「常識化」しましょう。これだけで回答のブレが大幅に減ります。

5-1. AGENTS.mdの置き場所

リポジトリのルートディレクトリに AGENTS.md という名前で配置します。Codexはこのファイルを自動的に読み込み、プロジェクトのコンテキストとして活用します。

5-2. 最小テンプレート(コピペOK)

まずは以下の最小構成から始めてみてください。

# AGENTS.md

## How to run
- Install:
  - npm ci
- Test:
  - npm test
- Lint/Format:
  - npm run lint
  - npm run format

## Rules
- Keep changes minimal and focused.
- Prefer existing patterns in this repo.
- Do not modify generated files unless explicitly requested.
- If unsure, propose a plan before editing.

## Areas to avoid
- /vendor
- /dist
- Anything marked as generated

5-3. 各セクションの解説

How to run(実行方法)

インストール、テスト、リント/フォーマットの実行コマンドを記載します。Codexが「テストを実行して」と言われたとき、正しいコマンドを使えるようになります。

Rules(ルール)

コーディング時に守ってほしいルールを記載します。「変更は最小限に」「既存パターンを優先」「迷ったら提案してから編集」など、チームの暗黙知を明文化しましょう。

Areas to avoid(触ってはいけない領域)

自動生成ファイルやサードパーティのコードなど、編集してほしくないディレクトリを指定します。

5-4. 運用のコツ

  • まずは「テスト手順」と「触るな領域」だけでも十分効果あり
  • 徐々に追加:命名規則、例外処理方針、ログ出力ルール、セキュリティ基準など
  • チームで共有すると、「Codex経由の変更品質」が安定する

6. Custom Prompts:繰り返し作業をコマンド化

PR本文の作成、コミットメッセージ、変更ログの生成…こうした「定型作業」ほど、プロンプト化すると作業が速く&安定します。

6-1. 置き場所の作成

mkdir -p ~/.codex/prompts

6-2. プロンプトファイルの作成例

例として、PR(プルリクエスト)の下書きを生成するプロンプトを作ってみましょう。

ファイル:~/.codex/prompts/draftpr.md

---
description: Draft a PR description in our style
---

Please draft a PR description with:
- Summary
- Motivation
- Changes
- Test plan
- Risks & rollout
- Screenshots (if UI)

Use short bullet points. Keep it concise.

6-3. 呼び出し方

対話セッション内で以下のように呼び出せます(環境やバージョンにより仕様が異なる場合があります)。

/prompts:draftpr

6-4. 作っておくと便利なプロンプト例

  • draftpr:PR本文の下書き
  • changelog:変更ログの生成
  • reviewcheck:レビュー観点チェックリスト
  • commit:コミットメッセージの提案
  • bugfix:バグ修正時の確認項目

チームで使うプロンプトは、リポジトリ内の共有ディレクトリに置いておくと、全員で同じ品質の出力を得られます。


7. MCP:外部ツール連携の導入と設計

MCP(Model Context Protocol)は、Codexに「外部の手足」を生やす仕組みです。ドキュメント検索、データベース参照、社内API連携など、様々なツールを会話の中から呼び出せるようになります。

7-1. MCPツールの追加方法

例として、Context7(ドキュメント検索ツール)を追加する場合は以下のようにします。

codex mcp add context7 -- npx -y @upstash/context7-mcp

7-2. 利用可能なツールの確認

対話セッション内で、現在使えるMCPツールを確認できます。

/mcp

このコマンドで、登録されているツールの一覧と、それぞれの機能が表示されます。

7-3. MCP設計のベストプラクティス

MCPは便利ですが、いきなり増やしすぎると逆効果です。以下の原則に従って、段階的に導入しましょう。

原則1:まずは「読む系」から

最初に導入するのは、以下のような「読み取り専用」のツールがおすすめです。

  • ドキュメント検索
  • ナレッジベース参照
  • コード検索

原則2:「書く系」は承認フローを固めてから

以下のような「変更を伴う」ツールは、承認フローを確立してから導入しましょう。

  • データベース更新
  • チケット作成
  • ファイル操作

原則3:1〜2個から始める

ツールが多すぎると、Codexが「どれを使うべきか」迷い、かえって遅くなることがあります。必要なものだけ厳選して追加しましょう。


8. Web検索・ネットワーク許可の扱い方

Codexは環境によって、Web検索がデフォルトでオフになっていたり、ネットワークアクセスが制限されていたりします。

推奨運用:「必要なときだけON」

セキュリティと再現性を考慮すると、普段はOFF、必要なときだけONにする運用がおすすめです。

設定例(一時的にONにする場合)

# ~/.codex/config.toml

[features]
web_search_request = true

[sandbox_workspace_write]
network_access = true

運用パターン

  • 普段:OFF(安全性と再現性を確保)
  • 仕様確認・最新情報が必要なとき:一時的にON

Web検索をONにすると、最新のドキュメントやAPIリファレンスを参照できて便利ですが、結果の再現性が下がるデメリットもあります。用途に応じて使い分けましょう。


9. トラブルシューティング

9-1. config.toml を書き換えたのに反映されない

以下の順番でチェックしてください。

  1. CLIフラグで上書きしていないか?(例:--model
  2. --profile を使っていないか?(profile側の値が優先される)
  3. config.toml の場所は正しいか?~/.codex/config.toml

設定の優先順位は「CLIフラグ > profile > config.toml > 既定値」です。上位で上書きされていると、config.toml の変更は反映されません。

9-2. 強めの設定(fast profile)にしたいのに禁止される

組織のセキュリティポリシー(requirements)により、危険な設定がブロックされている可能性があります。

対処法:

  • fast profile を諦め、Auto/confirm運用で回す
  • sandbox_modeworkspace-write 限定にして安全性を担保
  • どうしても必要な操作は ! で明示的に実行(ログが残る)

9-3. MCPツールが認識されない

以下を確認してください。

  • codex mcp add コマンドが正常に完了したか
  • /mcp コマンドでツール一覧に表示されるか
  • ツールの実行に必要な依存関係(npm、Pythonパッケージなど)がインストールされているか

10. 仕上げチェックリスト

以下のチェックリストを完了すれば、Codex CLIの「運用基盤」は完成です。

基本設定

  • ~/.codex/config.toml を作成した(安全寄りの設定)
  • readonly / fast profile を用意した(必要に応じて)

プロジェクト設定

  • ☐ リポジトリに AGENTS.md を配置した(最低限、テスト手順と禁止区域)
  • ☐ よく使う作業を Custom Prompt 化した(PR下書き、CHANGELOGなど)

外部連携

  • ☐ MCP は 1〜2 個から導入した(読む系から始める)
  • ☐ Web検索・ネットワーク許可は「必要時のみON」の方針を決めた

運用習慣

  • ☐ 変更は必ず /diff で確認してから自分でコミットする
  • ☐ 迷ったら /compact/new でリセットする習慣をつけた

まとめ

この記事では、Codex CLIを「毎日使える道具」にするための設定と運用方法を解説しました。

ポイントの振り返り

  1. config.toml:安全寄りの初期設定から始める
  2. profile:用途別に設定を分離して切り替える
  3. AGENTS.md:プロジェクトの暗黙知を固定化する
  4. Custom Prompts:定型作業をコマンド化して効率化
  5. MCP:外部ツール連携は「読む系」から段階的に

設定を一度しっかり固めてしまえば、あとは安心してCodex CLIを使い倒せます。「便利だけど怖い」を「便利で安心」に変えて、開発効率を最大化しましょう。


参考リンク

コメント

タイトルとURLをコピーしました