Skip to content

Repository files navigation

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

About

Drive the Unity Editor from an AI agent or the terminal. The Editor serves MCP itself over HTTP, so there is no second process to run, and the isuzu-unity-cli command needs no Node or .NET runtime.

Topics

Resources

Security policy

Stars

325 stars

Watchers

5 watching

Forks

Releases

Used by

Contributors

Languages