Godot MCP Server Ultimate Edition
Provides tools for interacting with Godot Engine projects, enabling AI agents to create, edit, and manage game scenes, scripts, and project assets programmatically.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Godot MCP Server Ultimate Editionrun project health check"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🏆 Godot MCP Server Ultimate Edition (63+ Herramientas Profesionales)
El servidor Model Context Protocol (MCP) más avanzado, robusto y profesional del mundo para Godot 4.6+
Este no es un servidor MCP cualquiera que edita archivos a ciegas. Se trata de un Backend de Asistencia de IA de Nivel Empresarial construido para interactuar con Godot Engine igual que lo haría un Programador Senior. Evita por completo los errores comunes del código generado por IA utilizando integraciones profundas con el motor, estados de reversión (rollback) y diagnósticos activos de la salud del proyecto.
🌟 ¿Por qué este MCP es infinitamente superior?
La mayoría de los servidores MCP de Godot te obligan a instalar plugins internos inestables o realizan ediciones de archivos "a ciegas" desde la terminal. Este repositorio trasciende esas limitaciones implementando una Arquitectura de Cero Compromisos:
1. 🛡️ Operaciones Transaccionales (Backup & Rollback)
Las IAs alucinan. Si la IA rompe un archivo .tscn, normalmente tu escena se pierde para siempre. Aquí no.
Este MCP implementa de forma obligatoria el patrón de Copia de Seguridad Antes de Mutar:
backup_scene: Crea instantáneamente un estado de tu escena con marca de tiempo dentro de la carpeta oculta.scene_backups/, protegido por rastreo avanzado.meta.json.restore_scene_backup: Revierte el archivo automáticamente si la operación de la IA corrompe el árbol de nodos.Una red de seguridad que garantiza que ninguna acción de la IA destruirá tu trabajo de forma permanente.
2. 🧠 Validación Profunda Nativa (validate_script_deep)
Otros MCPs solo validan la sintaxis usando herramientas básicas. Este MCP arranca un compilador Headless de Godot en segundo plano para validar tu código GDScript de manera real.
Detecta errores semánticos, referencias perdidas a
class_namey violaciones restrictivas de tipado estático antes de adjuntar el script a cualquier nodo.Lee los errores nativos directamente del sistema interno de Godot y le indica a la IA la línea exacta del fallo.
3. 🏥 Diagnóstico Activo del Proyecto (project_health_check)
La IA no espera a que el juego falle para actuar. Ejecuta un escáner pesado que revisa todo tu proyecto detectando deuda técnica:
🔴 Dependencias rotas y escenas que no se pueden cargar.
🟡 Nodos de Física (
PhysicsBody) a los que se les ha olvidado poner colisiones (CollisionShape).🔗 Referencias internas rotas o UIDs huérfanos (crucial para Godot 4.4+).
Retorna un informe estructurado a la IA para que ataque y solucione todos los problemas de raíz.
4. 🚀 Cero Intrusión en tu Juego
Se acabaron los tiempos de instalar plugins o ensuciar tu carpeta addons/. Este MCP funciona de manera completamente externa usando godot --headless, leyendo e inyectando código en carpetas ocultas (.godot/mcp_temp) dejando todo el código fuente de tu juego intacto y limpio.
Related MCP server: Gear
🛠️ Un Arsenal de 63 Herramientas
Nuestro MCP provee a la IA con 63 herramientas especializadas para desarrollar videojuegos masivamente más rápido:
Arquitectura de Proyecto: Configurar resoluciones, Renderer, instalar Autoloads, mapeo de controles
InputMap, escenas principales y control delWorldEnvironment.Manipulación de Nodos: Crear, borrar, mover, duplicar y añadir cientos de nodos por lotes de forma instantánea.
Edición de Propiedades: Sistema inteligente para encontrar grupos específicos de nodos a través de múltiples escenas y cambiar propiedades en masa usando RegEx.
Manejo de Señales y Recursos: Conectar señales (signals), empaquetar agrupaciones lógicas, cargar e instanciar sprites, medir hitboxes 3D, y transformar bibliotecas (
MeshLibrary) completas para escenarios.Sistemas Nativos: Autocreación de UI, preset impresionantes de partículas GPU (fuego, nieve, lluvia, chispas), configuración técnica de audios en espacio 3D e instanciación de controladores de luz omnidireccionales y globales.
Debugging Realtime: La IA arranca el juego directamente para el usuario, lee los logs, intercepta crashes por la consola nativa (
get_debug_output()) y te corrige el error casi sin intervención humana.
💻 Inicio Rápido y Setup
Requisitos Previos
Node.js (v18+)
Godot 4.6.2+ (Funciona desde 4.4, pero está fuertemente optimizado para las últimas mejoras)
Un Cliente IA que soporte integraciones MCP (Claude Desktop, Cline, Trae, Antigravity)
Instalación Inmediata
Clona este repositorio:
git clone https://github.com/Dex865378/MCP-GODOT-63-HERRAMIENTAS.git cd MCP-GODOT-63-HERRAMIENTASInstala y Compila:
npm install npm run buildConfigura tu Asistente de IA (Claude/Cline): Edita la configuración de tu entorno de MCP (por ejemplo
claude_desktop_config.json) apuntando hacia el servidor construido en la carpetabuild:{ "mcpServers": { "godot": { "command": "node", "args": ["/ruta/absoluta/a/MCP-GODOT-63-HERRAMIENTAS/build/index.js"] } } }Dato Clave: Si agregas en este archivo la variable de entorno
GODOT_PATHapuntando directamente a tu.exede Godot, el servidor correrá instantáneamente con su máximo rendimiento.
👾 Probando el Poder del MCP
Una vez conectado, puedes pedirle cosas inmensas a la IA, por ejemplo:
"Créame un jugador para un juego plataformero 2D desde cero. Usa la textura
player_sprite.png, métele las colisiones correspondientes, programa toda la física incluyendo código sólido conmove_and_slide()y valídalo de manera profunda para asegurarnos que está perfecto. Por último conectalo con el control space del teclado."
La IA se encargará por sí sola de instanciar los nodos, enganchar las clases de físicas, validar el código sin errores por compilador nativo de godot, y programar los teclados, permitiéndote dirigir la creación de tu propio videojuego a la velocidad del pensamiento.
🤖 Bonus Opcional: El Agente Experto Universal (godot_expert.md)
Dentro de este repositorio encontrarás el archivo godot_expert.md. El uso de este archivo es opcional, pero altamente recomendado si buscas el nivel más extremo de eficiencia en tu asistente.
Este documento funciona como el "Cerebro Lógico" de un desarrollador Senior. Al adjuntarlo o copiarlo dentro del Prompt del Sistema de tu asistente de IA, obtendrás:
Instrucciones absolutas, patrones y metodologías probadas para la creación de juegos en 2D, 2.5D (Isométrico Auténtico) y 3D.
Patrones arquitectónicos de código base estandarizados y sistemas pre-armados (Sistema de Guardado, Gestores de Sonido y Manejadores Globales).
Evita que la IA deba deducir cómo plantear las lógicas desde cero. La IA ya sabrá qué y cómo estructurar tus juegos.
Úsalo en conjunto con este MCP y observarás cómo el desempeño y capacidad técnica de la IA se eleva a niveles casi imposibles.
📜 Licencia y Uso Libre (Atribución Obligatoria)
Este proyecto es 100% de uso libre y Open Source para todo el mundo. Tienes la libertad total de usarlo, modificarlo y adaptarlo a tus necesidades sin ningún tipo de límite.
Sin embargo, tiene una única condición irrenunciable: Atribución y Crédito. Si decides forkear, clonar, o utilizar el código (o partes significativas) de este MCP dentro de otro repositorio, aplicación o sistema público, estás obligado por licencia a nombrar e incluir a "Dex865378" en los créditos/contribuidores del proyecto final, como el autor y credor de esta Base Avanzada (Utimate Edition).
Available Tools
63 toolsadd_collision_shapeA
Add a collision shape to a physics body (auto-detects 2D/3D). Shapes: rectangle/circle/capsule (2D) or box/sphere/capsule/cylinder (3D)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Path to the physics body node | |
| shapeType | Yes | Shape type: rectangle, circle, capsule, box, sphere, cylinder | |
| size | No | Size array [x,y] for 2D or [x,y,z] for 3D | |
| radius | No | Radius for circle/sphere/capsule/cylinder | |
| height | No | Height for capsule/cylinder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It reveals auto-detection and shape support, but does not disclose side effects (e.g., overwriting existing shapes), error conditions, or permissions needed. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with appended list of shapes. No redundant information, front-loaded with verb and resource. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description covers the core action and shape types but omits explication for projectPath and scenePath, and does not clarify the interplay between size, radius, and height per shape. Partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so description adds some value beyond schema. It lists shape types mapping to shapeType parameter, but does not explain projectPath, scenePath, or how size/radius/height are used in relation to shape types. Mixed contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add a collision shape to a physics body' and specifies auto-detection of 2D/3D. It lists supported shapes for each dimension, distinguishing it from generic sibling tools like add_node or set_collision_layer_mask.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. No mention of prerequisites (e.g., the physics body must exist) or comparisons to related tools like set_collision_layer_mask. The description implies usage by listing shapes, but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_nodeB
Add a node to an existing scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| parentNodePath | No | Path to the parent node (e.g., "root" or "root/Player") | |
| nodeType | Yes | Type of node to add (e.g., Sprite2D, CollisionShape2D) | |
| nodeName | Yes | Name for the new node | |
| properties | No | Optional properties to set on the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose side effects, but it only says 'Add a node.' It does not state whether the scene file is modified in place, whether saving is required, whether the operation is reversible, or any permissions needed. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence without redundancy. It is appropriately concise, though it sacrifices content for brevity. The structure is fine, and the main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, nested objects, no output schema, and no annotations, the description is far from complete. It does not explain the return value, whether the scene is saved automatically, or the relationship between parameters (e.g., parentNodePath). The agent lacks essential context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters have descriptions in the input schema. The description adds no additional semantic value beyond the schema, which is acceptable given the high coverage. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Add) and the resource (a node to an existing scene). It distinguishes itself from sibling tools like create_scene and save_scene by focusing on modifying an existing scene rather than creating or saving one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention that it modifies an existing scene and might require save_scene afterward, nor does it contrast with create_scene. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_groupA
Add a node to a group. Groups are essential for get_tree().get_nodes_in_group("enemies") pattern.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| nodePath | Yes | Path to the node (e.g. root/Player) | |
| groupName | Yes | Name of the group (e.g. enemies, collectibles) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It states the action but does not disclose potential side effects (e.g., overwriting existing groups), error conditions, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences that efficiently convey the tool's purpose and a usage example without any extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's purpose and use case, but lacks details on behavior when the node is already in the group or when the group doesn't exist. Given no output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides thorough descriptions for all 4 parameters (100% coverage), so the description adds limited new meaning beyond the schema. The mention of the get_tree() pattern gives context to groupName but is not essential.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (Add a node to a group) and provides context about the usefulness of groups via the get_tree() pattern, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the get_tree() pattern but lacks explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_scriptA
Analyze a GDScript file to extract its class structure (extends, functions, variables, signals, enums).
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project | |
| scriptPath | Yes | Path to the script (relative to project, e.g. scripts/player.gd) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It states what is extracted (extends, functions, etc.) and implies a read-only analysis, but does not mention side effects, whether it requires an open project, or any limitations. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 12 words, front-loading the verb and resource. Every word is functional with no fluff. Concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what is extracted but does not mention the output format (e.g., returns a structured JSON or dictionary). Since there is no output schema, the burden is higher to describe what the tool yields. Adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (projectPath, scriptPath) described in the schema. The description does not add additional semantic meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Analyze' and the resource 'GDScript file', and lists the extracted class structure items (extends, functions, variables, signals, enums). This distinguishes it from sibling tools like read_script, update_script, or create_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to extract class structure from a GDScript file, but it does not provide explicit guidance on when to use this tool versus related siblings (e.g., read_script for general content, validate_script for errors). No when-not-to-use or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach_script_to_nodeC
Attach a Godot script to a node in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Path to target node | |
| scriptPath | Yes | Path to the script, or empty to detach |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the basic action and implicitly allows detaching via an empty scriptPath, but does not describe side effects, permissions, validation behavior, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. However, it could be slightly more structured to include key details like detach capability or required parameter order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters, no output schema, and no annotations, the description is too minimal. It does not explain what the tool returns, how it handles errors, or what state changes occur. The agent lacks critical context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only nodePath and scriptPath have descriptions). The tool description adds no additional semantic value beyond what the schema already provides. The 'detach' functionality is only hinted in scriptPath's schema description, not reinforced in the main description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('attach'), the resource ('Godot script'), and the target ('a node in a scene'). It effectively distinguishes from sibling tools like 'create_script', 'read_script', or 'update_script'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, error conditions, or context such as when to detach a script. The agent receives no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backup_sceneA
[OPTION B - Part 1] Create a timestamped backup of a scene file (.tscn) BEFORE making edits. Stores backups in /.scene_backups/. Always call this before using batch_add_nodes, set_node_properties, or any destructive scene mutations. Returns the backup file path to use with restore_scene_backup if needed.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene path relative to project (e.g. scenes/level.tscn) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It states the backup is timestamped, stored in a specific directory, and returns a file path. It doesn't mention error handling or permissions, but for a backup tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, each adding essential information: purpose, storage location, usage directive, and return value. No redundant language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers purpose, timing, storage, sibling relation, and return value. It is complete and leaves no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has clear descriptions for both parameters (100% coverage). The description adds value by explaining the backup storage location, which implies the path structure. This is helpful but not critical.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'backup of a scene file (.tscn)'. It specifies the context of being called before edits and distinguishes from sibling tools like restore_scene_backup and mutation tools by naming them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance on when to use: 'Always call this before using batch_add_nodes, set_node_properties, or any destructive scene mutations.' It also mentions the return path for use with restore_scene_backup, providing a clear usage pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_add_nodesC
Add multiple nodes to a scene in a single operation
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodes | Yes | Array of nodes: [{parent_path, node_type, node_name, properties?}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the operation without disclosing behavior such as atomicity, error handling, permissions required, or return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It could be slightly more informative while maintaining brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 required parameters, no annotations, and no output schema, the description is insufficient. It lacks information about return values, limitations, and prerequisites, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only 'nodes' has a description). The tool's description does not add meaning beyond the schema; it does not explain 'projectPath' or 'scenePath' or clarify the nested structure of nodes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add multiple nodes to a scene in a single operation' clearly states the action (add), the resource (nodes to a scene), and implies a bulk operation, distinguishing it from siblings like 'add_node' which adds a single node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'add_node' or 'batch_instance_scene'. The description implies a bulk use case but provides no comparative context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_instance_sceneA
Instance a scene multiple times with different transforms in a single operation. Much more efficient than calling instance_scene repeatedly.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the parent scene file | |
| instancePath | Yes | Path to the scene to instance (e.g. scenes/rail.tscn) | |
| parentPath | No | Parent node path (default: root) | |
| transforms | Yes | Array of transforms: [{position: [x,y,z], rotation: [x,y,z]}, ...] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the batch and efficiency nature, but lacks details on side effects, permissions, or failure behavior. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the straightforward batch operation and lack of output schema, the description is sufficient for understanding the tool's purpose and benefit. Could mention return value, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so description adds no extra parameter meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Instance a scene multiple times with different transforms' and explicitly differentiates from the sibling tool 'instance_scene' by highlighting efficiency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when multiple instances with different transforms are needed) and compares to instance_scene, but does not explicitly state when not to use or mention alternatives like 'batch_add_nodes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_set_propertiesA
Modify properties across multiple nodes in a scene based on type or name pattern matches.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project | |
| scenePath | Yes | Path to the scene file | |
| nodeType | No | Filter by node type (e.g. "Light3D"). Leave empty for all. | |
| namePattern | No | Filter by node name (contains string). Leave empty for all. | |
| properties | Yes | Key-value map of properties to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'modify' without mentioning safety, reversibility, atomicy, or error handling for the bulk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core functionality without verbosity, though it could be better structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the tool description lacks information about return values, error states, or performance considerations for bulk operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond the parameter descriptions already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool modifies properties across multiple nodes based on type or name patterns, distinguishing it from single-node tools like set_node_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for bulk modifications with filtering criteria, but does not explicitly mention alternatives or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_signalB
Connect a signal from one node to a method on another node in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path (relative to project) | |
| sourceNode | Yes | Node path of the signal source (e.g. root/Button) | |
| targetNode | Yes | Node path of the signal target (e.g. root) | |
| signalName | Yes | Name of the signal (e.g. pressed, body_entered) | |
| methodName | Yes | Name of the method to call on target (e.g. _on_button_pressed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'connect a signal' but does not mention side effects (e.g., scene modification), error cases, permissions, or whether changes are persistent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence front-loaded with the action. It is not verbose, but it could be slightly more informative without adding much length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description fails to explain return values, error conditions, or the exact effect on the scene (e.g., whether it modifies the scene file).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all 6 parameters with high coverage. The description restates the high-level purpose but adds minimal semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'connect', the resource 'signal', and the context 'from one node to a method on another node in a scene'. It distinguishes this tool from siblings like 'get_node_signals' and 'add_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites, no typical use case examples. The agent is left to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_animationC
Create an AnimationPlayer with animations on a node
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Node to attach AnimationPlayer to | |
| animations | Yes | Array of animations: [{name, length, loop, tracks: [{property, keys: [{time, value}]}]}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It fails to mention side effects (e.g., overwriting existing AnimationPlayer), permissions, or resource requirements. The description is too brief to inform safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, efficient and front-loaded. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 required parameters, no output schema, and no usage notes, the description is insufficient for an agent to correctly invoke the tool. Missing details on animation structure constraints, error cases, and expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (nodePath and animations have descriptions; projectPath and scenePath lack them). The description does not compensate by clarifying the missing parameters or adding meaning beyond the schema. Baseline for this coverage is below 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Create' and the resource 'AnimationPlayer with animations on a node', distinguishing it from sibling tools that create other types of nodes like audio players or UI elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'add_node' or 'attach_script_to_node'. There is no mention of prerequisites or contexts where this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_audio_playerB
Create an AudioStreamPlayer or AudioStreamPlayer3D node with optional audio file and configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| parentPath | No | Parent node path (default: root) | |
| audioPath | No | Path to audio file (.ogg/.wav/.mp3), relative to project | |
| options | No | Options: { spatial: bool, volume_db: float, autoplay: bool, bus: string } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states basic creation capabilities without disclosing side effects like overwriting nodes, permission requirements, or error handling for invalid paths.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the core purpose without any wasted words. It is well-structured and front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters (including a nested object) and no output schema, the description omits important context like return values, whether the node is automatically added to the scene, or prerequisites such as scene existence. It is incomplete for effective tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning, just reiterating 'optional audio file and configuration' without enhancing understanding beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an AudioStreamPlayer or AudioStreamPlayer3D node with optional audio file and configuration. It specifies the verb 'create' and the resource, distinguishing it from generic node tools like 'add_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'add_node' or 'create_timer'. No explicit context or exclusions are given, leaving the agent to infer usage without comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_autoloadC
Register a script as an autoload/singleton in project.godot
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| autoloadName | Yes | Name of the autoload (e.g. GameManager) | |
| autoloadPath | Yes | Path to the script (e.g. res://scripts/game_manager.gd) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It doesn't disclose what happens if autoload already exists, whether it overwrites, adds, or fails, nor any side effects on project.godot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise, but lacks necessary details for a tool with 3 parameters. It could add brief context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It doesn't explain the effect on project.godot or how the registration works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 3 params (all required), with 67% description coverage. The description adds no extra meaning beyond schema; e.g., 'projectPath' is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'register a script' and the resource 'as an autoload/singleton in project.godot'. It effectively distinguishes from sibling tools like attach_script_to_node or create_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. For example, it doesn't mention that autoloads are project-wide singletons, unlike attach_script_to_node which attaches to scene nodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_environmentB
Create a WorldEnvironment node with sky, ambient light, fog and other environment settings.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| options | No | Options: { background_mode: int, background_color: [r,g,b], ambient_color: [r,g,b], ambient_energy: float, fog: bool, fog_color: [r,g,b] } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description minimally states the creation of a node but does not disclose behavioral traits such as whether it modifies an existing scene, if it overrides current environment settings, or error conditions. With no annotations, the description should provide more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. However, it could be structured to include usage hints without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that creates a node with multiple settings and a nested options parameter, the description lacks details about where the node is placed, side effects, or return values. The complexity of the tool demands more completeness than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions for each parameter. The description adds no further meaning beyond the schema except that the options relate to environment settings. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a WorldEnvironment node with specific components (sky, ambient light, fog). It distinguishes from sibling tools like add_node or create_light by specifying the node type and its settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, conditions, or when not to use it, which is essential for agents to choose correctly among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_input_actionC
Add an input action to the project.godot input map
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| actionName | Yes | Name of the input action (e.g. move_left, jump) | |
| keys | Yes | Key names to bind (e.g. ["A", "Left"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states 'Add an input action' without mentioning side effects (e.g., overwriting existing actions), permissions needed, or error cases. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy, but it is too brief to adequately describe the tool's purpose and parameters for a three-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and minimal description. Important details like return values, success/error handling, and constraints are missing, making it inadequate for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 67% of parameters with descriptions, but the description adds no value beyond the schema. The 'projectPath' parameter remains unexplained, and the description does not clarify expected input format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds an input action to the Godot input map, using a specific verb ('Add') and resource ('input action to the project.godot input map'), which distinguishes it from sibling creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other creation tools like 'create_project' or 'create_scene'. It does not specify prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_lightB
Create a light node (DirectionalLight3D, SpotLight3D, OmniLight3D) with configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| parentPath | No | Parent node path (default: root) | |
| lightType | No | Light type: "directional", "spot", "omni" | |
| options | No | Options: { color: [r,g,b], energy: float, range: float, angle: float, shadow: bool, position: [x,y,z], rotation: [x,y,z] } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description does not disclose side effects, idempotency, error behavior, or prerequisites for node creation (e.g., project/scene existence). The 'configuration' mention is too vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return value, error handling, and prerequisites. For a creation tool with no output schema, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds minor value by listing lightType values and options fields, but these are already in schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'light node', listing the three specific types (DirectionalLight3D, SpotLight3D, OmniLight3D). This distinguishes it from sibling tools like add_node or create_particles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like add_node or batch_add_nodes. Given many sibling node creation tools, explicit context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_particlesB
Create a GPUParticles3D node with a preset configuration (smoke, fire, snow, rain, sparks, dust).
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| parentPath | No | Parent node path (default: root) | |
| preset | No | Particle preset: "smoke", "fire", "snow", "rain", "sparks", "dust" | |
| options | No | Options: { amount: int, lifetime: float, gravity: [x,y,z], color: [r,g,b,a], position: [x,y,z] } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states creation with preset, but omits side effects (e.g., node insertion, overwrite behavior) or requirements (scene open).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, effectively communicates the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite schema coverage, the description lacks information on default behaviors, return values, and scenario applicability. For a 5-parameter tool with nested objects, this is insufficient for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds marginal value by specifying the node type and listing presets, but these are already in the schema. Options parameter details are not expanded.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a GPUParticles3D node with preset configurations, listing common presets. This distinguishes it from generic node creation tools like 'add_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating particle effects but provides no explicit guidance on when to use this over alternative node creation tools, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectB
Create a new Godot project from scratch by generating the project.godot file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path where the project directory will be created | |
| projectName | Yes | Name of the project | |
| renderer | No | Renderer: forward_plus (3D), mobile (lightweight 3D), or gl_compatibility (2D/low-end). Default: gl_compatibility |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, permissions needed, or what happens if the path already exists. It only mentions generating a file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that effectively communicates the core purpose without unnecessary words. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description is adequate but minimal. It does not explain return values or confirm success, nor does it cover all contextual needs for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new Godot project by generating the project.godot file. It is specific about the action and resource, distinguishing it from sibling tools like list_projects or run_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or context provided. The description only states the action without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sceneA
Create a new Godot scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path where the scene file will be saved (relative to project) | |
| rootNodeType | No | Type of the root node (e.g., Node2D, Node3D) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must communicate side effects. It only says 'create' without disclosing whether it overwrites an existing file, what happens on failure, or what the return value is. This is minimal and leaves important behavioral details unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, succinct sentence that conveys the core functionality without extraneous words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary action but lacks details about return values or error behavior, and it does not clarify whether the scene is saved immediately or merely created in memory. Given the simplicity of the operation, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for all three parameters (projectPath, scenePath, rootNodeType), giving full coverage. The tool description itself adds no extra clarity, so it stays at the baseline expected for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('a new Godot scene file'), making the purpose unambiguous. It also implicitly distinguishes itself from siblings like 'save_scene' (which saves an existing scene) and 'add_node' (which adds nodes to a scene).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating new scene files but does not explicitly state when to use this over alternatives like save_scene. No exclusions or conditions are given, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_scriptB
Create a new GDScript (.gd) file with content
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to Godot project | |
| scriptPath | Yes | Script path relative to project (e.g. scripts/player.gd) | |
| content | Yes | Full GDScript source code content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description is the sole source of behavioral info. It only mentions creation but does not disclose whether existing files are overwritten, if directories are created, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no waste. Efficient but could include slight expansion without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing critical context: return value (if any), error handling, overwrite behavior, and directory creation. Incomplete for a file creation tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds 'new GDScript (.gd) file' context but does not enhance understanding of parameters beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new GDScript file with content, using specific verb 'Create' and resource 'GDScript (.gd) file'. It distinguishes from sibling tools like read_script, update_script, validate_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., update_script), nor prerequisites such as project existence or valid path. No exclusions or error conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_shaderC
Create a Godot shader file (.gdshader) with content
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| shaderPath | Yes | Shader path relative to project (e.g. shaders/glow.gdshader) | |
| content | Yes | Full shader source code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It states 'Create' which implies file creation, but does not mention side effects like overwriting existing files, file permission requirements, or whether the content must be valid .gdshader syntax. The description adds minimal behavioral context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded with the key action. However, it could be more informative without adding length, such as including the requirement for valid .gdshader content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the tool's low complexity (3 required params, no nested objects), the description should explain what happens after creation (e.g., returns success, file path). It does not address this, leaving the agent uncertain about the tool's outcome. The description is incomplete for safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with two out of three parameters (shaderPath and content) having descriptions in the schema. However, the overall description 'with content' does not add meaning beyond the schema. For the parameter projectPath, which lacks a schema description, the tool description provides no clarification. The value added is low.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the specific resource ('Godot shader file (.gdshader)'). This differentiates it from sibling tools like create_script, which creates GDScript files. The verb-resource combination is distinct and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., create_script for scripts, or other file creation tools). There is no mention of prerequisites, conditions for use, or when not to use it. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_timerB
Create a Timer node with configuration (cooldowns, spawns, delays, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| parentPath | No | Parent node path (default: root) | |
| timerName | No | Name for the timer node (default: Timer) | |
| waitTime | No | Time in seconds between timeouts (default: 1.0) | |
| oneShot | No | If true, timer fires only once (default: false) | |
| autostart | No | If true, timer starts automatically (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only hints at configuration possibilities without disclosing side effects, return values, or operational constraints (e.g., whether the scene must be open).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently conveys the core purpose without extraneous words, achieving maximal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description lacks details on return value, error conditions, or usage context, leaving the agent with an incomplete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond schema, merely summarizing the tool's purpose without detailing parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('Timer node'), and distinguishes itself from sibling tools like 'add_node' by specifying the node type and configuration options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., add_node for generic node addition), nor any mention of prerequisites or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ui_elementB
Create a UI control node (Label, Panel, Button, ProgressBar, TextureRect) with configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| parentPath | No | Parent node path (default: root) | |
| type | Yes | UI element type: "label", "panel", "button", "progress_bar", "texture_rect" | |
| options | No | Options: { text: string, position: [x,y], size: [w,h], font_size: int, color: [r,g,b,a], anchor_preset: int } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the creation action without mentioning side effects (e.g., file modification), permissions, or what happens if the node already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and includes the list of types. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters (3 required), a nested object, and no output schema. The description is too brief; it does not explain return values, error conditions, or behavior when scenes are modified. More context is needed for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and parameter descriptions are detailed. The description adds the context of UI control nodes but does not significantly enhance understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Create', the resource 'UI control node', lists specific types (Label, Panel, etc.), and clearly distinguishes from sibling tools like 'add_node' by focusing on UI controls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating UI control nodes but provides no explicit guidance on when to use this tool versus alternatives like 'add_node' or 'create_scene'. No exclusions or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileA
Delete a file from a Godot project (scripts, scenes, resources, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| filePath | Yes | Path to the file to delete (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose critical behavioral traits like irreversibility, impact on references, or error handling. For a destructive operation, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It efficiently communicates the tool's purpose and is appropriately concise for a straightforward deletion operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and full schema coverage, the description is minimally adequate. However, it omits important behavioral context (e.g., irreversibility, effect on project integrity) that would make it more complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 100% of parameters with descriptions. The description adds value by listing specific file types (scripts, scenes, resources), which helps the agent understand the scope of the tool beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('file from a Godot project'), and specifies the types of files (scripts, scenes, resources). This effectively distinguishes it from sibling tools that list or create files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives or mention prerequisites. It only implies usage for deletion, lacking context such as irreversible consequences or when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_nodeC
Duplicate a node (and its children) within a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | ||
| newName | No | Optional new name for the duplicate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It mentions duplication but does not describe what is copied (e.g., properties, signals, scripts), whether the duplicate is a sibling, or any side effects. This leaves significant uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, for a tool with 4 parameters and no annotations, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context: the location of the duplicate, whether all properties are copied, required permissions, and return value. Given no output schema, the description should hint at the result. The complexity (4 params, no annotations) demands a richer description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 25% (only 'newName' has a description). The tool description adds no additional parameter information beyond the schema. For a tool with 4 parameters and low schema coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Duplicate') and the resource ('a node (and its children) within a scene'). It distinguishes from sibling tools like remove_node and rename_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only states what it does, implying usage but providing no context about prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_mesh_libraryB
Export a scene as a MeshLibrary resource
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (.tscn) to export | |
| outputPath | Yes | Path where the mesh library (.res) will be saved | |
| meshItemNames | No | Optional: Names of specific mesh items to include (defaults to all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without mentioning side effects such as file creation, overwriting behavior, or read-only implications. The burden falls on the description, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant words, effectively conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description omits details about return values, error handling, or overwrite semantics. While acceptable for a simple export operation, these gaps prevent a higher score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with clear descriptions, including file extensions and the default behavior of meshItemNames. The description adds no additional context beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the resource 'a scene as a MeshLibrary resource', precisely distinguishing it from sibling tools like create_scene or save_scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention scenarios where export_mesh_library is preferred over save_scene or other scene-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_class_infoA
Get detailed info about any Godot class (properties, methods, signals, constants)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to any Godot project (needed to run Godot) | |
| className | Yes | Godot class name (e.g. CharacterBody2D, Sprite2D) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It implies a read operation and mentions that a project path is needed to run Godot, but it does not discuss error handling, prerequisites, or what happens if the class name is invalid. This is adequate for a simple read operation but lacks full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 15 words, front-loaded with the core action and resource. It is concise and contains no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is largely complete for a simple tool with two well-documented parameters. It mentions the return content (properties, methods, signals, constants), which helps the agent understand the output. However, without an output schema, the exact structure is not specified, but for this type of tool, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, and the description adds no further meaning beyond what the schema already provides. Baseline is 3, and the explanation in the schema is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed info') and the resource ('any Godot class'), listing the specific components (properties, methods, signals, constants). This distinguishes it from sibling tools like get_node_properties and get_node_signals, which operate on node instances rather than class definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (to retrieve Godot class definitions), but it does not explicitly exclude alternative scenarios or compare with related siblings. Given the sibling set, the usage is fairly obvious, so a score of 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_outputB
Get the current debug output and errors
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It merely states the action without mentioning side effects, requirements (e.g., running project), return format, or error behavior. The word 'Get' implies a read operation, but this is not explicit and no other behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently communicates the core function with no filler. It is appropriately sized for a zero-parameter tool, though it sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simplicity, the description omits important context such as when debug output is available, whether a project must be running, and the format of the returned output. With no annotations or output schema, these gaps make the description incomplete for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema already fully covers parameter semantics. The description adds no parameter information, but none is needed; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('current debug output and errors'), clearly identifying the tool's function. It does not explicitly differentiate from sibling getters like get_project_info or get_uid, but the resource is unique enough that an agent can infer its purpose. However, 'current' is ambiguous (current project? current session?), so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., project running) or exclusion cases, and there is no reference to sibling tools like run_project or stop_project. An agent is left without context on when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_versionA
Get the installed Godot version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states what it does, without mentioning side effects, error handling (e.g., if Godot is not installed), or whether any configuration is modified. For a simple getter this is a gap, but the lack of side effects is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no redundancy. The information is front-loaded and every word earns its place. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with no output schema, the description is largely sufficient. It identifies what is retrieved, but does not explicitly describe the return format (e.g., version string) or behavior if Godot is absent. Given the simplicity, this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema confirms this with an empty properties object. Per the rubric, 0 parameters warrants a baseline of 4. The description does not need to add parameter details, and it correctly does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('installed Godot version'). It is specific and distinguishes itself from sibling tools like add_node or launch_editor, which are about different operations. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives. However, given its singular purpose and the lack of overlapping sibling getters, the usage is implied. There is no guidance on prerequisites or conditions, which could be added but is not critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_propertiesB
Get all editable properties of a specific node in a scene (returns JSON)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries burden. It implies a read-only operation by stating 'Get', but does not explicitly confirm non-destructive behavior, permission requirements, or error handling for missing nodes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clear sentence with no unnecessary words. Efficiently communicates purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 3 required parameters and no output schema, the description omits details like JSON structure, error conditions, and interaction with sibling tools. For a simple getter, it is borderline adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only nodePath has a description). The tool description adds no parameter-level meaning, leaving projectPath and scenePath self-explanatory but lacking validation hints or context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), resource (editable properties of a node), scope (in a scene), and output format (JSON). It distinguishes from siblings like set_node_properties by implying a read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as set_node_properties or other node inspection tools. No context about prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_node_signalsC
List all available signals on a node and current connections
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only operation but does not explicitly state side effects, permissions needed, or that no modifications occur. The scope of 'current connections' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it could be better structured (e.g., separating purpose from parameter hints). Nearly optimal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, annotations, or parameter descriptions, the description is too minimal. It does not specify the return format, whether all signals or those with connections are listed, or any behavioral details like idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fails to explain the three required parameters (projectPath, scenePath, nodePath). The mention of 'on a node' is insufficient; the agent lacks guidance on how to specify a node.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all available signals on a node and current connections' clearly states the action (list) and the resource (signals and connections on a node). It effectively distinguishes from siblings like 'connect_signal' which performs a different operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., connect_signal or get_node_properties). The description does not mention prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoB
Retrieve metadata about a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'retrieve' implies a read-only operation, but the description does not explicitly state that it has no side effects or what permissions it requires. Since there are no annotations, the description carries the full burden and only partially covers the behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words or repetition. It is well-structured and easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or description of what metadata is returned. The term 'metadata' is vague and does not specify whether it returns project configuration, version info, or something else, leaving the agent without enough context to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter 'projectPath' is described as 'Path to the Godot project directory', which is clear and covers the basic meaning. However, since the schema already provides this description, the tool description adds no additional detail about path format, required existence, or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'retrieve' and the target 'metadata about a Godot project', making the tool's basic purpose easy to understand. However, it does not explicitly differentiate itself from sibling tools like get_godot_version or get_uid, which could also be considered metadata retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the sibling tools. There is no mention of scenarios, prerequisites, or exclusions, so an agent has little context for choosing this over more specific retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_settingsC
Read the project.godot settings file and return key settings
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a non-destructive read, but with no annotations, it fails to disclose behavior on errors (e.g., missing file), the meaning of 'key settings', or whether any state is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise and front-loaded, but lacks sufficient detail for such a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description should explain what 'key settings' are returned, but provides no format or example. Inadequate for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should clarify the parameter. It implies projectPath is a directory path containing project.godot, but doesn't explain the expected structure or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (read) and the specific resource (project.godot settings file), distinguishing it from sibling tools like set_project_setting or get_project_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_project_info, or any prerequisites or notes on project path format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_treeA
Get a JSON representation of the node tree in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It correctly implies a read-only operation ('Get') but omits details like whether it modifies state, returns the entire tree or a subset, or any side effects. The statement is accurate but minimally informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that efficiently conveys the tool's function without redundant words. It is front-loaded with the primary action, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description is somewhat complete but lacks contextual cues about typical usage patterns or integration with other tools. The absence of an output schema and detailed behavioral information leaves gaps for an agent to fully understand the tool's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions, so the description adds no extra meaning. The description does not elaborate on parameter semantics beyond what the schema provides, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the output format ('JSON representation'), and the specific resource ('node tree in a scene'), making its purpose unmistakable. It effectively distinguishes itself from sibling tools by focusing on the tree structure rather than individual nodes or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many alternative sibling tools, such as add_node or remove_node. Without context on prerequisites or scenarios (e.g., for visualization vs. editing), the agent lacks direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uidB
Get the UID for a specific file in a Godot project (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| filePath | Yes | Path to the file (relative to project) for which to get the UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, permissions required, or side effects. The tool could be assumed to be a simple getter, but this is not explicitly stated, leaving the behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It efficiently conveys the tool's purpose and relevant version constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the description covers its basic purpose. However, it does not mention the return format, potential errors, or edge cases. While acceptable for a straightforward getter, it leaves some context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with clear descriptions, achieving 100% coverage. The tool description itself adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting the UID for a specific file in a Godot project. It also specifies the Godot version constraint (4.4+), making it unambiguous and distinct from sibling tools like update_project_uids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus alternatives. While the purpose is obvious, there is no mention of scenarios where this tool is preferred or where other tools (e.g., update_project_uids) should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_model_boundsA
Inspect a 3D model (.glb/.gltf/.tscn) to get its bounding box dimensions. Returns min, max, center, and size vectors. Essential for positioning models correctly.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| modelPath | Yes | Path to the model file (relative to project, e.g. models/train.glb) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It discloses that the tool returns min, max, center, and size vectors, implying a read-only inspection. However, it does not explicitly state that the tool is non-destructive or describe potential failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first explains what the tool does, the second details its output and a usage hint. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (2 required parameters, no output schema, no annotations), the description adequately explains the tool's purpose and output. It could be improved by noting that the model files must exist and be accessible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (projectPath and modelPath). The description adds no additional meaning beyond what the schema already provides, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects 3D model files (.glb/.gltf/.tscn) to return bounding box dimensions. It uses specific verbs and resources, distinguishing it from sibling tools that deal with other aspects of model management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Essential for positioning models correctly,' which implies usage context but lacks explicit guidance on when to use vs alternatives, prerequisites (e.g., model must exist), or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
instance_sceneB
Instance a scene (.tscn) as a child node inside another scene. This is THE #1 pattern in Godot — create Player.tscn, Enemy.tscn separately, then instance them inside Level.tscn.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the parent scene file (e.g. scenes/level.tscn) | |
| instancePath | Yes | Path to the scene to instance (e.g. scenes/player.tscn) | |
| instanceName | No | Optional name for the instanced node | |
| parentPath | No | Optional parent node path (default: root) | |
| position | No | Optional position [x,y] for 2D or [x,y,z] for 3D |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behaviors like file modification, destructiveness, error handling, or prerequisites. Only states the action without behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loaded with action and example. No wasted words, efficient for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite rich schema, description lacks context about side effects (saving, node tree changes), prerequisites (existing scene), and does not leverage output schema due to absence. Adequate for simple case but incomplete for complex usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for all 6 parameters. Description adds no extra meaning beyond the schema, just a pattern mention, so baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Instance' and resource 'scene (.tscn)', with an example pattern that distinguishes from siblings like 'add_node' and 'batch_instance_scene'. The Godot pattern is well-identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies common usage with 'THE #1 pattern in Godot', but does not explicitly state when to use vs alternatives (e.g., add_node, batch_instance_scene). No exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_editorC
Launch Godot editor for a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without any side effects, blocking behavior, or requirements (e.g., whether it opens a new window, requires an existing project, or modifies any files). This is insufficient for an agent to predict the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence with no filler. However, it is under-specified rather than efficiently comprehensive. It lacks necessary details about behavior and usage, so while it is short, it doesn't earn its place by providing full value. A 3 reflects the balance between brevity and adequacy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter, no output schema, and no annotations, the description should provide enough context to call it correctly. It states the action but omits critical information such as whether the editor must be installed, whether the path must point to a valid project, and whether the call is blocking or returns immediately. This is incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter projectPath is fully documented in the schema. The description adds no additional semantics beyond the action, but the schema already explains the parameter. Baseline 3 is appropriate; the description doesn't harm, but it also doesn't enhance the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (launch) and the resource (Godot editor) for a specific project. It distinguishes implicitly from siblings like run_project (which runs the project rather than opening the editor) and list_projects (which lists projects). However, it doesn't explicitly name the alternative or the selection criteria, so it's clear but not maximally differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as run_project. The description does not mention any prerequisites, use cases, or conditions that would lead an agent to select this tool over its siblings. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List Godot projects in a directory
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to search for Godot projects | |
| recursive | No | Whether to search recursively (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only restates the basic listing action and adds no details about whether the operation is read-only, how Godot projects are identified, what the return format is, or how the recursive parameter behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant wording. Every word earns its place, and the core action and scope are immediately visible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with two parameters, the description is minimally adequate: the schema covers parameter meanings. However, with no output schema and no annotations, the description does not clarify what the returned list contains (e.g., project names, paths) or whether directories without project.godot are ignored, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already documented clearly in the schema ('Directory to search for Godot projects' and 'Whether to search recursively (default: false)'). The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('Godot projects') and a scoping location ('in a directory'). It is unambiguous and easily distinguished from sibling tools like get_project_info or run_project, which target a single project or perform an action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in a directory' implies the tool is for project discovery in a filesystem location, which gives some usage context. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention any exclusions or follow-up tools like get_project_info for inspecting a specific project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_resourcesA
List all resource files in a Godot project (images, audio, fonts, shaders, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| extension | No | Optional: filter by extension (e.g. png, wav, tres) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It fails to mention recursion behavior, file inclusion criteria (e.g., dot files?), or whether it is read-only. The description is too minimal for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loaded with key information. No redundant words. Efficient despite lacking detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain what the tool returns (e.g., list of file paths, details). It does not. Additionally, it does not specify recursion depth or file types considered resources, leaving the agent to guess. Incomplete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only 'extension' has a description). The description adds no additional meaning beyond the schema; it does not clarify what 'resource files' encompasses or how paths are resolved, leaving ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists resource files in a Godot project, with examples of types (images, audio, etc.). It distinguishes itself from sibling tools like list_scene_files or list_script_files by specifying 'resource files' as a broad category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for general resource listing against siblings that list specific types (scenes, scripts, projects). However, it does not explicitly state when to avoid this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scene_backupsA
List all available backups for a scene file, ordered by most recent first. Use this to review available restore points before calling restore_scene_backup.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene path relative to project (e.g. scenes/level.tscn) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the ordering behavior ('most recent first') but does not mention potential empty results or rate limits. However, for a read-only list operation, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with zero waste. The main purpose is front-loaded, and the usage guideline is efficiently appended.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two string parameters and no output schema, the description covers purpose and usage. It lacks specification of the return format (e.g., list of names/paths), but this is a minor gap given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions. The tool description adds no additional semantic value beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List' and the resource 'backups for a scene file', and specifies ordering by most recent. It distinguishes from sibling tools like 'restore_scene_backup' and 'backup_scene'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool: 'before calling restore_scene_backup', providing a clear usage context and linking to a related sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_scene_filesC
List all scene files (.tscn) in a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It does not disclose whether the scan is recursive, whether hidden files are included, or what happens if the projectPath is invalid. This is insufficient for an agent to predict behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. However, it is arguably too concise, sacrificing necessary details for brevity. It earns a middle score because it is not verbose but is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return format (e.g., file paths, relative or absolute) and behavior. It is missing these critical details for a tool with a single parameter, making it incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only the name and type of projectPath with no description. The tool description adds no additional meaning, such as acceptable formats (absolute vs relative path) or constraints (must exist). With 0% schema description coverage, more compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists scene files (.tscn) in a Godot project, using a specific verb and resource type. However, it does not specify whether the listing is recursive or limited to a single directory, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like list_resources or list_script_files. The description does not mention prerequisites or exclusions, leaving the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_script_filesC
List all script files (.gd) in a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the basic function. It does not disclose behavioral traits such as whether the listing is recursive, what permissions are needed, or error handling. The read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is highly concise with a single sentence. Front-loaded with the verb and resource. However, it may be too brief for completeness, but conciseness is not the same as brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no output schema), the description minimally covers the tool's purpose. It does not describe output format, recursion behavior, or error conditions, but for a straightforward list tool it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no additional meaning for the projectPath parameter. It does not explain expected format (absolute/relative), path validation, or how it relates to the Godot project structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List', resource 'script files (.gd)', and scope 'in a Godot project'. It is specific and distinguishes from unrelated tools, but does not explicitly differentiate from sibling list tools like list_resources or list_scene_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives. Does not mention any prerequisites, context, or comparison with similar tools such as list_resources or list_scene_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_spriteC
Load a sprite into a Sprite2D node
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| nodePath | Yes | Path to the Sprite2D node (e.g., "root/Player/Sprite2D") | |
| texturePath | Yes | Path to the texture file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects. It only states that a sprite is loaded into a node, without mentioning whether this modifies the scene file, requires a saved scene, returns a value, or has any persistent effects. This lack of detail leaves significant ambiguity about the tool's actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words or unnecessary details. It is concise and front-loaded, clearly stating the core action without distraction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and the mutation-like nature of the action, the description is insufficiently contextual. It does not explain what 'load' means operationally (e.g., sets a texture property, replaces an existing asset), whether the scene must be saved, or what the expected result is. This leaves gaps for an agent attempting to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—all four parameters have individual descriptions explaining their meaning (e.g., 'Path to the texture file (relative to project)'). The tool description itself adds no extra parameter information, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (load) and the target resource (a sprite into a Sprite2D node), making the tool's primary purpose understandable. It does not explicitly contrast with sibling tools like add_node, but the specific action is distinct enough for basic identification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as add_node or other scene modification tools. It omits any contextual conditions or prerequisites, leaving the agent to infer appropriate usage solely from the action description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_nodeC
Move (reparent) a node to a different parent in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Path to the node to move | |
| newParentPath | Yes | Path to the new parent node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It only states 'move (reparent)', which implies a structural change, but doesn't clarify side effects like whether children move with the node, if undo is supported, or if permission or scene locking is required. This is under-disclosed for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, but it sacrifices essential details for brevity. It has no structure (no sections for behavior or parameters) and provides only the bare minimum. While not verbose, it is under-specified, earning a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of reparenting a node (which can affect transforms, signals, and child hierarchies) and the absence of an output schema, the description is inadequate. It fails to mention what happens to the node's children, whether the operation is reversible, or if any constraints apply (e.g., cyclic parent relationships). The description is not complete enough for an agent to understand the full impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes 4 required parameters, with only nodePath and newParentPath having descriptions. The description itself adds no parameter-level information, so it doesn't compensate for the missing schema descriptions on projectPath and scenePath (which remain unclear). It adds minimal value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Move (reparent)' and the resource 'node in a scene', which precisely distinguishes it from sibling tools like add_node, remove_node, duplicate_node, or rename_node. It leaves no doubt about the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or when not to use it. For example, it doesn't note that moving a node may affect child positions or that the new parent must exist in the same scene. The usage context is purely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_health_checkA
[OPTION C] Run a comprehensive diagnostic check on a Godot project. Detects: broken scenes (cannot load), broken scripts, broken resources (.tres/.res), physics bodies without CollisionShape children, orphan .uid files (Godot 4.4+), and missing assets. Returns structured JSON with errors, warnings, and project stats. Essential before shipping or after large refactors.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description lists all detected issues and mentions the return format (structured JSON with errors/warnings/stats). It implies no side effects and is transparent about what the tool checks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the action, and efficiently lists detections and output format without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a diagnostic tool, the description covers what it checks and mentions the return format. It lacks details on runtime expectations but is largely complete given the simple parameter and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Coverage is 100% (only one parameter with schema description). The description adds no additional meaning beyond the schema's 'Path to the Godot project directory', so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a comprehensive diagnostic check on a Godot project, lists specific detections (broken scenes, scripts, resources, etc.), and distinguishes it from sibling tools like validate_scene or validate_script that focus on single aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it's essential before shipping or after large refactors, providing clear when-to-use context. However, it does not explicitly compare to alternatives or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_scriptA
Read the contents of a GDScript or any text file in a project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| filePath | Yes | File path relative to project |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool reads contents but does not elaborate on behavior (e.g., encoding, file size limits, whether it returns the entire file). Given the simplicity of the operation, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource. It is concise and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description covers the core functionality. However, it lacks details about parameter semantics (especially projectPath) and does not specify the return format. The absence of output schema makes this a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 2 parameters, with only filePath having a description (50% coverage). The description adds that the tool reads text files, but does not explain projectPath at all. It fails to compensate for the missing parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads contents of GDScript or any text file, identifying the specific resource (script/text file) and action (read). It distinguishes from siblings like update_script or analyze_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this tool when you need to read a script or text file. However, it does not explicitly mention when not to use it or provide alternatives like analyze_script for code analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_nodeC
Remove a node from a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | Path to target node to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Remove', without disclosing whether removal is permanent, undoable, or affects child nodes. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff. However, it could be slightly expanded to include behavioral context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and minimal description, the tool lacks critical context about the removal operation's effects, reversibility, and error conditions. More details are needed for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only nodePath has a description). The description adds no new meaning beyond the schema; it restates 'Path to target node to remove'. With low coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'node from a scene', which is specific and distinct from siblings like 'add_node' or 'duplicate_node'. However, it does not explicitly differentiate from other removal tools like 'delete_file'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from a scene' implies usage context within scene editing. There is no explicit guidance on when to use this tool versus siblings like 'delete_file' or 'move_node', but the scope is narrowed to scene nodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_nodeC
Rename a node in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes | ||
| nodePath | Yes | ||
| newName | Yes | New name for the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description only states 'rename' without disclosing side effects, permissions, or constraints like name uniqueness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but could benefit from additional structure or examples; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on error handling, return values, or behavior when renaming fails; incomplete for a 4-param tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 25% of parameters have descriptions in schema; no parameter details in description, relying on parameter names that are somewhat self-explanatory but insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Rename a node in a scene' clearly states the action (rename) and resource (node in a scene), distinguishing it from sibling tools like move_node or duplicate_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives, no prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_scene_backupA
[OPTION B - Part 2] Restore a scene (.tscn) from a previously created backup. Use this as a rollback if a scene mutation went wrong. Provide the backupPath returned by backup_scene, or leave empty to restore the most recent backup for that scene.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene path relative to project (e.g. scenes/level.tscn) — the destination to restore to | |
| backupPath | No | Optional: full path to specific backup file. If omitted, restores the most recent backup for this scene. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It states that the tool restores a backup but does not mention whether it overwrites the current scene without creating a new backup, if it requires editor to be closed, or what auth/permissions are needed. For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second gives usage guidance. No fluff or redundant information. Front-loaded with context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple restore tool, it covers the core workflow: it specifies the two required parameters and the optional backupPath. It assumes knowledge of backup_scene, which is reasonable given sibling tools. Missing details on return values or error states, but output schema is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so each parameter is described. The description adds value by explaining that backupPath is optional and defaults to the most recent backup, and clarifies that scenePath is the destination. This exceeds schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restores a .tscn scene from a backup and uses the verb 'restore' with explicit resource. It distinguishes from siblings like 'backup_scene' (creates backup) and 'list_scene_backups' (lists backups) by positioning itself as the rollback counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells when to use it (rollback after a scene mutation went wrong) and how to use it (provide backupPath from backup_scene or leave empty for most recent). It does not explicitly state when not to use it or list alternatives beyond the reference to backup_scene.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_projectC
Run the Godot project and capture output
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scene | No | Optional: Specific scene to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral burden. It mentions 'capture output' but does not disclose side effects, blocking behavior, or whether the process continues running after invocation. The name 'run_project' implies execution but lacks specifics about what the user will observe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundant information. It efficiently conveys the primary purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is present, and the description does not clarify what 'capture output' means—whether it returns logs, exit codes, or streams. It also omits whether the tool blocks until the project closes or returns immediately. This leaves the agent uncertain about the expected behavior and return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full coverage for both parameters with their descriptions. The tool description adds no extra semantic detail beyond the schema, so it neither enhances nor detracts from the schema's clarity. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Run') and object ('the Godot project'), plus a specific outcome ('capture output'). It is distinct from siblings like `launch_editor` or `stop_project`, though the phrase 'capture output' could be more detailed about what output is captured.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. It does not mention prerequisites, like whether the project must exist or if the Godot editor must be closed, nor does it explain the effect of the optional 'scene' parameter in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_sceneC
Save changes to a scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| newPath | No | Optional: New path to save the scene to (for creating variants) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool mutates/saves a scene file, not whether it overwrites the existing file, how newPath behaves beyond the schema's variant hint, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with no filler or redundant content; the core action is front-loaded. It is appropriately concise, even though it sacrifices detail that is captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should compensate but does not; it omits overwrite behavior, success/failure signaling, and any preconditions. The schema covers parameters, so the tool is not wholly underspecified, but the description alone is insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: projectPath and scenePath are described as paths, and newPath is explicitly documented as an optional path for creating variants. The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'save' with the resource 'scene file,' clearly indicating a persistence operation. It does not explicitly differentiate from create_scene, though 'save changes' implies an existing scene, so it stops short of full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus create_scene or other scene tools, and no prerequisites or exclusions are provided. The word 'changes' implies use after modifications, but that is not actionable enough to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_symbolB
Perform a project-wide search for a symbol or text in all GDScript files.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project | |
| query | Yes | Text or regex pattern to search for | |
| isRegex | No | Whether to treat the query as a regular expression |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the action but not behavioral traits like idempotency, performance impact, or result format. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Could add more information without losing conciseness, but the current structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description. Missing return format (e.g., list of lines/files), making it incomplete for a search tool with 3 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline of 3. Description adds little beyond schema; 'symbol or text' aligns with query but doesn't enrich meaning for isRegex or projectPath.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'search', resource 'symbol or text', and scope 'project-wide in all GDScript files'. It effectively distinguishes from sibling tools like 'analyze_script' or 'read_script'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus alternatives such as 'read_script' or 'validate_script'. The purpose is clear but lacks when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_collision_layer_maskA
Set collision layer and mask on a physics body or area. Controls which physics layers interact.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene file path | |
| nodePath | Yes | Path to the physics body/area node | |
| layer | No | Collision layer bitmask value | |
| mask | No | Collision mask bitmask value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose behavioral details such as overwrite behavior, error handling, or prerequisites beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that effectively communicate the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters and lack of annotations, the description provides just enough to understand the tool but misses context on when it's appropriate and what results to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters, and description reiterates 'collision layer and mask' without additional semantic depth. Baseline score due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool's action (Set) and resource (collision layer and mask on a physics body/area). It distinguishes from sibling tools like add_collision_shape and set_node_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage context by stating it 'sets collision layer and mask', but lacks explicit guidance on when to use vs. alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_main_sceneA
Set the main scene that runs when pressing Play in Godot. Without this the game does not start.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Scene path relative to project (e.g. scenes/main.tscn) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description does not disclose behavioral traits such as whether the setting is overwritten, permission requirements, or side effects. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Highly efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple parameters and no output schema, the description is adequate but could include behavioral details like overwriting behavior. It does not fully cover what happens when the tool is invoked.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action 'Set the main scene' and the resource 'that runs when pressing Play in Godot'. It adds crucial context that without this the game does not start, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (before running the game) but does not explicitly state when not to use or provide alternatives. It is clear enough for the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_node_propertiesC
Set properties of a node in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to project | |
| scenePath | Yes | Scene path | |
| nodePath | Yes | Path to target node, empty or root for scene root | |
| properties | Yes | Key-value map of properties to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not mention side effects, permissions, or whether properties are overwritten or merged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, minimal and to the point, but could add context without significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description omits return value, error handling, and validation details for a 4-parameter mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states verb 'set' and resource 'properties of a node', clearly distinguishing from sibling tools like 'get_node_properties' or 'bulk_set_properties'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives like 'bulk_set_properties' or 'set_collision_layer_mask'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_project_settingC
Set a value in the project.godot configuration file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| section | Yes | INI section (e.g. application, display, input) | |
| key | Yes | Setting key (e.g. config/name, window/size/viewport_width) | |
| value | Yes | Value to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden but only states action. Does not disclose whether settings are overwritten, validated, or persisted immediately. No behavioral traits beyond 'set a value'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no fluff, efficiently conveys core purpose. However, at 10 words it may be too terse to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description is incomplete. It omits return value, error handling, and any context about the configuration file format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds no meaning beyond schema. Schema provides examples for section and key, but projectPath and value lack explanation. Tool description does not elaborate on parameter roles or syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it sets a value in the project.godot configuration file, specifying the exact resource. It distinguishes from sibling tools that set other aspects like main scene or project metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, nor prerequisites or context. Does not mention that the project must exist or that settings are typically read via get_project_settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_projectA
Stop the currently running Godot project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action 'Stop' without explaining side effects (e.g., unsaved changes, process termination), error conditions (no running project), or whether it's reversible. For a destructive action, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that directly states the action and target. It's front-loaded with the verb and resource, with zero redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description adequately covers the core action. However, it doesn't mention what happens if no project is running or whether the tool returns any feedback, which would be useful but not critical for a stop action. The description is mostly complete given its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty (100% coverage). The description doesn't need to explain any parameters, and the baseline for 0-parameter tools is 4. It adds no extra parameter meaning because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Stop') and a specific resource ('the currently running Godot project'). It clearly distinguishes from siblings like run_project (which starts) and get_debug_output (which retrieves output), so an agent can easily infer its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need to stop a running project) but does not explicitly mention when not to use it or alternatives. Since it's a simple action with no parameters, the context is clear, but it doesn't provide explicit routing like naming run_project as the counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_uidsB
Update UID references in a Godot project by resaving resources (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions resaving resources, implying file modifications, but does not disclose potential side effects, reversibility, permissions needed, or whether it may alter many files. The version requirement is useful but insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the primary action and resource. It avoids extraneous detail and is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, the description is minimally adequate. It explains what it does and the version constraint, but omits guidance on when to use it and potential side effects. Given the simplicity, it is not severely incomplete but lacks context an agent might need to decide correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema coverage with a clear description ('Path to the Godot project directory'). The tool description adds no additional meaning beyond the schema, so it meets the baseline for a fully documented parameter but does not enhance understanding further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Update'), a resource ('UID references in a Godot project'), and a method ('by resaving resources'). It clearly identifies the tool's function and includes a version constraint (Godot 4.4+), distinguishing it from sibling tools like get_uid that retrieve UIDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It only mentions a version requirement, but does not explain scenarios (e.g., after moving or renaming files) or when to prefer other project tools. The intended use is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_scriptC
Update/overwrite the contents of an existing script file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scriptPath | Yes | Script path relative to project | |
| content | Yes | New full content for the script |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden but only says 'update/overwrite', implying mutation without details on behavior like file existence checks, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no wasted words, but it could be structured to include more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 required params, no output schema, and no annotations, the description is too brief, missing error handling, return values, and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (low-mid) but description adds no parameter meaning beyond schema. ProjectPath lacks description in schema and description does not clarify it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (update/overwrite) and resource (contents of an existing script file), distinguishing it from sibling tools like create_script and read_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as create_script or delete_file. Lacks any context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_sceneB
Validate a scene for common errors (missing collisions, empty shapes, missing textures, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | ||
| scenePath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should compensate. It does not disclose if validation is read-only, what side effects exist, or what the output format is. The description is minimal beyond the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb, no wasted words. However, it could be slightly more structured with additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has low complexity (2 required params, no output schema). Description covers basic purpose but omits return behavior, prerequisites, and side effect information. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no explanation for the two parameters (projectPath, scenePath). Their names are self-explanatory, but no format or constraints are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'validate', resource 'scene', and lists example error types (missing collisions, empty shapes, missing textures), distinguishing it from sibling tools like backup_scene or save_scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool versus alternatives, nor when not to use it. It lacks context like prerequisites or typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_scriptB
Check a GDScript file for syntax errors by attempting to load it in Godot.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project | |
| scriptPath | Yes | Path to the script to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the behavior 'attempting to load it in Godot', indicating a read-only syntax check. No annotations provided, but the description covers the basic operation. Lacks details on error reporting or side effects, but acceptable for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with precise verb and resource, no unnecessary words. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple validation tool with two required parameters. However, it does not explain what happens on success/failure or if error details are provided, which would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters already described clearly. The description does not add any additional meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks GDScript files for syntax errors by loading them, using specific verb and resource. However, it does not differentiate from sibling tools like analyze_script or validate_script_deep.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or not use this tool versus alternatives (e.g., analyze_script for deeper analysis). The description only states what it does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_script_deepA
[OPTION A] Deep GDScript validation using Godot's real compiler (headless). Detects syntax errors, type mismatches, missing class references, and semantic issues that surface at parse/compile time. More thorough than validate_script. Returns structured JSON with error details including file, line number, and error message.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scriptPath | Yes | Path to the GDScript file to validate (relative to project, e.g. scripts/player.gd) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes the validation process (using real compiler), the types of issues detected, and the return format (structured JSON with error details). It does not mention any side effects or destructive actions, but for a validation tool, the behavioral traits are well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. Every sentence adds unique value, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return value. It provides enough context for an agent to understand when to invoke this tool (for deep validation). However, it could mention that the project path must be valid and the script must exist, though these are implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add new semantic meaning for the parameters beyond what the schema provides; it merely restates their purpose. Thus, no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it performs deep GDScript validation using Godot's real compiler, distinguishing it from the sibling validate_script by being 'more thorough'. It explicitly lists the types of errors detected (syntax, type mismatches, etc.), leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions it is more thorough than validate_script, providing a direct comparison. However, it does not explicitly state when to use this tool versus other options, nor does it list prerequisites or contexts where it is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
63 tool updates
v0.1.1- First observed
add_collision_shape - First observed
add_node - First observed
add_to_group - First observed
analyze_script - First observed
attach_script_to_node - First observed
backup_scene - First observed
batch_add_nodes - First observed
batch_instance_scene - First observed
bulk_set_properties - First observed
connect_signal - First observed
create_animation - First observed
create_audio_player - First observed
create_autoload - First observed
create_environment - First observed
create_input_action - First observed
create_light - First observed
create_particles - First observed
create_project - First observed
create_scene - First observed
create_script - First observed
create_shader - First observed
create_timer - First observed
create_ui_element - First observed
delete_file - First observed
duplicate_node - First observed
export_mesh_library - First observed
get_class_info - First observed
get_debug_output - First observed
get_godot_version - First observed
get_node_properties - First observed
get_node_signals - First observed
get_project_info - First observed
get_project_settings - First observed
get_scene_tree - First observed
get_uid - First observed
inspect_model_bounds - First observed
instance_scene - First observed
launch_editor - First observed
list_projects - First observed
list_resources - First observed
list_scene_backups - First observed
list_scene_files - First observed
list_script_files - First observed
load_sprite - First observed
move_node - First observed
project_health_check - First observed
read_script - First observed
remove_node - First observed
rename_node - First observed
restore_scene_backup - First observed
run_project - First observed
save_scene - First observed
search_symbol - First observed
set_collision_layer_mask - First observed
set_main_scene - First observed
set_node_properties - First observed
set_project_setting - First observed
stop_project - First observed
update_project_uids - First observed
update_script - First observed
validate_scene - First observed
validate_script - First observed
validate_script_deep
TDQS
Scored across 63 tools
Most tools have clearly distinct purposes with good descriptions. Potential confusion between validate_script and validate_script_deep, and among add_node, batch_add_nodes, instance_scene, but descriptions mitigate ambiguity.
Consistent use of verb_noun pattern with underscores (e.g., add_collision_shape, analyze_script). Minor deviations like get_debug_output, but overall predictable and readable.
63 tools is large for a single MCP server, covering many aspects of Godot development. While each serves a purpose, the count feels borderline overwhelming and could be streamlined.
Comprehensive coverage of Godot development: scene editing, scripting, project settings, debugging, collisions, animations, UI, etc. Minor gaps (e.g., physics joints, advanced animation) but covers core workflows well.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceIntelligent MCP server for AI-assisted Godot 4 development with spatial intelligence, code analysis, and 35 tools54MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to directly run, inspect, modify, and debug Godot game development projects through 110+ tools covering scenes, scripts, resources, runtime debugging, and asset management.33212MIT
- AlicenseCqualityAmaintenanceAn MCP server providing AI assistants with 149 tools to fully control the Godot game engine, including runtime code execution, scene manipulation, physics, audio, networking, animation, and more.10075449MIT
- AlicenseAqualityAmaintenanceA Godot 4 MCP server for AI-assisted project inspection, editing, validation, and runtime automation via stdio and optional WebSocket bridge.390MIT