unity-mcp-cli リファレンス
unity-mcp-cli のコマンドリファレンス。Unity MCP のインストール、サインイン、AI エージェント設定の書き込み、Unity のヘッドレス起動、ターミナルからのツールや C# の実行を行えます。
unity-mcp-cli は Unity MCP 用のコマンドラインツールです。Unity とプラグインのインストール、ai-game.dev へのサインイン、AI エージェント設定の書き込み、エディターの起動と終了、ターミナルや CI スクリプトからの MCP ツールの呼び出しやエディター内での C# 実行ができます。このページではバージョン 1.6.2 のすべてのコマンドとフラグを一覧で説明します。
インストール
npm install -g unity-mcp-cliまたは、インストールせずに任意のコマンドを実行できます: npx unity-mcp-cli <command>。Node.js ^20.19.0 または >=22.12.0 が必要で、Windows、macOS、Linux で動作します。エディターを管理するコマンドは Unity Hub CLI を使用します。Unity Hub がない場合、CLI がインストールします。
すべてのコマンドで利用できるグローバルオプション:
| オプション | 説明 |
|---|---|
-v, --verbose | 詳細な診断出力 |
-V, --version | CLI のバージョンを表示 |
--help | そのコマンドのヘルプ |
非対話ターミナル(CI)では、CLI はスピナーと色を自動的に無効化します。プロジェクトパスを受け取るほとんどのコマンドは、位置引数または --path として受け取り、デフォルトは現在のフォルダーです。
典型的なセッション
unity-mcp-cli install-plugin ./MyGame
unity-mcp-cli login
unity-mcp-cli setup-mcp claude-code ./MyGame
unity-mcp-cli open ./MyGame
unity-mcp-cli wait-for-ready ./MyGame
unity-mcp-cli run-tool tests-run ./MyGame --input '{"testMode":"EditMode"}'
unity-mcp-cli close ./MyGameプロジェクトセットアップコマンド
install-unity
Unity Hub 経由で Unity エディターをインストールします。引数を指定しない場合は最新の安定版リリースをインストールします。
| 引数 / オプション | 説明 |
|---|---|
[version] | エディターバージョン(例: 6000.3.1f1) |
--path <path> | 既存のプロジェクトから必要なバージョンを読み取る |
create-project
エディターで新しい Unity プロジェクトを作成します: unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1。
| 引数 / オプション | 説明 |
|---|---|
[path] | プロジェクトを作成する場所(必須、または --path) |
--unity <version> | エディターバージョン(デフォルト: インストール済みの最新版) |
install-plugin
OpenUPM のスコープ付きレジストリと com.ivanmurzak.unity.mcp を Packages/manifest.json に追加します。インストール済みのより新しいバージョンをダウングレードすることはありません。フォルダーは Unity プロジェクトである必要があります。
| オプション | 説明 |
|---|---|
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--plugin-version <version> | インストールするバージョン(デフォルト: OpenUPM の最新版) |
--with-server | このマシン用の gamedev-mcp-server バイナリも CLI 自身のフォルダーにダウンロードする |
--server-version <version> | --with-server で使用するサーバーバージョン |
--server-source <path-or-url> | ローカルの zip または URL からサーバーをインストールする(オフラインや CI 向け。チェックサム検証はスキップされます) |
--enroll <code> | チーム登録コードを引き換えて、このプロジェクトに固定されたプラグイン資格情報を取得する |
--enroll-stdin | 登録コードを stdin から読み取り、シェル履歴に残さない |
--yes | 確認プロンプト(--enroll 中のアカウント切り替えなど)に自動で同意する |
install-extension
公式拡張機能を Packages/manifest.json にインストールします。拡張機能を参照してください。
| 引数 / オプション | 説明 |
|---|---|
[id] | カタログ名(Tilemap)またはパッケージ ID(com.ivanmurzak.unity.mcp.tilemap) |
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--extension-version <version> | インストールするバージョン(デフォルト: OpenUPM の最新版) |
--list | インストール可能な拡張機能を一覧表示して終了する(プロジェクトやネットワークは不要) |
remove-plugin
com.ivanmurzak.unity.mcp を Packages/manifest.json から削除し、スコープ付きレジストリは保持します。[path] を取ります(必須、または --path)。
configure
UserSettings/AI-Game-Developer-Config.json 内のツール、プロンプト、リソースの表示・非表示を切り替えます。非表示の項目も、名前で呼び出せば実行されます。
| オプション | 説明 |
|---|---|
[path] | Unity プロジェクト(必須、または --path) |
--list | 現在の設定を表示して終了する |
--enable-tools <names>、--disable-tools <names> | 特定のツールを表示または非表示にする(カンマ区切り) |
--enable-all-tools、--disable-all-tools | すべてのツールを表示または非表示にする |
--enable-prompts <names>、--disable-prompts <names> | プロンプトについても同様 |
--enable-all-prompts、--disable-all-prompts | すべてのプロンプト |
--enable-resources <names>、--disable-resources <names> | リソースについても同様 |
--enable-all-resources、--disable-all-resources | すべてのリソース |
--agent <id> | 代わりにマネージドサーバーのコンフィギュレーター経由で AI エージェント設定を書き込む |
--url <url> | --agent と一緒に渡すサーバー URL |
bootstrap-local
プロジェクトの設定を、指定したサーバー URL とトークンを使って Custom(ローカル)モードに固定します。冪等です。
| オプション | 説明 |
|---|---|
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--url <url> | ローカル MCP サーバーの URL(必須) |
--token <token> | ローカルのベアラートークン(必須) |
--dry-run | 書き込まずに、変更される内容を報告する |
サインインと AI エージェントのコマンド
login
ブラウザの OAuth デバイスフローで ai-game.dev にサインインし、認証情報を ~/.ai-game-dev/credentials.json に保存します。Editor プラグインとデスクトップアプリは同じ認証情報を使用します。すでにサインイン済みの場合は何もせず終了します。
| オプション | 説明 |
|---|---|
--project <path> | 認証情報をマシンストアではなく <path>/.ai-game-dev/ に保存する |
--force | 認証情報が存在していても再サインインする |
--tools-only | CI ランナー向けにエンジンツールのみを認可する。エージェントの認証情報は保存されない |
--yes | アカウント切り替えの確認プロンプトを表示せずに確定する |
setup-mcp
AI エージェントの MCP 設定を書き出します。Editor ウィンドウの Configure と同じ出力です。デフォルトでは URL はこのプロジェクトに固定され(https://ai-game.dev/mcp/p/<pin>)、Cloud HTTP 設定の場合はサインイン済みであればこのプロジェクトのキーが含まれます。詳しくは AI クライアントの接続 を参照してください。
| オプション | 説明 |
|---|---|
[agent-id] | 設定するエージェント。例: claude-code、cursor、codex |
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--transport <transport> | http(デフォルト)または stdio |
--url <url> | http 用のサーバー URL の上書き |
--token <token> | プロジェクトキーの代わりにこの Personal Access Token を書き込む |
--oauth | URL のみの設定を書き出す。エージェントは自身の OAuth でサインインする |
--regenerate-key | 新しいプロジェクトキーを発行し、設定を書き換えて古いキーを無効化する |
--no-pin | 固定されていない https://ai-game.dev/mcp エンドポイントを使用する |
--list | エージェント ID とその設定パスを一覧表示する |
setup-skills
実行中の Editor を介してエージェントのスキルファイルを生成します。Unity がプラグイン接続済みの状態で開かれている必要があります。
| オプション | 説明 |
|---|---|
[agent-id] | スキルを生成するエージェント |
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--url <url>、--token <token> | サーバー URL とトークンの上書き |
--timeout <ms> | リクエストのタイムアウト(デフォルト 60000) |
--list | エージェントとスキル対応可否を一覧表示する |
Editor コマンド
open
Unity Editor でプロジェクトを開き、指定したオプションからプラグインの接続用環境変数を設定します。エディターはデタッチ状態で起動します。
| オプション | 説明 |
|---|---|
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--unity <version> | エディターバージョン(デフォルト: プロジェクトのバージョン、次にインストール済みの最高バージョン) |
--editor-path <path> | Editor 実行ファイルを明示的に指定する。Unity Hub の検出をスキップする |
--no-connect | MCP 接続変数を設定せずに開く |
--url <url> | サーバー URL(UNITY_MCP_HOST を設定する。これは UNITY_MCP_CLOUD_URL のエイリアス) |
--keep-connected | 接続を強制的にオンにする |
--token <token> | ローカルサーバーのトークン(UNITY_MCP_TOKEN を設定する) |
--auth <option> | 認可モード(UNITY_MCP_AUTH_OPTION を設定する)。このバージョンでは none または required を指定できる |
--tools <names> | 表示するツールをカンマ区切りで指定する(UNITY_MCP_TOOLS を設定する) |
--transport <method> | streamableHttp または stdio |
--start-server <value> | ローカルサーバーの自動起動を true または false で指定する |
--headless | ウィンドウなしで起動し(-batchmode、グラフィックスは維持)、MCP サーバーが応答するまで待機する |
--idle-timeout <seconds> | ツール呼び出しがないままこの秒数が経過したら終了する。その前に変更されたシーンとアセットを保存する |
--ready-timeout <ms> | --headless の場合の待機時間(デフォルト 300000) |
--no-auto-dismiss-launch-errors | Unity の「起動時のコンパイルエラー」ダイアログで Ignore をクリックしない |
--launch-dismiss-timeout-ms <ms> | そのダイアログを監視する合計時間(デフォルト 30000) |
--launch-dismiss-poll-interval-ms <ms> | そのダイアログのポーリング間隔(デフォルト 1500) |
起動時エラーダイアログの自動消去には、macOS ではターミナルに対するアクセシビリティ権限が、Linux X11 では xdotool が必要です(Wayland はサポートされません)。
close
プロジェクトの Editor を正常に終了します: unity-mcp-cli close ./MyGame --timeout 60 --force。実行されていない Editor を閉じても成功とみなされます。
| オプション | 説明 |
|---|---|
[path] | Unity プロジェクト(デフォルト: 現在のフォルダー) |
--timeout <seconds> | 正常終了を待つ(デフォルト 30) |
--force | その時点で終了していなければ Editor を強制終了する |
--owned-only | CLI が起動した Editor(exec、open --headless)のみを閉じる |
wait-for-ready
Editor と MCP サーバーがツール呼び出しを受け付けるまでポーリングします。オプション: [path]、--url、--token、--timeout <ms>(デフォルト 120000)、--interval <ms>(デフォルト 3000)。
status
Unity が実行中かどうか、ローカル MCP サーバーが応答するかどうか、設定されたサーバー(たとえばクラウド)に到達可能かどうかを表示します。オプション: [path]、--url、--token、--timeout <ms>(デフォルト 5000)。
ツールコマンド
run-tool
サーバーの HTTP API 経由で MCP ツールを呼び出します。URL とトークンは、上書きしない限りプロジェクト設定(Custom または Cloud モード)から取得されます。
unity-mcp-cli run-tool rql-query ./MyGame --input '{"query":"objects | where name == \"Player\" | select path name active"}'
unity-mcp-cli run-tool unity-tool-list ./MyGame --raw| オプション | 説明 |
|---|---|
<tool-name> | 呼び出すツール |
[path] | Unity プロジェクト。設定とポートの検出に使用される |
--url <url>, --token <token> | 設定をバイパスして上書きする |
--input <json>, --input-file <file> | ツールの引数(デフォルト {}) |
--raw | 生の JSON 出力 |
--timeout <ms> | リクエストのタイムアウト(デフォルト 60000) |
run-system-tool
run-tool と同じオプションですが、MCP クライアントに公開されていないシステムツール(スキル生成やセッション制御など)向けです。
exec
script-execute を介してエディター内で C# を実行し、結果を出力します。エディターが開いていればそれを使い、開いていなければ後続の呼び出しのためにウォームな状態を保つヘッドレスエディターを起動し、--idle 秒後に終了します。
unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec| オプション | 説明 |
|---|---|
[code] | C# ステートメント。最後の式が結果になります(-f または標準入力も使用可) |
--path <path> | Unity プロジェクト(デフォルト: 現在のフォルダー) |
-f, --file <file> | ファイルからコードを読み込む(標準入力には -) |
--using <namespace> | 追加の名前空間。繰り返し指定可 |
--include <path> | .ai-game-dev/snippets 配下のヘルパー .cs ファイルまたはフォルダー。繰り返し指定可 |
--window | ヘッドレスではなくウィンドウ付きでエディターを起動する |
--idle <seconds> | exec が起動したエディターが終了するまでのアイドル時間(デフォルト 300、0 で終了しない) |
--ready-timeout <ms> | エディターの待機(デフォルト 300000) |
--timeout <ms> | ツール呼び出しのタイムアウト |
--raw | 生のツールレスポンス JSON |
--url <url>, --token <token> | 上書き |
コンパイルエラーが発生すると終了コード 1 で終了し、該当する行を示します。
メンテナンス
update
CLI を最新の npm バージョンに更新します。--check は確認のみを行い、更新が利用可能な場合は終了コード 2 で終了します。npx 経由の場合は更新するものがありません。
ライブラリとしての利用
このパッケージは型付きの Node.js API(installPlugin、removePlugin、configure、setupMcp、installExtension など)もエクスポートしており、出力の代わりに結果オブジェクトを返します。詳細はパッケージの npm の README を参照してください。