Skip to main content
Glama

UI Toolkit MCP

Un servidor MCP que permite a los agentes de IA inspeccionar pantallas de UI Toolkit mientras el Editor de Unity permanece abierto. Puede examinar la estructura y apariencia de archivos UXML/USS y capturar capturas de pantalla sin entrar en Play Mode ni compilar un Player.

Características principales:

  • Listar archivos UXML y ventanas de UI Toolkit abiertas

  • Inspeccionar árboles de elementos, texto, valores, posiciones, tamaños y estilos resueltos

  • Capturar una pantalla completa o un elemento seleccionado como imagen PNG

  • Dividir automáticamente pantallas largas en mosaicos (hasta 8192 px por imagen y 100 MP en total)

  • Reimportar archivos UXML/USS

  • Compatibilidad probada con Unity 2022.3 LTS y Unity 6.3

Configuración

1. Añadir el paquete de Unity

En el Editor de Unity, abre Window > Package Manager, haz clic en el botón + en la esquina superior izquierda y selecciona Add package from git URL....

Introduce la siguiente URL:

https://github.com/adzukyat/ui-toolkit-mcp.git?path=/unity-package

El servidor de vista previa se inicia automáticamente después de que Unity termine la compilación de scripts. Mantén el Editor de Unity abierto mientras lo usas.

2. Registrar el servidor MCP

Se requiere Node.js 20 o posterior. Ejemplo de configuración para Codex:

[mcp_servers.ui_toolkit_mcp]
command = "npx"
args = [
  "-y",
  "ui-toolkit-mcp-server@latest",
  "mcp"
]

Related MCP server: Unity MCP Server

Herramientas MCP

Herramienta

Propósito

ui_list_projects

Listar proyectos de Unity abiertos que tengan el paquete instalado

ui_select_project

Seleccionar el proyecto de Unity con el que trabajar

ui_status

Comprobar la versión de Unity y el estado de la conexión

ui_list_targets

Listar configuraciones de vista previa, archivos UXML e instancias de EditorWindow abiertas

ui_inspect

Inspeccionar la estructura, posición, tamaño y estilos de los elementos de UI

ui_screenshot

Capturar la UI como imagen PNG

ui_reload

Recargar los cambios de UXML/USS en Unity

Comienza con ui_list_projects para encontrar un proyecto, luego selecciónalo con ui_select_project. A continuación, usa ui_list_targets para encontrar la pantalla que deseas inspeccionar, seguido de ui_inspect o ui_screenshot.

Configuración de vista previa (opcional)

Coloca un archivo .ui-toolkit-mcp-preview.json en la raíz del proyecto para definir alias estables, archivos USS adicionales, temas y viewports. Copia y adapta el siguiente ejemplo:

{
  "$schema": "./Packages/me.adzuki.ui-toolkit-mcp.preview-server/Schemas/ui-toolkit-mcp-preview.schema.json",
  "schemaVersion": 1,
  "previews": [
    {
      "alias": "settings",
      "document": "Assets/UI/Settings.uxml",
      "stylesheets": ["Assets/UI/Settings.uss"],
      "theme": "editor-dark",
      "selector": "#settings-root",
      "viewport": { "width": 480, "height": "full" }
    }
  ]
}

Los temas admitidos son editor-dark, editor-light y runtime. También se puede especificar una ruta de asset panelSettings para el tema runtime.

Desarrollo y verificación

npm test
npm run typecheck
npm run build
node scripts/mcp-smoke.mjs [project-id]

Las pruebas EditMode de Unity se encuentran en test-projects/2022.3 y test-projects/6000.3. La verificación píxel a píxel requiere un dispositivo gráfico. La inspección de árboles funciona con -nographics, pero el renderizado PNG no, así que realiza la verificación final en un Editor de Unity iniciado normalmente.

Limitaciones actuales

  • El servidor se dirige principalmente a estados de UI estáticos. Para pantallas construidas más tarde en C#, abre la EditorWindow real o prepara el estado requerido en un archivo UXML de vista previa.

  • El renderizador fuera de pantalla del Editor llama a APIs internas de UI Toolkit mediante reflexión. ui_status informa de una advertencia para versiones de Unity no compatibles.

  • Los IDs de ventanas abiertas son válidos solo para la sesión actual de Unity.

  • La inyección de pseudo-estados como hover y focus, la interacción con puntero/teclado y el tiempo de animación fijo aún no son compatibles.

  • Las fuentes, iconos, controles personalizados y enlaces de datos se renderizan solo cuando se pueden resolver en el proyecto de destino.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI agents to interact with Unity projects through multimodal vision, code analysis, asset management, and scene manipulation. Supports real-time Unity editor control, project search, script creation, and visual debugging through screenshots.
    32
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with Unity Editor projects through 68+ tools for manipulating scenes, GameObjects, components, and assets, plus live access to console logs, hierarchies, and test results.
    15 npm
    9
    MIT