mcpField
U
Unity MCP

Unity MCP

ローカル
unity-mcp.shiranui-isuzu.dev開発ツール3363 週間前に更新

Unity MCP について

Unity Editor を AI エージェントに開放するフレームワークで、シーン、Prefab、アセット、シェーダー、Timeline、テスト、ビルドを操作できます。Editor が Streamable HTTP エンドポイントを直接公開するため、別プロセスの MCP サーバーは不要です。

主な機能

  1. 01Editor 内蔵の Streamable HTTP エンドポイント
  2. 02同じツールを呼べるコマンドラインツール
  3. 03C# の static メソッドによるツール定義
  4. 04シーン・Prefab・アセットの作成と変更
  5. 05オーサリング操作ごとの Undo 1 回への集約
  6. 06tools/list のグループ指定によるフィルタリング

活用シーン

  1. 01AI エージェントによるシーンと Prefab の編集とコンパイル結果の確認
  2. 02スクリプトやコマンドラインからの Unity Editor 操作
  3. 03テストとビルドの実行とコンソールエラーの収集

MCP 対応

Editor 自体が MCP サーバーとして動作し、127.0.0.1 上の Streamable HTTP エンドポイントで Claude Code や Cursor などのクライアントにツールを提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetIsuzuUnityCli4.4.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの README より

Unity MCP 統合フレームワーク

License: MIT Unity .NET GitHub Stars

English Version | Tiếng Việt

Unity Editor を AI エージェントに開放するフレームワークです。人が手で実行しても、スクリプトから呼んでも、同じ経路を通ります。

  • MCP クライアントは、Editor 自身が公開する Streamable HTTP エンドポイント http://127.0.0.1:<port>/mcp に直接接続します。別プロセスの MCP サーバーはありません。Claude Code、Cursor、Codex、Gemini CLI、VS Code、Claude Desktop で動作を確認しています。
  • コマンドラインの isuzu-unity-cli からも同じツールを呼べます。配布している実行ファイルはネイティブなので、Node も .NET ランタイムも要りません。
  • ツールは C# の static メソッドに [McpTool] を付けるだけで定義できます。

はじめて使う方は、図つきの導入ガイド Unity MCP のはじめかた から始めてください。

必要条件

  • Unity Editor 2022.3 以降。EditMode テストスイートは Unity 6000.0.35f1 で実行しています
  • Git クライアント 2.14.0 以降を PATH に通しておいてください。Unity の Package Manager が git URL のパッケージを取得するのに使います(Unity のマニュアル)。下の VPM リポジトリから入れる場合は要りません
  • com.unity.nuget.newtonsoft-json 3.2.1。依存として自動で解決されます

インストール

Unity の Package Manager で Add package from git URL を選び、次の URL を入力します。

https://github.com/isuzu-shiranui/UnityMCP.git?path=jp.shiranui-isuzu.unity-mcp

VCC(VRChat Creator Companion)と ALCOM では、VPM リポジトリ https://unity-mcp.shiranui-isuzu.dev/vpm.json を追加してください。どちらもパッケージを zip でダウンロードするので、この経路に Git は要りません。ワンクリックで追加するリンクと、追加する場所の画面は、導入ガイドの VCC・ALCOM をお使いの場合 にあります。

CLI をインストールします。

# Windows
irm https://raw.githubusercontent.com/isuzu-shiranui/UnityMCP/main/install.ps1 | iex

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/isuzu-shiranui/UnityMCP/main/install.sh | sh

GitHub Releases から実行ファイルを直接ダウンロードして、SHA256SUMS で検証することもできます。.NET 10 SDK があれば dotnet tool install -g IsuzuUnityCli でも入ります。

続けて、エージェント用のスキルと MCP クライアントを登録します。

isuzu-unity-cli setup                              # Claude Code / Codex 向けのスキル
isuzu-unity-cli setup --mcp --agent claude-code    # MCP クライアントへの登録

--agent は claude-code / claude-desktop / codex / cursor / gemini / vscode から選べます。Claude Code はサーバーを Unity プロジェクトのパスの下に登録するので、Claude Code を Unity プロジェクトのフォルダーで起動してください。Editor の Preferences > Unity MCP ページからも登録できます。

クライアントごとの設定、Claude Desktop 向けの拡張機能バンドルと stdio ブリッジは MCP クライアントの接続 にあります。

最初のコマンド

Editor がプロジェクトを開くとサーバーが起動し、descriptor ファイルを公開します。CLI はそれを読むので、ポートやトークンの指定は要りません。

isuzu-unity-cli projects                  # 起動中の Editor 一覧
isuzu-unity-cli tools                     # 利用可能なツール
isuzu-unity-cli call play_mode_status     # ツールの実行
isuzu-unity-cli verify                    # 再コンパイル → エラー抽出 → コンソールのエラー

verify は、スクリプトを編集したあとの再コンパイルとエラー収集を 1 回の呼び出しにまとめます。--test を付けるとテストも実行します。

Editor が複数起動しているときは --project <name> で選びます。プロジェクトのディレクトリ内で実行していれば、自動で選ばれます。全コマンドは CLI リファレンス にあります。

ツール

診断(コンソール、Editor.log、コンパイル状態、テスト、シーン階層、アセットの読み取り)、オーサリング(GameObject・コンポーネント・アセット・シーン・Prefab・Animator Controller の作成と変更)、描画、Timeline / Recorder、ビルド、C# スニペットの実行、Editor への入力の合成があります。オーサリングのツールは、呼び出し 1 回が Undo 1 操作にまとまります。

Timeline のツールは com.unity.timeline があるときだけ、Recorder のツールは com.unity.recorder と com.unity.timeline の両方があるときだけ、test_run と test_results は com.unity.test-framework があるときだけ現れます。

一覧と注意点は ツール一覧 にあります。MCP の URL に ?group=diagnostics,authoring のようにグループを付けると、tools/list がそのグループだけを返します。

ツールの追加

Editor 側にメソッドを 1 つ書くだけです。

using System.Linq;
using UnityMCP.Editor.Core;
using UnityMCP.Editor.Core.Attributes;

internal static class MyTools
{
    [McpTool(
        "asset_find_by_type",
        "Find project assets of a given type. Prefer a narrow type and a small limit.",
        Idempotency = McpIdempotency.Safe)]
    public static string[] FindByType(
        [McpArg("type", "Unity type name, e.g. Material.")] string type,
        [McpArg("limit", "Maximum paths to return.")] int limit = 50)
    {
        return UnityEditor.AssetDatabase.FindAssets($"t:{type}")
            .Take(limit)
            .Select(UnityEditor.AssetDatabase.GUIDToAssetPath)
            .ToArray();
    }
}

これだけで MCP クライアントと CLI の両方から呼び出せます。JSON Schema はシグネチャから生成されます。[McpTool] に指定できるプロパティは アーキテクチャ にあります。

C# を書かずに、JSON ファイルでツールを追加することもできます。定義ツール を参照してください。

ドキュメント

セキュリティ

サーバーは 127.0.0.1 にだけバインドします。OPTIONS を除く全リクエストに bearer token が必要です。descriptor ファイルとトークンファイルは資格情報として扱ってください。これらを読めるものは、Editor 内でコードを実行できます。プレイヤービルドには、Development Build を含めて一切含まれません。詳細は セキュリティ にあります。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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