Model Context Protocol server for Unity projects — gives AI assistants deep understanding of scenes, prefabs, components, and runtime spawns
Server defines 6 tools with consistent verb_noun naming (list_*, get_*). All tools have descriptions (10-100 chars, baseline 194 avg) and input schemas with type definitions. However, parameter descriptions are sparse or missing entirely, most params lack actionable guidance on format, constraints, or valid values. Output schemas are not documented. Error handling is minimal (no recovery guidance, no categorization). No tool annotations (readOnlyHint, destructiveHint). Composition is sound (single responsibility per tool), but parameter quality and output documentation fall short of production baseline.
Find every scene object and prefab that has a specific C# script attached as a component.
Get all Inspector-wired field references for a specific component on a specific GameObject. Shows what Unity assets/objects are linked in the Inspector.
Get all components (scripts + Unity built-ins) attached to a prefab or GameObject, with their inspector-wired field references.
Get all GameObjects in a specific scene. Returns names, paths, tags, and layer info.
List all Unity prefabs in the project. Optionally filter by name substring.
List all Unity scenes in the project.
Parameter descriptions missing or incomplete. 'scene' param in get_scene_objects lacks format guidance; 'depth' has no min/max bounds; 'filter' in list_prefabs lacks case-sensitivity clarification. LLMs cannot infer constraints from names alone.
Output schemas not documented. Tools return structured objects (count, scenes, objects, etc.) but LLMs have no formal schema to plan downstream calls or extract fields reliably.
No tool annotations. All tools are read-only but lack readOnlyHint in schema. Agents cannot distinguish safe tools from destructive ones without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Error handling absent. No recovery guidance, no categorization of errors as retryable/user-fixable/fatal. If a scene name is not found, handler returns empty list silently instead of guiding the LLM to search or list available scenes.
Pagination not implemented. Tools like list_scenes and list_prefabs return all results without limit or offset. Large projects could return thousands of objects, exhausting context window.