2025/7/12 追記
この記事書いた瞬間にv1.0.51がリリースされてWindowsが公式にサポートされました。アッハイ
もうWSL使わなくてもいいよ! やったー!
というわけでもうこの記事の存在意義は無いんですがせっかく書いたので旧バージョンを使う時用ということで残しておきます。
そんなユースケースあるか? 無さそう。
はじめに
Unity向けMCPは以下のものを利用する。
Claude Desktopをネイティブサポートしており、セットアップはすぐ終わるので省略する。
しかし、こいつをClaude Codeからも使おうとするとちょっと一工夫が必要だったのでここにその手順を書く。
わかる人向け要約
WindowsとWSLのUbuntuでパスの表現が異なるのでclaude mcp add-from-claude-desktop とやっても接続できない。
MCPのフォルダを複製してUbuntuでvenvを作り直してそっちに接続すれば使えるようになる。
あとWSL→Windowsへの接続(多分localhost?)をするのにwslconfigを編集する必要がある。
前提
- Windows 11 + WSL(Ubuntu)環境でClaude Codeがセットアップされていること
- unity-mcpがセットアップされたUnityプロジェクトがあること
- Claude Desktopからunity-mcpに正常にアクセスできていること
Claude Codeの導入はここを参考にした。
https://zenn.dev/acntechjp/articles/eb5d6c8e71bfb9
手順
WSLをミラーモードにしてlocalhostにアクセスできるようにする
C:\Users\[ユーザー名]\.wslconfigを作成して以下の内容にする。
[wsl2]
networkingMode=mirrored
ファイルを保存したらWSLのターミナルを再起動する。
uvをインストール
Ubuntuで以下のコマンドを実行し、uvをインストールする。
curl -LsSf https://astral.sh/uv/install.sh | sh
完了したらWSLのターミナルを再起動する。
MCPサーバー設定をUbuntu用に複製&再設定
C:\Users\<ユーザー名>\AppData\Local\Programs\UnityMCP
にあるUnityMcpServerがMCPサーバーのスクリプトが入っている場所なのだが、これをUbuntu用に複製して再設定する。
Windowsのドライブは/mnt/の中にマウントされているので、パスは
/mnt/c/users/<ユーザー名>/AppData/Local/Programs/UnityMCPのようになる。
そこで以下のコマンドを順番に実行する。
cd /mnt/c/users/<ユーザー名>/AppData/Local/Programs/UnityMCP
cp -r UnityMcpServer UnityMcpServer_ClaudeCode
cd UnityMcpServer_ClaudeCode/src
rm -rf .venv
uv venv
これでUnityMcpServer_ClaudeCodeの中にUbuntu用の環境がセットアップされる。
Claude CodeにMCPサーバーを追加
UbuntuでClaudeCodeを使いたいディレクトリに移動し、以下のコマンドを実行する。
claude mcp add-json UnityMCP '{"type":"stdio","command":"uv","args":["--directory","/mnt/c/users/<ユーザー名>/AppData/Local/Programs/UnityMCP/UnityMcpServer_ClaudeCode/src","run","server.py"]}'
成功すればAdded stdio MCP server UnityMCP to local configというメッセージが出る。
localじゃなくていつでも使いたい場合は-s globalオプションを追加すればよいはず。
接続確認
接続状況を確認するにはclaudeでClaudeCodeを起動してから/mcpコマンドを使う。

ちなみに削除するにはclaude mcp remove UnityMCPとすればよい。
うまくいってそうなら「Unity MCPをセットアップしたので使えるかどうか確認して」とか言えば適当にシーンの情報を取ってきて素晴らしい!とか言ってくれる。やったね。
おわりに
手探りでやったのでもっといい方法があるかも。Claude Desktopと共通化できたりするんかな?
WSLなんもわからん。
Geminiならこんなことしなくてもいいんだけど使ってみた感じあんま賢くなかった。何とかなれーっ
