経緯
前々職では社内の情報集約に esa を使っていて、使い勝手が良かったので、個人でも使っています。
AI 活用については、今の職場では ClaudeCode が導入されていますが、個人では ChatGPT の Plus プランを契約しています。
そのサブスク契約を有効活用するために、コーディングエージェントは Codex を使っています。
esa に公式の MCP サーバーがあるとのことで、AI に esa の記事を読み取らせて考えさせ、記事を更新してもらおうと思いました。しかし、公式ドキュメントには Claude Desktop の設定例しか載っておらず、Codex の場合の設定が分かりにくかったので記事にしました。
設定方法
パーソナルアクセストークン v2 の発行
esa 左側の SETTINGS → ユーザ設定 → その他 → パーソナルアクセストークン・OAuth を開きます。「新しい PAT v2 を作成」よりパーソナルアクセストークン v2 を作成します。
スコープは AI にやらせたいこと、やって良いことを選択しますか、read:team の権限の付与は強く推奨です。無いと明示的にチーム名を指定する必要があって不便です。
Codex CLI による設定
Codex の公式ドキュメントには CLI による MCP サーバの追加方法がありました。その情報とesa MCP サーバの公式ドキュメントの Claude Desktop の設定例と掛け合わせて、このようなコマンドを入力しました。
--env 引数で環境変数を設定して、-- 引数以降で実行コマンドラインを設定します。
docker を使う場合
codex mcp add esa --env ESA_ACCESS_TOKEN=パーソナルアクセストークン -- docker run -i --rm -e ESA_ACCESS_TOKEN -e LANG ghcr.io/esaio/esa-mcp-server
コマンド入力後は ~/.codex/config.toml にこのような記述が増えます。
[mcp_servers.esa]
command = "docker"
args = ["run", "-i", "--rm", "-e", "ESA_ACCESS_TOKEN", "-e", "LANG", "ghcr.io/esaio/esa-mcp-server"]
[mcp_servers.esa.env]
ESA_ACCESS_TOKEN = "パーソナルアクセストークン"
npx を使う場合
codex mcp add esa --env ESA_ACCESS_TOKEN=パーソナルアクセストークン -- npx -y @esaio/esa-mcp-server
コマンド入力後は ~/.codex/config.toml にこのような記述が増えます。
[mcp_servers.esa]
command = "npx"
args = ["-y", "@esaio/esa-mcp-server"]
[mcp_servers.esa.env]
ESA_ACCESS_TOKEN = "パーソナルアクセストークン"
接続テスト
codex コマンドを実行して、接続テストを行います。
Web 検索できるようにする
esa や MCP とは直接の関係は無いですが、~/.codex/config.toml にこちらの設定を追加すると、Codex は必要に応じて Web検索を行うので、調べ物が捗ります。
[features]
web_search_request = true
Codex CLI features - Web search
使用例
私は来年早々にスペインへ新婚旅行に行く予定なので、現地について調査してしているところです。乗り継ぎのドバイ国際空港に無料 WiFi があるか気になりました。ちょうど、ある esa 記事にこのような記載をすでにしていました。
# ドバイ国際空港(乗り継ぎ)
- エミレーツ便は**ドバイ国際空港ターミナル3発着**。
- 到着後は **Connections** の案内に従って次のゲートへ。
- 受託手荷物は**最終目的地(BCN)まで通し**で預けられる案内。
- エコノミーは**出発60分前までに搭乗ゲートへ**が目安。
そのため、以下のような指示を Codex に出しました。
https://tfandkusu.esa.io/posts/237 に「ドバイ国際空港(乗り継ぎ)」というセクションがありますが、無料 WiFi に関する情報を追記してください。
codex は自分で情報を検索して、その結果をもって esa 記事を更新しました。
# ドバイ国際空港(乗り継ぎ)
- エミレーツ便は**ドバイ国際空港ターミナル3発着**。
- 到着後は **Connections** の案内に従って次のゲートへ。
- 受託手荷物は**最終目的地(BCN)まで通し**で預けられる案内。
- エコノミーは**出発60分前までに搭乗ゲートへ**が目安。
- **無料Wi‑Fiあり**:DXBは無料・無制限の高速Wi‑Fiが利用可能で、接続はワンクリックで完了。[Passengers enjoy unlimited free high-speed Wi‑Fi at DXB and DWC](https://media.dubaiairports.ae/passengers-enjoy-unlimited-free-high-speed-wi-fi-at-dxb-and-dwc/)
まとめ
- esa には公式の MCP サーバーが提供されており、 Codex からも連携できます。
- Codex CLI の MCP 設定手順に従って、esa の MCP サーバーを追加できます。
- esa を愛用していて、ChatGPT の有料プランを契約している人にはオススメの設定です。