KitWright Unity MCP について
KitWright Unity MCP は MIT ライセンスの Unity エディター用 MCP サーバーで、Claude Code、Cursor、VS Code Copilot などの AI アシスタントが実行中の Unity プロジェクト内で直接操作できるようにします。シーン編集、スクリプト生成、プレイモードの自動化、スクリーンショットなどを扱う 274 個の組み込みツールを備えています。
主な機能
- 01execute_code によるメモリ内での C# コードの実行
- 02プレイモードでのキーボードおよびマウス入力のシミュレーション
- 03プロジェクトコンテキストやシーン、ログのライブリソース
- 04core と full の切り替え可能なツールプロファイル
- 05複数の AI クライアント向けワンクリック MCP 設定
活用シーン
- 01AI アシスタントによるプロンプトからのシーンとゲームロジックの構築
- 02プレイモードでのスクリーンショットによる動作検証
- 03MCP 経由でのエディター状態とコンソールログの取得
MCP 対応
本プロジェクトは Unity エディター内で動作する MCP サーバーで、ローカルの HTTP エンドポイントを通じてツール、リソース、プロンプトを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
KitWright MCP for Unity
Unity Editor 向けの最も先進的な MCP サーバー
中文 | English
💖 このプロジェクトが役に立ったと感じたら、ぜひ Star を付けていただけると嬉しいです。より多くの Unity 開発者の目に留まるきっかけになり、継続的な開発を支えることにつながります。
KitWright MCP for Unity は、MIT ライセンスの Unity Editor 用 MCP サーバーです。Claude Code、Cursor、LM Studio、Windsurf、Codex、VS Code Copilot などの AI アシスタントが、実行中の Unity プロジェクト内で直接操作できるようにします。
ゲームを一文で説明するだけで、AI アシスタントは KitWright MCP for Unity の 274 個の組み込みツール(シーン作成、スクリプト生成、ランタイム検証、入力シミュレーション、パフォーマンス分析、エディター自動化)を通じて、Unity 上でそれを構築します。
「10x10 のグリッド、食べ物の出現、スコア UI、ゲームオーバー画面を備えたスネークゲームを作って」
AI アシスタントは KitWright MCP for Unity を通じてそれを処理します。シーンを作成し、すべてのスクリプトを生成し、UI をセットアップし、ゲームロジックを構成します — すべてたった一つのプロンプトから。
デモ — AI がプロジェクトのプレハブを検索し、MCP ツールを通じて都市のシーンを構築します。HD MP4 を見る。
クイックスタート
とにかく素早く接続したい場合は、次の 3 つを行ってください。
- Git URL から Unity パッケージをインストールする
Window > KitWright > MCP Windowを開き、Server タブからサーバーを起動する- 組み込みのワンクリッククライアント構成を使用する
1. UPM(Git URL)でインストールする
Unity で Window → Package Manager → + → Add package from git URL に移動します。
https://github.com/kitwright/unity-mcp.git#upm
💡 クローンやインストールの前に、GitHub で ⭐ を付けていただけると大変ありがたいです。
オプション: OpenUPM からインストールする
Unity Package Manager にレジストリベースのパッケージバージョン履歴を表示させ、バージョン選択を可能にしたい場合は、Git ではなく OpenUPM からインストールしてください。
OpenUPM CLI を使用する場合:
openupm add com.kitwright.unity.mcp
または、Packages/manifest.json にスコープ付きレジストリを手動で追加します:
{
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [
"com.kitwright"
]
}
],
"dependencies": {
"com.kitwright.unity.mcp": "1.0.1"
}
}
以前に Git URL からインストールした場合は、まず Git 依存関係を削除してから、OpenUPM からインストールしてください。Git でインストールされたパッケージは Unity では解決された Git バージョンのみが表示され、レジストリベースの Version History リストは取得されません。
オプション: Unity Asset Store からインストールする
Asset Store パッケージをインポートすると、This Unity Package has Package Manager dependencies ダイアログが表示されます。Install/Upgrade を選択してください — このパッケージには com.unity.nuget.newtonsoft-json が必要であり、プロンプトをスキップするとプロジェクトにそれが入らず、すべての KitWright スクリプトがコンパイルできなくなります。
すでに Skip を選択した場合、パッケージは次のドメインリロード時に依存関係をインストールするよう提案します。また、Window → Package Manager → + → Add package by name から自分で追加することもできます:
com.unity.nuget.newtonsoft-json
2. MCP サーバーを起動する
メニュー: Window → KitWright → MCP Window を開き、Server タブからサーバーを起動します。
サーバーは既定で http://127.0.0.1:8765/ で起動します。
Broker Mode は既定のトランスポートです。Unity に同梱された Mono を使って小さなローカルブローカーを実行し、MCP クライアントに対して同じ 127.0.0.1 ポートを維持し、クライアント側の設定変更を必要とせず、Unity のスクリプト再コンパイルや Play Mode のドメインリロードをまたいで接続を保持します。ブローカーを起動できない場合、サーバーは自動的に直接インプロセス HTTP にフォールバックします。Server タブでブローカーモードをオフにして、常に直接 HTTP を使用することもできます。
ウィンドウには 5 つのタブがあります: Server、Settings、Skills、Tool Exposure、Integrations です。
core または full によって公開される正確なツールを編集したい場合は、Tool Exposure タブを開いてください。
execute_code の安全デフォルト設定やプラグインのデバッグログを調整したい場合は、Settings タブを開いてください。
3. AI クライアントを設定する
まず Server タブにある組み込みの One-Click MCP Configuration を使用してください。
対象のクライアントを選択し、Configure をクリックすると、パッケージが推奨の MCP 設定エントリを書き込みます。
Claude Code、Cursor、Codex の場合は、Configure + Skills をクリックすると、既定のプロジェクト MCP ワークフロースキルもインストールされます。
現在の Unity プロジェクト向けにプロジェクト固有の AI ガイダンスが必要な場合は、Skills タブを開いて対応プラットフォームを選択し、既定の unity-mcp-workflow スキルをインストールしてください。
設定ファイルを手動で編集したい場合は、以下の例をフォールバックのリファレンスとして使用してください:
Claude Code / Claude Desktop
{
"mcpServers": {
"kitwright": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Cursor
{
"mcpServers": {
"kitwright": {
"url": "http://127.0.0.1:8765/"
}
}
}
LM Studio
LM Studio はワンクリックの対象には含まれていません — その mcp.json の場所はバージョンとプラットフォームによって異なります。LM Studio で Program > Install > Edit mcp.json を開き、以下のエントリを貼り付けてください。
{
"mcpServers": {
"kitwright": {
"url": "http://127.0.0.1:8765/"
}
}
}
VS Code
{
"servers": {
"kitwright": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Trae
{
"mcpServers": {
"kitwright": {
"url": "http://127.0.0.1:8765/"
}
}
}
Kiro
{
"mcpServers": {
"kitwright": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Codex
[mcp_servers.kitwright]
url = "http://127.0.0.1:8765/"
Windsurf
ローカルの Windsurf バージョンが異なる MCP 設定フォーマットを必要としない限り、Cursor と同じ JSON 構造を使用してください。
4. 接続を確認する
AI クライアントを開き、まずいくつかの安全なリクエストを試してください:
- 「
get_scene_infoを呼び出して、どのシーンが開いているか教えて」 - 「
unity://project/contextを読み取り、現在のエディター状態を要約して」 - 「
execute_codeを使ってアクティブなシーン名を返して」
これらが動作すれば、MCP サーバー、リソース、主要な実行ツールが正しく接続されています。
5. 構築を始める
AI クライアントを開き、次のように試してください: 「5 つの浮遊プラットフォームを備えた 3D プラットフォーマーレベルを作成して」
始める前に
- このパッケージはエディター専用です。ビルドしたゲームにランタイムコンポーネントを追加することはありません。
- MCP サーバーはデフォルトで
http://127.0.0.1:8765/で起動します。 - ローカル MCP サーバーの設定は
UserSettings/KitWrightMcpSettings.jsonに保存されます。 - このパッケージは、AI クライアントにとってのツールリストのノイズを減らすため、デフォルトで
coreMCP ツールプロファイルを使用します。coreは現在、execute_code、プレイモード制御、入力シミュレーション、スクリーンショット、パフォーマンス検査、ログ、コンパイルチェック、構造化オブジェクトの特定とコンポーネント編集、エディターの選択 / プレハブステージの状態、ライブ C# API リフレクション、Unity ドキュメント検索、そして摩擦の少ないフォールバックであるexecute_menu_itemを中心とした 43 個の高シグナルツールを公開します。274 個のツールすべてを公開したい場合は、Server タブでfullに切り替えてください。 - Settings タブでは、
execute_codeの安全性チェックと、より厳格なファイルシステムガードがデフォルトで有効になっています。このガードは、明らかに破壊的なスニペット、広範なSystemへの書き込み、生のファイルストリーム、絶対パス / ユーザー / システム / トラバーサルパスをブロックします。これは事故を防ぐものであり、意図を防ぐものではありません。safety_checksはツールの引数であるため、execute_codeを呼び出せるクライアントはsafety_checks=falseを渡して、ソースのブロックリストとコンパイル済みアセンブリのガードの両方をスキップできます。これはセキュリティ境界でも安全境界でもありません — SECURITY.md を参照してください。 - プラグインのデバッグログはデフォルトでオフになっており、Settings タブから有効にできます。警告とエラーは常に Unity コンソールに書き込まれます。
- 公開されているすべての MCP ツールは直接実行されます。追加の承認トグルはありません。
- ウィンドウはバックグラウンドで更新を確認し、新しいリリースが存在する場合はヘッダーに Update ボタンを表示します — これは Git インストールをその場で更新したり、
unitypackageを自動的にダウンロードしてインポートしたりできます。
このプロジェクトの特長
execute_codeファースト — リッチなエディター / ランタイムオーケストレーションのための、インメモリ C# 実行ツールを中心に最適化されています。詳細は以下の execute_code: インメモリ C# 実行 を参照してください。- デフォルトの安全性チェック —
execute_codeにはデフォルトでオンになる永続的なトグルがあり、呼び出しごとの引数を明確に公開しないクライアント向けの、より厳格なファイルシステムガードも含まれます - プレイモード自動化 — 同じ MCP セッションから、プレイモードへの移行、キーボード / マウス入力のシミュレーション、スクリーンショットの取得、ログの検査、動作の検証を行えます
- プロジェクトコンテキストを標準搭載 — プロジェクトの状態、アクティブなシーン、選択、コンパイル、コンソール出力、MCP インタラクション履歴のライブリソースを公開します
- デフォルトで絞り込み、必要に応じてフル —
coreはコンパクトで高シグナルなツールセットを公開し、fullは 274 個のツールを公開します - 単一の Unity パッケージ — 追加の承認 UI も、クリックして進める外部デーモンも、Unity 側プラグイン自体に Python の要件もありません
- 拡張可能 — 属性ベースの検出でカスタムツールを追加したり、必要に応じて Unity を外部の MCP サービスに接続したりできます
ハイライト
- 274 個の組み込みツール — シーン編集、アセット、スクリプト、再生モード制御、スクリーンショットとスクリーンショットの差分比較、パフォーマンス分析、プロンプト、リソース、構造化オブジェクトの位置特定、SerializedObject ベースのコンポーネントおよびプロジェクト設定の編集、アニメーター作成、複合 uGUI コントロール、エディター状態の検査、メニュー項目のフォールバック、そして 57 モジュールにわたるエディター自動化。完全なリスト: TOOLS.md
- 構造化された戻り値 +
instanceIdチェーン — ツールは{success, message, data}JSON を返し、安定したinstanceIdフィールドを含むため、エージェントは名前で再解決するのではなく、by_id呼び出しを確実にチェーンできます execute_code用のIKitWrightCommand— 自動 Undo (ctx.RegisterObjectCreation/ctx.RegisterObjectModification/ctx.DestroyObject)、構造化ログ (ctx.Log/LogWarning/LogError)、そしてエージェントに返される追跡可能な変更履歴を備えた新しいスニペットテンプレート- リソースとプロンプト — ライブプロジェクトコンテキスト、シーン/選択/エラーのリソース、リソーステンプレート、再利用可能なワークフロープロンプト
- 入力シミュレーション + スクリーンショット — キーボード/マウスシミュレーションで再生モードを操作し、ゲーム/シーンのキャプチャで結果を検証
- 組み込みの更新機能 — MCP ウィンドウが新しいリリースを表示し、Git パッケージを再プルするか、最新の
unitypackageを自動インポートします - 統合タブ — Hot Reload、Memory Profiler、Addressables、Input System、Timeline、URP、Test Framework を検出し、それぞれが解放するツールを表示します
- ワンクリッククライアント設定 — Unity ウィンドウから直接 19 のターゲット向けに MCP 設定エントリを書き込みます: Claude Code、Cursor、VS Code (+ Insiders)、Codex、Windsurf、Cline、Kiro、Trae、Rider (+ Junie)、Kimi Code、Qwen Code、Antigravity、Kilo Code、OpenCode、GitHub Copilot CLI、CodeBuddy CLI、Roo Code
- ツール公開制御 —
coreとfullによって公開される正確なツールを編集 - プロジェクトスキルマネージャー — 対応する AI クライアント向けのプロジェクトレベルのスキルを設定します。現在はデフォルトの
unity-mcp-workflowスキルをインストールします - MCP 設定 — MCP 接続やツール実行のトラブルシューティング時に、
execute_codeの安全デフォルトを調整し、詳細なプラグインデバッグログを有効化します - ベンダー非依存 — MCP をサポートするあらゆる AI クライアントで動作します: Claude Code、Cursor、LM Studio、Windsurf、Codex、VS Code Copilot など
execute_code: インメモリ C# 実行
execute_code は、Unity 向け KitWright MCP の中核です。これにより、AI は C# スニペットを記述し、Roslyn 優先のインメモリフローでコンパイルして、エディタスレッド上で実行できます。エージェントは、プロジェクトファイルをディスクに書き込むことなく、Unity Editor とランタイム API の完全なサーフェスを利用できます。
- プロジェクトへの影響ゼロのコンパイル — スニペットは、インメモリのコンパイル/実行フローを維持したまま、まず Unity にバンドルされた Roslyn csc でコンパイルされます。
Assets/配下に.csファイルは書き込まれず、ドメインリロードもトリガーされず、スニペット自体が行う以外にプロジェクトの状態は一切変更されません。 - 実行前にエディタ対応済み — 各呼び出しは AssetDatabase を更新し、保留中のコンパイルが完了するのを待ってからスニペットをコンパイルするため、外部ファイルの編集が別途
request_recompileを必要とせず自動的に反映されます。 - 自動 Undo + 構造化ログ(推奨テンプレート) —
IKitWrightCommandを実装し、注入されたExecutionContextを使用することで、作成/変更/破棄されたすべてのオブジェクトがエディタの Undo に参加し、変更履歴がエージェントに返されます。
using UnityEngine;
using UnityEditor;
using KitWright.Editor.Tools.Helpers;
using KitWright.Editor.Tools.Scripting;
public class CommandScript : IKitWrightCommand
{
public void Execute(ExecutionContext ctx)
{
var go = GameObject.CreatePrimitive(PrimitiveType.Cube);
ctx.RegisterObjectCreation(go); // auto-Undo + tracked
ctx.Log("Created {0}", go.name);
ctx.ReturnValue = GameObjectSerializer.Describe(go, includeComponents: false);
}
}
レスポンスには { logs, created, modified, destroyed, returnValue } が含まれるため、エージェントはシーンを再クエリすることなく、何が変更されたかを正確に検証できます。
レガシーテンプレート(public static string Run())も引き続きサポートされています。構造化された追跡が過剰な、一回限りの検査スニペットに便利です。
execute_code と専用ツールのどちらを使うべきか — execute_code は、多段階のオーケストレーション、新規の読み取り、および 5~10 個の狭いツール呼び出しを連鎖させるよりも 1 つのスニペットの方がノイズが少ない状況で威力を発揮します。単一フィールドのコンポーネント編集、単純な選択の変更、または既存のツールでカバーされるあらゆる用途には、専用ツールを優先してください。LLM にとって呼び出しコストが低く、検証も容易です。
Coplay との比較
以下の表は、このリポジトリと、GitHub 上の Coplay のオープンソース unity-mcp リポジトリで公開されている動作( v10.0.0 および公開ドキュメントサイトで確認 )を比較したものです。
| 領域 | KitWright MCP for Unity | Coplay unity-mcp |
|---|---|---|
| Unity 側のアーキテクチャ | 組み込みの HTTP MCP サーバーを備えた、Unity Editor に埋め込まれるパッケージ | Unity ブリッジと Python MCP サーバー。ローカルで実行するか、API キー認証を用いてリモートでホスト |
| 追加のローカル前提条件 | コアワークフローには Unity パッケージのみ | 公開されているクイックスタートによると Unity + Python 3.10+ + uv |
| ツールの範囲 | 57 モジュールにわたる 274 個の細分化されたツールで、instanceId によって連鎖 | ツールごとに action 列挙型を持つ、約 51 個の広範な manage_* エントリポイント( README には「47 focused entrypoints」と記載 ) |
| 主なワークフロースタイル | まず execute_code、次に特化したヘルパーツール | まず manage_* ファミリー。execute_code は scripting_ext グループで利用可能 |
| デフォルトのツール公開 | コンパクトな core プロファイルと、任意の full への拡張 | manage_tools によってセッションごとにツールグループを切り替え |
| アセット生成 | 組み込みではない( execute_code で外部 API を組み合わせる ) | fal.ai、Tripo、Meshy による generate_image / generate_audio / generate_model、および Sketchfab インポート |
| UI Toolkit と ProBuilder | 組み込みではない( uGUI 作成ツールのみ ) | UXML/USS/UIDocument 向けの manage_ui と、エディター内モデリング向けの manage_probuilder |
| 組み込みのコンテキストモデル | プロジェクトリソース、リソーステンプレート、ワークフロープロンプト、インタラクション履歴 | 公開 README ではツールファミリーとブリッジ/サーバーワークフローを重視 |
| Play モードの検証 | パッケージに組み込みの Play モード制御、スクリーンショット、ログ、入力シミュレーション | 公開 README では広範な Unity 管理および自動化ツールを重視 |
| C# API イントロスペクション | reflect_api — 宣言されたメンバー、メンバーごとの完全なシグネチャ、拡張メソッド、非推奨メンバー、インターフェース、および unity / packages / project / all をスコープとする部分文字列による search。型またはメンバー名が解決できない場合に候補の提案を追加し、大文字と小文字を区別しないメンバー照合、およびプライベートメンバーと内部メンバー向けの include_non_public を提供 | unity_reflect — 同等のスコープフィルターを備えた get_type / get_member / search、拡張メソッドの解決、およびインターフェースと非推奨メンバーの一覧表示 |
| ドキュメント | README.md と TOOLS.md。どちらも [ToolProvider] ソースから生成 | ツールごとにパラメーター、アクション、例を網羅した詳細ページを持つ自動生成ドキュメントサイト |
| ツール公開の切り替え | set_tool_profile がクライアントから minimal / core / extended / full を切り替え、tools/list_changed をプッシュ | manage_tools がセッションごとにツールグループを有効化および無効化 |
| ツールのアノテーション | 読み取り専用ツールに annotations.readOnlyHint | アノテーション付きツールに readOnlyHint と destructiveHint |
| 位置づけ | AI 駆動のエディター制御向けの、軽量で直接的な MIT ライセンスの Unity MCP サーバー | Coplay が保守する、Python ベースのサーバーセットアップを備えた多機能な Unity ブリッジ |
Coplay 列の出典: CoplayDev/unity-mcp およびそのツールリファレンス
Unity AI Assistant との比較
以下の表では、このリポジトリと Unity Technologies の公式 com.unity.ai.assistant パッケージ(2026-05 時点で v2.7.0-pre.2)を比較しています。
| 領域 | KitWright MCP for Unity | Unity AI Assistant |
|---|---|---|
| 最小 Unity バージョン | 2022.3 | 6000.3 (Unity 6 のみ) |
| ライセンス | MIT、オープンソース | Unity 利用規約、プロプライエタリ |
| デプロイ | Editor 内のローカル HTTP MCP サーバー、クラウド不要 | Editor + ネイティブ Relay サブプロセス + Unity Cloud バックエンド |
| 課金 | 無料、ユーザーが自身の AI クライアントを持ち込む | クレジットベース (Unity Dashboard) |
| ツール公開 | 57 モジュールにわたる 274 ツール、core (43) / full プロファイル | 約 15 の MCP ツール (主に Manage* ファミリー) |
| 汎用エスケープハッチ | execute_code — Roslyn ファーストのインメモリコンパイル、IKitWrightCommand + Undo、サンドボックスなし (クライアント側の承認) | RunCommand — 名前空間ブラックリストサンドボックス |
| 再生モードの検証 | フルループ: 開始 / 入力シミュレーション / キャプチャ / ログ読み取り / 終了 | 開始/終了のみ、入力シミュレーションなし |
| アセットジェネレーター | 組み込みなし (execute_code 経由で外部 API を組み合わせる) | ネイティブの Image / Mesh / PBR / Sound / Animation ジェネレーター |
| 主要クライアントモデル | 任意の MCP クライアントを持ち込み可能 (Claude Code / Cursor / LM Studio / Codex / VS Code) | 組み込みチャットウィンドウ + Gateway 経由の Claude/Gemini 向け ACP |
| オフライン対応 | ツール呼び出しは可 (推論は選択したクライアントに依存) | 不可 (推論には Unity Cloud が必要) |
両アプローチの詳細な比較については、KitWright MCP for Unity vs Unity AI Assistant detailed comparison(中国語)をご覧ください。
MCP 機能
現在のオープンソースパッケージは、4 つの価値の高い機能レイヤーを公開しています。
- ツール —
fullで合計 274 ツール、coreで 43 の絞り込まれたツール - 主要な実行 — リッチなエディター/ランタイムオーケストレーションのための
execute_code - プロンプト —
fix_compile_errors、runtime_validation、create_playable_prototypeなどのワークフロープロンプト - リソース — プロジェクトコンテキスト、シーンサマリー、選択状態、コンパイルエラー、コンソールエラー、MCP インタラクション履歴、さらにシーンオブジェクト、コンポーネント、アセットパス用のリソーステンプレート
組み込みツール
KitWright MCP for Unity は 57 モジュールにわたる 273 のツール関数を提供しています(core プロファイルではそのうち 53 を公開)。
| モジュール | ツール | モジュール | ツール |
|---|---|---|---|
| EditorState | 18 | Texture | 4 |
| GameObject | 14 | Build | 3 |
| Profiler | 13 | ComponentBatch | 3 |
| Scene | 13 | ComponentProperty | 3 |
| Animation | 10 | Docs | 3 |
| Prefab | 10 | Lighting | 3 |
| Asset | 8 | Package | 3 |
| Terrain | 8 | Physics | 3 |
| AssemblyDefinition | 7 | ScriptableObject | 3 |
| InputSimulation | 7 | Sprite | 3 |
| Prefs | 7 | Testing | 3 |
| SpriteAtlas | 7 | Undo | 3 |
| UI | 7 | AssetImport | 2 |
| Visual | 7 | EditorDialog | 2 |
| Addressable | 6 | EditorWindowInteraction | 2 |
| Audio | 6 | Material | 2 |
| Code | 6 | Performance | 2 |
| InputActions | 6 | ProjectSettings | 2 |
| NavMesh | 6 | References | 2 |
| Shader | 6 | Batch | 1 |
| File | 5 | Hierarchy | 1 |
| MemorySnapshot | 5 | Interop | 1 |
| SceneView | 5 | MenuItem | 1 |
| Screenshot | 5 | Mesh | 1 |
| Volume | 5 | Particle | 1 |
| Camera | 4 | Reflection | 1 |
| Compilation | 4 | Timeline | 1 |
| LodConstraint | 4 | ToolExposure | 1 |
| Script | 4 |
📖 各ツールとその説明: TOOLS.md。
📊 Profiler ツールの完全なリファレンス、実装上の注意点、既知の制限、テストレポートについては PROFILER_TOOLS.md をご覧ください。
カスタムツールの追加
プロジェクトでは、組み込みツールが使用するのと同じ属性を使って、独自の MCP ツールを宣言できます。クラスを Editor アセンブリに配置してください — KitWright.Editor は autoReferenced であるため、asmdef 参照の設定は不要です:
using System.ComponentModel;
using KitWright.Editor.Tools;
[ToolProvider("MyTools")]
public static class MyCustomTools
{
[Description("Spawns enemies at random positions in the scene")]
public static string SpawnEnemies(
[ToolParam("Number of enemies to spawn", Required = true)] int count,
[ToolParam("Prefab path in Assets")] string prefabPath)
{
// Your implementation here
return $"Spawned {count} enemies";
}
}
クラス上の public static メソッドは自動的に検出され、snake_case (spawn_enemies) に変換され、パラメーターリストから生成された JSON Schema 定義とともに MCP 経由で公開されます。メソッドがシーンやプロジェクトを変更しない場合は [ReadOnlyTool] を付けてください。クライアントはそのメソッドに対して annotations.readOnlyHint を受け取ります。
プロジェクトで宣言されたツールは、デフォルトの core を含む すべて のプロファイルで公開されます。なぜなら、ツールを書くこと自体がすでに明示的なオプトインであり、そうでなければカスタムツールはほとんどのクライアントが接続するプロファイルから見えなくなってしまうからです。これらのツールは Tool Exposure タブにも表示されるため、そこで設定されたプロファイルは他の組み込みツールと同様にそれらをオフにできます。
アーキテクチャ
MCP Server (HTTP JSON-RPC 2.0)
└─ MCPRequestHandler (protocol handling)
└─ MCPExecutionBridge
└─ FunctionInvoker (reflection-based invocation)
└─ Tool Functions (274 built-in tools across 57 modules)
External AI Client → HTTP Request → MCPRequestHandler → MCPExecutionBridge → FunctionInvoker → tool method
要件
- Unity 2022.3 以降
com.unity.nuget.newtonsoft-json— UPM および OpenUPM インストールでは自動的に取り込まれます。Asset Store からのインポートでは、Package Manager の依存関係ダイアログで提供されますcom.unity.uguiおよびcom.unity.test-framework— 宣言された依存関係であり、デフォルトの Unity プロジェクトにすでに含まれています
コントリビューション
コントリビューションを歓迎します! PR を送信する前に Contributing Guide をお読みください。
セキュリティ
脆弱性を発見しましたか? 非公開で報告してください — Security Policy をご覧ください。
ライセンス
MIT — 自由に使用、変更、配布でき、商用またはオープンソースプロジェクトに統合できます。
KitWright の名前とロゴは KitWright プロジェクトの商標であり、MIT ライセンスの対象では ありません。事前の書面による許可なく、派生作品のブランディングにこの名前やロゴを使用したり、承認を暗示させたりすることはできません。ブランド資産 (Editor/Icons/ 配下のファイル) に関するすべての権利は留保されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。