ラボ 5分で読了

Claude DesktopでCodex MCPを使うための設定方法

Claude Code MCPが使えなくなったので新しくCodex CLIのMCPを導入。エラー続きの設定地獄から、Warp AIの助言で抜け出すまでの実録トラブルシューティング

Terisuke

この記事をシェア:
Codex MCPの設定方法

Claude DesktopでClaude Code MCPが使えなくなった。AI駆動開発の頼れる相棒を失った絶望感。しかし、嘆いている暇はない。代替案として話題のCodex CLIのMCPを導入することにした。

そこから始まる設定地獄。そして最後に救世主として現れたWarp AI。今日はその記録だ。

発端:Claude Code MCPの消失

ある日突然、Claude DesktopでClaude Code MCPが使えなくなった。プロジェクトディレクトリを分析してくれる便利な機能が消えた。エラーメッセージもなく、ただ静かに動かなくなった。

Claude Code MCPが使えなくなった

「仕方ない、新しいツールに乗り換えよう」

最近話題のOpenAI Codex CLIをMCP経由で使えばいいじゃないか。Zennにとまださんの素晴らしい記事もある。これを参考にすれば簡単だろう。

そう思っていた時期が、私にもありました。

第一の試練:argsが違う

記事の通りにclaude_desktop_config.jsonに設定を追加した:

{
  "mcpServers": {
    "codex": {
      "type": "stdio",
      "command": "codex",
      "args": ["mcp"]
    }
  }
}

Claude Desktopを再起動。エラーが出た。

「え、記事通りにやったのに?」

ターミナルで確認してみると、Codex CLIのコマンドはmcp-serverだった:

$ codex mcp-server --help
[experimental] Run the Codex MCP server (stdio transport)

Usage: codex mcp-server [OPTIONS]

なるほど、記事と実際のコマンドが違うのか。バージョンアップで変わったのかもしれない。修正だ:

{
  "mcpServers": {
    "codex": {
      "command": "codex",
      "args": ["mcp-server"]
    }
  }
}

エラーは消えた。「よし、これで動く!」

動かなかった。

第二の試練:サブスクリプションの壁

何度Claude Desktopで試しても、Codex MCPが反応しない。沈黙だけが返ってくる。

「そういえば…」

Codex CLIを動かすには、OpenAIのAPIキーかChatGPTのサブスクリプションが必要だったことを思い出した。開発に夢中でアカウント設定を完全に忘れていた。

ChatGPTにアクセスして、$20/月のプランに加入。なんと今なら初月無料だ。ラッキー。

次にnpaka先生のnote記事を参考にCLIのセットアップを進める。認証も通った。これで完璧だ。

codex login
# ✓ Successfully authenticated!

Claude Desktopを再起動。満を持してCodex MCPを呼び出す。

やはり動かない。

第三の試練:最終手段Warp AI

もう自力では無理だ。そう悟った瞬間、AIエディターのWarpを思い出した。Warpには組み込みAIアシスタントがある。ダメ元で聞いてみよう。

I set codex mcp in /Users/teradakousuke/Library/Application Support/Claude/claude_desktop_config.json and tried to use it from Claude Desktop, but it’s not responding. Please identify the cause and resolve it.

Warp AIは設定ファイルを読み込み、いくつかのコマンドを実行して、あっさり答えを出してきた。

神様仏様ワープ様

問題の本質:env設定が足りない

Warp AIの診断結果:

  1. envフィールドがない: MCPサーバーは環境変数へのアクセスが必要
  2. PATHが通っていない: Codexコマンドへのパスが伝わっていない
  3. typeフィールドが不要: デフォルトでstdioなので冗長

修正された設定がこちら:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/teradakousuke/Desktop",
        "/Users/teradakousuke/Downloads",
        "/Users/teradakousuke/Developer"
      ]
    },
    "codex": {
      "command": "codex",
      "args": ["mcp-server"],
      "env": {
        "PATH": "/Users/teradakousuke/.nvm/versions/node/v20.15.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
      }
    }
  }
}

重要なのはenvフィールドだ。MCPサーバーはClaude Desktopのサブプロセスとして起動される。親プロセスの環境変数が自動的に引き継がれるわけではないのだ。

特に、NVMでNode.jsを管理している場合、codexコマンドへのパスを明示的に指定しないと見つからない。

動いた瞬間

pkill -f "Claude.app" && sleep 2 && open -a Claude

Claude Desktopを再起動して、Codex MCPを呼び出す。

ついに反応した。

✓ codex MCP server connected

学んだこと

1. 公式ドキュメントも古くなる

Zennの記事は素晴らしかったが、Codex CLIのアップデートでmcpコマンドがmcp-serverに変わっていた。常に公式のヘルプを確認する癖をつけよう:

codex --help
codex mcp-server --help

2. サブプロセスの環境変数は明示的に

MCPサーバーはClaude Desktopから起動される独立プロセスだ。親の環境変数を期待してはいけない。特にPATHは明示的に指定する必要がある:

"env": {
  "PATH": "/path/to/your/node/bin:..."
}

3. NVMユーザーは要注意

NVMでNode.jsを管理している場合、codexコマンドはNVMのディレクトリにインストールされる。このパスをenv.PATHに含めないと、Claude Desktopからは見つからない。

自分のcodexがどこにあるか確認しよう:

which codex
# 出力例: /Users/teradakousuke/.nvm/versions/node/v20.15.0/bin/codex

このディレクトリをPATHに含める。

4. AIでAIのトラブルを解決する時代

最終的にWarp AIが問題を解決してくれた。AI駆動開発のツールが動かないとき、別のAIに聞くという入れ子構造。

もはやStack Overflowで答えを探す時代は終わったのかもしれない。エラーが出たら、とりあえずAIに聞く。それが2025年の開発スタイルだ。

完成した設定の全体像

参考までに、動作する完全な設定を掲載する:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/teradakousuke/Desktop",
        "/Users/teradakousuke/Downloads",
        "/Users/teradakousuke/Developer",
        "/Users/teradakousuke/Library",
        "/Users/teradakousuke"
      ]
    },
    "codex": {
      "command": "codex",
      "args": ["mcp-server"],
      "env": {
        "PATH": "/Users/teradakousuke/.nvm/versions/node/v20.15.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
      }
    }
  }
}

チェックリスト

Codex MCPを導入する際の確認事項:

  • ChatGPTのサブスクリプション契約済み(または OpenAI API キー設定済み)
  • codex loginで認証完了
  • which codexでパスを確認
  • claude_desktop_config.jsonenv.PATHを追加
  • args["mcp-server"]["mcp"]ではない)
  • Claude Desktopを完全に再起動

まとめ:トラブルシューティングの旅

Claude Code MCPが使えなくなってから、Codex MCP導入までの道のりは予想以上に険しかった。しかし、この過程で多くのことを学んだ:

  • ドキュメントを過信しない:バージョンアップでコマンドは変わる
  • 環境変数を明示する:サブプロセスは親の環境を引き継がない
  • AIに助けを求める:人間の時間は貴重だ

最終的にWarp AIが解決してくれたのは、ある意味皮肉だ。AI開発ツールの設定を、別のAI開発ツールで解決する。メタ的な体験だった。

しかし、それでいいのだ。これからの開発者は、問題解決の手段としてAIを使いこなす必要がある。Stack Overflowもドキュメントも大事だが、現場で即座に答えをくれるAIアシスタントの価値は計り知れない。

Codex MCP、ようやく動き始めた。これからClaude DesktopとCodex CLIの強力なコンビネーションで開発が加速する…はずだ。

次は何が壊れるのか、今から楽しみである(本当か?)。


参考リンク

設定に役立った記事たち:

同じ問題で困っている人の助けになれば幸いだ。AI駆動開発、楽じゃないけど楽しい。

この記事を応援

この記事が役に立ったら、投げ銭で応援してください。お好きな金額を選択いただけます。

Stripeで安全に決済

関連記事

記事を読む
YouTube LIVEの企画
ラボ

【爆速15分】MCPサーバーでMCPサーバーを作る!「いい感じにアレしとくアプリ」開発秘話

LT中止の絶望から生まれた奇跡。Claude DesktopとClaude Codeで実現した究極のvibe coding体験記

#MCP #Claude Desktop +3
記事を読む
ラボ

完全マークダウンガイド:ブログ記事作成のすべて

Cor.incブログで使用できるマークダウン記法とリッチコンテンツ機能の完全ガイド。リンクカード、数式、コードハイライトなど、美しい記事を作成するためのすべての機能を網羅

#Markdown #ブログ +3
記事を読む
ラボ

【Marp×VOICEVOX×VTubeStudio】ずんだもんにLT発表してもらった話

技術の創造的活用!Marp、VOICEVOX、VTubeStudioを組み合わせて、ずんだもんによる自動LT発表システムを構築した実験プロジェクト

#Marp #VOICEVOX +3