WSL環境でCodexのMCPが動かない? uvxのPATH設定と権限問題の解決ガイド

  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

CodexやClaude CodeのようなコーディングエージェントをWSL(Windows Subsystem for Linux)環境で利用していると、「MCPクライアントが起動しない」「Permission deniedエラーが出る」といったトラブルに遭遇することがあります。

この記事では、特にuvxコマンドが見つからないことが原因で発生するMCP起動エラーと、その解決策について詳しく解説します。

目次

今回の問題の概要

Codexエージェントを起動した際、以下のようなエラーが表示されました。

■ MCP client for `obsidian` failed to start: Permission denied (os error 13)
■ MCP client for `serena` failed to start: Permission denied (os error 13)

このエラーは、CodexがMCPサーバーを起動しようとした際に、何らかの理由で実行権限がないことを示しています。今回のケースでは、MCPサーバーの起動にuvxというツールを使用していることがわかりました。

トラブルシューティングの過程

  1. インストール先の確認: まず、serena MCPのインストールディレクトリを特定しようとしました。しかし、serenanpmパッケージではなく、uvxによってgit cloneから都度取得・実行される方式だったため、npm listでは見つかりませんでした。
  2. uvxのパス問題の発覚: 次に、uvxコマンド自体がシステムで認識されているかを確認しました。which uvxを実行したところ、何も表示されず、uvxPATH環境変数に含まれていないことが判明しました。
  3. uvxのインストール状況の確認pip show uvls -l ~/.local/bin/uvxを実行したところ、uvパッケージ自体がインストールされていないことも明らかになりました。
  4. uvのインストールとPATH設定curlコマンドを使用してuvをインストールし、~/.bashrc~/.local/binへのパスを追加しました。
  5. uvxの実行: 再度which uvxを実行したところ、uvxのパスが正常に表示されるようになりました。
  6. MCPの初回実行とキャッシュの構築uvxのパスが通った状態で、uvx --from git+... serena-mcp-serverを手動で実行しました。これにより、~/.cache/uv/ディレクトリにMCPサーバーがキャッシュされました。
  7. エラーの解消: 初回実行後、Codexを再起動したところ、serena MCPのPermission deniedエラーが消えました。obsidianも同様にuvxを使用していたため、同じ修正でパーミッション問題は解消されました。

根本的な原因と解決策

根本的な原因

  1. uvxコマンドが見つからないuvxがシステムにインストールされていないか、インストールされていてもPATHが通っていなかった。
  2. 権限不足uvxが初回起動時にMCPサーバーをダウンロードしてキャッシュする際、~/.cache/uv/への書き込み権限がないか、キャッシュされたファイルへの実行権限がない状態だった。

解決策

  1. uvのインストールとPATH設定:
    • 以下のcurlコマンドでuvをインストールします。shcurl -LsSf https://astral.sh/uv/install.sh | sh コードは注意してご使用ください。
    • インストール後、~/.bashrcに以下の行を追加して、uvの実行ファイルが格納される~/.local/binにパスを通します。shecho 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc コードは注意してご使用ください。
    • source ~/.bashrcで変更を反映させます。
  2. MCPサーバーの初回起動とキャッシュ構築:
    • Codexが使用するMCPサーバーを手動で一度実行し、キャッシュを構築します。
    • serena MCPの場合: uvx --from git+https://github.com/oraios/serena serena-mcp-server
  3. 所有権の修正(必要な場合):
    • それでも権限エラーが解消されない場合は、~/.cacheやプロジェクトディレクトリの所有権を修正します。
    • shsudo chown -R win:win ~/.cache sudo chown -R win:win プロジェクトディレクトリ コードは注意してご使用ください。

まとめ

CodexのMCPクライアントでPermission deniedエラーが発生した場合、uvxコマンドの実行に必要なPATH設定と、初回実行時のキャッシュ構築に必要な権限が主要な原因です。今回のトラブルシューティングを参考に、uvのインストールとPATH設定、そしてMCPサーバーの手動実行を試してみてください。これにより、スムーズなMCP利用が可能になるはずです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次