Unity MCP Server
Unity MCP Server
MCP server for the Unity Editor. Lets AI agents like Claude Code inspect, manipulate, test, and screenshot your project.
ハイライト
73 のツール: シーン、GameObject、コンポーネント、プレハブ、トランスフォーム、テスト、リフレクション + 逆コンパイル、C# 評価、UI キャプチャ
ゼロコンフィグのクライアント: マシンごとに 1 回のクリック(または 1 つのコマンド)で、以降はすべてのプロジェクトとエディターが自動的に接続されます。ポートもトークンもプロジェクトごとの設定も不要です。
複数エディター対応: 開いている各プロジェクトが独自のサーバーを実行し、セッションは自動的に正しいサーバーへルーティングされます。
MCP リソース: コンソールログ、シーンヒエラルキー、テスト結果、プロジェクトファイル
Unity 2022.3+(Unity 6 推奨)、Node.js 18+
Related MCP server: Unity MCP Server
インストール
Package Manager > + > Add package from git URL:
https://github.com/Singtaa/UnityMCP.gitまたは Packages/com.singtaa.unity-mcp にクローン / サブモジュールします。
セットアップ(マシンごとに 1 回)
Unity でプロジェクトを開きます。サーバーが自動起動し、ランチャーが
~/.unity-mcp/stdio.jsにデプロイされます。Window > Unity MCP Server > Set up Claude Code
完了。ターミナルでの同等の操作:
# macOS / Linux
claude mcp add --scope user --transport stdio unity -- node ~/.unity-mcp/stdio.js
# Windows
claude mcp add --scope user --transport stdio unity -- node "%USERPROFILE%\.unity-mcp\stdio.js"すべての Claude Code セッションは、どの Unity プロジェクト内であっても、そのプロジェクト自身のエディターに到達します。複数のエディターを並べて使用しても、各セッションは自分のエディターを見つけます。エディターが閉じている場合やリロード中の場合、ツールは明確なエラーを返し、自動的に回復します。セッション中にエディターを開くこともできます: エディターが閉じた状態で開始されたセッションはツールリストを即座に登録し(プロジェクトごとのキャッシュから提供)、エディターが起動した瞬間にライブで再同期します。クライアントの再起動は不要です。
内部の仕組み: エディターはセッションごとのビーコン(Temp/UnityMcp_Endpoint.json、終了時に削除され、古くなることはありません)を書き込みます。ランチャーはセッションのプロジェクト(CLAUDE_PROJECT_DIR、それ以外の場合はカレントディレクトリを遡って検出、UNITY_MCP_PROJECT が両方を上書き)を解決し、そのプロジェクトのライブエンドポイントに MCP をプロキシします。リクエストのたびにビーコンを再読み込みします。tools.listChanged を宣言し、ビーコンを監視します: エディターが現れたとき(または別のエディターがプロジェクトを引き継いだとき)、list_changed 通知を発行して、クライアントがセッション中にツールとリソースのリストを再取得できるようにします。~/.unity-mcp/stdio.js へのランチャーのデプロイは LAUNCHER_VERSION によるアップグレード時のみ行われるため、異なるパッケージバージョンのエディターがファイルをめぐって競合することはありません。
他の MCP クライアント: 同じランチャーを使用するか、プレーンな HTTP(エンドポイントとトークンがウィンドウに表示されます)を使用します。
ツール
グループ | ツール( |
シーン |
|
GameObject |
|
コンポーネント |
|
トランスフォーム |
|
エディター |
|
プレハブ |
|
テスト |
|
キャプチャ |
|
プロジェクトとアセット |
|
リフレクション |
|
評価 |
|
特筆すべき点:
unity_eval: エディター内で C# スニペットをコンパイル + 実行します。ドメインリロードは不要です。式形式は値を返し、ステートメント形式はreturnを使用します。一般的な using がインポートされ、先頭のusing行はホイストされます。同梱の Roslyn(C# 9 が上限)。最初の呼び出しは数秒間ウォームアップし、その後は 1 回のコンパイルに数十ミリ秒かかります。unity_capture_panel: UI Toolkit のPanelSettingsをオフスクリーンで PNG にレンダリングします。シーンの UI は含まず、編集モードとプレイモードの両方で動作します。アクティブなUIDocumentを自動検出します。unity_assets_find: プロジェクトウィンドウのクエリ構文(t:Material、t:Prefab ui、l:MyLabel)、オプションのフォルダースコープ、結果は上限付きで総数も表示されます。unity_reflection_decompile: 読み込まれている任意の型またはメソッドの完全な C# ソース。既知の注意点: ドメインリロード後、テストツールを使用する前に約 1 秒待ってください。
unity_capture_game_viewは Unity 6.3+ ではプレイモードのみで使用できます。
リソース
unity://console/logs · unity://hierarchy · unity://hierarchy/{scene} · unity://tests/results · unity://project/files
設定
ProjectSettings/McpSettings.json(コミットすることを想定): HTTP ポート 5173、IPC ポート 52100、自動起動、認証トークン。
ポートが別のプロジェクトのサーバーに使用されていますか? 空いているポートのペアが自動的に割り当てられ、マシンごとに UserSettings/McpPortOverride.json(gitignore 対象)に保存されるため、ポートの変更がチームに影響することはありません。プロジェクト ID はブリッジ接続のたびに検証されるため、エディターが別のプロジェクトのサーバーを引き継ぐことは、ポートが誤って設定されていても発生しません。
手動でのサーバー起動: MCP_PROJECT_ROOT をプロジェクトのパスに設定して node src/server.js を実行します。
Unity CLI との連携
補完的であり、競合しません。
Unity CLI はエディターのライフサイクルを担当します: インストール、
unity open、ビルド、CIUnityMCP はライブのエディターセッションを担当します: UI キャプチャ、逆コンパイル、eval、テストループ、ゼロコンフィグのルーティング
典型的なエージェントループ: CLI 経由で
unity open <project>を実行し、エディターが起動して、サーバー + ビーコンが立ち上がり、ランチャーが接続します。どちら側にも設定は不要です。CLI から起動されたエディターはフォーカスなし / バックグラウンドで実行されます。UnityMCP はまさにそのために構築・テストされています(バックグラウンドで安全な起動、ドメインリロード中の再試行)。
ポートやツール名の競合はありません。両方を登録してください。
アーキテクチャ
┌─────────────────────────────────────────────────────────────┐
│ AI Assistant │
├──────────────────────────────┬──────────────────────────────┤
│ stdio launcher │ (or direct HTTP clients) │
│ ~/.unity-mcp/stdio.js │ │
│ resolves the session's │ │
│ project, reads its beacon │ │
│ Temp/UnityMcp_Endpoint.json │ │
├──────────────────────────────┴──────────────────────────────┤
│ HTTP JSON-RPC (Port 5173, per project) │
├─────────────────────────────────────────────────────────────┤
│ Node.js MCP Server (Server~/) │
├─────────────────────────────────────────────────────────────┤
│ TCP NDJSON (Port 52100) │
├─────────────────────────────────────────────────────────────┤
│ Unity Editor C# Bridge │
│ (McpBridge → ToolRegistry → MainThreadDispatcher) │
├─────────────────────────────────────────────────────────────┤
│ Unity APIs │
└─────────────────────────────────────────────────────────────┘開いている各プロジェクトは独自の Node サーバーを実行します。ランチャーは共有の入り口として、すべてのセッションを正しいサーバーにルーティングします。
開発
Unity テスト: Window > General > Test Runner(EditMode + PlayMode)
ランチャーのテスト:
Server~/内でnpm test変更履歴: CHANGELOG.md
ライセンス
MIT。 LICENSE を参照してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Discover AI tools for game development — 100+ tools indexed by engine, task, and pricing.
Image and video AI tools and your own pipelines, run from any AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query and control the Unity Editor, supporting scene management, GameObject manipulation, asset browsing, play mode control, and real-time editor operations through 52+ tools.1MIT
- AlicenseCqualityBmaintenanceIntegrates AI assistants with the Unity Editor for scene manipulation, asset management, and testing, plus Unity documentation search via RAG.8430 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Unity Editor, managing scenes, game objects, animations, materials, scripts, and more via natural language commands.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control and automate the Unity Editor, allowing them to build games and scenes from natural language commands.1MIT