Referencia de unity-mcp-cli
Referencia de comandos de unity-mcp-cli: instala Unity MCP, inicia sesión, configura agentes de IA y ejecuta herramientas y C# desde la terminal.
unity-mcp-cli es la herramienta de línea de comandos para Unity MCP. Instala Unity y el plugin, inicia tu sesión en ai-game.dev, escribe configuraciones de agentes de IA, abre y cierra el Editor, y llama a herramientas MCP o ejecuta C# en el Editor desde una terminal o un script de CI. Esta página enumera todos los comandos y flags de la versión 1.6.2.
Instalación
npm install -g unity-mcp-cliO ejecuta cualquier comando sin instalarlo: npx unity-mcp-cli <command>. Requiere Node.js ^20.19.0 o >=22.12.0 y funciona en Windows, macOS y Linux. Los comandos que gestionan editores usan la CLI de Unity Hub; si falta Unity Hub, la CLI lo instala.
Opciones globales, disponibles en todos los comandos:
| Opción | Descripción |
|---|---|
-v, --verbose | Salida de diagnóstico detallada |
-V, --version | Muestra la versión de la CLI |
--help | Ayuda del comando |
En una terminal no interactiva (CI), la CLI desactiva automáticamente los spinners y los colores. La mayoría de los comandos que aceptan una ruta de proyecto la reciben como argumento posicional o como --path, y usan por defecto la carpeta actual.
Una sesión típica
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 ./MyGameComandos de configuración del proyecto
install-unity
Instala un Editor de Unity a través de Unity Hub. Sin argumentos, instala la última versión estable.
| Argumento / opción | Descripción |
|---|---|
[version] | Versión del Editor, por ejemplo 6000.3.1f1 |
--path <path> | Lee la versión requerida de un proyecto existente |
create-project
Crea un nuevo proyecto de Unity con el Editor: unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1.
| Argumento / opción | Descripción |
|---|---|
[path] | Dónde crear el proyecto (obligatorio, o --path) |
--unity <version> | Versión del Editor (por defecto: la más alta instalada) |
install-plugin
Añade el registro con ámbito de OpenUPM y com.ivanmurzak.unity.mcp a Packages/manifest.json. Nunca degrada una versión instalada superior. La carpeta debe ser un proyecto de Unity.
| Opción | Descripción |
|---|---|
[path] | Proyecto de Unity (por defecto: la carpeta actual) |
--plugin-version <version> | Versión a instalar (por defecto: la última en OpenUPM) |
--with-server | Descarga también el binario gamedev-mcp-server para esta máquina en la carpeta propia de la CLI |
--server-version <version> | Versión del servidor para --with-server |
--server-source <path-or-url> | Instala el servidor desde un zip local o una URL (offline o CI; omite la verificación de checksum) |
--enroll <code> | Canjea un código de inscripción de equipo por una credencial del plugin vinculada a este proyecto |
--enroll-stdin | Lee el código de inscripción desde stdin, manteniéndolo fuera del historial del shell |
--yes | Confirma las preguntas, como un cambio de cuenta durante --enroll |
install-extension
Instala una extensión oficial en Packages/manifest.json. Consulta Extensions.
| Argumento / opción | Descripción |
|---|---|
[id] | Nombre del catálogo (Tilemap) o id del paquete (com.ivanmurzak.unity.mcp.tilemap) |
[path] | Proyecto de Unity (por defecto: la carpeta actual) |
--extension-version <version> | Versión a instalar (por defecto: la última en OpenUPM) |
--list | Lista las extensiones instalables y sale (no requiere proyecto ni red) |
remove-plugin
Elimina com.ivanmurzak.unity.mcp de Packages/manifest.json y conserva los registros con ámbito. Acepta [path] (obligatorio, o --path).
configure
Muestra u oculta herramientas, prompts y recursos en UserSettings/AI-Game-Developer-Config.json. Un elemento oculto se sigue ejecutando cuando se llama por su nombre.
| Opción | Descripción |
|---|---|
[path] | Proyecto de Unity (obligatorio, o --path) |
--list | Muestra la configuración actual y sale |
--enable-tools <names>, --disable-tools <names> | Muestra u oculta herramientas concretas (separadas por comas) |
--enable-all-tools, --disable-all-tools | Muestra u oculta todas las herramientas |
--enable-prompts <names>, --disable-prompts <names> | Lo mismo para los prompts |
--enable-all-prompts, --disable-all-prompts | Todos los prompts |
--enable-resources <names>, --disable-resources <names> | Lo mismo para los recursos |
--enable-all-resources, --disable-all-resources | Todos los recursos |
--agent <id> | Escribe en su lugar una configuración de agente de IA mediante el configurador del servidor gestionado |
--url <url> | URL del servidor que se pasa junto con --agent |
bootstrap-local
Fija la configuración de un proyecto en modo Custom (local) con una URL de servidor y un token determinados. Idempotente.
| Opción | Descripción |
|---|---|
[path] | Proyecto de Unity (por defecto: la carpeta actual) |
--url <url> | URL del servidor MCP local (obligatorio) |
--token <token> | Token bearer local (obligatorio) |
--dry-run | Informa de lo que cambiaría sin escribir nada |
Comandos de inicio de sesión y de agentes de IA
login
Inicia sesión en ai-game.dev con el flujo de dispositivo OAuth del navegador y guarda la credencial en ~/.ai-game-dev/credentials.json. El plugin del Editor y la aplicación de escritorio usan la misma credencial. Si ya has iniciado sesión, termina de inmediato.
| Opción | Descripción |
|---|---|
--project <path> | Guarda la credencial en <path>/.ai-game-dev/ en lugar del almacén de la máquina |
--force | Vuelve a iniciar sesión aunque ya exista una credencial |
--tools-only | Autoriza solo las herramientas del motor, para runners de CI; no se guarda ninguna credencial de agente |
--yes | Confirma un cambio de cuenta sin preguntar |
setup-mcp
Escribe la configuración MCP de un agente de IA, la misma salida que Configure en la ventana del Editor. De forma predeterminada, la URL está vinculada a este proyecto (https://ai-game.dev/mcp/p/<pin>) y, en las configuraciones HTTP de Cloud, incluye la clave de este proyecto cuando has iniciado sesión. Consulta Conectar clientes de IA.
| Opción | Descripción |
|---|---|
[agent-id] | Agente que se va a configurar, por ejemplo claude-code, cursor, codex |
[path] | Proyecto de Unity (predeterminado: la carpeta actual) |
--transport <transport> | http (predeterminado) o stdio |
--url <url> | Sobrescribe la URL del servidor para http |
--token <token> | Escribe este Personal Access Token en lugar de la clave del proyecto |
--oauth | Escribe una configuración solo con URL; el agente inicia sesión con su propio OAuth |
--regenerate-key | Genera una nueva clave de proyecto, reescribe las configuraciones y revoca la clave anterior |
--no-pin | Usa el endpoint sin vincular https://ai-game.dev/mcp |
--list | Muestra los ids de los agentes y las rutas de sus configuraciones |
setup-skills
Genera los archivos de habilidades del agente mediante el Editor en ejecución. Unity debe estar abierto con el plugin conectado.
| Opción | Descripción |
|---|---|
[agent-id] | Agente para el que se generan las habilidades |
[path] | Proyecto de Unity (predeterminado: la carpeta actual) |
--url <url>, --token <token> | Sobrescribe la URL del servidor y el token |
--timeout <ms> | Tiempo de espera de la solicitud (predeterminado 60000) |
--list | Muestra los agentes y si admiten habilidades |
Comandos del Editor
open
Abre el proyecto en el Editor de Unity y establece las variables de entorno de conexión del plugin a partir de las opciones indicadas. El editor se inicia de forma independiente.
| Opción | Descripción |
|---|---|
[path] | Proyecto de Unity (predeterminado: la carpeta actual) |
--unity <version> | Versión del Editor (predeterminado: la versión del proyecto y, después, la más alta instalada) |
--editor-path <path> | Ejecutable del Editor explícito; omite la detección de Unity Hub |
--no-connect | Abre sin variables de conexión MCP |
--url <url> | URL del servidor (establece UNITY_MCP_HOST, el alias de UNITY_MCP_CLOUD_URL) |
--keep-connected | Fuerza la conexión |
--token <token> | Token del servidor local (establece UNITY_MCP_TOKEN) |
--auth <option> | Modo de autorización (establece UNITY_MCP_AUTH_OPTION); esta versión acepta none o required |
--tools <names> | Herramientas que se muestran, separadas por comas (establece UNITY_MCP_TOOLS) |
--transport <method> | streamableHttp o stdio |
--start-server <value> | true o false para el inicio automático del servidor local |
--headless | Inicia sin ventana (-batchmode, con gráficos) y espera hasta que el servidor MCP responda |
--idle-timeout <seconds> | Cierra tras este número de segundos sin llamadas a herramientas, guardando antes las escenas y los assets modificados |
--ready-timeout <ms> | Con --headless, cuánto tiempo esperar (predeterminado 300000) |
--no-auto-dismiss-launch-errors | No hace clic en Ignore en el diálogo de Unity «errores de compilación al iniciar» |
--launch-dismiss-timeout-ms <ms> | Tiempo total para vigilar ese diálogo (predeterminado 30000) |
--launch-dismiss-poll-interval-ms <ms> | Intervalo de sondeo del diálogo (predeterminado 1500) |
Para descartar el diálogo de errores de inicio se necesita el permiso de Accesibilidad para la terminal en macOS y xdotool en Linux X11 (Wayland no es compatible).
close
Cierra el Editor del proyecto de forma ordenada: unity-mcp-cli close ./MyGame --timeout 60 --force. Cerrar un Editor que no está en ejecución se considera correcto.
| Opción | Descripción |
|---|---|
[path] | Proyecto de Unity (predeterminado: la carpeta actual) |
--timeout <seconds> | Espera a un cierre ordenado (predeterminado 30) |
--force | Mata el Editor si no se ha cerrado para entonces |
--owned-only | Cierra solo un Editor iniciado por la CLI (exec, open --headless) |
wait-for-ready
Sondea hasta que el Editor y el servidor MCP aceptan llamadas a herramientas. Opciones: [path], --url, --token, --timeout <ms> (predeterminado 120000) y --interval <ms> (predeterminado 3000).
status
Muestra si Unity está en ejecución, si el servidor MCP local responde y si el servidor configurado (por ejemplo, la nube) es accesible. Opciones: [path], --url, --token, --timeout <ms> (predeterminado 5000).
Comandos de herramientas
run-tool
Llama a una herramienta MCP mediante la API HTTP del servidor. La URL y el token provienen de la configuración del proyecto (modo Custom o Cloud) a menos que los sobrescribas.
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| Opción | Descripción |
|---|---|
<tool-name> | Herramienta que se va a llamar |
[path] | Proyecto de Unity, usado para detectar la configuración y el puerto |
--url <url>, --token <token> | Sobrescrituras que omiten la configuración |
--input <json>, --input-file <file> | Argumentos de la herramienta (por defecto {}) |
--raw | Salida JSON sin procesar |
--timeout <ms> | Tiempo de espera de la solicitud (por defecto 60000) |
run-system-tool
Las mismas opciones que run-tool, para herramientas del sistema que no se exponen a los clientes MCP (por ejemplo, la generación de skills y el control de sesión).
exec
Ejecuta C# en el Editor mediante script-execute e imprime el resultado. Usa un Editor abierto si hay uno; de lo contrario, inicia un Editor sin interfaz que se mantiene activo para llamadas posteriores y se cierra tras --idle segundos.
unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec| Opción | Descripción |
|---|---|
[code] | Sentencias de C#; la última expresión es el resultado (o usa -f o stdin) |
--path <path> | Proyecto de Unity (por defecto: la carpeta actual) |
-f, --file <file> | Leer el código de un archivo (- para stdin) |
--using <namespace> | Namespace adicional, repetible |
--include <path> | Archivo o carpeta .cs auxiliar dentro de .ai-game-dev/snippets, repetible |
--window | Iniciar el Editor con ventana en lugar de sin interfaz |
--idle <seconds> | Tiempo de inactividad antes de que se cierre un Editor iniciado por exec (por defecto 300, 0 para nunca) |
--ready-timeout <ms> | Esperar al Editor (por defecto 300000) |
--timeout <ms> | Tiempo de espera de la llamada a la herramienta |
--raw | JSON de respuesta de la herramienta sin procesar |
--url <url>, --token <token> | Sobrescrituras |
Un error de compilación finaliza con el código 1 y señala tus líneas.
Mantenimiento
update
Actualiza la CLI a la última versión de npm. --check solo comprueba y finaliza con el código 2 cuando hay una actualización disponible. Con npx no hay nada que actualizar.
Uso como biblioteca
El paquete también exporta una API tipada de Node.js (installPlugin, removePlugin, configure, setupMcp, installExtension y más) que devuelve objetos de resultado en lugar de imprimir. Consulta el README del paquete en npm.
Páginas relacionadas
- Instalación y Primeros pasos.
- Configuración para las variables de entorno que establece
open. - La propia CLI de la aplicación de escritorio,
gamedev: CLI de la aplicación.