Skip to main content
Glama

Godot MCP

Github-sponsors

Made with Godot

中文文档

A Model Context Protocol (MCP) server for interacting with the Godot game engine.

Introduction

Godot MCP enables AI assistants to launch the Godot editor, run projects, capture debug output, and control project execution - all through a standardized interface.

This direct feedback loop helps AI assistants like Claude understand what works and what doesn't in real Godot projects, leading to better code generation and debugging assistance.

Related MCP server: Godot MCP

Features

  • Launch Godot Editor: Open Godot editor for a specific project

  • Run Godot Projects: Execute Godot projects in debug mode

  • Capture Debug Output: Retrieve console output and error messages

  • Control Execution: Start and stop Godot projects programmatically

  • Get Godot Version: Retrieve the installed Godot version

  • List Godot Projects: Find Godot projects in a specified directory

  • Project Analysis: Get detailed information about project structure

  • Scene Management:

    • Create new scenes with specified root node types

    • Add nodes to existing scenes with customizable properties

    • Load sprites and textures into Sprite2D nodes

    • Export 3D scenes as MeshLibrary resources for GridMap

    • Save scenes with options for creating variants

  • UID Management (for Godot 4.4+):

    • Get UID for specific files

    • Update UID references by resaving resources

Requirements

  • Godot Engine installed on your system

  • Python >= 3.10

  • uv package manager (includes uvx tool, no extra installation needed)

  • An AI assistant that supports MCP (Cline, Cursor, etc.)

What is uvx?

uvx is a tool included with the uv package manager that lets you run Python applications directly from GitHub without cloning the repository or managing virtual environments manually. Once you install uv, the uvx command becomes automatically available.

Benefits of using uvx:

  • No need to clone the repository

  • Automatically manages dependencies and virtual environments

  • Always runs the latest version

  • Simplifies the configuration process

Installation

Prerequisites

  1. Install Python 3.10 or later

  2. Install uv package manager (includes uvx):

    curl -LsSf https://astral.sh/uv/install.sh | sh

    Or follow the uv installation guide

    After installation, you can run uv --version and uvx --version to verify your installation.

Step 1: Run Server

Recommended Method - Use uvx to run directly from GitHub without cloning:

uvx --from "git+https://github.com/ChanceFlow/godot-mcp@main" godot-mcp

Alternative: Local Development (For Contributing)

Only clone the repository if you plan to contribute or develop locally:

git clone https://github.com/ChanceFlow/godot-mcp.git
cd godot-mcp
uv sync
uv run python godot_mcp/server.py

Step 2: Configure with Your AI Assistant

Add to your AI assistant's MCP settings (recommended for most users):

For Cline (~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "godot": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ChanceFlow/godot-mcp@main", "godot-mcp"],
      "env": {
        "DEBUG": "true"
      },
      "disabled": false,
      "autoApprove": [
        "launch_editor",
        "run_project",
        "get_debug_output",
        "stop_project",
        "get_godot_version",
        "list_projects",
        "get_project_info",
        "create_scene",
        "add_node",
        "load_sprite",
        "export_mesh_library",
        "save_scene",
        "get_uid",
        "update_project_uids"
      ]
    }
  }
}

For Cursor UI:

  1. Go to Cursor Settings > Features > MCP

  2. Click on + Add New MCP Server button

  3. Fill out form:

    • Name: godot (or any name you prefer)

    • Type: command

    • Command: uvx --from "git+https://github.com/ChanceFlow/godot-mcp@main" godot-mcp

  4. Click "Add"

  5. You may need to press refresh button in top right corner of MCP server card to populate tool list

For Cursor (Project-Specific):

Create a file at .cursor/mcp.json in your project directory:

{
  "mcpServers": {
    "godot": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ChanceFlow/godot-mcp@main", "godot-mcp"],
      "env": {
        "DEBUG": "true"
      }
    }
  }
}

Alternative: Local Development (For Contributing)

Only use this if you've cloned the repository locally:

For Cline:

{
  "mcpServers": {
    "godot": {
      "command": "uv",
      "args": ["run", "python", "godot_mcp/server.py"],
      "env": {
        "DEBUG": "true"
      }
    }
  }
}

For Cursor: Use uv run python godot_mcp/server.py as the command.

Step 3: Optional Environment Variables

You can customize the server behavior with these environment variables:

  • GODOT_PATH: Path to the Godot executable (overrides automatic detection)

  • DEBUG: Set to "true" to enable detailed server-side debug logging

Example Prompts

Once configured, your AI assistant will automatically run the MCP server when needed. You can use prompts like:

"Launch the Godot editor for my project at /path/to/project"

"Run my Godot project and show me any errors"

"Get information about my Godot project structure"

"Help me debug this error in my Godot project: [paste error]"

"Write a GDScript for a character controller with double jump and wall sliding"

"Create a new scene with a Player node in my Godot project"

"Add a Sprite2D node to my player scene and load the character texture"

"Export my 3D models as a MeshLibrary for use with GridMap"

"Create a UI scene with buttons and labels for my game's main menu"

"Get the UID for a specific script file in my Godot 4.4 project"

"Update UID references in my Godot project after upgrading to 4.4"

Implementation Details

Architecture

The Godot MCP server uses a bundled GDScript approach for complex operations:

  1. Direct Commands: Simple operations like launching the editor or getting project info use Godot's built-in CLI commands directly.

  2. Bundled Operations Script: Complex operations like creating scenes or adding nodes use a single, comprehensive GDScript file (godot_operations.gd) that handles all operations.

This architecture provides several benefits:

  • No Temporary Files: Eliminates the need for temporary script files, keeping your system clean

  • Simplified Codebase: Centralizes all Godot operations in one (somewhat) organized file

  • Better Maintainability: Makes it easier to add new operations or modify existing ones

  • Improved Error Handling: Provides consistent error reporting across all operations

  • Reduced Overhead: Minimizes file I/O operations for better performance

The bundled script accepts operation type and parameters as JSON, allowing for flexible and dynamic operation execution without generating temporary files for each operation.

Development

Running the Server

Direct execution:

uv run python godot_mcp/server.py

Development mode with MCP Inspector:

uv run mcp dev godot_mcp/server.py

Testing

Run tests with pytest:

pytest

Troubleshooting

  • Godot Not Found: Set the GODOT_PATH environment variable to your Godot executable

  • Connection Issues: Ensure the server is running and restart your AI assistant

  • Invalid Project Path: Ensure the path points to a directory containing a project.godot file

  • Python Version: Ensure you're using Python 3.10 or later

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

84 tools
animation_add_trackA

Add a track to an existing animation.

Category: Animation

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) animation_name: Name of the animation track_type: Type of track (value, method, bezier, audio, animation) track_path: Node path for the track (e.g., "Player:position")

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
animation_nameYes
track_typeYes
track_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear all responsibility for behavioral disclosure. It notes that the tool returns a success message or error, but does not describe side effects (e.g., modification of the scene file), prerequisites (e.g., existing animation), constraints (e.g., maximum tracks), or error conditions. The behavioral transparency is minimal and insufficient for safe agent use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence purpose, category, argument list with brief explanations, and return type. Every sentence is meaningful, and there is no redundancy or filler. The front-loading of the main purpose aids quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the five required parameters and no annotations, the description provides basic context (category, args, return). However, it lacks information about prerequisites (e.g., animation must exist), behavior (e.g., track appended to end), limits (e.g., maximum tracks), and error scenarios (e.g., invalid path). An output schema exists but is not detailed, so more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the tool description's parameter explanations are crucial. It adds meaningful context beyond the schema, such as track_type values ('value, method, bezier, audio, animation') and track_path format ('Player:position'). However, it does not elaborate on constraints like valid node paths or animation_name existence, which would further improve semantic clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Add a track') and resource ('to an existing animation'). It lists all arguments and return type, and the category 'Animation' groups it effectively. Among siblings like 'animation_create' and 'animation_set_keyframe', the purpose 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool is for adding a track to an existing animation, which implies its use case. However, it does not provide explicit guidance on when to use this tool versus alternatives, such as when to add a track versus modify or delete. No when-not-to or alternative tool references are included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animation_createA

Create an Animation resource and add it to a scene.

Category: Animation

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) animation_name: Name of the animation to create duration: Duration of the animation in seconds (default: 1.0) loop: Whether the animation should loop (default: False)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
animation_nameYes
durationNo
loopNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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 describes the main action but does not disclose behavioral traits such as whether it overwrites existing animations, what happens on failure, or any side effects like modifying the scene file. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (Category, Args, Returns) and is front-loaded with the main purpose. It is efficient but could be slightly more concise by avoiding repetition of information that might be in the schema (though schema has no descriptions).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and parameters adequately, but it lacks details on the broader context: what happens if the animation name already exists, whether it adds a new node to the scene, or how it interacts with other tools. Given the existence of sibling animation tools, more context on sequencing would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description adds meaningful parameter explanations (e.g., 'Path to the Godot project directory' for project_path). It also notes defaults for duration and loop. This provides clarity beyond the bare schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Create an Animation resource and add it to a scene.' It uses a specific verb ('Create') and resource ('Animation resource'), and includes a category hint. This distinguishes it from sibling tools like animation_add_track, which modifies an existing animation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used to create new animations, but it does not explicitly state when to use it versus alternatives or provide when-not-to-use guidance. It lacks direct references to sibling tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animation_get_infoA

Get information about an animation.

Category: Animation

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) animation_name: Name of the animation

Returns: JSON string containing animation information or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
animation_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states 'Get information' implying read-only and non-destructive, but does not mention any side effects, authorization needs, or cost (e.g., network or filesystem access). For a simple read operation, this is minimally adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with clear sections (Category, Args, Returns). Every sentence adds value, and there is no redundancy or unnecessary detail. It front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (read-only, 3 required parameters) and the existence of an output schema (though not shown), the description is nearly complete. It specifies the return type (JSON string) and mentions error handling. Missing details about the returned structure are likely covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description lists each parameter with a meaningful explanation (e.g., 'Path to the Godot project directory' for project_path). This adds significant value beyond the schema properties, effectively compensating for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Get' and the resource 'information about an animation'. It distinguishes from siblings like animation_list (list animations) and animation_create (create animation) by focusing on retrieving details of a single named animation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 that to list all animations one should use animation_list, nor does it provide conditions for use (e.g., 'use when you need details about a specific animation'). The agent must infer from description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animation_listA

List all animations in a scene.

Category: Animation

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project)

Returns: JSON string containing list of animations or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description discloses it returns a JSON string with animations or error, which is minimal behavioral information. It does not mention side effects or performance implications, but as a read-only list, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise description with front-loaded purpose, clear sections for category, args, and returns. Every sentence is useful and no extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two parameters, no output schema required), the description fully covers functionality, inputs, and outputs. No gaps for an agent to fail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides parameter meanings ('Path to the Godot project directory', 'Path to the scene file relative to project') beyond the schema's type-only definitions, adding significant value despite the schema's low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all animations in a scene', which is a specific verb and resource. It distinguishes itself from sibling tools like animation_create or animation_get_info, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites or scenarios where other tools (e.g., animation_get_info) might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

animation_set_keyframeA

Set a keyframe in an animation track.

Category: Animation

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) animation_name: Name of the animation track_index: Index of the track (0-based) time: Time position for the keyframe in seconds value: Value for the keyframe (JSON string for complex values)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
animation_nameYes
track_indexYes
timeYes
valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Minimal disclosure beyond the action. Does not describe side effects (e.g., replacing existing keyframes), failure modes, or required state. With no annotations, the description should provide more behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is structured with a purpose statement and an Args list. It is reasonably concise, though the 'Category: Animation' line is extraneous. Overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers basic purpose and parameter meanings. Lacks preconditions (e.g., animation must exist) and behavioral details. Given the tool's complexity (6 required params) and presence of an output schema, it is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since input schema has 0% description coverage, the description fully compensates by detailing each parameter (e.g., 'project_path: Path to the Godot project directory'). Provides clear semantics beyond the schema's titles and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Set a keyframe in an animation track' with specific verb (Set) and resource (keyframe in animation track). Distinguishes from sibling tools like animation_add_track and animation_create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Does not mention prerequisites, such as the need for an existing animation or scene.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audio_add_stream_playerC

Add an audio stream player node to a scene.

Category: Audio

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node player_name: Name for the new audio player node player_type: Type of player (AudioStreamPlayer, AudioStreamPlayer2D, AudioStreamPlayer3D, default: AudioStreamPlayer) autoplay: Whether to start playing automatically (default: False)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
player_nameYes
player_typeNoAudioStreamPlayer
autoplayNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the action is 'add' (a write operation) but does not disclose side effects, reversibility, or permission needs. The return type is mentioned as 'success message or error' but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args and Returns, and front-loads the purpose. However, it repeats parameter information that is also in the schema, making it slightly longer than necessary. Still clear and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description covers the core functionality but lacks details on error handling, prerequisites (e.g., open scene), and behavior when parent node doesn't exist. It is adequate for a simple operation but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds value for 'player_type' by listing possible values and for 'autoplay' by explaining its boolean meaning. Other parameters like project_path, scene_path are not elaborated beyond their names, so overall adds moderate semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool adds an audio stream player node to a scene, with specific verb and resource. However, it does not explicitly differentiate from sibling tools like audio_configure_bus or audio_set_stream, though the purpose is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor any prerequisites or context. It only states what it does, leaving the AI agent without clear usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audio_configure_busB

Configure an audio bus in the project.

Category: Audio

Args: project_path: Path to the Godot project directory bus_name: Name of the audio bus (e.g., "Master", "Music", "SFX") volume_db: Volume in decibels (range: -80 to 24) mute: Whether to mute the bus solo: Whether to solo the bus (mute all other buses)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
bus_nameYes
volume_dbNo
muteNo
soloNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavioral traits, but it only lists parameters and return type. It does not mention side effects, reversibility, permissions, or whether the bus must already exist, leaving the agent with limited behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear header, argument list, and return info. It is concise, though the 'Category: Audio' line is somewhat redundant but does not detract significantly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers basic usage and parameter explanations, but lacks contextual details such as whether the bus must already exist, the effect of multiple calls, or error scenarios. The presence of an output schema partially compensates for return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides meaningful explanations for parameters, including the volume range (-80 to 24) and the effect of solo, which are absent from the schema. This compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Configure' and the resource 'audio bus', and it is distinct from sibling audio tools like 'audio_add_stream_player' which deal with stream players.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor are there any prerequisites or contextual notes. The description only explains what the tool does, not when it should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audio_set_streamB

Set an audio stream for an audio player.

Category: Audio

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) player_path: Path to the audio player node audio_file_path: Path to the audio file (relative to project, e.g., "sounds/music.ogg") volume_db: Volume in decibels (default: 0.0, range: -80 to 24) pitch_scale: Pitch scaling factor (default: 1.0, range: 0.01 to 4.0)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
player_pathYes
audio_file_pathYes
volume_dbNo
pitch_scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It lacks details on what happens if the player doesn't exist or file is missing, and does not disclose side effects or state changes beyond setting the stream.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear title, category, parameter list, and return value. It is concise with no redundant information, though it could be slightly shorter without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown), the return value description is adequate. All parameters are explained, but missing context like file format support and prerequisite that the player node must exist. The description is moderately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 0%, meaning no param descriptions in schema. The description provides detailed explanations for each parameter, including constraints (volume range, pitch range), adding significant meaning beyond the schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets an audio stream for an audio player with a specific verb and resource. It is distinct from sibling tools like audio_add_stream_player which adds a new player node.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

autoload_addA

Add an autoload singleton to the project.

Category: Autoload

Args: project_path: Path to the Godot project directory name: Name of the autoload (will be accessible as global) script_path: Path to the script file (relative to project)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
nameYes
script_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description lacks disclosure of behavioral traits such as whether it overwrites existing autoloads, validates paths, or requires specific permissions. The return value is vague ('Success message or error description').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concisely structured with a clear heading, category, args, and returns. Every sentence serves a purpose, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers basic functionality and parameter roles, it lacks context on conflict handling (e.g., if autoload already exists) and does not reference sibling tools. The output schema exists but is not detailed in the description, though the return is mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the 'Args:' section provides meaningful semantics for each parameter, explaining 'project_path' as the project directory, 'name' as the global access name, and 'script_path' as relative path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Add' and the resource 'autoload singleton', distinguishing it from siblings like 'autoload_list' and 'autoload_remove'. The category 'Autoload' further groups it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the category but does not explicitly guide when to use this tool versus alternatives like 'autoload_remove' or 'autoload_list', nor does it state prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

autoload_listA

List all autoload singletons in the project.

Category: Autoload

Args: project_path: Path to the Godot project directory

Returns: JSON string containing list of autoloads or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states the return type (JSON string with list or error), but does not disclose read-only nature, required permissions, or side effects. Basic info is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: one sentence for purpose, one line for category, then clear Args/Returns. No unnecessary words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, list operation), the description covers the essential: what it does, input, and output. An output schema exists (not shown) but the description mentions return type. Lacks details on error handling or edge cases, but adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaning by explaining 'project_path: Path to the Godot project directory'. This compensates for the schema's lack of description, providing necessary context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all autoload singletons in the project' with a specific verb and resource. It distinguishes from sibling tools like autoload_add and autoload_remove which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, when not to use, or comparison to other listing tools like script_list or resource_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

autoload_removeA

Remove an autoload singleton from the project.

Category: Autoload

Args: project_path: Path to the Godot project directory name: Name of the autoload to remove

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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 operation and return type, but does not disclose side effects like irreversibility or permissions needed. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and well-structured with a docstring format including Args and Returns. It is efficient and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple removal tool with 2 parameters and an output schema, the description covers the essential information. It includes return details and is complete enough for a straightforward operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds brief parameter descriptions: 'Path to the Godot project directory' and 'Name of the autoload to remove'. This adds some meaning beyond the schema's titles, but could be more detailed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Remove an autoload singleton from the project' with a specific verb and resource. It distinguishes itself from siblings like autoload_add and autoload_list by implying a removal operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for removing autoloads but provides no guidance on when not to use or alternatives. Siblings exist but are not referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

camera_addA

Add a camera node to a scene.

Category: Camera

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node camera_name: Name for the new camera node camera_type: Type of camera (Camera2D or Camera3D, default: Camera2D) make_current: Whether to make this the current/active camera (default: True)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
camera_nameYes
camera_typeNoCamera2D
make_currentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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 describes the inputs and outputs (success/error) but does not disclose side effects (e.g., making the camera current might affect the scene's active camera) or error conditions (e.g., invalid paths). The behavioral traits are partially covered but not exhaustively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a one-line summary, category, bulleted arguments with clear descriptions, and a returns line. It is front-loaded with the purpose and uses no unnecessary words, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all 6 parameters, includes return value behavior, and is sufficient for a simple creation tool. However, it omits mention of constraints like path existence or project loading state, which could affect success. With no annotations, it is reasonably complete but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description provides all parameter meaning beyond the schema's titles. It clarifies the expected value types (e.g., 'Camera2D or Camera3D' for camera_type) and defaults (make_current defaults to True). This adds significant value over the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Add a camera node to a scene.' It includes the category 'Camera' and lists specific parameters that distinguish it from sibling tools like node_add or camera_set_properties. The verb 'Add' and resource 'camera node' are precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives like node_add or other camera-related tools. It implies usage when adding a camera to a scene but lacks guidance on prerequisites or exclusions (e.g., requiring an existing scene). No comparison with sibling tools is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

camera_get_infoA

Get information about a camera.

Category: Camera

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) camera_path: Path to the camera node

Returns: JSON string containing camera information or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
camera_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description indicates read-only operation ('get information') and mentions returning JSON or error, but no disclosure of side effects, prerequisites, or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is structured with sections (Category, Args, Returns) but is relatively verbose (8 lines). Could be more concise while retaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with 3 required parameters and an output schema exists. Description covers purpose, parameters, and return type adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but the description includes an 'Args' section explaining each parameter (project_path, scene_path, camera_path), adding meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get information about a camera' with a specific verb and resource. It is distinguishable from sibling tools like camera_add or camera_set_properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 is implied from the category and tool name, but lacks exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

camera_set_currentC

Set a camera as the current/active camera.

Category: Camera

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) camera_path: Path to the camera node

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
camera_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full behavioral burden. It only states the basic action, omitting side effects (e.g., effect on previous active camera), error conditions, or required state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is short but includes extraneous 'Category: Camera' line. Main purpose is front-loaded. Could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema being present, the return description is vague ('Success message or error description'). Lacks detail on validation, error states, or side effects for a state-modifying tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description lists parameter names but adds no meaning beyond the schema's own titles, failing to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Set a camera as the current/active camera', clearly identifying the resource and action. It distinguishes itself from sibling tools like camera_add and camera_set_properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Does not mention prerequisites or context, leaving the AI agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

camera_set_propertiesA

Set properties for a camera.

Category: Camera

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) camera_path: Path to the camera node zoom: Zoom level as JSON array [x, y] (Camera2D only) offset: Offset as JSON array [x, y] (Camera2D) or [x, y, z] (Camera3D) fov: Field of view in degrees (Camera3D only, default: 75) near: Near clipping plane distance (Camera3D only, default: 0.05) far: Far clipping plane distance (Camera3D only, default: 4000)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
camera_pathYes
zoomNo
offsetNo
fovNo
nearNo
farNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It mentions type-specific parameters (Camera2D vs Camera3D) but does not disclose potential side effects, error behavior, or whether changes are reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args and Returns sections, though the 'Category: Camera' line is redundant given the tool name. Overall efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, 3 required) and lack of annotations, the description covers all parameters and return type. It is complete enough for an agent to understand the tool's function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description fully explains each parameter's meaning, type constraints (JSON arrays, numeric defaults), and camera type applicability, adding significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set properties for a camera,' using a specific verb and resource. It distinguishes from sibling tools like camera_add, camera_get_info, and camera_set_current by focusing on property modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 is implied that it is used after a camera node exists, but no prerequisites or when-not-to-use conditions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

canvas_layer_addA

Add a CanvasLayer node to organize UI elements by depth.

Category: CanvasLayer

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node layer_name: Name for the new canvas layer layer_order: Layer rendering order (higher values render on top, default: 0)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
layer_nameYes
layer_orderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It states the tool 'Adds' a node and returns success/error, but does not disclose side effects, prerequisites (e.g., scene must be open), or behavior if the layer name already exists. The description lacks sufficient behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences plus an argument list. It is well-structured with 'Args:' and 'Returns:' sections, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (per context signals), the description need not detail return values, but it mentions 'Success message or error description.' It covers the basic operation but omits edge cases or error conditions. For a simple creation tool, it is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description lists all 5 parameters with brief explanations (e.g., 'layer_order: Layer rendering order (higher values render on top, default: 0)'). This adds meaning beyond the schema's titles and types, compensating for the lack of parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Add a CanvasLayer node to organize UI elements by depth,' which is a specific verb-resource pair. It includes the category CanvasLayer and differentiates from siblings like canvas_layer_configure (modify) and canvas_layer_set_order (set order) by implying creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creation via 'Add,' but it does not explicitly state when to use this tool versus alternatives like canvas_layer_configure or canvas_layer_set_order. No exclusions or context for selecting this tool are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

canvas_layer_configureB

Configure properties of a CanvasLayer.

Category: CanvasLayer

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) layer_path: Path to the canvas layer node offset: Offset as JSON array [x, y] rotation: Rotation in radians scale: Scale as JSON array [x, y] follow_viewport: Whether to follow the viewport

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
layer_pathYes
offsetNo
rotationNo
scaleNo
follow_viewportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It does not disclose whether the tool modifies existing configurations, what happens if the layer does not exist, or any side effects (e.g., visual changes). The 'Returns' line is minimal. This leaves significant gaps for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a structured docstring with Args and Returns sections. It is front-loaded with the purpose and efficiently lists parameters. No extraneous sentences. However, it could be slightly more concise by grouping related parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, 0% schema description, and no annotations, the description provides the basic intent and parameter meanings but lacks deeper context like prerequisites, error scenarios, or return format beyond a string. It is adequate for a simple configuration tool but not rich enough for complex decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema by explaining each parameter's meaning and format (e.g., 'Offset as JSON array [x, y]', 'Rotation in radians'). However, it does not describe default behavior when null, valid ranges, or interacting defaults. Since schema coverage is 0%, the description offers some improvement but is not comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'Configure' and resource 'CanvasLayer properties', clearly distinguishing from sibling tools like canvas_layer_add (add layer) and canvas_layer_set_order (set order). The function is well-scoped to updating configuration parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 canvas_layer_add or canvas_layer_set_order. It lacks preconditions, context, or exclusions, leaving the agent to infer usage from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

canvas_layer_set_orderB

Set the rendering order of a CanvasLayer.

Category: CanvasLayer

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) layer_path: Path to the canvas layer node layer_order: Layer rendering order (higher values render on top)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
layer_pathYes
layer_orderYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the basic action and return type. It lacks details on side effects, permissions, reversibility, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core action. The 'Category: CanvasLayer' line is slightly redundant but does not significantly bloat the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with four parameters and an output schema, the description covers purpose and parameters adequately but lacks details on value ranges, edge cases, and error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description compensates by listing each parameter with a brief explanatory sentence, adding context beyond the schema titles. However, the descriptions are minimal and do not provide constraints or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'set' and the resource 'rendering order of a CanvasLayer', making it distinct from sibling tools like canvas_layer_add and canvas_layer_configure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 canvas_layer_configure, nor are there any exclusion criteria or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collision_add_shapeA

Add a collision shape to a CollisionObject2D/3D node.

Category: Collision

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the CollisionObject node (e.g., "Player", "Enemy/CollisionObject2D") shape_type: Type of collision shape (RectangleShape2D, CircleShape2D, BoxShape3D, SphereShape3D, CapsuleShape2D, etc.) shape_properties: JSON string of shape properties (e.g., '{"size": [10, 20]}' for rectangle)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
shape_typeYes
shape_propertiesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral details beyond the return format. It fails to mention side effects (e.g., whether it overwrites existing shapes) or prerequisites (e.g., node must be a CollisionObject).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear headings and bullet-style arguments, making it easy to scan. It is reasonably concise, though the 'Args' and 'Returns' sections could be more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, 4 required, no enums, output schema exists), the description covers the parameters and return format adequately. However, it omits prerequisites (e.g., node must exist) and does not clarify if the shape is appended or replaces existing ones.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds significant meaning to each parameter: shape_type includes examples like 'RectangleShape2D', and shape_properties explains the JSON format with a concrete example. This goes well beyond the schema's minimal type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a collision shape to a CollisionObject2D/3D node,' specifying the action and target node type. This distinguishes it from sibling tools like collision_set_layers and collision_set_shape_properties, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 when to use collision_set_shape_properties or other collision-related tools. It lacks any 'when to use' 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.

collision_set_layersB

Configure collision layers and masks for a CollisionObject node.

Category: Collision

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the CollisionObject node collision_layer: Collision layer bitmask (which layers this object is on) collision_mask: Collision mask bitmask (which layers this object can collide with)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
collision_layerNo
collision_maskNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'configure' (mutation) but does not specify whether this overwrites existing layers/masks, if the node must exist, or any side effects. It lacks details on required permissions or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a main sentence, a category label, a list of parameters, and a returns line. It is concise and front-loaded. The only minor issue is the inclusion of 'Category: Collision' which, while useful, adds some redundancy. Overall, it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that modifies two optional parameters on a node, the description covers the basics. However, it omits what happens when parameters are null (likely not updated), whether the node type is validated, and any constraints on the bitmask values. An output schema exists but is not shown, so we assume return structure is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description compensates by providing one-line explanations for each parameter. It clarifies that collision_layer is 'which layers this object is on' and collision_mask is 'which layers this object can collide with'. However, it does not explain the bitmask format (e.g., integer representing binary flags).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures collision layers and masks for a CollisionObject node. The verb 'configure' and the specific resource (collision layers/masks) make the purpose unambiguous. It distinguishes from sibling tools like collision_add_shape which deal with shapes, not layers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 other collision-related tools (e.g., collision_set_shape_properties). It does not mention prerequisites or contexts where this tool is appropriate or inappropriate. Users must 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.

collision_set_shape_propertiesB

Set properties of a collision shape.

Category: Collision

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the CollisionShape node shape_index: Index of the shape (0 for first CollisionShape child) properties: JSON string of properties to set (e.g., '{"size": [20, 30], "position": [5, 0]}')

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
shape_indexYes
propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It indicates mutation ('Set properties') but fails to disclose side effects, state changes, error conditions (e.g., invalid shape_index), or requirements for shape existence. The return type is vaguely described as 'success message or error description'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for category, args, and returns. It front-loads the core function and is free of unnecessary words. The parameter list is clear, though it could be more concise by removing the 'Category' line if redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, all parameters with examples, and return type. However, it lacks information on error scenarios, expected behavior for edge cases (e.g., out-of-bounds index), and interaction with other collision tools. Given no output schema details, the return description is minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds substantial meaning: it explains each parameter's role (project path, scene path, node path, shape index, properties) with an example for 'properties'. This compensates well for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set properties of a collision shape' with a specific verb and resource. It distinguishes from siblings like 'collision_add_shape' and 'collision_set_layers', though not explicitly. The category 'Collision' provides further context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'collision_add_shape'. There is no mention of prerequisites, exclusions, or preferred scenarios. The category and list of siblings imply context but lack explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

editor_launchB

Launch the Godot editor for a specific project.

Category: Editor

Args: project_path: Path to the Godot project directory

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It states it launches the editor but does not disclose whether it blocks, opens a new window, or requires the project path to be valid. It is adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with one sentence for purpose and a brief category/args format. It earns its place without waste, though a bit more structure (e.g., clear sections) could improve readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description should explain what the tool returns. It omits this entirely. It also lacks details on side effects or project state after launch. For a simple tool, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must add meaning. It says 'Path to the Godot project directory', which clarifies the parameter is a directory path, but the schema already indicates 'Project Path' and string type. The addition is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool launches the Godot editor for a specific project, using the verb 'Launch' and resource 'Godot editor'. This distinguishes it from sibling tools that manipulate project internals rather than launching the editor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 project_run, or on prerequisites such as requiring the project to exist. The description lacks any usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

environment_setupB

Set up environment and ambient lighting for a 3D scene.

Category: Light

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node environment_name: Name for the WorldEnvironment node (default: "WorldEnvironment") ambient_light_color: Ambient light color as JSON array [r, g, b] ambient_light_energy: Ambient light energy/intensity background_mode: Background mode (Sky, Color, Custom, default: Sky) sky_color: Sky color as JSON array [r, g, b] (for Color background mode)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
environment_nameNoWorldEnvironment
ambient_light_colorNo
ambient_light_energyNo
background_modeNoSky
sky_colorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose side effects (e.g., overwriting existing environment) but only states it sets up environment. Does not describe mutability or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is structured with category, Args, Returns. It is relatively concise but uses docstring style which is acceptable. No superfluous sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no annotations, and lack of behavioral context, the description does not sufficiently fill gaps. Missing usage context and detailed return information despite output schema existence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description explains each parameter's purpose, defaults, and format (e.g., colors as JSON arrays, background_mode options). Adds significant value beyond schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Set up environment and ambient lighting for a 3D scene', which is a clear verb+resource. It distinguishes from siblings like 'light_add' which add light nodes, though it could explicitly mention WorldEnvironment node creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like 'light_set_properties' or 'scene_create'. No conditions or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

godot_get_versionA

Get the installed Godot version.

Category: Godot

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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 restates the tool's name without detailing side effects, speed, or prerequisites. For a simple getter, minimal disclosure is acceptable, but the description adds no value beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but the 'Category: Godot' line is unnecessary. Every sentence except maybe the category earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, output schema likely describes return value), the description is completely sufficient. An agent can correctly select and invoke this tool based solely on the provided text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty. The description adds no parameter details, but with 100% schema coverage and no params, baseline is 4. The description adequately conveys no input is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Get the installed Godot version', which is a specific verb+resource pair. It clearly distinguishes from all sibling tools, none of which retrieve version information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates usage for obtaining the Godot version, with no competing alternatives among siblings. However, it lacks explicit when-to-use 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.

input_list_actionsA

List all input actions defined in the project's input map.

Category: Input

Args: project_path: Path to the Godot project directory

Returns: JSON containing all input actions with their key bindings

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It correctly implies a read operation but does not explicitly state that it is non-destructive or safe to use. No side effects or permissions mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact with purpose-first structure. Every sentence adds value: purpose, category, parameter description, return type. No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool, the description covers the single parameter and return format. The presence of an output schema (not shown but indicated) further supports completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only provides title and type for 'project_path'. The description adds a clear explanation: 'Path to the Godot project directory', which fully compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'List' and resource 'input actions', clearly stating the scope 'in the project's input map'. It distinguishes from sibling 'input_setup_action' which modifies actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'Category: Input' provides minimal context but does not exclude other input-related tools or state prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

input_setup_actionA

Set up an input action with key bindings in the project's input map.

Category: Input

Args: project_path: Path to the Godot project directory action_name: Name of the input action (e.g., "jump", "move_left") keys: List of key strings to bind (e.g., ["Space", "W", "Ctrl+S"]) Supported keys: A-Z, 0-9, F1-F12, Space, Enter, Tab, Escape, Arrow keys (Up, Down, Left, Right), and modifiers (Ctrl+, Alt+, Shift+, Meta+)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
action_nameYes
keysYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose key behavioral aspects: whether existing bindings are overwritten or appended, whether the action is created if nonexistent, or any side effects on the project. The list of supported keys is helpful but insufficient for 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear header line, optional category, and a structured Args section. Each sentence adds value (purpose, category, parameter details). No redundant information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters and an output schema, the description covers input parameters adequately. However, it lacks critical context such as whether the action is created if missing, if bindings append or replace, and any error conditions. For a setup tool, these are important for complete usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining each parameter: project_path, action_name, and keys. It provides examples and lists supported keys and modifiers, adding significant meaning beyond the schema's type and title fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets up an input action with key bindings in the project's input map. It uses a specific verb ('Set up') and identifies the resource ('input action with key bindings in the project's input map'). This distinguishes it from siblings like input_list_actions which only list actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives. It does not mention prerequisites, such as whether an action must exist first, or whether the tool creates the action if missing. No references to alternatives or when-not-to-use are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

light_addA

Add a light source to a 3D scene.

Category: Light

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node light_name: Name for the new light node light_type: Type of light (DirectionalLight3D, OmniLight3D, SpotLight3D, default: DirectionalLight3D) Note: PointLight3D is deprecated in Godot 4.x, use OmniLight3D instead energy: Light energy/intensity (default: 1.0) color: Light color as JSON array [r, g, b] with values 0-1 (default: [1, 1, 1] white)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
light_nameYes
light_typeNoDirectionalLight3D
energyNo
colorNo[1, 1, 1]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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 action and lists parameters without disclosing side effects, prerequisites (e.g., scene must be open), or how the tool modifies the scene file. Minimal behavioral context beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args and Returns sections, and is reasonably concise. The 'Category: Light' line is slightly redundant but harmless. Every sentence serves a purpose, though minor trimming could improve brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 details, the description covers basic usage but lacks edge-case handling (e.g., parent node must exist, name uniqueness). The return value is vaguely stated as 'Success message or error description' with no specifics on error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates fully. It provides clear explanations for all 7 parameters, including types, defaults, and a deprecation note for light_type. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a light source to a 3D scene' with a specific verb and resource. It distinguishes from sibling tools like light_set_properties and light_set_shadow by indicating creation vs modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for adding new lights but provides no explicit guidance on when to use this tool versus alternatives. No comparison with siblings or conditions are given, only parameter-level notes like the deprecation of PointLight3D.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

light_set_propertiesB

Set properties of a light source.

Category: Light

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) light_path: Path to the light node energy: Light energy/intensity color: Light color as JSON array [r, g, b] range: Light range (for PointLight3D/SpotLight3D) attenuation: Attenuation curve (for PointLight3D/SpotLight3D) spot_angle: Spot angle in degrees (for SpotLight3D) spot_attenuation: Spot attenuation curve (for SpotLight3D)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
light_pathYes
energyNo
colorNo
rangeNo
attenuationNo
spot_angleNo
spot_attenuationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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, error handling (e.g., if light node doesn't exist), or safety guarantees. The simple 'Set properties' implies mutation without elaboration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (Category, Args, Returns) and is reasonably concise. The 'Category' line adds context but could be omitted if redundant. Overall efficient for the parameter count.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 9 parameters with dependencies on light type (e.g., 'range' only for PointLight3D/SpotLight3D), but this is only partially hinted in parameter names. Missing prerequisites (light must already exist) and behavior for invalid inputs. Output schema exists but description doesn't leverage it for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining each parameter's purpose (e.g., 'energy: Light energy/intensity', 'color: Light color as JSON array [r, g, b]'). However, units and constraints (e.g., valid ranges) are missing, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set properties of a light source' with category 'Light', providing a specific verb-action and resource. It distinguishes from siblings like 'light_add' and 'light_set_shadow' by focusing on property modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives (e.g., 'light_set_shadow' for shadow-only changes). No prerequisites or exclusion criteria mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

light_set_shadowB

Configure shadow settings for a light source.

Category: Light

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) light_path: Path to the light node shadow_enabled: Whether shadows are enabled (default: True) shadow_bias: Shadow bias to reduce shadow acne shadow_blur: Shadow blur amount

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
light_pathYes
shadow_enabledNo
shadow_biasNo
shadow_blurNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior, but it lacks details on side effects (e.g., whether it modifies existing light or creates something), what happens if light doesn't exist, persistence, or return value structure beyond 'success message or error description'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is relatively short and front-loaded with the main purpose. Includes a category line and arg list. Could be more concise but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and output schema exists, description covers basic purpose and parameter list but lacks behavioral details and return format explanation. Adequate but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description compensates by listing parameters with brief explanations. However, it omits units, ranges, or value guidance for 'shadow_bias' and 'shadow_blur', and does not clarify the paths format. Adds some meaning but not comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures shadow settings for a light source, using specific verb 'configure' and resource 'shadow settings for a light source'. It distinguishes from sibling tools like 'light_set_properties' which handle general light properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'light_set_properties' or 'light_add'. No prerequisites, when-not-to-use, or scenarios mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_addB

Add a node to an existing scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_type: Type of node to add (e.g., Sprite2D, CollisionShape2D) node_name: Name for the new node parent_node_path: Path to the parent node (e.g., "root" or "root/Player") properties: Optional properties to set on the node

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_typeYes
node_nameYes
parent_node_pathNo
propertiesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided and description does not disclose side effects, error conditions, or prerequisites (e.g., scene must exist). Only states the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose, then category, then parameter list. While the parameter list is detailed, it is still concise and well-structured for the number of parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not explain return values. It also omits prerequisites or context like needing a valid scene. Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description provides meaningful explanations for each parameter, e.g., 'Path to the Godot project directory', 'Optional properties to set on the node', which adds value beyond the schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Add a node to an existing scene.' Distinguishes from sibling tools like node_delete, node_duplicate, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Sibling tools exist but no mention of when to prefer this one 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.

node_add_to_groupA

Add a node to a group.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node (e.g., "root/Player") group_name: Name of the group to add the node to persistent: Whether the group membership persists when saved (default: True)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
group_nameYes
persistentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explains the action and the persistent flag, but does not disclose side effects (e.g., duplicate membership, behavior if group doesn't exist) or error conditions beyond 'error description'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a category header and a clean list of parameters. Every sentence adds value, and the format is easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and a simple operation, the description covers all parameters and mentions return values. However, it lacks details on edge cases and error handling, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description provides clear explanations for each parameter, including an example for node_path. This adds meaning beyond the schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a node to a group', specifying the verb and resource. Among sibling tools, it is distinct from node_add and other group-related operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives, but the tool name and context make it clear it's for adding to groups. No exclusions or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_deleteA

Delete a node from a scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node to delete (e.g., "root/Player")

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 states 'Delete', which is the basic action, but lacks details on permanence, implications on child nodes, or required permissions. This minimal disclosure is insufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and well-structured with Args and Returns sections. Every sentence adds value without redundancy. It is appropriately sized for a simple deletion tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of many sibling node tools, the description covers the core functionality but lacks details about error handling, return value structure (despite having output schema), or behavior on failure. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates by listing each parameter with a brief explanation and an example for node_path. It adds meaning beyond the schema's type and title, though it could be more explicit about path formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Delete a node from a scene' clearly indicating the action and target. It distinguishes from siblings like node_add, node_rename, and node_reparent, all of which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention prerequisites, side effects, or exclusions. For example, it doesn't clarify whether deletion is irreversible or if children are also deleted, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_duplicateB

Duplicate a node in a scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node to duplicate (e.g., "root/Player") new_name: Optional name for the duplicate (default: original name + number)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
new_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It only states the result ('success message or error description') without details on recursive duplication, side effects, or permission requirements. This is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear purpose statement and separate sections for Args and Returns. It is well-structured and front-loaded, though it could be slightly more efficient by reducing redundancy in the Args section.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple duplication tool, but it lacks details on whether children are duplicated, what the output schema contains (though output schema exists), and potential failure modes. It leaves some questions unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds some meaning beyond the schema by explaining the default behavior for new_name (original name + number) and providing an example for node_path. However, other parameters like project_path and scene_path are not elaborated beyond their titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Duplicate a node in a scene' with a specific verb and resource. It is distinct from sibling tools like node_add, node_delete, and node_rename, which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (to copy a node) but does not provide explicit guidance on when not to use it or alternatives. Siblings like node_add exist for creating new nodes, but no comparison is made.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_get_propertiesA

Get all properties of a specific node in a scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node within the scene (e.g., "root" or "root/Player/Sprite2D") include_inherited: Whether to include inherited properties (default: False)

Returns: JSON containing the node's properties with their names, values, and types

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
include_inheritedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not explicitly state that this is a read-only operation. However, the verb 'Get' strongly implies it does not modify state. The description could be improved by stating it is non-destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-line summary, a category, then an organized list of arguments with explanations, and a returns statement. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, 3 required) and the presence of an output schema (not shown), the description adequately covers inputs and output. It provides sufficient context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description thoroughly explains each parameter (project_path, scene_path, node_path, include_inherited) with clear context and defaults. This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get all properties of a specific node in a scene.' It uses a specific verb 'get' and resource 'properties', clearly distinguishing it from sibling mutation tools like node_set_property or node_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, but the purpose is clear enough that an agent can infer it is for reading properties, not writing or deleting. The lack of explicit exclusions is a minor gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_load_sprite_textureA

Load a sprite into a Sprite2D node.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the Sprite2D node (e.g., "root/Player/Sprite2D") texture_path: Path to the texture file (relative to project)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
texture_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states 'Load a sprite' without explaining the underlying operation (e.g., sets the 'texture' property, overwrites existing textures), side effects, or required permissions. This lacks transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence plus a structured list of parameters, each with brief context. No redundant or irrelevant information. The format is clean and front-loads the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (4 string params, no nested objects) and the presence of an output schema, the description adequately covers the basic purpose. However, it lacks details on success/failure, error conditions, or node existence requirements, which could be added for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only titles (0% description coverage), but the description's Args section adds concise explanations for each parameter (e.g., 'Path to the Godot project directory', 'Path to the Sprite2D node'). This significantly improves understanding beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Load a sprite into a Sprite2D node,' specifying the verb (load), resource (sprite texture), and target node type (Sprite2D). This distinguishes it from sibling tools like node_add or node_set_property, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor does it mention prerequisites, exclusions, or context. For example, it does not indicate that the Sprite2D node must already exist or that this tool is specifically for loading textures rather than setting other properties.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_renameA

Rename a node in a scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node to rename (e.g., "root/OldName") new_name: New name for the node

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
new_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 says 'Rename a node', which is obvious, and mentions return of success/error, but omits side effects (e.g., impact on references, signals, undo capabilities). 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: one line for the action, one for category, then a focused list of args. No unnecessary words; every sentence adds value. Front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers basic parameters and returns, it lacks preconditions (e.g., node must exist, scene must be loaded), potential errors, or side effects. For a simple rename tool, this might be acceptable, but given no annotations or output schema details, it feels slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description lists each parameter with clear, explanatory text and an example for node_path. It adds meaning beyond the schema, although some constraints (e.g., new_name format) are not detailed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Rename a node in a scene', clearly identifying the action and resource. It distinguishes from siblings like node_add, node_delete, node_duplicate, node_reparent, and node_set_property, each of which implies different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 any prerequisites or exclusion criteria. For instance, it does not specify whether the scene must be open or if the node must exist. The description solely states the action without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_reparentB

Move a node to a new parent in a scene (reparent).

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node to move (e.g., "root/Player") new_parent_path: Path to the new parent node (e.g., "root/Entities")

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
new_parent_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states 'Move' implying mutation, but doesn't describe side effects (e.g., preservation of children, transformation changes), error conditions, or required permissions. It only mentions success/error returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: a one-line summary, a category label, parameter list with examples, and a return description. Only essential information is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (4 string params) and presence of an output schema, the description adequately covers the inputs and outputs. It lacks only minor details like error handling specifics or undoability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 0%, the description includes a parameter list with example values (e.g., 'root/Player'), which adds practical context beyond the bare schema titles. However, it does not specify constraints like allowed characters or format validation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action ('Move a node to a new parent') and the resource ('in a scene'), with a clear synonym 'reparent'. This distinguishes it from sibling tools like node_add, node_rename, or node_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. For example, it doesn't differentiate from node_duplicate or node_add for similar operations, nor does it mention prerequisites like the existence of the target parent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

node_set_propertyA

Set a property value on a node in a scene.

Category: Node

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node (e.g., "root" or "root/Player") property_name: Name of the property to set (e.g., "position", "scale", "visible") property_value: Value to set (supports int, float, string, bool, dict for Vector2/3, list)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
property_nameYes
property_valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 required permissions, side effects (e.g., whether setting certain properties triggers updates), error conditions beyond 'error description', or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-line purpose, a category label, a clear list of arguments with types/examples, and a returns note. Every sentence provides value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and the purpose, but lacks usage guidelines and behavioral transparency. Given the complexity (5 required params, no annotations), the description is adequate but not fully complete. Output schema is present, so return values are not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining each parameter: project_path ('Path to the Godot project directory'), scene_path ('relative to project'), node_path (with examples), property_name (with examples), and property_value (supported types). This adds meaning beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Set a property value') and the resource ('on a node in a scene'), which is specific and distinguishes it from siblings like node_get_properties or node_add.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., when to use node_set_property vs node_rename or node_reparent). There are no when-not-to-use instructions or context about prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

particle_add_systemA

Add a particle system to a scene.

Category: Particle

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node particle_name: Name for the new particle system particle_type: Type of particle system (CPUParticles2D, CPUParticles3D, GPUParticles2D, GPUParticles3D, default: CPUParticles2D) amount: Number of particles (default: 8) emitting: Whether to start emitting immediately (default: True)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
particle_nameYes
particle_typeNoCPUParticles2D
amountNo
emittingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must carry the burden. It indicates the tool adds a particle system (mutation) but does not disclose side effects like scene file modification, required permissions, or return format details beyond 'success message or error'. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (Args, Returns) and is concise—no redundant sentences. Every line adds value, and the format is easy to scan for agents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, sibling tools, no annotations), the description covers parameters but omits prerequisites (e.g., scene must be open), error conditions, or whether the system is added immediately. The output schema likely fills some gaps, but the description could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0% description coverage, leaving the description to explain parameters. It provides a one-line explanation for each of the 7 parameters, including defaults and types, which adds significant meaning beyond schema titles. Slightly lacks detail on particle_type options but overall effective.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a particle system to a scene' with a specific verb and resource. It includes parameters that define the action, effectively distinguishing from siblings like particle_set_properties or particle_start_emitting by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does not mention prerequisites, when not to use, or other tools that might be more appropriate (e.g., particle_set_properties for modification). The usage is implied but not clearly directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

particle_set_propertiesB

Set properties of a particle system.

Category: Particle

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) particle_path: Path to the particle system node lifetime: Particle lifetime in seconds speed_scale: Speed scale multiplier explosiveness: Explosiveness ratio (0-1) randomness: Emission randomness (0-1) direction: Emission direction as JSON array [x, y] or [x, y, z] spread: Emission spread angle in degrees gravity: Gravity vector as JSON array [x, y] or [x, y, z] initial_velocity_min: Minimum initial velocity initial_velocity_max: Maximum initial velocity

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
particle_pathYes
lifetimeNo
speed_scaleNo
explosivenessNo
randomnessNo
directionNo
spreadNo
gravityNo
initial_velocity_minNo
initial_velocity_maxNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description lacks behavioral details beyond the action. No annotations exist, so the description should disclose side effects (e.g., whether emission restarts, if changes are immediate), but it only says 'Returns: Success message or error description.' This is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Reasonably concise given the number of parameters. Uses a clear Args section with a category header. No superfluous sentences, but some parameter descriptions could be more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input parameters well but lacks detailed output description ('Success message or error description' is vague). No behavioral context. Given the tool complexity and lack of annotations, additional context (e.g., that this modifies an existing system) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so parameter descriptions are critical. Each parameter has a brief, clear description (e.g., 'lifetime: Particle lifetime in seconds'). The direction and gravity parameters mention JSON array format, which adds value beyond the schema's type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set properties of a particle system,' using a specific verb and resource. It distinguishes from sibling tools like 'particle_add_system' (add) and 'particle_start_emitting' (start), which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does not mention prerequisites, order of operations, or scenarios where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

particle_start_emittingB

Start or stop particle emission.

Category: Particle

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) particle_path: Path to the particle system node emitting: Whether to emit particles (default: True)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
particle_pathYes
emittingNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behaviors but only states it starts/stops emission. It does not mention side effects, required scene state, reversibility, or what happens to existing particles. The return value is vague ('Success message or error description').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with a clear structure: a one-line summary, category, parameter list, and return information. Every sentence is necessary and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no annotations, the description covers parameter purposes but lacks details on return format, error conditions, and whether the tool works at runtime or edit time. It is complete enough for basic use but not robust.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond raw parameter names by specifying each parameter's role (e.g., 'Path to the Godot project directory'). However, the schema already provides titles, so this is reinforcement rather than new insight. Schema coverage is 0%, so description compensates minimally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Start or stop particle emission.' It uses a specific verb ('start or stop') and resource ('particle emission'), distinguishing it from siblings like particle_add_system which creates a system.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 particle_set_properties or other control tools. It does not mention 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.

physics_set_body_propertiesA

Set physics properties for a RigidBody2D/3D node.

Category: Physics

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the RigidBody node mass: Mass of the body in kg (default: 1.0) friction: Friction coefficient 0-1 (default: 1.0) bounce: Bounce/restitution coefficient 0-1 (default: 0.0) gravity_scale: Gravity scale multiplier (default: 1.0) linear_damp: Linear damping (default: 0.0) angular_damp: Angular damping (default: 0.0)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
massNo
frictionNo
bounceNo
gravity_scaleNo
linear_dampNo
angular_dampNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description lists parameters with defaults and ranges, and states the return value (success/error). However, it omits important behavioral details such as the tool's side effects (modifying the scene), prerequisites (node must be a RigidBody), or permission requirements. With no annotations, more transparency would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with an 'Args' and 'Returns' section, and the core purpose is stated in the first sentence. Although it includes detailed parameter descriptions, the structure is clean and avoids unnecessary fluff, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 9 parameters with explicit defaults and ranges, and the presence of an output schema (though not detailed), the description provides sufficient context for most use cases. It could be improved by mentioning node type constraints or the fact that properties are applied immediately, but overall it is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, providing only titles and types. The description compensates fully by explaining each parameter's meaning, default values, valid ranges (e.g., friction 0-1), and units (kg for mass). This adds significant value for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Set physics properties') and the resource ('RigidBody2D/3D node'), using a specific verb and resource. This distinguishes it from sibling tools like 'camera_set_properties' or 'particle_set_properties', which target different components.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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. While the category 'Physics' and the resource type give implicit context, there are no exclusions or comparisons to similar tools, leaving the agent to infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_exportA

Export a Godot project using the specified export preset.

Category: Project

Args: project_path: Path to the Godot project directory preset_name: Name of the export preset (as defined in export_presets.cfg) output_path: Path where the exported file will be saved debug: If True, export a debug build (default: False for release) export_pack: If True, export only a PCK file (default: False for full export)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
preset_nameYes
output_pathYes
debugNo
export_packNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description covers key behaviors like debug and export_pack flags, but lacks disclosure of side effects (e.g., file overwriting) or error conditions. It is adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: one sentence for the summary, a category line, and a bulleted list of parameters. No redundant information, and the most important details are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and all parameters well. However, it omits context about preconditions (e.g., export preset must exist) and what happens on failure. Given the presence of an output schema, return values are not needed, but error handling context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaningful context for each parameter (e.g., 'Path to the Godot project directory', 'Name of the export preset (as defined in export_presets.cfg)'). This goes beyond schema titles, though it does not explain relationships between parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Export a Godot project using the specified export preset,' providing a specific verb and resource. It distinguishes itself from sibling tools like project_run or project_list by focusing on export functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives (e.g., project_run, project_list). The description does not mention prerequisites, such as the need for a configured export preset, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_get_debug_outputA

Get the current debug output and errors.

Category: Project

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description implies a read-only behavior via the verb 'Get', but does not explicitly state side effects, authentication needs, or whether the output is cleared after retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The 'Category: Project' adds mild structure but is not strictly necessary. No verbose or redundant text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description provides adequate purpose. However, it lacks workflow context (e.g., when to call relative to project_run) and does not clarify if output is persistent or cleared.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. Per guidelines, baseline is 4. The description adds no additional parameter info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves debug output and errors, with a specific verb ('Get') and resource. It distinguishes itself from siblings like project_get_info by focusing on debug output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., after project runs, for troubleshooting). The description lacks any contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_get_infoB

Retrieve metadata about a Godot project.

Category: Project

Args: project_path: Path to the Godot project directory

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided; the description implies a read-only operation via 'Retrieve' but does not disclose error handling, validation of project_path, or side effects. It adds minimal behavioral context beyond the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with three lines including a category and one argument description. No superfluous information is present, and the key action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, read-only) and the presence of an output schema, the description covers the essential action and parameter. It omits an example or return value details, but output schema compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description includes 'Args: project_path: Path to the Godot project directory', which adds meaning beyond the schema's simple title. However, it could specify path format or location constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Retrieve' and identifies the resource as 'metadata about a Godot project'. It is clear and distinct from sibling tools like project_export or project_list, though it doesn't elaborate on what metadata includes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 project_get_debug_output or godot_get_version. The description lacks context for optimal usage or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_listA

List Godot projects in a directory.

Category: Project

Args: directory: Directory to search for Godot projects recursive: Whether to search recursively (default: false)

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryYes
recursiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states 'List' which implies read-only, but lacks details on potential side effects, required permissions, or error conditions. It does not go beyond the minimum.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the main action. The Args section is clear. It could potentially be more concise by removing the 'Category' line, but it remains efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (list projects in a directory) and has an output schema (not shown here). The description covers the core function and parameters without needing to explain return values. It is complete enough 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage (only titles and types), but the description adds meaningful explanations for both parameters: 'directory' as the search path and 'recursive' with a default value. This effectively compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the action ('List Godot projects') and the resource ('in a directory'), making the purpose clear. It also includes a 'Category: Project' header that helps differentiate it from sibling tools like animation or scene lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives (e.g., project_get_info, project_list_export_presets). It only states the basic function without any when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_list_export_presetsA

List available export presets for a Godot project.

Category: Project

Args: project_path: Path to the Godot project directory

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states purpose. Does not disclose read-only nature, side effects, or required permissions. Should explicitly indicate this is a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded with the main action. The 'Category: Project' line is redundant but not harmful. Efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, return values need not be described. The description covers the essential purpose and parameter. Could mention that it lists available presets, which it does. Adequate for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description explains the single parameter 'project_path' with its meaning as path to Godot project directory, adding value beyond schema's type and title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool lists export presets for a Godot project. Distinguishes itself from sibling tools like 'project_export' which performs exports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 project-related tools. No exclusions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_runA

Run the Godot project and capture output.

Category: Project

Args: project_path: Path to the Godot project directory scene: Optional specific scene to run

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
sceneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full burden. It mentions 'capture output' but does not disclose blocking behavior, duration, or how to stop execution. The presence of sibling project_stop suggests run is non-blocking, but description lacks this detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise with a single sentence plus category and parameter list. The format is clean, though the parameter descriptions could be integrated more naturally.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple parameters and presence of an output schema, the description covers the essential purpose and arguments. However, it lacks details on how output is captured (e.g., streaming, blocking) and how to terminate the process.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description adds value. It explains project_path as 'Path to the Godot project directory' and scene as 'Optional specific scene to run,' providing meaningful context beyond schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Run the Godot project and capture output,' using a specific verb and resource. It clearly distinguishes from siblings like project_stop and project_export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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. The category 'Project' implies context, but no when-not-to-use or prerequisite conditions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_setting_getA

Get a project setting value from project.godot.

Category: Project

Args: project_path: Path to the Godot project directory setting_key: The setting key (e.g., "display/window/size/viewport_width")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
setting_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states basic operation. It does not explicitly declare the operation as read-only, mention error handling (e.g., missing setting), or describe 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence for purpose, a category, and an args list. It is front-loaded and contains no extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter, the description is adequate but could include context such as whether the project must be open or the expected return type (though an output schema exists). It does not cover potential error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description compensates with clear explanations for both parameters: 'Path to the Godot project directory' and an example for the setting key. This goes beyond the schema's minimal type info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Get a project setting value from project.godot', specifying the verb, resource, and source. This distinguishes it from sibling tools like project_setting_set (which sets) and project_get_info (which gets project info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 project_setting_set or project_get_info. The description lacks prerequisites or context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_setting_setB

Set a project setting in project.godot.

Category: Project

Args: project_path: Path to the Godot project directory setting_key: The setting key (e.g., "display/window/size/viewport_width") setting_value: The value to set (int, float, string, or bool)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
setting_keyYes
setting_valueYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description only says 'Set a project setting'. It does not disclose whether the setting is overwritten, if it requires the project to be open, or any other behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: one sentence plus a bullet-like list of arguments. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description omits return value, error conditions, and whether the setting must pre-exist. The tool has 3 required parameters without full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists the three parameters with brief explanations and an example for setting_key, but lacks details like path format or valid value constraints. Schema coverage is 0%, so the description partially compensates but is not comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set a project setting in project.godot', which is a specific verb+resource. It distinguishes from sibling tools like project_setting_get (get) and project_list (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, prerequisites, or side effects. The description does not provide context for usage decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_stopA

Stop the currently running Godot project.

Category: Project

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 only states it stops the project but does not disclose side effects, error conditions, or whether the project must be running first.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and wastes no words. Category is included but adds minimal value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters and output schema present, the description is adequate for a simple action. However, lacking annotations, it should provide more context on safety (destructive not mentioned) and prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (empty). The description adds no param info, but baseline is 4 due to no need for additional parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Stop' and the resource 'currently running Godot project', making the tool's purpose unambiguous. It contrasts with sibling tools like project_run and project_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. No prerequisites, exclusions, or context about when a project is running are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_update_uidsB

Update UID references in a Godot project by resaving resources (for Godot 4.4+).

Category: Project

Args: project_path: Path to the Godot project directory

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the action ('update UID references by resaving resources') but does not disclose behavioral traits such as whether the operation is destructive, what resources are modified, or if it requires specific permissions. The version constraint hints at compatibility but lacks details on side effects or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. The 'Category: Project' line is somewhat redundant but does not significantly bloat. The parameter is listed in a clear argument format. Overall, every sentence contributes, though the category could be omitted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter and an output schema present (not shown), the description does not need to explain return values. It covers the tool's action and parameter meaning adequately. However, it lacks information on what a UID reference is, the impact on the project, and whether the operation is safe or reversible, leaving some gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must add meaning. The description lists 'Args: project_path: Path to the Godot project directory', clarifying that the parameter is a directory path. This adds value beyond the schema's 'title: Project Path'. However, it does not specify format (absolute/relative), existence checks, or trailing slash requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update UID references in a Godot project by resaving resources (for Godot 4.4+).' This provides a specific verb ('update') and resource ('UID references in a Godot project'), distinguishing it from siblings like 'resource_get_uid' which reads a UID. The purpose is unambiguous and directly actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a version constraint 'for Godot 4.4+' which guides when to use. However, it does not provide when-not-to-use guidance or mention alternative tools. The context implies usage when UID references need updating, but no explicit exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resource_create_materialA

Create a StandardMaterial3D resource and optionally assign it to a node.

Category: Resource

Args: project_path: Path to the Godot project directory save_path: Path where the material will be saved (e.g., "materials/red.tres") albedo_color: Base color as hex string (e.g., "#FF0000") or color name (e.g., "red") roughness: Surface roughness (0.0 = smooth/reflective, 1.0 = rough) metallic: Metallic value (0.0 = non-metal, 1.0 = metal) emission_enabled: Enable emission/glow effect emission_color: Emission color as hex string or color name emission_energy: Emission intensity multiplier transparency: Transparency mode ("disabled", "alpha", "alpha_scissor", "alpha_hash") cull_mode: Face culling mode ("back", "front", "disabled") scene_path: Optional scene path to assign the material to a node target_node_path: Optional node path to assign the material (e.g., "root/MeshInstance3D")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
save_pathYes
albedo_colorNo
roughnessNo
metallicNo
emission_enabledNo
emission_colorNo
emission_energyNo
transparencyNo
cull_modeNo
scene_pathNo
target_node_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains parameter behaviors (e.g., roughness range, transparency modes) but does not disclose potential side effects such as whether an existing file at save_path is overwritten, or what happens if assignment fails. No annotations are present, so the description bears full responsibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-line purpose, a category tag, and a clear list of parameters with explanations. No unnecessary 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and the optional assignment feature. It is complete for a 12-parameter tool with an output schema, though it lacks details on error handling or prerequisites (e.g., project must exist).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description provides thorough meaning for all 12 parameters, including types, defaults, allowed values (e.g., transparency modes), and ranges (e.g., roughness 0.0-1.0). This adds significant value beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a StandardMaterial3D resource and optionally assigns it to a node. This specific verb+resource combination distinguishes it from sibling tools like resource_list (list) or resource_get_material_properties (get).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the name and description, but there is no explicit guidance on when to use this tool versus alternatives like resource_list or other creation tools. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resource_export_mesh_libraryA

Export a scene as a MeshLibrary resource.

Category: Resource

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (.tscn) to export output_path: Path where the mesh library (.res) will be saved mesh_item_names: Optional names of specific mesh items to include (defaults to all)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
output_pathYes
mesh_item_namesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It explains that the tool creates a file (output_path) and optionally filters items. However, it doesn't disclose potential side effects like overwriting existing files, error conditions, or permissions needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear front-loaded action, a brief category label (though not essential), and a well-structured parameter list. Every line adds value without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description need not explain return values. It covers the core functionality and all parameters. Missing are potential error conditions and prerequisites (e.g., Godot project existence), but the description is largely sufficient for a straightforward export tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so the description must compensate. It does so by providing clear explanations for all four parameters, including the optional mesh_item_names default behavior. This adds significant value beyond the schema's title-only properties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Export a scene as a MeshLibrary resource' with specific file types (.tscn to .res). This is a distinct action not shared with any sibling tool, making it easy for an agent to identify its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (when a MeshLibrary needs to be created from a scene) but does not provide explicit guidance on alternatives or prerequisites. No mention of when not to use it or how it differs from other resource export tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resource_get_material_propertiesA

Get properties from a material resource file.

Category: Resource

Args: project_path: Path to the Godot project directory material_path: Path to the material file (e.g., "materials/red.tres")

Returns: JSON containing material properties: type, albedo_color, metallic, roughness, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
material_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It indicates a read operation and describes the return format, but does not mention potential errors (e.g., file not found) or any side effects. The basic get operation is clear, but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a brief purpose, category, args, and returns. Every sentence adds value, and no unnecessary information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, the description adequately summarizes return content (JSON with properties like type, albedo_color). The two required parameters are well-explained. However, minor details like relative paths are implicit rather than explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaningful semantics: it explains both parameters with examples (e.g., 'materials/red.tres' for material_path), compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'Get[s] properties from a material resource file', specifying the verb and resource. It lists return values and includes a category 'Resource', which helps distinguish it from sibling tools like 'resource_create_material' and 'resource_get_uid'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 vs alternatives is provided. The description implies usage when needing material properties, but lacks 'when-not' or alternative tool suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resource_get_uidA

Get the UID for a specific file in a Godot project (for Godot 4.4+).

Category: Resource

Args: project_path: Path to the Godot project directory file_path: Path to the file (relative to project) for which to get the UID

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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 'get the UID' without disclosing whether it's read-only, requires an open project, or error behavior. Output schema exists but is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the purpose. It uses a heading for category and lists arguments clearly. It could be slightly more concise, but no unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return details are not required. However, the description lacks context on prerequisites (e.g., project must be open), error handling, or limitations (e.g., only works with Godot 4.4+ projects). Adequate but missing key operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds helpful context: project_path is 'Path to the Godot project directory' and file_path is 'Path to the file (relative to project) for which to get the UID'. The 'relative to project' detail is valuable beyond the schema's plain 'string' type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the UID for a specific file in a Godot project', specifying the resource and action. It distinguishes from sibling tools that deal with different resources (materials, mesh libraries) or actions (list, create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides basic context (Godot 4.4+, Resource category) but does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. The specialization makes it implicit, but no direct guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resource_listA

List resource files in a Godot project.

Category: Resource

Args: project_path: Path to the Godot project directory directory: Optional subdirectory to search in (relative to project root) extensions: List of file extensions to include (default: common asset types) recursive: Whether to search recursively (default: True)

Returns: JSON containing categorized resource files

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
directoryNo
extensionsNo
recursiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 states that it lists resources and returns categorized JSON, but fails to mention potential side effects (e.g., file system reads), performance impacts, error conditions, or whether the project must be open. Lacks detail beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (Category, Args, Returns) and is mostly concise. However, it includes redundant defaults (e.g., 'default: True' for recursive) that are already in the schema, slightly increasing length. Overall, it is clear and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the return value description ('JSON containing categorized resource files') is sufficient. The tool has moderate complexity (4 parameters, simple list operation), and the description covers the core functionality and parameter usage. No major gaps are noted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates by explaining each parameter: project_path, directory, extensions, recursive. It provides context for defaults and examples (e.g., 'default: common asset types'). This adds significant meaning beyond the schema's property names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List resource files in a Godot project.' It includes a category label and distinct arguments. Among sibling resource tools (e.g., resource_create_material), it uniquely provides a list operation, making its purpose specific and distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. While the purpose is clear, the description does not mention prerequisites, suitable scenarios, or when not to use it. The sibling tools list includes many other list operations, but no comparison or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scene_createB

Create a new Godot scene file.

Category: Scene

Args: project_path: Path to the Godot project directory scene_path: Path where the scene file will be saved (relative to project) root_node_type: Type of the root node (e.g., Node2D, Node3D)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
root_node_typeNoNode2D

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description only states creation without disclosing behavior such as overwrite policy, required permissions, or side effects like file system changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two lines for purpose and three lines for parameters. However, the 'Category: Scene' line is unnecessary and could be removed for tighter structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No information about the output (return value) despite having an output schema. Missing details about file overwrite, directory creation, or error conditions. The description is incomplete for a file creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage (no parameter descriptions), but the description fully compensates by explaining each parameter: project_path (project dir), scene_path (relative save path), root_node_type (with examples Node2D, Node3D). This adds significant value beyond the schema's plain type information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new Godot scene file', specifying the verb 'create' and resource 'scene file', which is distinct from sibling tools like scene_instantiate, scene_list, scene_save, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., scene_instantiate or scene_create compared). No when-not or prerequisite conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scene_get_treeA

Get the node tree structure of a scene.

Category: Scene

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) max_depth: Maximum depth to traverse (-1 for unlimited, default: -1)

Returns: JSON containing the scene's node tree with node names, types, and children

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
max_depthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description discloses return type (JSON with node tree), and explains max_depth behavior (-1 for unlimited). It does not mention side effects, but as a read operation, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, structured with a category, Args, and Returns sections. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (3 params, no nested objects), and the description covers purpose, parameters, and return structure. An output schema exists, so return details need not be exhaustive. The description is complete for an agent to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully explains all parameters: project_path, scene_path, and max_depth (including default and special value -1). This adds substantial meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Get the node tree structure of a scene', which is a specific verb-resource pair. It distinguishes itself from sibling tools like scene_create or scene_save by clearly focusing on reading the tree structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context (reading scene tree structure) but does not explicitly state when to avoid using it or mention alternative tools. However, the purpose is straightforward and distinct from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scene_instantiateA

Instance a scene as a child node in another scene.

Category: Scene

Args: project_path: Path to the Godot project directory target_scene_path: Path to the scene where the instance will be added source_scene_path: Path to the scene to instance (e.g., "scenes/player.tscn") parent_node_path: Path to the parent node (default: "root") instance_name: Optional custom name for the instance

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
target_scene_pathYes
source_scene_pathYes
parent_node_pathNoroot
instance_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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 states that it instances a scene as a child and returns success/error, but lacks details on side effects (e.g., does it modify the scene file on disk?), required environment (Godot editor running?), error handling, or constraints (e.g., cannot instance itself). This is insufficient for safe agent invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a single-line purpose statement followed by a structured list of arguments and returns. No redundant information. It front-loads the core function and uses minimal words, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (scene instantiation in Godot) and that annotations are absent, the description covers the basics but is missing critical context: error scenarios, whether the operation is transient or persistent, and output schema details (though an output schema exists, it is not shown). The return description is vague. Adequate but with gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaningful explanations for all five parameters, including examples (e.g., 'scenes/player.tscn') and default values. This compensates for the schema's lack of descriptions. However, it does not specify path format constraints (absolute vs. relative) or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Instance a scene as a child node in another scene', providing a specific verb and resource. It also lists the category 'Scene', and the parameter names and descriptions make the tool's function unambiguous. This distinguishes it from siblings like 'scene_create' or 'node_add'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites (e.g., target scene must be open), when not to use it, or comparison to other tools like 'node_add' or 'runtime_add_scene_instance'. The description is purely operational.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scene_listA

List all scene files (.tscn) in a Godot project.

Category: Scene

Args: project_path: Path to the Godot project directory directory: Optional subdirectory to search in (relative to project root) recursive: Whether to search recursively (default: True)

Returns: JSON array containing scene file paths relative to project root

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
directoryNo
recursiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description partially covers behavior by stating the return format ('JSON array containing scene file paths relative to project root'). However, it does not disclose edge cases (e.g., invalid project_path) or whether it is read-only, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-sentence summary, category, and structured args/returns. Every sentence adds value with no redundancy or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description adequately covers purpose, parameters, and return format. For a simple list tool, it provides sufficient context, though error handling and permissions are not addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds meaning via an 'Args' section with brief but clear descriptions for all three parameters, including defaults. It goes beyond schema titles but could specify constraints (e.g., directory must be relative).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all scene files (.tscn) in a Godot project' with a specific verb ('List') and resource ('scene files'). Among sibling tools, it distinguishes itself from scene_create, scene_get_tree, etc., as the only listing tool for scenes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing scenes but does not explicitly state when to use this tool versus alternatives (e.g., scene_get_tree) or provide exclusion criteria. The context is clear but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scene_saveC

Save changes to a scene file.

Category: Scene

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) new_path: Optional new path to save the scene to (for creating variants)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
new_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must fully disclose behavior. It states 'Save changes' but does not clarify whether the tool overwrites existing files, requires a previously saved or loaded scene, or what happens if the project_path is invalid. The optional new_path hint adds minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is fairly concise but includes an 'Args' section that duplicates parameter info present in the input schema. Could be streamlined to avoid redundancy. Front-loads the main action clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, and an output schema (though undocumened), the description should cover return values, error conditions, or side effects. It omits whether the tool returns success/failure, what happens if scene_path doesn't exist, or any authorization requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains parameter meanings: project_path (directory), scene_path (relative), new_path (optional for variant creation). This adds value beyond the schema's type-only definitions, but no details on expected formats or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Save changes to a scene file' and lists parameters with brief explanations. It distinguishes from siblings like scene_create (new scene) and scene_instantiate, but does not explicitly differentiate from scene_get_tree or other scene-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 scene_create (for new scenes) or scene_instantiate (for instantiating inherited scenes). The description lacks context about prerequisites (e.g., scene must be open) or when to use new_path for variants.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

script_attachB

Attach a GDScript file to a node in a scene.

Category: Script

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node (e.g., "root" or "root/Player") script_path: Path to the script file (relative to project)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
script_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the action. It does not disclose side effects (e.g., scene file modification), prerequisites (e.g., node must exist), or error conditions. The behavior is defined minimally.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the purpose. The Args list is helpful but somewhat redundant with the input schema. No wasted sentences, but could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the parameters adequately but lacks context about prerequisites (e.g., script must exist), return value (output schema exists but not detailed), and relationship to sibling tools like script_detach. It is functional but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaningful explanations for each parameter (e.g., 'Path to the scene file (relative to project)' and an example for node_path). This adds value beyond the schema titles, though path formats and constraints could be more precise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Attach a GDScript file to a node in a scene,' which is a specific verb-resource pair. It distinguishes from sibling tools like script_create, script_detach, and script_list by focusing on the attachment action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., script_detach for removal). There is no mention of prerequisites or context where 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.

script_createB

Create a new GDScript file.

Category: Script

Args: project_path: Path to the Godot project directory script_path: Path for the new script (relative to project, e.g., "scripts/player.gd") extends_type: Base class the script extends (default: "Node") content: Optional full script content. If not provided, creates a template.

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
script_pathYes
extends_typeNoNode
contentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It mentions returning a success/error message but omits critical details like whether existing files are overwritten, required permissions, or potential side effects on the project structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured as a bulleted list covering arguments and returns, with minimal extraneous text. It is front-loaded with the main action and remains under 10 lines, although it could benefit from section headers for improved readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, output schema exists), the description covers core functionality but leaves gaps such as handling of existing files, error scenarios, and template structure. The return value is briefly mentioned but could be more precise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 0%, the description compensates by adding brief explanations for each parameter, including an example for script_path and a default for extends_type. However, it does not provide format constraints or validation hints beyond the schema's basic types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 'GDScript file', making the tool's purpose unambiguous. It is well-distinguished from sibling tools like script_attach or script_list, which handle different operations on scripts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 script_attach or script_list. The description lacks explicit conditions, prerequisites, or exclusions, leaving the agent to 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.

script_detachB

Detach a script from a node in a scene.

Category: Script

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node (e.g., "root" or "root/Player")

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of transparency. It explains the basic operation and return type but omits details such as prerequisites (e.g., node must exist, script must be attached) and potential side effects. It is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus a list of arguments and return value. It is front-loaded with the action verb and avoids unnecessary words, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description only vaguely mentions 'Success message or error description'. For a simple tool with three parameters, it covers the core action but lacks complete context about conditions, error states, and output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists parameter names but provides no additional semantics (e.g., format, examples, constraints) beyond what the schema offers. This adds minimal value for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Detach a script from a node in a scene', specifying the verb and resource. It effectively distinguishes from sibling tools like script_attach, which performs the opposite operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. The description only includes a generic category 'Script' and a list of arguments, leaving the agent to infer usage context without clear when-to or when-not-to instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

script_listA

List all GDScript files (.gd) in a Godot project.

Category: Script

Args: project_path: Path to the Godot project directory directory: Optional subdirectory to search in (relative to project root) recursive: Whether to search recursively (default: True)

Returns: JSON array containing script file paths relative to project root

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
directoryNo
recursiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states it returns a JSON array of paths and mentions recursive default, but does not disclose side effects, permissions, or limitations (e.g., non-destructive). Basic behavior is covered 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with purpose, and well-structured with Args and Returns sections. Every sentence serves a clear function with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters and an output schema, the description covers the tool's purpose, parameters, and return format adequately. Missing details about error handling or edge cases (e.g., invalid paths) but overall complete for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must add meaning. It explains project_path as project directory, directory as optional subdirectory relative to root, and recursive default= True. This adds value beyond the schema's minimal titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all GDScript files (.gd) in a Godot project,' which is a specific verb+resource. It distinguishes itself from siblings like script_create and script_attach by focusing on listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing script files but does not provide explicit guidance on when to use this tool versus alternatives like resource_list. No when-not-to-use or exclusion criteria are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signal_connectB

Connect a signal from one node to a method on another node.

Category: Signal

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) source_node_path: Path to the source node that emits the signal (e.g., "root/Button") signal_name: Name of the signal to connect (e.g., "pressed") target_node_path: Path to the target node that receives the signal (e.g., "root/Handler") method_name: Name of the method to call on the target node (e.g., "_on_button_pressed")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
source_node_pathYes
signal_nameYes
target_node_pathYes
method_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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 explains what the tool does and the parameters, but does not mention side effects (e.g., overwriting existing connections), prerequisites, error conditions, or return values. This is insufficient for an agent to fully understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose, then provides a 'Category: Signal' line, followed by a structured list of arguments. Every sentence is relevant and adds value. It is concise without being overly terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 required parameters and an output schema (not shown in input). The description covers parameter semantics but does not mention the return value or success/failure indicators. Since an output schema exists, the agent can infer return structure, but the description lacks completeness regarding behavioral outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description compensates by providing brief explanations for all 6 parameters (e.g., 'Path to the Godot project directory'). While helpful, the descriptions are basic and could be more detailed (e.g., format constraints, validity checks). This meets the baseline requirement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Connect a signal from one node to a method on another node.' It specifies the verb ('connect'), resource ('signal', 'method'), and structure. This distinguishes it from sibling tools like signal_disconnect, signal_list_connections, and signal_list_node_signals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use this tool (to connect a signal to a method), but it does not provide explicit guidance on when not to use it or mention alternatives. No comparison with sibling tools or context of use is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signal_disconnectC

Disconnect a signal connection in a scene.

Category: Signal

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) source_node_path: Path to the node that emits the signal signal_name: Name of the signal to disconnect target_node_path: Path to the node that receives the signal method_name: Name of the method to disconnect

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
source_node_pathYes
signal_nameYes
target_node_pathYes
method_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It only states it disconnects a signal (destructive) but lacks details on side effects, error handling, or required permissions. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but includes a redundant 'Category: Signal' line and repeats parameter info already in the schema. Could be more concise, but is not overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 required parameters and no annotations, the description should provide more context about when to use, prerequisites, and error scenarios. It is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description only repeats parameter names without additional meaning, format, or examples. It does not compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Disconnect a signal connection in a scene.' with a specific verb and resource, and the tool name 'signal_disconnect' directly contrasts with siblings like 'signal_connect' and 'signal_list_connections'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use, when not to use, or alternatives. The description only states what the tool does, with no context about prerequisites or comparison to other signal tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signal_list_connectionsA

List all signal connections in a scene or for a specific node.

Category: Signal

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Optional path to a specific node (if None, lists all connections in scene)

Returns: JSON containing signal connections with source, signal name, target, and method

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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 read-only nature, side effects, or permissions. The word 'list' implies read-only, but this is 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively short and organized with 'Category:' and 'Args:' sections. The 'Returns:' line is slightly redundant given the output schema, but overall it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 3 parameters and no annotations, the description covers the two main usage modes but lacks details on return value structure (beyond 'JSON containing...') or behavior, despite an existing output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description explains each parameter's purpose (project_path, scene_path, node_path with optional context) beyond the schema property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List all signal connections in a scene or for a specific node' with a specific verb and resource, clearly distinguishing it from siblings like signal_connect and signal_list_node_signals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions two use cases (all connections vs. for a specific node) but does not provide explicit guidance on when to use this tool over alternatives or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

signal_list_node_signalsA

List all signals available on a node.

Category: Signal

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the node (e.g., "root" or "root/Button")

Returns: JSON containing the node's available signals with their parameters

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description states the tool lists signals and returns JSON, implying a read-only operation. However, without annotations, it does not explicitly confirm no side effects or disclose any behavioral traits like permissions or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise and well-structured with clear sections (purpose, args, returns). Every sentence is necessary and front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (a list operation) and the presence of an output schema, the description provides sufficient context. It explains the return format and parameter usage, making it complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaningful explanations for each parameter (e.g., 'Path to the Godot project directory'). This compensates well for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all signals available on a node' with a specific verb and resource. It is distinct from sibling tools like signal_connect or signal_disconnect, but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description provides parameter names but no context about prerequisites, conditions, or exclusion of other signal tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tilemap_get_cellA

Get cell data from a TileMap or TileMapLayer node.

Category: TileMap

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the TileMap or TileMapLayer node (e.g., "root/TileMap") x: X coordinate of the cell y: Y coordinate of the cell layer: Layer index for TileMap nodes (ignored for TileMapLayer, default: 0)

Returns: JSON containing cell data: source_id, atlas_coords, alternative_tile, is_empty

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
xYes
yYes
layerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that `layer` is ignored for TileMapLayer nodes, a key behavioral detail. The verb 'Get' implies read-only, but safety is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear Args and Returns sections. Every sentence adds value; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers all necessary information: purpose, parameters, return format. Having an output schema (as per context) further reduces need for explanation. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 6 parameters are fully described in the description, including types, defaults, and edge cases (layer ignored for TileMapLayer). Schema coverage is 0%, so description compensates completely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get cell data from a TileMap or TileMapLayer node' with specific parameter details. Distinguishes from sibling `tilemap_set_cell` as the read counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicit usage is clear (reading cell data), but no explicit when-not-to-use or alternative guidance. Sibling `tilemap_set_cell` exists but is not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tilemap_set_cellB

Set a cell in a TileMap or TileMapLayer node.

Category: TileMap

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the TileMap or TileMapLayer node (e.g., "root/TileMap") x: X coordinate of the cell y: Y coordinate of the cell source_id: ID of the tile source/tileset (default: 0) atlas_x: X coordinate in the tile atlas (default: 0) atlas_y: Y coordinate in the tile atlas (default: 0) layer: Layer index for TileMap nodes (ignored for TileMapLayer, default: 0) alternative_tile: Alternative tile ID (default: 0)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
xYes
yYes
source_idNo
atlas_xNo
atlas_yNo
layerNo
alternative_tileNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, yet the description only says 'Set a cell' without disclosing behavioral traits such as overwriting behavior, permissions required, or side effects on existing cells.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main action and structured with 'Args:' heading, listing parameters clearly. Though long, it compensates for missing schema descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 10 parameters and no annotations, the description covers all parameters but lacks behavioral context and usage guidance. Output schema exists but is not described, so completeness is moderate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates by listing each parameter with a brief explanation (e.g., 'x: X coordinate of the cell'), adding meaning beyond the schema's titles and types, but explanations are minimal and mostly restate the name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Set a cell in a TileMap or TileMapLayer node', distinguishing it from sibling tilemap_get_cell. Verb+resource is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 exclusions provided. Only states what the tool does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

timer_addA

Add a Timer node to a scene.

Category: Timer

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node timer_name: Name for the new timer node wait_time: Time in seconds to wait before timeout signal (default: 1.0) one_shot: If true, timer stops after timeout (default: False) autostart: If true, timer starts automatically (default: False)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
timer_nameYes
wait_timeNo
one_shotNo
autostartNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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 it adds a timer node and returns a success/error message. Missing details: potential side effects (e.g., overwriting existing nodes), required scene state, permissions, or whether it modifies the scene file directly. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose line, category, args list, and returns. It is concise for its content, though slightly verbose. The front-loaded purpose ensures quick understanding. It earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the parameter descriptions are complete, the tool lacks context on preconditions (e.g., does the scene need to be open?), side effects (e.g., auto-save), and return details. With an output schema, the return description is minimal. For a simple addition tool, this is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description lists each parameter with a brief explanation (e.g., 'wait_time: Time in seconds to wait before timeout signal'). This adds significant meaning beyond the schema's titles and defaults, fully compensating for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Add a Timer node to a scene.' This is a specific verb+resource combination, and it distinguishes itself from siblings like 'node_add' (generic) and 'timer_configure' (modify existing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to add a timer node) but does not explicitly mention alternatives or when not to use it. For example, it doesn't suggest using 'timer_configure' for modifying existing timers. The guidance is adequate 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.

timer_configureA

Configure properties of an existing Timer node.

Category: Timer

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) timer_path: Path to the timer node wait_time: Time in seconds to wait before timeout signal one_shot: If true, timer stops after timeout autostart: If true, timer starts automatically

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
timer_pathYes
wait_timeNo
one_shotNo
autostartNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description bears full responsibility. It explains parameter effects but lacks disclosure of side effects (e.g., whether changes persist to file), error behavior, or safe vs destructive operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear purpose statement, category line, structured Args block, and Returns line. It is well-organized and front-loaded, though the category line adds minimal value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers parameter semantics but lacks details on return value format, error conditions, and prerequisites (e.g., node must exist). It is adequate for basic use but incomplete for complex scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides clear, meaningful explanations for all 6 parameters, including wait_time, one_shot, and autostart. Each parameter's purpose is well-defined beyond the schema titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures an existing Timer node, with a specific verb ('Configure properties') and resource ('existing Timer node'). It distinguishes from sibling tools like timer_add by specifying 'existing'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., timer_add for new timers). The description implies it's for existing timers but does not provide context or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ui_add_containerA

Add a UI container node to organize controls.

Category: UI

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node container_type: Type of container (VBoxContainer, HBoxContainer, GridContainer, MarginContainer, etc.) container_name: Name for the new container node

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
container_typeYes
container_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It does not explain side effects (e.g., modifies scene file, may overwrite existing nodes), error conditions, or required permissions. The return type is mentioned but not detailed. Basic operation is stated but depth is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a one-line summary, category tag, then organized Args section. Every sentence adds value with no fluff. The structure (summary, args, returns) is clear and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 required parameters, no annotations, and the description includes a return clause, it covers basic usage. However, it omits context like scene loading requirements, effect on existing nodes, and error handling. It is minimally viable but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description adds clear semantic meaning for all 5 parameters (e.g., 'project_path: Path to the Godot project directory'). It lists the container type options (VBoxContainer, HBoxContainer, etc.) which adds value beyond the raw schema. However, no examples or constraints are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a UI container node to organize controls', which is a specific verb+resource pair. The mention of container types (e.g., VBoxContainer, HBoxContainer) and the contrast with sibling tools like 'ui_add_control' (which adds a control) distinguishes this tool's purpose effectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'ui_add_control' or 'ui_set_layout'. It does not mention prerequisites (e.g., scene must exist) or context where a container is preferred over other node types.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ui_add_controlA

Add a UI control node to a scene.

Category: UI

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node control_type: Type of control (Button, Label, Panel, LineEdit, TextureRect, etc.) control_name: Name for the new control node text: Text content for controls that support it (Button, Label, etc.)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
control_typeYes
control_nameYes
textNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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 only states that the tool adds a node and returns a success/error message. It fails to disclose side effects (e.g., file modification), prerequisites (e.g., scene must be open), or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured as a typical docstring with a one-line summary, category, args, and returns. It is reasonably concise, though the 'Category: UI' line is redundant. The action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all parameters and return value but lacks context on prerequisites (e.g., scene must be loaded), error scenarios, or a comprehensive list of valid control types. It is adequate but not thorough for a 6-parameter tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides explanations for all 6 parameters, adding meaning beyond the schema. For example, 'control_type: Type of control (Button, Label, Panel, LineEdit, TextureRect, etc.)' and 'text: Text content for controls that support it'. This compensates for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a UI control node to a scene', specifying the verb (Add), resource (UI control node), and context (scene). It also lists example control types, distinguishing it from siblings like ui_add_container.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 vs alternatives. The description implies usage by listing control types but does not contrast with sibling tools (e.g., ui_add_container for containers).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ui_set_layoutA

Set layout properties for a UI control.

Category: UI

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) node_path: Path to the control node anchor_preset: Preset name (FullRect, CenterTop, Center, etc.) position: Position as JSON array [x, y] size: Size as JSON array [width, height] anchors: Custom anchors as JSON object {"left": 0, "top": 0, "right": 1, "bottom": 1}

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
node_pathYes
anchor_presetNo
positionNo
sizeNo
anchorsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only states 'Set layout properties' and returns success/error. No details on side effects (saves? modifies scene?), reversibility, or required state (project open?). Vague behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Descriptions is concise with structured sections (brief sentence, category, args, returns). Every sentence adds value, no redundancy. Front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All parameters and return value are explained. However, missing usage context (preconditions, interaction between anchor_preset and anchors) and behavioral details. Output schema exists, so return value clarity is less critical. Mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description compensates fully by explaining each parameter's purpose, format (e.g., JSON array for position, JSON object for anchors), and examples (e.g., anchor_preset values). Adds significant meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets layout properties for a UI control, distinguishing it from UI addition tools (ui_add_container, ui_add_control). The verb 'Set' and resource 'layout properties' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 mentioned (e.g., control must exist, scene must be open). The description lacks context for proper selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

viewport_addC

Add a SubViewport node to a scene for rendering to texture.

Category: Viewport

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) parent_node_path: Path to the parent node viewport_name: Name for the new viewport node width: Viewport width in pixels (default: 1024) height: Viewport height in pixels (default: 600)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
parent_node_pathYes
viewport_nameYes
widthNo
heightNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and description lacks behavioral details such as side effects, prerequisites, or behavior on existing nodes; only states it adds a node and returns a success/error message.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Moderately concise with separate Args/Returns sections, but the 'Category' line is redundant and adds little value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks context about preconditions (e.g., scene must exist, parent node path validity) and does not detail output beyond success/error, despite a complex tool with 6 parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description merely lists parameter names with defaults without explaining what each parameter does (e.g., what 'viewport_name' represents) or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specifies 'Add a SubViewPort node' with a clear purpose ('for rendering to texture'), distinguishing it from sibling viewport tools like viewport_configure and viewport_set_size.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'when not to use' or mention of prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

viewport_configureB

Configure rendering options for a SubViewport.

Category: Viewport

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) viewport_path: Path to the viewport node transparent_bg: Whether to use a transparent background handle_input_locally: Whether to handle input locally render_target_update_mode: Update mode (Disabled, Once, WhenVisible, WhenParentVisible, Always) msaa: MSAA mode (Disabled, 2x, 4x, 8x)

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
viewport_pathYes
transparent_bgNo
handle_input_locallyNo
render_target_update_modeNo
msaaNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations present, so the description must disclose behavior. It only lists parameters and returns a vague 'Success message or error description', omitting side effects, state changes, or required conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a title, category, args, and returns. It is concise with no unnecessary details, though it could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers basic parameter explanations but lacks depth on behavioral context and interaction with other viewport tools. Given the output schema is minimal, more details on return values would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaning for each parameter, e.g., providing possible values for render_target_update_mode and msaa. This compensates well for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'Configure rendering options for a SubViewport' with a specific verb and resource. It distinguishes from siblings like viewport_add and viewport_set_size, though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., viewport_set_size) or prerequisites. Only describes the tool itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

viewport_set_sizeC

Set the size of a SubViewport.

Category: Viewport

Args: project_path: Path to the Godot project directory scene_path: Path to the scene file (relative to project) viewport_path: Path to the viewport node width: New width in pixels height: New height in pixels

Returns: Success message or error description

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathYes
scene_pathYes
viewport_pathYes
widthYes
heightYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must cover behavioral traits. It only mentions returns success/error but does not disclose side effects, permissions, or what happens if the viewport doesn't exist. The description is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with an 'Args' and 'Returns' section. It is efficient and easy to read, with no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool is a simple setter and an output schema exists, the description is mostly adequate but lacks details on constraints (e.g., positive width/height) and whether changes are immediate. It does not explain the workflow context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must add meaning. The parameter descriptions are minimal (e.g., 'Path to the Godot project directory') and add little beyond the parameter names. They do not specify formats, constraints, or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set the size of a SubViewport' with a specific verb and resource. However, it does not differentiate from sibling tools like viewport_add or viewport_configure, which also modify viewport properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description lacks context about prerequisites (e.g., scene must be loaded) or when to use other viewport-related tools.

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. Dates show when Glama detected each change.

  1. 84 tool updatesv0.1.1
    • First observedanimation_add_track
    • First observedanimation_create
    • First observedanimation_get_info
    • First observedanimation_list
    • First observedanimation_set_keyframe
    • First observedaudio_add_stream_player
    • First observedaudio_configure_bus
    • First observedaudio_set_stream
    • First observedautoload_add
    • First observedautoload_list
    • First observedautoload_remove
    • First observedcamera_add
    • First observedcamera_get_info
    • First observedcamera_set_current
    • First observedcamera_set_properties
    • First observedcanvas_layer_add
    • First observedcanvas_layer_configure
    • First observedcanvas_layer_set_order
    • First observedcollision_add_shape
    • First observedcollision_set_layers
    • First observedcollision_set_shape_properties
    • First observededitor_launch
    • First observedenvironment_setup
    • First observedgodot_get_version
    • First observedinput_list_actions
    • First observedinput_setup_action
    • First observedlight_add
    • First observedlight_set_properties
    • First observedlight_set_shadow
    • First observednavigation_add_agent
    • First observednavigation_add_obstacle
    • First observednavigation_add_region
    • First observednavigation_set_navmesh
    • First observednode_add
    • First observednode_add_to_group
    • First observednode_delete
    • First observednode_duplicate
    • First observednode_get_properties
    • First observednode_load_sprite_texture
    • First observednode_rename
    • First observednode_reparent
    • First observednode_set_property
    • First observedparticle_add_system
    • First observedparticle_set_properties
    • First observedparticle_start_emitting
    • First observedphysics_set_body_properties
    • First observedproject_export
    • First observedproject_get_debug_output
    • First observedproject_get_info
    • First observedproject_list
    • First observedproject_list_export_presets
    • First observedproject_run
    • First observedproject_setting_get
    • First observedproject_setting_set
    • First observedproject_stop
    • First observedproject_update_uids
    • First observedresource_create_material
    • First observedresource_export_mesh_library
    • First observedresource_get_material_properties
    • First observedresource_get_uid
    • First observedresource_list
    • First observedscene_create
    • First observedscene_get_tree
    • First observedscene_instantiate
    • First observedscene_list
    • First observedscene_save
    • First observedscript_attach
    • First observedscript_create
    • First observedscript_detach
    • First observedscript_list
    • First observedsignal_connect
    • First observedsignal_disconnect
    • First observedsignal_list_connections
    • First observedsignal_list_node_signals
    • First observedtilemap_get_cell
    • First observedtilemap_set_cell
    • First observedtimer_add
    • First observedtimer_configure
    • First observedui_add_container
    • First observedui_add_control
    • First observedui_set_layout
    • First observedviewport_add
    • First observedviewport_configure
    • First observedviewport_set_size

TDQS

B3.4/5.0
Disambiguation5/5

Tools are grouped by categories (Animation, Audio, Node, etc.) with clear, distinct actions. Within each category, each tool has a unique purpose (e.g., animation_create vs animation_add_track), minimizing confusion.

Naming Consistency4/5

The naming pattern is predominantly 'category_action' in snake_case, which is consistent. Minor deviations like 'configure' vs 'set' (timer_configure vs node_set_property) and some longer names slightly break uniformity.

Tool Count3/5

At 84 tools, the server is very comprehensive. While each tool feels justified by Godot's breadth, the count is high and could be overwhelming or excessive for simpler use cases.

Completeness4/5

The tool set covers a wide range of Godot subsystems (animation, audio, physics, UI, etc.). Missing some actions like removing animation tracks or audio players, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to interact with the Godot game engine by launching the editor, running projects, capturing debug output, managing scenes and nodes, and controlling project execution through a standardized interface.
    18
    248
    11
    MIT
  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with the Godot game engine by launching the editor, running projects, capturing debug output, managing scenes and nodes, and controlling project execution through a standardized interface.
    14
    248
    1
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to interact with and manipulate Godot game engine projects, including creating projects, launching editor, managing scenes and nodes.
    12
    1,716
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChanceFlow/godot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server