Skip to main content
Glama

UI Toolkit MCP

Ein MCP-Server, der es KI-Agenten ermöglicht, UI-Toolkit-Bildschirme zu inspizieren, während der Unity-Editor geöffnet bleibt. Er kann die Struktur und das Erscheinungsbild von UXML-/USS-Dateien untersuchen und Screenshots aufnehmen, ohne den Play-Modus zu betreten oder einen Player zu erstellen.

Hauptfunktionen:

  • UXML-Dateien auflisten und UI-Toolkit-Fenster öffnen

  • Elementbäume, Texte, Werte, Positionen, Größen und aufgelöste Stile untersuchen

  • Einen gesamten Bildschirm oder ein ausgewähltes Element als PNG-Bild erfassen

  • Lange Bildschirme automatisch in Kacheln aufteilen (bis zu 8192 px pro Bild und 100 MP insgesamt)

  • UXML-/USS-Dateien neu importieren

  • Kompatibilität getestet mit Unity 2022.3 LTS und Unity 6.3

Einrichtung

1. Unity-Paket hinzufügen

Öffnen Sie im Unity-Editor Window > Package Manager, klicken Sie auf die Schaltfläche + in der oberen linken Ecke und wählen Sie Add package from git URL....

Geben Sie die folgende URL ein:

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

Der Vorschau-Server startet automatisch, nachdem Unity die Skriptkompilierung abgeschlossen hat. Lassen Sie den Unity-Editor geöffnet, während Sie ihn verwenden.

2. MCP-Server registrieren

Node.js 20 oder höher ist erforderlich. Beispielkonfiguration für Codex:

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

Related MCP server: Unity MCP Server

MCP-Tools

Tool

Zweck

ui_list_projects

Offene Unity-Projekte auflisten, die das Paket installiert haben

ui_select_project

Das Unity-Projekt auswählen, mit dem gearbeitet werden soll

ui_status

Unity-Version und Verbindungsstatus prüfen

ui_list_targets

Vorschaukonfigurationen, UXML-Dateien und offene EditorWindow-Instanzen auflisten

ui_inspect

Struktur, Position, Größe und Stile von UI-Elementen untersuchen

ui_screenshot

Die UI als PNG-Bild erfassen

ui_reload

UXML-/USS-Änderungen in Unity neu laden

Beginnen Sie mit ui_list_projects, um ein Projekt zu finden, und wählen Sie es dann mit ui_select_project aus. Verwenden Sie als Nächstes ui_list_targets, um den gewünschten Bildschirm zu finden, gefolgt von ui_inspect oder ui_screenshot.

Vorschaukonfiguration (optional)

Platzieren Sie eine Datei .ui-toolkit-mcp-preview.json im Projektstamm, um stabile Aliase, zusätzliche USS-Dateien, Themes und Viewports zu definieren. Kopieren und passen Sie das folgende Beispiel an:

{
  "$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" }
    }
  ]
}

Unterstützte Themes sind editor-dark, editor-light und runtime. Für das Runtime-Theme kann auch ein panelSettings-Asset-Pfad angegeben werden.

Entwicklung und Verifizierung

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

Unity-EditMode-Tests befinden sich in test-projects/2022.3 und test-projects/6000.3. Eine pixelgenaue Verifizierung erfordert ein Grafikgerät. Die Bauminspektion funktioniert mit -nographics, die PNG-Renderung jedoch nicht. Führen Sie daher die endgültige Verifizierung in einem normal gestarteten Unity-Editor durch.

Aktuelle Einschränkungen

  • Der Server zielt hauptsächlich auf statische UI-Zustände ab. Für Bildschirme, die später in C# erstellt werden, öffnen Sie das tatsächliche EditorWindow oder bereiten Sie den erforderlichen Zustand in einer Vorschau-UXML-Datei vor.

  • Der Offscreen-Renderer des Editors ruft interne UI-Toolkit-APIs über Reflektion auf. ui_status meldet eine Warnung für nicht unterstützte Unity-Versionen.

  • Offene Fenster-IDs sind nur für die aktuelle Unity-Sitzung gültig.

  • Pseudo-Zustandsinjektion wie Hover und Fokus, Zeiger-/Tastaturinteraktion und feste Animationszeit werden noch nicht unterstützt.

  • Schriftarten, Symbole, benutzerdefinierte Steuerelemente und Datenbindungen werden nur gerendert, wenn sie im Zielprojekt aufgelöst werden können.

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