mcpField
U
Unity MCP Server

Unity MCP Server

ローカル
github.com/rachitkumarrastogi開発ツール512 週間前に更新

Unity MCP Server について

Unity MCP Server は、MCP 対応の IDE やアプリから Unity Editor を開かずに Unity プロジェクトを調べられるサーバーです。プロジェクトファイルを読み取り、設定、コード、シーン、プレハブ、アセットの情報を提供します。

主な機能

  1. 01Editor を開かずにプロジェクトを調査
  2. 02プロジェクトとビルド設定の確認
  3. 03C# スクリプトとアセンブリの検索
  4. 04シーンとプレハブの概要確認
  5. 05アセット検索と参照の確認

活用シーン

  1. 01ビルドシーンとプロジェクト設定の確認
  2. 02種類や内容でスクリプトを検索
  3. 03シーンオブジェクトとプレハブのコンポーネントを調査
  4. 04欠損参照や特定アセットの参照元を検索

MCP 対応

MCP stdio 経由で、互換クライアントに Unity プロジェクトの調査ツールを提供します。`UNITY_PROJECT_PATH` でプロジェクトのルートを指定します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rachitkumarrastogi-unity": {
"command": "npx",
"args": [
"-y",
"unity-mcp-server"
],
"env": {
"UNITY_PROJECT_PATH": "<UNITY_PROJECT_PATH>"
}
}
}
}
起動コマンドnpx -y unity-mcp-server
設定が必要な環境変数
UNITY_PROJECT_PATHAbsolute path to your Unity project root (required)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmunity-mcp-server1.7.0

ツール

134

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Unity MCP Server

Unity 用 MCP サーバー — MCP 対応の IDE やアプリから、AI アシスタントが Unity プロジェクトに構造化された形でアクセスできるようにします。Unity Editor は不要です。

npm version MCP Registry

Cursor / IDE → Unity MCP Server → Unity Project

IDE がこのサーバーと通信し、サーバーが Unity プロジェクトのフォルダーを読み取って、プロジェクト情報、ビルドシーン、スクリプト、プレハブなどを返します。これにより、Editor を開かなくても AI が支援できます。


概要

  • Editor 不要 — プロジェクトのファイルシステムから読み取るだけです。
  • 1 つのサーバーで複数のプロジェクトに対応 — MCP 設定でプロジェクトごとに UNITY_PROJECT_PATH を設定します。
  • MCP ネイティブ — Model Context Protocol(stdio 経由のツール)に対応するすべてのクライアントで動作します。

対応 IDE とクライアント

このサーバーは標準の stdio 経由の MCP プロトコルを使用し、ツールを公開します。MCP サーバーを実行でき、環境変数を渡せる IDE やアプリであれば、どれでも動作します。よく使われるクライアントは次のとおりです。

クライアント備考
CursorMCP 設定にサーバーを追加し、env に UNITY_PROJECT_PATH を設定します。
Claude Desktopclaude_desktop_config.json に追加します。同じコマンドと環境変数の形式を使用します。
Claude Codeツールを含む MCP に対応しています。
VS CodeMCP 拡張機能(例:GenAI / Copilot MCP)を使用し、サーバーと UNITY_PROJECT_PATH を設定します。
Windsurfコマンドと環境変数を指定して MCP サーバーを追加します。
ContinueContinue の設定で MCP サーバーを設定します。
ClineMCP のツールとリソースに対応しています。
その他stdio 経由の MCP ツールに対応するすべてのクライアント(例:Zed、Roo Code、LibreChat、カスタムエージェント)。

設定方法はどのクライアントでも同じです。command = node、args = dist/index.js へのパス、env = UNITY_PROJECT_PATH = Unity プロジェクトのルートです。Cursor の例は以下の設定を参照してください。他のクライアントでも、それぞれの設定形式で同じ構造を使用します。


ツール

以下のカテゴリを展開すると、含まれるツールを確認できます。

📦 プロジェクトとビルド💻 コードとアセンブリ🎬 シーンとプレハブ📁 アセットと参照
🎨 マテリアルとシェーダー🎞️ アニメーション🖼️ 2D とスプライト✨ レンダリング
📝 TextMeshPro と UI🎮 入力🏷️ タグとレイヤー🌐 Addressables とローカライズ
🔊 オーディオ🧪 テストとドキュメント🔄 CI とバージョン管理🔌 インテグレーション
⚡ スピードと生産性🔍 メタ🤖 AI と ML

📦 プロジェクトとビルド | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `get_project_info` | パス、Unity バージョン、ビルドシーン数、プレイヤー/製品名 | *「プロジェクトのパスと Unity バージョンは何ですか?」* · *「ビルドシーン数とプレイヤー名を表示して」* | | `list_build_scenes` | EditorBuildSettings のシーン(ビルド順) | *「ビルドに含まれるシーンはどれですか?」* · *「ビルドシーンを順番に一覧表示して」* | | `get_player_settings` | 製品名、会社名、バンドル ID、バージョン | *「プレイヤー設定は何ですか?」* · *「バンドル ID と会社名を表示して」* | | `list_packages` | manifest.json のパッケージ | *「インストール済みの Unity パッケージを一覧表示して」* | | `get_quality_settings` | 品質レベル | *「品質設定は何ですか?」* | | `get_scripting_defines` | グローバルおよびアセンブリごとの定義 | *「スクリプト定義を表示して」* · *「アセンブリごとに設定されている定義は何ですか?」* | | `get_physics_settings` | 物理演算/Physics2D の設定 | *「物理演算の設定は何ですか?」* | | `get_graphics_settings` | グラフィックス設定(GraphicsSettings.asset) | *「グラフィックス設定を表示して」* | | `get_time_settings` | 時間/固定タイムステップ(TimeManager.asset) | *「固定タイムステップはいくつですか?」* · *「時間設定を表示して」* | | `get_build_target_info` | アクティブなビルドターゲット/プラットフォーム | *「現在のビルドターゲットは何ですか?」* | | `get_feature_set_inference` | パッケージから Unity 6 の機能セット(2D、ECS、AR など)を推定 | *「このプロジェクトではどの機能セットを使用していますか?」* | | `get_project_version` | バンドルバージョン | *「バンドルバージョンは何ですか?」* | | `get_changelog` | CHANGELOG の内容 | *「変更履歴を表示して」* | | `get_audio_settings` | AudioManager.asset(全体音量、リバーブ、DSP バッファー) | *「オーディオ設定は何ですか?」* | | `get_navigation_settings` | ProjectSettings の NavMesh/エージェント設定 | *「NavMesh/ナビゲーション設定を表示して」* | | `get_xr_settings` | XR/VR プロジェクト設定 | *「どの XR または VR 設定が構成されていますか?」* | | `get_script_execution_order` | スクリプト実行順序(MonoManager) | *「スクリプト実行順序を表示して」* | | `get_version_control_settings` | シリアル化モード、表示されるメタファイル | *「バージョン管理/シリアル化の設定はどうなっていますか?」* | | `get_layer_collision_matrix` | レイヤー衝突マトリックスとレイヤー名 | *「レイヤー衝突マトリックスを表示して」* · *「どのレイヤー同士が衝突しますか?」* | | `get_cloud_services_config` | Unity Cloud/Unity Connect の設定 | *「Unity Cloud は設定されていますか?」* | | `get_package_dependency_graph` | パッケージ依存関係グラフ(manifest + lock) | *「パッケージ依存関係グラフを表示して」* | | `list_package_samples` | Packages 以下のサンプルフォルダー | *「パッケージのサンプルを一覧表示して」* | | `list_unity_hub_projects` | Unity Hub の Unity プロジェクト一覧(プロジェクトパスは不要) | *「Unity Hub のプロジェクトを一覧表示して」* |
💻 コードとアセンブリ | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `list_assemblies` | 参照先やプラットフォームを含むアセンブリ定義 | *「アセンブリ定義を一覧表示して」* | | `get_assembly_for_path` | 指定したスクリプトまたはフォルダのパスを含むアセンブリ | *「Assets/Scripts/Player.cs を含むアセンブリはどれ?」* | | `list_scripts_by_assembly` | 指定したアセンブリ内の C# スクリプトのパス(名前または asmdef のパスで指定) | *「Assembly-CSharp 内のスクリプトを一覧表示して」* · *「MyGame.Runtime にはどのスクリプトがある?」* | | `list_asmdef_references` | 指定したアセンブリを参照するアセンブリ名(逆方向の依存関係) | *「MyGame.Core に依存しているのはどれ?」* | | `list_scripts` | C# スクリプト(フォルダで絞り込み可能) | *「すべての C# スクリプトを一覧表示して」* · *「Assets/Scripts 内のスクリプトを表示して」* | | `find_scripts_by_content` | 型やパターンで検索(例:MonoBehaviour) | *「MonoBehaviour を継承するスクリプトを探して」* | | `get_assembly_dependency_graph` | ノードとエッジ | *「アセンブリの依存関係グラフを表示して」* | | `list_editor_scripts` | Editor フォルダ内のスクリプト | *「エディタースクリプトを一覧表示して」* | | `list_visual_scripting_assets` | Bolt / Unity Visual Scripting の .asset ファイル | *「Visual Scripting のアセットを一覧表示して」* | | `get_script_public_api` | C# スクリプトを解析:クラス名、基底型、パブリックメソッド/フィールド | *「PlayerController.cs のパブリック API は?」* |
🎬 シーンとプレハブ
ツール説明入力するプロンプトの例
list_all_scenesAssets 内のすべての .unity ファイル「すべてのシーンを一覧表示して」
get_scene_summaryルート GameObject とコンポーネント数「MainMenu.unity を要約して」 · 「このシーンには何がある?」
get_scene_components_by_type指定したコンポーネント型(例:Camera、Light)を持つシーン内の GameObject「Game.unity で Camera を持つ GameObject はどれ?」
get_scene_objects_by_tag指定したタグ(例:Spawn)が付いたシーン内の GameObject「このシーンで Spawn タグの付いたオブジェクトを探して」
get_all_components_by_typeすべてのシーンにある Camera/Light など「プロジェクト内のすべての Camera を一覧表示して」
get_scene_hierarchy_flatシーン内の GameObject のフラットな一覧(名前とレイヤー)「Main.unity のすべてのオブジェクトをレイヤーとともに一覧表示して」
get_lighting_scene_infoシーンのライティングアセットと GI ワークフローモード「Main.unity ではどのライティングを使っている?」
list_prefabsプレハブ(パスのプレフィックスで絞り込み可能)「すべてのプレハブを一覧表示して」 · 「Assets/Prefabs 内のプレハブを一覧表示して」
list_prefab_variants別のプレハブのバリアントであるプレハブ「プレハブのバリアントを一覧表示して」
list_prefabs_with_component指定したコンポーネント型(例:Animator)を含むプレハブ「Animator を持つプレハブはどれ?」
get_prefab_summaryプレハブの概要:ルート名、コンポーネント数、コンポーネント型「Hero.prefab を要約して」 · 「このプレハブには何がある?」
get_prefab_script_guidsプレハブで使用されるスクリプト GUID「Hero.prefab はどのスクリプトを使っている?」
list_subscenesECS/DOTS の .subscene アセット「サブシーンを一覧表示して」
📁 アセットと参照 | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `get_asset_folder_tree` | Assets 内のフォルダツリー | *「アセットのフォルダツリーを表示」* | | `list_assets_by_extension` | 拡張子別(例:.png、.fbx) | *「すべての.pngテクスチャを一覧表示」* · *「FBXモデルを一覧表示」* | | `find_references` | パスまたは GUID を参照しているアセット | *「このアセットを参照しているものは?」* · *「Assets/Textures/hero.png を使用しているものを検索」* | | `list_large_assets` | N MB を超えるファイル(デフォルトは 5) | *「サイズの大きいアセットを一覧表示」* · *「10 MB を超えるものは?」* | | `list_video_clips` | 動画クリップアセット(.mp4、.mov、.webm など) | *「動画クリップを一覧表示」* | | `list_legacy_font_assets` | レガシーフォント(.fontsettings、.ttf、.otf)— TMP を除く | *「レガシーフォントを一覧表示」* | | `list_render_textures` | RenderTexture アセット | *「レンダーテクスチャを一覧表示」* | | `list_terrain_data` | TerrainData および TerrainLayer アセット | *「地形データを一覧表示」* | | `list_lighting_settings_assets` | ライティング関連の .asset ファイル | *「ライティング設定アセットを一覧表示」* | | `search_assets_by_name` | 名前のパターンで Assets(および任意で Packages)を検索 | *「名前に 'hero' を含むアセットを検索」* | | `get_texture_meta` | テクスチャの .meta(maxSize、dimensions、spriteMode、PPU) | *「hero.png のインポート設定は?」* | | `search_project` | 名前のパターン、スクリプトのパターン、および/またはパスの参照元をまとめて検索 | *「プロジェクトで X を検索」* · *「このパスを参照しているものは?」* | | `get_meta_for_asset` | 任意のアセットパスの .meta を読み取る(guid、インポーターキー) | *「Assets/Models/character.fbx の .meta を表示」* | | `get_broken_asset_refs` | GUID 参照が欠落している Prefab/Scene/Material | *「壊れたアセット参照を検索」* | | `list_scriptable_objects` | ScriptableObject インスタンスである .asset ファイル | *「すべての ScriptableObject アセットを一覧表示」* |
🎨 マテリアルとシェーダー
ツール説明入力するプロンプトの例
list_materialsマテリアル(任意でフォルダを指定)「すべてのマテリアルを一覧表示」 · 「Assets/Materials 内のマテリアルを一覧表示」
list_materials_using_shader指定したシェーダー(GUID またはパス)を使用するマテリアル「Standard シェーダーを使用しているマテリアルは?」
list_shadersAssets と Packages 内の .shader「シェーダーを一覧表示」
list_shader_graphsShader Graph アセット「Shader Graph アセットを一覧表示」
list_vfx_graphsVFX Graph アセット「VFX Graph アセットを一覧表示」
🎞️ アニメーション
ツール説明入力するプロンプトの例
list_animator_controllers.controller アセット「アニメーターコントローラーを一覧表示」
list_animation_clips.anim アセット「アニメーションクリップを一覧表示」
get_animator_statesコントローラーのステート名「Player.controller にはどのステートがある?」
get_animator_transitionsコントローラーのステート名と遷移元/遷移先「Player.controller のアニメーター遷移を表示」
list_timeline_playablesTimeline の .playable アセット「Timeline のプレイアブルを一覧表示」
list_avatar_masksAvatar Mask(.mask)アセット「アバターマスクを一覧表示」
list_animator_override_controllersAnimatorOverrideController アセット「アニメーターオーバーライドコントローラーを一覧表示」
🖼️ 2D とスプライト
ツール説明入力するプロンプトの例
list_sprite_atlasesSprite Atlas アセット「スプライトアトラスを一覧表示」
list_tilemap_assetsTilemap 関連アセット「タイルマップアセットを一覧表示」
list_sprite_assetsスプライトとして設定されたテクスチャ(.meta 内の spriteMode)「スプライトアセットを一覧表示」
✨ レンダリング | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `list_render_pipelines` | URP/HDRP のパイプラインアセット、ボリュームプロファイル | *「レンダーパイプラインを一覧表示して」* · *「どんな URP/HDRP アセットがある?」* |
📝 TextMeshPro と UI
ツール説明入力するプロンプトの例
list_tmp_fontsTMP/フォントアセット「TextMeshPro のフォントを一覧表示して」
get_tmp_settings_pathTMP Settings アセットのパス「TMP Settings はどこ?」
list_ui_documents.uxml と .uss(UI Toolkit)「UI Toolkit のドキュメントを一覧表示して」 · 「UXML と USS ファイルを一覧表示して」
🎮 入力
ツール説明入力するプロンプトの例
get_input_axesInputManager の軸「Input Manager には何がある?」 · 「入力軸を表示して」
list_input_action_assets新しい Input System の .inputactions「Input System のアクションアセットを一覧表示して」
get_input_actions_summaryファイル内のアクションマップとアクション「Player.inputactions を要約して」
🏷️ タグとレイヤー
ツール説明入力するプロンプトの例
get_tags_and_layersTagManager のタグとレイヤー「タグとレイヤーを表示して」
🌐 Addressables とローカライズ
ツール説明入力するプロンプトの例
get_addressables_infoグループと設定パス「Addressables のグループには何がある?」
get_localization_tablesローカライズテーブルのファイル「ローカライズテーブルを一覧表示して」
🔊 オーディオ
ツール説明入力するプロンプトの例
list_audio_clips.wav、.mp3、.ogg、.aiff「オーディオクリップを一覧表示して」
list_audio_mixersAudio Mixer アセット「オーディオミキサーを一覧表示して」
🧪 テストとドキュメント
ツール説明入力するプロンプトの例
list_test_assembliesテストアセンブリ定義「テストアセンブリを一覧表示して」
get_repo_docsREADME、CONTRIBUTING、.cursorrules など「リポジトリのドキュメントを表示して」 · 「README には何が書かれている?」
read_agent_docs.agents/AGENT.md、任意の REPO_UNDERSTANDING.md「エージェントのドキュメントを読んで」 · 「AGENT.md を表示して」
🔄 CI とバージョン管理
ツール説明入力するプロンプトの例
list_ci_configs.github/workflows、Jenkinsfile、unity-cloud-build「CI 設定を一覧表示して」 · 「GitHub ワークフローを表示して」
list_presets.preset アセット「プリセットを一覧表示して」
get_git_lfs_tracked.gitattributes の LFS パターン「Git LFS は何を追跡している?」
get_plastic_configPlastic SCM の設定「Plastic SCM の設定を表示して」
🔌 インテグレーション(設定の検出のみ) | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `get_playfab_config` | Title ID、設定パス | *「PlayFab は設定されていますか?」* | | `list_figma_related_assets` | Figma フォルダー/名前付きアセット | *「Figma 関連のアセットを一覧表示して」* | | `get_firebase_config` | GoogleServices のパス、プロジェクト ID | *「Firebase の設定を表示して」* | | `get_steam_config` | steam_appid.txt、Steamworks のパス | *「Steam は設定されていますか?」* | | `get_discord_config` | Discord SDK のパス | *「Discord の設定を表示して」* | | `get_fmod_config` | バンクのパス、バンクファイル | *「FMOD の設定を表示して」* | | `get_wwise_config` | サウンドバンク、プロジェクトのパス | *「Wwise の設定を表示して」* | | `list_substance_assets` | .sbsar、.sbs | *「Substance アセットを一覧表示して」* | | `list_speedtree_assets` | .spm、.stm | *「SpeedTree アセットを一覧表示して」* | | `list_lottie_assets` | Lottie の JSON アセット | *「Lottie アセットを一覧表示して」* | | `get_analytics_or_crash_config` | Sentry、Crashlytics、BugSnag など | *「どの分析機能やクラッシュレポート機能が設定されていますか?」* | | `get_ads_config` | Unity Ads、AdMob、ironSource の導入状況 | *「広告 SDK は設定されていますか?」* | | `get_multiplayer_stack` | Netcode/マルチプレイヤーパッケージとスクリプト | *「このプロジェクトではどのマルチプレイヤースタックを使っていますか?」* | | `get_ugs_cloud_stack` | Unity Gaming Services/Cloud Code の一覧 | *「UGS または Cloud Code は設定されていますか?」* |
🧱 Unity 6 の対応範囲
ツール説明入力するプロンプトの例
list_build_profilesUnity 6 のビルドプロファイルアセット「ビルドプロファイルを一覧表示して」
get_physics_stackUnity Physics/Physics Core 2D/従来の物理演算「物理演算スタックを監査して」
get_optimization_package_inventoryAdaptive Performance と Project Auditor「Adaptive Performance はインストールされていますか?」
get_accessibility_stackアクセシビリティ API とパッケージ「アクセシビリティ API は使われていますか?」
list_cinemachine_assetsCinemachine のカメラと関連アセット「Cinemachine アセットを一覧表示して」
get_platform_build_hintsAndroid/WebGL の PlayerSettings スニペット「プラットフォーム別のビルドに関するヒントを表示して」
get_render_pipeline_migration_hintsBIRP と URP/HDRP の移行リスク「まだ Built-in RP を使っていますか?」
get_localization_stackLocalization パッケージとロケールテーブル「ローカライズ設定を監査して」
⚡ 高速化と生産性
ツール説明入力するプロンプトの例
get_project_stats一括統計:スクリプト、プレハブ、シーン、マテリアル、アニメーション、アセンブリ、パッケージ「プロジェクトの統計を教えて」 · 「プレハブとシーンはいくつありますか?」
get_scene_referenced_assetsシーンが参照するアセットのパス(ビルドサイズ/影響範囲)「Main.unity が参照するアセットは何ですか?」
detect_assembly_cyclesアセンブリ定義内の循環参照(コンパイルエラーの修正用)「アセンブリの循環参照を検出して」 · 「アセンブリ間に循環参照はありますか?」
find_script_references型/クラス名を参照する C# ファイル(リファクタリング用)「PlayerController の参照を検索して」
get_broken_script_refsスクリプト参照が欠落しているプレハブ/シーン「スクリプトが欠落しているプレハブを検索して」
get_prefab_dependenciesプレハブが参照するアセットのパス(影響分析用)「Hero.prefab は何に依存していますか?」
get_release_readiness一括確認:バージョン、ビルドシーン、パッケージ、参照切れ、循環参照、大容量アセット「プロジェクトはリリース可能な状態ですか?」 · 「リリース準備状況を確認して」
get_build_size_estimateビルドサイズの推定:ビルドシーンの合計サイズと最大アセット「ビルドサイズはどれくらいですか?」 · 「ビルド内の最大アセットを表示して」
🤖 AI と ML | ツール | 説明 | 入力するプロンプトの例 | |------|-------------|-------------------------| | `get_ai_stack_summary` | AI のワンショット監査:パッケージ、モデル、スクリプト、ML-Agents の YAML | *「このプロジェクトではどの AI を使っていますか?」* · *「AI スタックの監査を実行して」* | | `get_ai_ml_package_inventory` | ML-Agents、Sentis、Barracuda、AI Navigation、Muse、Unity AI | *「Unity の AI/ML パッケージを一覧表示して」* | | `list_ml_model_assets` | `.onnx`、`.nn`、`.pt`、`.tflite`、`.pb` のモデルファイル | *「プロジェクト内の ONNX モデルを一覧表示して」* | | `find_ai_related_scripts` | Sentis、ML-Agents、NavMesh、ビヘイビアツリー、LLM API を使用する C# | *「ML-Agents または Sentis を使用しているスクリプトはどれですか?」* | | `list_ml_agents_training_configs` | ML-Agents のトレーナー用 YAML 設定 | *「ML-Agents のトレーニング設定を探して」* | | `list_ai_prompt_or_config_assets` | Assets 内のプロンプト/RAG のような JSON または MD | *「Assets に LLM プロンプトのアセットはありますか?」* | | `list_ai_skills` | Unity のドメイン別にバンドルされたスキル(39 種:シーン、マルチプレイヤー、ビルドプロファイルなど) | *「Unity のスキルを一覧表示して」* | | `read_ai_skill` | ID でスキルを読み込みます(例:`unity-scenes-workflow`、`unity-multiplayer-netcode`) | *「unity-ai-audit スキルを読んで」* |
🔍 メタ
ツール説明入力するプロンプトの例
search_tools意図に基づいて関連ツールを検索します(例:参照の検索、スクリプトの欠落)。クエリを省略すると、カテゴリ別にすべてのツールを一覧表示します。「どのような Unity ツールがありますか?」 · 「参照を検索するツールを探して」 · 「カテゴリ別にすべてのツールを一覧表示して」

search_tools の使用方法 — 任意の query を渡すと、名前、説明、カテゴリでツールを絞り込めます。query を省略すると、カテゴリ別にグループ化されたカタログ全体が返されます。

意図クエリの例取得できるツール(概念上)
アセットを参照しているものを探すfind referencesfind_references、search_project、…
プレハブのスクリプト欠落を修正するmissing scriptget_broken_script_refs、…
テクスチャを扱うtextureget_texture_meta、list_assets_by_extension、…
プレハブを一覧表示または調査するprefablist_prefabs、list_prefabs_with_component、get_prefab_dependencies、…
シーンとビルド順序scene または buildlist_all_scenes、list_build_scenes、get_scene_summary、…
C# スクリプトと APIscript または assemblylist_scripts、get_script_public_api、find_scripts_by_content、…
アニメーションanimation または animatorlist_animator_controllers、list_animation_clips、…
すべてを一覧表示する(フィルターなし)(クエリを省略)カテゴリ別にグループ化されたすべてのツール

すべてのツールはプロジェクトのファイルシステムのみを読み取ります。


実際の使用例

これらを Claude、Cursor、または任意の MCP クライアントにコピーして貼り付けてください(このサーバーを設定し、UNITY_PROJECT_PATH を設定してください)。AI が適切なツールを選択します。

役割プロンプトの例
開発者「Assets/Scripts/Player.cs を含むアセンブリはどれですか?」 · 「MyGame.Runtime 内のスクリプトを一覧表示して」 · 「MyGame.Core に依存しているのはどれですか?」 · 「アセンブリの依存関係に循環はありますか?」 · 「リリース準備状況のチェックを実行して」
テスター「ビルドに含まれるシーンはどれですか?」 · 「名前に test が含まれるアセンブリを一覧表示して」 · 「プロジェクトはリリース可能な状態ですか?」 · 「ビルドサイズと、最も大きなアセットは何ですか?」
ゲーム開発者「Animator があるプレハブはどれですか?」 · 「Hero.prefab を要約して」 · 「Player.controller の Animator 遷移を表示して」 · 「入力アクションアセットを一覧表示して」
ゲームデザイナー「Standard シェーダーを使用しているマテリアルはどれですか?」 · 「すべての ScriptableObject アセットを一覧表示して」 · 「Main.unity を要約して」 · 「Main.unity ではどのようなライティングを使用していますか?」 · 「Main.unity 内のすべてのオブジェクトをレイヤーとともに一覧表示して」

Claude/Cursor またはその他の MCP クライアントで入力する内容

Claude、Cursor、またはその他の MCP クライアントでは、自然言語で指示してください。AI が適切なツールを選びます。上記の各ツール表にある 入力するプロンプトの例列を使用してください。これらは、チャットに入力して目的の結果を得るためのフレーズです。


前提条件

  • Node.js 18+
  • UNITY_PROJECT_PATH — Unity プロジェクトルートの絶対パス(MCP クライアントで設定)

インストール

git clone https://github.com/rachitkumarrastogi/unity-mcp-server.git
cd unity-mcp-server
npm install
npm run build

サーバーは stdio を使用します。MCP クライアントが自動的に起動します。


設定

Cursor の例(Claude Desktop、VS Code + MCP、Windsurf などでも同様です):

{
  "mcpServers": {
    "unity": {
      "command": "node",
      "args": ["/absolute/path/to/unity-mcp-server/dist/index.js"],
      "env": {
        "UNITY_PROJECT_PATH": "/absolute/path/to/YourUnityProject"
      }
    }
  }
}

パスを実際のパスに置き換えてください。Claude Desktop の場合は、claude_desktop_config.json の mcpServers の下に、同じ command、args、env を持つエントリーを追加してください。VS Code の場合は、MCP 拡張機能の設定を使用して、サーバーと UNITY_PROJECT_PATH を追加してください。その他のクライアントも、各自の設定ファイルで同じパターンに従います。


開発

  • ビルド済みのものを実行: node dist/index.js
  • 開発モードで実行: npm run dev または npx tsx src/index.ts

Unity Editor との連携

  • 現在のワークフロー: AI は IDE(Cursor、MCP を使用する VS Code、Claude Desktop、Windsurf、またはその他の MCP 対応クライアント)内で動作します。このサーバーは AI にプロジェクト(シーン、スクリプト、設定、関連アセット)への読み取り専用アクセスを提供します。シーンを開いたり、Play モードに入ったり、ビルドしたりするには、Unity Editor を別途実行します。AI はサーバーを使用してプロジェクトを調査し、変更を提案したり、質問に答えたり、リファクタリングを支援したりします。

  • 将来の互換性: このサーバーは stdio 経由の標準 MCP プロトコルを実装しており、環境変数(UNITY_PROJECT_PATH)を 1 つだけ必要とします。Unity Editor に MCP クライアントの組み込みサポートが追加された場合は、同じ設定でこのサーバーに接続できます。コマンドは node、引数は dist/index.js を指定し、環境変数に UNITY_PROJECT_PATH を設定します。このコードベースを変更する必要はありません。


セキュリティ

このリポジトリには、ゲームのコード、アセット、シークレットは含まれていません。Unity プロジェクトのパスは、実行時に MCP クライアントから渡されます。このサーバーは、パブリック用途とプライベート用途のどちらにも適しています。


ドキュメント

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。