godot-ai exhibits significant definition quality gaps. While tool names follow verb_noun conventions (node_create, scene_open, script_patch), descriptions are inconsistent, many are under 20 characters (e.g., 'Readiness, version, current scene' for editor_state; 'Paginated scene tree walk' for scene_get_hierarchy). Critical issue: 7 tools (custom_manage, custom_<name>, scene_manage, node_manage, script_manage, project_manage, editor_manage, session_manage) use a dispatch pattern with 'op' enums rather than explicit tool definitions. This makes parameter schemas difficult to verify, the actual operation parameters are buried in the 'params' object without documented sub-schemas. Input schemas are present but incomplete: most lack detailed parameter descriptions, type constraints, and examples. Output schemas are not documented in the source. Error handling is minimal, no recovery guidance or actionable error messages visible. The server prioritizes Godot editor integration over LLM-friendly tool design.
Create an animation
Execute multiple commands in batch
First-class MCP tool backed by a plugin-registered custom tool (promoted)
Dispatch custom tools registered by Godot editor plugins via op parameter
Manage editor (state, selection_get/set, monitors_get, quit, logs_clear, game_eval)
Reload the Godot AI plugin
Capture editor screenshot
Dispatch-pattern tools (custom_manage, scene_manage, node_manage, script_manage, project_manage, editor_manage, session_manage) hide operation parameters in a generic 'params' object without documented sub-schemas. LLMs cannot infer which parameters each operation accepts, violating the pattern:tool-description requirement.
Most tool descriptions are under 20 characters (e.g., 'Readiness, version, current scene', 'Paginated scene tree walk', 'Create a new node'). These lack context for LLM selection and do not explain WHEN to use the tool or WHAT it returns.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2025-06-18+ | v2 |
Readiness, version, current scene
Read editor logs
Create a new node
Find nodes by criteria
Full property snapshot
Manage nodes (get_children, get_groups, delete, duplicate, rename, move, reparent, add_to_group, remove_from_group)
Set node property
Manage project (stop, settings_get, settings_set, set_main_scene)
Run the project
Paginated scene tree walk
Manage scenes (create, save_as, get_roots)
Open a scene
Save a scene
Attach a script to a node
Create a new script
Manage scripts (read, detach, find_symbols)
Patch/modify a script
Pin commands to one editor
Manage sessions
Run tests
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., node_id, scene_id) without knowing what each tool returns. This violates pattern:tool and pattern:tool-chain.
Parameter descriptions are minimal or absent. For example, 'op' parameter in dispatch tools lacks explanation of valid enum values and their semantics. 'params' object has no sub-schema documentation. This violates pattern:tool-description and pattern:constrained-input.
No error handling guidance visible. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. This violates pattern:recovery-guide and pattern:error-classification.