ui-toolkit-mcp
Provides tools for inspecting and interacting with Unity Editor UI Toolkit screens, including listing UXML files, inspecting element trees, capturing screenshots, and reloading UI assets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ui-toolkit-mcpList open Unity projects and show the UI elements in the settings screen."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UI Toolkit MCP
An MCP server that lets AI agents inspect UI Toolkit screens while the Unity Editor remains open. It can examine the structure and appearance of UXML/USS files and capture screenshots without entering Play Mode or building a Player.
Key features:
List UXML files and open UI Toolkit windows
Inspect element trees, text, values, positions, sizes, and resolved styles
Report elements that extend beyond their parent or the preview area
Capture an entire screen or a selected element as a PNG image
Capture several widths in one request
Automatically split long screens into tiles (up to 8192 px per image and 100 MP in total)
Reimport UXML/USS files
Compatibility tested with Unity 2022.3 LTS and Unity 6.3
Setup
1. Add the Unity package
In the Unity Editor, open Window > Package Manager, click the + button in the upper-left corner, and select Add package from git URL....
Enter the following URL:
https://github.com/adzukyat/ui-toolkit-mcp.git?path=/unity-packageThe preview server starts automatically after Unity finishes script compilation. Keep the Unity Editor open while using it.
2. Register the MCP server
Node.js 20 or later is required. Example configuration for 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 | Purpose |
| List open Unity projects that have the package installed |
| Select the Unity project to work with |
| Check the Unity version and connection status |
| List preview configurations, UXML files, and open |
| Inspect the structure, position, size, and styles of UI elements |
| Capture the UI as a PNG image |
| Reload UXML/USS changes in Unity |
Start with ui_list_projects to find a project, then select it with ui_select_project. Next, use ui_list_targets to find the screen you want to inspect, followed by ui_inspect or ui_screenshot.
Preview configuration (optional)
Place a .ui-toolkit-mcp-preview.json file in the project root to define stable aliases, additional USS files, themes, and viewports. Copy and adapt the following example:
{
"$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",
"background": "#383838",
"selector": "#settings-root",
"viewport": { "widths": [360, 480], "height": "full" },
"state": {
"#advanced-toggle": { "value": true },
"#advanced-fields": { "display": true },
"#mode-custom": { "addClasses": ["selected"] },
"#name": { "value": "Example" }
}
}
]
}Supported themes are editor-dark, editor-light, and runtime. background accepts theme, #RRGGBB, or #RRGGBBAA. A panelSettings asset path can also be specified for the runtime theme.
Use viewport.width for one width or viewport.widths for several. state is keyed by element selector. Each element can set value, selectedIndex, text, display, visible, enabled, addClasses, and removeClasses. Existing configurations do not need changes.
ui_inspect returns overflows with the element and parent bounds, plus the amount outside each edge. ui_screenshot also accepts one width or an array such as [360, 768, 1280].
Screenshots use the selected theme's standard canvas color by default (#383838 for Editor Dark and #C8C8C8 for Editor Light). Pass #00000000 as background when a transparent PNG is required. Runtime previews remain transparent unless the UI itself paints a background.
When C# fills the screen
A UXML target loads the UXML and USS only. It does not call an EditorWindow's CreateGUI or other setup code. The target list marks these entries as uxml-only; open windows are marked as live.
If C# adds icons, text, or child elements, use either the open window target or a parent UXML that creates the custom control. Use state for values and visual states that do not require C# to create new elements.
Development and verification
npm test
npm run typecheck
npm run build
node scripts/mcp-smoke.mjs [project-id]Unity EditMode tests are located in test-projects/2022.3 and test-projects/6000.3. Pixel-accurate verification requires a graphics device. Tree inspection works with -nographics, but PNG rendering does not, so perform final verification in a normally launched Unity Editor.
Current limitations
The Editor offscreen renderer calls internal UI Toolkit APIs through reflection.
ui_statusreports a warning for unsupported Unity versions.Open-window IDs are valid only for the current Unity session.
Pseudo-state injection such as hover and focus, pointer/keyboard interaction, and fixed animation time are not yet supported.
Fonts, icons, custom controls, and data bindings are rendered only when they can be resolved in the target project.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Provides UX capabilities to enhance the design output and understanding of AI systems.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables 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.33MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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.179MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query and control the Unity Editor, supporting scene management, GameObject manipulation, asset browsing, play mode control, and real-time editor operations through 52+ tools.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI models to interact with Unity games at runtime by providing tools to list UI actions, inspect GameObjects, capture screenshots, and manage scenes.9MIT