こんにちは、とまだです。
Codex CLIを使い始めたけど「MCPサーバの設定方法がわからない」と困っていませんか?
実は、MCPサーバを設定すると、Codex CLIがさまざまな外部ツールと連携できるようになり、開発効率がアップします。
今回は、初心者でも迷わずMCPサーバを設定できるよう、基本から応用まで丁寧に解説していきます。
忙しい人のために要約
- MCPサーバはCodex CLIと外部ツールをつなぐ橋渡し役
- 設定は
config.toml
に数行追加するだけ - CLIコマンドなら
codex mcp add
で簡単設定 - 複数のMCPサーバを同時に使うことも可能
MCPサーバとは?AIの能力を拡張する仕組み
MCPは「Model Context Protocol」の略です。
難しそうに聞こえるかもしれませんが、実はとてもシンプルな概念です。
身近な例で理解するMCP
スマートフォンのアプリを思い浮かべてください。
スマホ本体だけでもいろいろなことができますが、アプリをインストールすることで、さらに多くのことができるようになりますよね。
- カメラアプリで写真を編集
- 地図アプリでナビゲーション
- 音楽アプリで曲を再生
MCPサーバも同じような役割を果たします。
Codex CLI(スマホ本体)に、MCPサーバ(アプリ)を追加することで、新しい機能が使えるようになるのです。
MCPサーバで何ができる?
具体的には、こんなことが可能になります。
ドキュメント検索系
- 最新のReact、Next.jsドキュメントを自動取得
- npmパッケージの情報を検索
- APIドキュメントの参照
ブラウザ操作系
- Webページの自動テスト
- スクリーンショット撮影
- フォームの自動入力
データベース系
- Supabaseのデータ操作
- PostgreSQLクエリ実行
- データのバックアップ
開発ツール系
- GitHubのissue管理
- Slackへの通知
- Dockerコンテナの操作
これらすべてが、Codex CLIから自然言語で操作できるようになるのです。
Codex CLIのMCP設定ファイルを理解する
config.tomlの場所と役割
MCPサーバの設定はconfig.toml
というファイルで管理します。
このファイルは以下の場所にあります。
~/.codex/config.toml
~
はホームディレクトリを表すので、実際のパスは以下のようになります。
- Mac/Linux:
/Users/あなたのユーザー名/.codex/config.toml
- Windows:
C:\Users\あなたのユーザー名\.codex\config.toml
ファイルが存在しない場合
初めてMCPサーバを設定する場合、このファイルはまだ存在しないかもしれません。
その場合は、以下のコマンドで作成できます。
mkdir -p ~/.codex
touch ~/.codex/config.toml
設定方法1:config.tomlを直接編集する
基本的な設定構造
MCPサーバの設定は、以下の基本構造に従います。
[mcp_servers.サーバー名]
command = "実行するコマンド"
args = ["引数1", "引数2", "引数3"]
各項目の意味を説明します。
-
mcp_servers.サーバー名
: 任意の名前を付けられます -
command
: MCPサーバを起動するコマンド -
args
: コマンドに渡す引数(配列形式)
実際の設定例
いくつかの代表的なMCPサーバの設定例を見てみましょう。
ドキュメント検索(Context7)
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
ブラウザ自動化(Playwright)
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
ファイルシステム操作
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem"]
環境変数やオプションの設定
APIキーなどの機密情報が必要な場合は、環境変数を設定できます。
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { "GITHUB_TOKEN" = "your-github-token" }
タイムアウト時間を調整することも可能です。
[mcp_servers.slowserver]
command = "npx"
args = ["slow-mcp-server"]
startup_timeout_ms = 30000 # 30秒に設定
設定方法2:CLIコマンドで簡単設定
codex mcp addコマンドの基本
config.toml
を直接編集する代わりに、CLIコマンドで設定する方法もあります。
基本構文:
codex mcp add [サーバー名] [コマンド] [引数...]
具体的な使用例
Context7を追加
codex mcp add context7 -- npx -y @upstash/context7-mcp
--
の後ろがMCPサーバを起動するコマンドになります。
Playwrightを追加
codex mcp add playwright npx @playwright/mcp@latest
環境変数付きで追加
codex mcp add github --env GITHUB_TOKEN=your-token -- npx -y @modelcontextprotocol/server-github
その他の便利なコマンド
設定済みMCPサーバの一覧表示
codex mcp list
特定のMCPサーバの詳細確認
codex mcp get playwright
以下のように表示されます。
codex mcp get playwright
playwright
command: npx
args: @playwright/mcp@latest
env: -
remove: codex mcp remove playwright
MCPサーバの削除
codex mcp remove playwright
設定したMCPサーバの動作確認
Codex CLIを起動
まず、Codex CLIを起動します。
codex
接続状態の確認
Codex CLI内で以下のコマンドを実行します。
/mcp
正常に接続されていれば、以下のような表示が出ます。
Connected MCP Servers:
✓ context7 - Ready
✓ playwright - Ready
✓ filesystem - Ready
実際に使ってみる
MCPサーバが接続されていることを確認したら、実際に使ってみましょう。
例えば、Context7が接続されている場合:
Next.jsの最新のApp Routerについて調べて
Playwrightが接続されている場合:
https://example.com のスクリーンショットを撮って
複数のMCPサーバを組み合わせる
複数サーバーの同時設定
config.toml
では、複数のMCPサーバを同時に設定できます。
# ドキュメント検索用
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
# ブラウザ操作用
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
# GitHub連携用
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = { "GITHUB_TOKEN" = "your-token" }
# ファイルシステム操作用
[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem"]
組み合わせて使う例
複数のMCPサーバを組み合わせることで、より複雑なタスクも実行できます。
GitHubから最新のissueを取得して、
その内容をPlaywrightでテストして、
結果をファイルに保存して
このような指示を出すと、Codex CLIが適切なMCPサーバを選択して処理を実行してくれます。
よくあるトラブルと解決方法
MCPサーバが接続できない
原因1:設定ファイルの記述ミス
config.toml
の構文エラーをチェックしましょう。
# 設定ファイルを表示して確認
cat ~/.codex/config.toml
特に以下の点に注意:
- 引用符の対応が取れているか
- カンマやブラケットの位置が正しいか
- インデントが揃っているか
原因2:必要なパッケージがインストールされていない
初回実行時は、パッケージのダウンロードに時間がかかることがあります。
しばらく待ってから、再度Codex CLIを起動してみてください。
特定のMCPサーバだけ動かない
解決方法1:個別に実行してエラーを確認
ターミナルで直接MCPサーバのコマンドを実行してみましょう。
npx -y @upstash/context7-mcp
以下のように表示されれば本来は設定可能です。
$ npx -y @upstash/context7-mcp
Context7 Documentation MCP Server running on stdio
しかしエラーメッセージが表示されれば、設定方法が変わっている可能性があります。
解決方法2:タイムアウト時間を延長
起動に時間がかかるMCPサーバの場合:
[mcp_servers.サーバー名]
command = "npx"
args = ["..."]
startup_timeout_ms = 60000 # 60秒に延長
Codex CLIを再起動しても改善しない場合
設定ファイルをリセットして、一つずつ追加してみましょう。
# バックアップを作成
cp ~/.codex/config.toml ~/.codex/config.toml.bak
# 最小限の設定から始める
echo '[mcp_servers.test]
command = "echo"
args = ["test"]' > ~/.codex/config.toml
MCPサーバ設定を削除したい場合
config.toml
から該当の設定の行を削除してあげるだけでOKです。
もしくは、以下のようにコマンドでも削除できます。
codex mcp remove xxx
xxx
の部分は config.toml
内で書いてあるサーバ名に対応させてあげてください。
[mcp_servers.xxx]
まとめ
MCPサーバの設定は、最初は難しそうに見えるかもしれません。
でも実際には、config.toml
に数行追加するか、codex mcp add
コマンドを実行するだけです。
まずは一つ、興味のあるMCPサーバから試してみてください。
Codex CLI の関連記事
他にも Codex や AI 駆動開発の記事を書いていますので、よかったらこちらもご覧ください。
- OpenAI Codex CLI の使い方!ChatGPTサブスクで使えるAIコーディング入門
- Codex CLIのカスタムコマンドを完全攻略!よく使う指示を瞬時に呼び出す方法
- Claude CodeからCodexをMCPで呼び出してGPT-5-Codexの力とClaude Codeのカスタマイズ性を良いとこどり
- 【検証】Claude Code vs Codex:同じアプリを作ってコード品質を比較してみた
ちょっと宣伝: Codex や Claude Code の Udemy 講座作ってます
主に AI 駆動開発の Udemy コースを開講しており、ありがたいことに複数のベストセラーをいただいてます。
個人サイトでは最低価格で受講できるクーポン(最大90% OFF)も配布しているので、よかったら見てやってください。
ご意見や、新講座の要望も大歓迎です!