2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsでUnity MCPをWSL上のClaude Codeから使用する

Last updated at Posted at 2025-07-10

2025/7/12 追記

この記事書いた瞬間にv1.0.51がリリースされてWindowsが公式にサポートされました。アッハイ
もうWSL使わなくてもいいよ! やったー!

image.png

というわけでもうこの記事の存在意義は無いんですがせっかく書いたので旧バージョンを使う時用ということで残しておきます。
そんなユースケースあるか? 無さそう。

はじめに

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コマンドを使う。
image.png

ちなみに削除するにはclaude mcp remove UnityMCPとすればよい。

うまくいってそうなら「Unity MCPをセットアップしたので使えるかどうか確認して」とか言えば適当にシーンの情報を取ってきて素晴らしい!とか言ってくれる。やったね。

おわりに

手探りでやったのでもっといい方法があるかも。Claude Desktopと共通化できたりするんかな?
WSLなんもわからん。
Geminiならこんなことしなくてもいいんだけど使ってみた感じあんま賢くなかった。何とかなれーっ

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?