MCP server for Unity game development — connect Cursor, Claude Code, Windsurf, and other AI clients to your Unity Editor. Exposes 275+ tools via a local HTTP server on localhost:8765.
GladeKit MCP exposes 9 animation/post-processing tools for Unity with complete input schemas and descriptions. All tools follow verb_noun naming (set_post_processing, add_animation_event, etc.) and include parameter type definitions. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'Adds an animation event' does not explain WHEN to use it vs alternatives, or what happens on retry). Parameter descriptions are present but minimal (10-30 chars), below the 72-char baseline. No output schemas are documented, callers cannot predict response structure. Error handling is basic (ToolUtils.CreateErrorResponse) with no recovery guidance. Tools are domain-specific and well-scoped (single responsibility), but lack composition hints (e.g., 'Call assign_animator_controller first if the GameObject has no Animator'). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all 9 being WRITE operations.
Adds an animation event to an AnimationClip at a specified time with a function name and optional parameters
Adds a new layer to an AnimatorController with optional blending mode and avatar mask
Adds one or more parameters to an AnimatorController with specified types and optional default values
Adds a new state to an AnimatorController layer with optional animation clip and default state designation
Adds a transition between two animator states with optional conditions and exit time configuration
Adds conditions to an existing transition between animator states
Adds an animation clip as a child to a blend tree state with threshold or 2D position
No output schemas documented. Callers cannot predict response structure, forcing LLMs to guess what fields are returned and breaking tool chaining.
Descriptions lack LLM-optimization guidance. Generic descriptions like 'Adds an animation event' do not explain WHEN to use the tool, what prerequisites exist, or what happens on retry. Baseline is 50-200 chars with context; these average ~60 chars with minimal actionable detail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Assigns an AnimatorController to a GameObject's Animator component, creating the component if necessary
Sets post-processing on a GameObject by assigning a Volume component with a VolumeProfile
Parameter descriptions are minimal (10-30 chars), below the 72-char baseline. E.g., 'Name of the function to call' lacks format constraints, valid ranges, or examples. LLMs cannot infer whether 'functionName' accepts 'OnAnimationEnd' or 'on_animation_end'.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all 9 tools being WRITE operations. LLMs cannot determine which calls are safe to retry or have irreversible consequences.
Error handling is basic (ToolUtils.CreateErrorResponse) with no recovery guidance. E.g., 'GameObject not found' does not suggest calling a discovery tool or checking the path format. Errors should guide LLMs toward next steps.