headless-unity-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| unity_compileA | Import and compile all assemblies. The verdict is a |
| unity_testA | Run EditMode and/or PlayMode tests. The results XML is the evidence: a missing XML is a FAIL, any result="Failed" is a FAIL. Returns parsed per-platform totals. |
| unity_sceneA | (Re)generate a target's scene by invoking its configured |
| unity_buildB | Build the standalone player for a target, via its configured |
| unity_shotA | Launch the built player and screenshot its window by CGWindowID. Needs an existing build, the macOS Screen Recording grant, and an unlocked screen. Returns the PNG's path — read it in a throwaway subagent, not your main context. |
| unity_targetsA | List the build targets this project defines in unity-mcp.toml. Never takes the lock. |
| unity_statusA | Who, if anyone, holds the machine lock right now. Never takes the lock. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool maps to a distinct Unity operation: screenshot, lock status, build, list targets, compile, test, and scene generation. Build vs compile are clearly differentiated by their descriptions, and no two tools appear to serve the same purpose.
All tools share a consistent 'unity_' prefix, but the action words mix verbs (build, compile, test) with nouns (shot, status, targets, scene). This is mostly predictable but deviates from a pure verb_noun pattern.
With 7 tools, the server is well-scoped for a Unity CI/headless workflow. Each tool covers a specific need without redundancy, and the count is well within the ideal 3-15 range.
The tool surface covers the core lifecycle: build, compile, test, screenshot, and scene generation, plus target listing and lock status. Minor gaps like explicit lock release or raw log retrieval are workarounds, but the main workflows are complete.