Search the alley

記事を検索

2文字以上でタイトル・カテゴリ・タグを検索できます。

codex mcp-server非推奨後の移行先|App Server・SDK・Claude Code pluginの選び方

codex mcp-server commandのdeprecated案内を受け、外部client統合をApp Server・SDK・Claude Code pluginから選ぶ実務ガイドです。MCP protocolとcodex mcp設定は別物として、用途・transport・承認・rollbackを整理します。

公開 2026.08.27 / 更新 2026.08.27

公式案内でdeprecatedとなったのはcodex mcp-server commandです。外部rich clientはApp Server、jobs / CIはSDK、Claude Code内の統合はpluginを候補にし、MCP protocolやcodex mcp設定は別のownerとして残します。

このページで扱うこと
  • 外部client側の呼び出し方向とowner
  • App Server・SDK・Claude Code pluginの選択
  • JSON-RPC-like interfaceとMCPの違い
  • WebSocket experimental・auth・approval・rollback
このページで扱わないこと
  • MCP protocol全体の廃止という断定
  • WebSocketの本番安定性保証
  • credentialの実値や公開listenerの作成
  • Codex external MCP設定記事の重複

この記事のポイント

  • 公式リリースノートがdeprecatedとしたのはcodex mcp-server commandであり、MCP protocolやcodex mcp設定全体ではない
  • 外部clientのrichな対話統合はApp Server、jobs / CIなどの自動処理はSDK、Claude Code内への統合はCodex pluginを候補にする
  • App ServerはJSON-RPC 2.0ベースの統合面で、MCP serverと同じプロトコルではない。codex app-server commandとWebSocketのproduction制約を確認する
  • transport、state、approval、credential、ログ、rollbackを棚卸しし、秘密情報や本番操作を無確認で移さない

codex mcp-server後の移行先を選ぶ

外部rich clientApp ServerのJSON-RPC-like interfaceでthread・event・approvalを統合
jobs / CISDKで非対話実行、timeout、budget、schema、retry、ログをコード管理
Claude Code統合Claude Code pluginのscope、tool、Skills、Hooks、更新を管理
Codexから外部MCPを利用既存のcodex mcp / config.toml記事のowner。App Serverへ一律置換しない

先に結論:移行先は外部clientの役割で選ぶ

OpenAIの2026-08-24リリースノートは、`codex mcp-server` commandをdeprecatedとし、Codex app serverの利用を案内しています。Claude CodeへCodexを統合する場合はCodex pluginを使う方向も案内されています。ただし、これは一つのMCP設定を別名へ置き換える話ではありません。Codexを外部clientへ組み込んでいた側が、rich client、job / CI、Claude Codeという利用面ごとに移行先を選ぶ記事です。

目的第一候補向いている理由最初に確認すること
外部アプリのrich client / 対話UICodex App Serverthread・approval・eventを含む統合面を作るJSON-RPC-like interface、transport、state、auth、version
scheduled jobs / CI / backend workerSDKjob lifecycle、再試行、ログ、テストをコードで管理するSDKの対応言語・version、非対話認証、budget、sandbox
Claude CodeへCodex機能を追加Claude Code pluginClaude Codeのplugin lifecycle・scope・tool namespaceで配布するpluginの信頼、scope、MCP追加、権限、更新・削除
Codexから外部MCP serverを利用既存`codex mcp`設定MCP server登録・認証の既存ownerに属するconfig.toml、host、OAuth、tool allowlist、approval

App ServerはMCP serverではない

Codex App Server Docsは、rich clientがCodexのthreadやイベント、approvalなどを扱うためのJSON-RPC-likeな統合面として説明しています。MCPはAI clientと外部tool / data serverを接続するprotocolです。どちらもtoolという単語を使いますが、message schema、lifecycle、認証、client側の責任が同じとは限りません。`codex mcp-server`からApp Serverへ移す際に、MCP server用の設定やtool listをそのままApp Serverのclient実装へ貼り付けないでください。

観点MCP server / `codex mcp`Codex App Server
主な役割Codexなどのclientへ外部tool・data sourceを提供外部rich clientからCodexの作業・thread・eventを統合
今回のownerCodexへ外部MCPを設定する既存記事Codexを外部clientへ組み込んでいた側の移行記事
設定の入口config.toml、`codex mcp add / list / login`App ServerのJSON-RPC-like interfaceとclient lifecycle
protocolの扱いModel Context ProtocolMCPではないApp Server interface
注意tool scope、OAuth、approval、server instructionsstate、event、auth、transport、version、client UI

現行protocolとtransportを先に固定する

現行App Server Docsは、wire上で`jsonrpc` headerを省いたJSON-RPC 2.0 messageを使うと説明しています。既定のstdioはnewline-delimited JSON、WebSocketは1 message / text frame、Unix socketはHTTP Upgradeを使う別transportです。旧MCP requestをそのまま送らず、選んだCodex versionから生成したTypeScript / JSON Schemaとclient実装を揃えます。

transport現行Docsの位置づけ移行時の確認
stdio既定。newline-delimited JSON(JSONL)process owner、stdin / stdout、終了・再起動、stderrを分ける
WebSocket1 message / text frame。experimental / unsupportedloopback外は認証とTLSを設定し、未認証listenerを公開しない
Unix socketdefaultまたは指定pathでHTTP UpgradeOS対応、socket path、file権限、process lifecycleを確認する
offlocal transportを公開しないremote Code Mode hostとclient listenerを混同しない

App Serverを選ぶ場合:rich clientの状態を設計する

外部アプリからCodexを操作し、thread表示、進捗、approval、複数ターン、差分確認まで持たせたいならApp Serverを候補にします。移行前に、旧commandが返していた入力・出力・終了状態・stderr・session IDを記録し、App Serverのrequest / notification / eventと対応づけます。Docsに例があるtransportでも、対象version、process lifecycle、認証、切断時の再接続を自分のclientで確認してください。

  • 旧commandの入力、出力、exit code、session、approval、ログをfixtureにする
  • App Serverのrequest / response / event、thread ID、turn ID、tool approvalを対応表にする
  • clientが切断・再接続・二重送信したときのidempotencyと停止条件を決める
  • loopback、認証、TLS、process owner、workspace、filesystem、networkの境界を本番前にレビューする
  • codex app-server commandとWebSocketのproduction制約を運用文書に残し、代替transportとrollbackを準備する

SDKを選ぶ場合:jobs / CIの証拠をコードに残す

定期job、CI、backend workerのように対話UIより再現可能な実行を重視するなら、App Serverを自前で制御するよりSDKを候補にします。App Server DocsもjobsやCIではSDKを使う方向を示しています。SDK version、非対話認証、timeout、budget、出力schema、retry、artifact、ログの扱いを固定し、CIの成功ステータスだけで外部変更の安全性を証明しないでください。

CI / jobの項目移行時の確認止める条件
入力commit、issue、prompt、許可されたpath、未信頼入力対象範囲・入力ownerが不明
認証非対話credentialのscope、期限、secret maskingtokenをログ・artifact・promptへ出す
実行sandbox、approval、network、timeout、budget本番・削除・billingをauto実行
出力schema、diff、test、log、failure、artifact完了文だけで成功扱い
再試行idempotency、backoff、停止条件、課金上限重複tool callや無限retry

Claude Code pluginを選ぶ場合:MCP設定と配布面を分ける

Claude CodeへCodexを組み込みたい場合は、release noteが案内するClaude Code pluginを候補にします。PluginはSkills、Hooks、MCP serverなどをまとめて配布できる一方、インストールscope、marketplaceの信頼、更新、削除、pluginが追加するtoolの権限を伴います。Claude Code側でMCPを使う場合も、pluginそのものと、pluginが提供するMCP serverを別々に監査します。

  • 誰がpluginをインストールし、user / project / managedのどのscopeへ入れるか決める
  • pluginが含むSkills、Hooks、MCP server、外部credential、書き込み権限を一覧にする
  • 更新前後のplugin manifest、tool namespace、許可・拒否設定、ログを比較する
  • Claude Codeのpermission modeとCodex側のapproval / sandboxを同じ安全境界だと扱わない
  • アンインストール、disable、credential revoke、旧integrationへの切り戻しをfixtureで確認する

移行手順:外部client側のownerが先に棚卸しする

  • 1. `codex mcp-server`を呼んでいるscript、desktop integration、plugin、CI、serviceを検索し、呼び出し側と設定ownerを記録する
  • 2. process transport、stdin / stdout、session、event、exit code、approval、filesystem、network、credentialの境界を表にする
  • 3. rich clientはApp Server、jobs / CIはSDK、Claude Code内はpluginという仮説で、既存要件との不足を洗い出す
  • 4. read-onlyのfixtureでthread、tool、差分、失敗、切断、再試行を比較し、実装versionと確認日を記録する
  • 5. feature flagまたは対象workspaceの限定から切り替え、ログ・diff・test・承認を人間が確認する
  • 6. 異常時は外部clientの呼び出しを止め、credentialをrevokeし、未処理sessionを保全してからrollbackする

既存のCodex MCP設定記事との役割分担

既存の「CodexのMCP設定ガイド」は、Codex hostへ外部MCP serverを登録するconfig.toml、CLI、Desktop、IDE、OAuth、tool policyを主に扱います。このページは、外部clientがCodexを呼んでいた`codex mcp-server`側の移行先を扱います。両方を一つの記事へ混ぜず、MCP protocolの設定とApp Server / SDK / pluginの統合を別のownerとしてリンクします。

codex mcp-server移行のFAQ

MCP protocolも廃止されたのですか?

いいえ。今回の公式案内は`codex mcp-server` commandのdeprecatedです。MCP protocolと、CodexをMCP clientとして使う`codex mcp`の設定・管理は別の機能として、現行Docsを確認します。

`codex mcp`をApp Serverへ置き換えればよいですか?

一律には置き換えません。`codex mcp`はCodexへ外部MCP serverを登録する入口で、App Serverは外部clientがCodexを統合するJSON-RPC-likeな面です。呼び出し方向とownerを先に分けます。

WebSocketなら本番でそのまま使えますか?

使えません。2026-08-27時点の公式Docsはcodex app-server commandとWebSocket transportをexperimentalでproduction workload非対応としています。認証、TLS、loopback、再接続、同時実行、ログ、代替transportを確認し、現行Docsのsupport範囲が変わるまではproduction前提にしません。

CIはApp ServerとSDKのどちらですか?

jobs / CIのように再現可能な実行、timeout、budget、schema、retry、ログをコードで管理する場合はSDKを第一候補にします。要件と対象SDKの公式対応を確認し、CI greenだけを安全証明にしません。

Claude Code pluginを入れれば権限設定は不要ですか?

不要にはなりません。pluginのscope、Skills、Hooks、MCP server、credential、tool権限、更新・削除を別に監査し、Claude CodeのpermissionとCodex側のapproval / sandboxも分けて確認します。