28 tools with explicit schemas and descriptions. Naming is consistent (verb_noun pattern: defold_*). Descriptions are present but often terse (avg ~60 chars, below 194-char baseline). Schemas use Zod and convert to JSON Schema. Critical gaps: no output schemas documented, no error recovery guidance, no parameter descriptions for many fields (e.g., 'position' object in defold_add_game_object_to_collection lacks field descriptions), no tool annotations (readOnlyHint/destructiveHint). Destructive tools (delete_file, remove_game_object) require confirmation flags but lack explicit recovery guidance. Composition is sound, tools are single-purpose and chainable.
Add a game object to a collection.
Add an input binding.
Analyze a Lua/Defold script.
Analyze project structure and report issues.
Apply a focused patch to a text file.
Build the Defold project if a Defold CLI is available.
Create a new collection file.
No output schemas documented. LLMs cannot predict return structure, forcing them to guess what fields are available for downstream tool calls. Breaks tool chaining.
Nested parameter objects lack field descriptions. E.g., 'position' in defold_add_game_object_to_collection has x/y/z but no descriptions for each coordinate. LLMs cannot infer coordinate semantics.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. Violates current MCP spec (2026-07-28).
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Create a new file in the project.
Create a new GUI file.
Add a node to a GUI file.
Delete a file or directory. Requires confirm: true.
Get direct and reverse dependencies of a resource.
Parse build output into structured diagnostics.
Read input bindings.
Get captured stdout/stderr of a running or recently finished process started by defold_run.
Get information about the configured Defold project.
Read-only Git status for the project.
List files and directories in the project.
List processes started by this MCP.
Get a compact AI-friendly summary of the project.
Read a collection structurally.
Read a text file from the project.
Remove a game object from a collection. Requires confirm: true.
Run the Defold project if Defold is available.
Search project text files for a query.
Stop a process started by defold_run.
Validate Lua syntax and resource references.
Write a file in the project. Optionally creates a backup.
Destructive operations lack recovery guidance. defold_delete_file and defold_remove_game_object_from_collection require 'confirm: true' but do not explain what to do if deletion fails or how to undo.
Descriptions are terse (avg ~60 chars vs 194-char baseline). Many lack context on WHEN to use the tool or what it returns. E.g., 'Analyze a Lua/Defold script' does not explain what analysis is performed or when to call it vs defold_validate.