Skip to main content
Glama

Godette

MCP server for Godot game development. Provides 45 tools for reading, analyzing, and editing Godot projects through the Model Context Protocol.

Features

  • Scene tools — traverse scene trees, find nodes by type/group/script, trace signal chains, query dependencies

  • Scene editing — add/remove nodes, connect/disconnect signals, manage groups, modify properties

  • Symbol tools — find and navigate GDScript symbols with LSP when available, regex parser as fallback

  • Symbol editing — replace function bodies, insert before/after symbols with hash-verified safety

  • Resource tools — find resources by type, inspect properties, trace cross-project references

  • File tools — Godot-enriched file reads (parsed symbols for .gd, scene structure for .tscn)

  • Runtime tools — run/stop scenes, capture game state, take screenshots, read console output (requires editor plugin)

  • Memory tools — persistent key-value memory for project context across sessions

Related MCP server: Godot MCP Pro

Prerequisites

  • Node.js >= 20

  • A Godot 4.x project

  • (Optional) Godot editor running for LSP support

  • (Optional) GDScript editor plugin for runtime tools

Installation

npm install godette

Or run directly:

npx godette

Usage

As an MCP server

Add to your MCP client configuration (e.g. Claude Desktop):

{
  "mcpServers": {
    "godette": {
      "command": "npx",
      "args": ["godette"],
      "env": {
        "GODOT_PROJECT": "/path/to/your/godot/project"
      }
    }
  }
}

The server auto-detects the Godot project root from the working directory or GODOT_PROJECT env var.

As a library

import { parseTscn, parseGdScript, UnifiedIndex, EventBus } from "godette";

// Parse a scene file
const scene = parseTscn(tscnSource, "/path/to/scene.tscn");
console.log(scene.rootType, scene.nodes.size);

// Parse a GDScript file
const script = parseGdScript(gdSource, "/path/to/script.gd");
console.log(script.className, script.functions.length);

Architecture

MCP Client (stdio)
    |
GodetteMcpServer
    |-- EventBus (typed async events)
    |-- ProjectDetector (finds project.godot)
    |-- FileWatcher (recursive fs.watch)
    |-- UnifiedIndex
    |     |-- SceneIndex
    |     |-- ScriptIndex
    |     |-- ResourceIndex
    |     |-- SignalGraph
    |     |-- GroupIndex / NodeTypeIndex
    |     '-- AutoloadIndex
    |-- ToolRegistry (45 tools, 8 categories)
    |-- Middleware (logging, timing, error handling)
    |-- LspClient (JSON-RPC, port 6005)
    '-- PluginClient (NDJSON, port 6006)

Key design decisions:

  • Parsers are pure functions with no side effects

  • Types are pure interfaces, barrel-exported from src/index.ts

  • UnifiedIndex uses lazy recomputation via DirtyTracker

  • TSCN parser is two-pass: tokenizer -> block parsers -> assembler

  • Serializer preserves raw formatting for unmodified blocks

Available Tools (45)

File (7)

read_file list_dir find_file replace_content create_file delete_lines insert_at_line

Scene (8)

get_scene_tree find_node find_signal_connections find_group_members get_scene_dependencies trace_signal_chain find_scene_instances get_node_properties

Scene Edit (8)

add_node remove_node modify_node_property connect_signal disconnect_signal add_to_group remove_from_group create_scene

Symbol (4)

find_symbol find_references get_symbols_overview rename_symbol

Symbol Edit (3)

replace_symbol_body insert_after_symbol insert_before_symbol

Resource (4)

find_resource get_resource_properties get_resource_references find_resources_of_type

Project (5)

get_project_settings get_input_map get_layer_names get_autoloads list_project_structure

Runtime (8)

run_project stop_project capture_state get_runtime_state get_signal_log screenshot get_console_output get_live_scene_tree

Memory (5)

read_memory write_memory search_memories list_memories delete_memory

Development

npm install          # Install dependencies
npm run build        # Compile TypeScript
npm test             # Run tests (vitest)
npm run test:watch   # Tests in watch mode
npm run lint         # ESLint
npm run format       # Prettier
npm run check        # Full CI check (typecheck + lint + test)

License

MIT

Available Tools

52 tools
add_nodeB

Add a new node as a child of an existing node in a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
parentYesParent node path (use root node name for root, or node path like "Path/To/Parent")
typeYesGodot node type (e.g. Sprite2D, Camera2D)
nameYesName for the new node
propertiesNoOptional properties as key-value pairs
expectedHashNoExpected content hash for stale-edit prevention

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 basic action without disclosing critical behavioral traits. It doesn't mention whether this modifies files destructively, requires specific permissions, handles errors, or provides feedback on success/failure. The description is minimal and lacks operational 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 a single, efficient sentence with zero wasted words. It front-loads the core purpose ('Add a new node') and specifies the context ('.tscn scene file', 'child of an existing node') concisely.

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?

For a tool with 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after addition (e.g., returns success, modifies file in-place), error conditions, or interaction with other tools like 'get_scene_tree'. The complexity warrants more guidance on behavior and 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?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional meaning beyond implying a parent-child relationship, which is already covered in the 'parent' parameter description. Baseline score of 3 applies as the schema does the heavy lifting.

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 specific action ('Add a new node'), the target resource ('.tscn scene file'), and the relationship ('as a child of an existing node'). It distinguishes from sibling tools like 'remove_node' and 'modify_node_property' by focusing on creation with parent-child hierarchy.

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 when adding nodes to scene files but provides no explicit guidance on when to use this versus alternatives like 'create_scene' (for new scenes) or 'modify_node_property' (for existing nodes). It mentions the parent-child relationship contextually but lacks when-not scenarios or prerequisites.

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

add_to_groupC

Add a node to a group in a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
nodePathYesNode path within the scene
groupYesGroup name to add
expectedHashNoExpected content hash for stale-edit prevention

TDQS

C2.9/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 the action ('Add a node to a group') but doesn't explain what this entails—whether it modifies the scene file permanently, requires specific permissions, has side effects on other nodes, or how it handles errors (e.g., if the node or group doesn't exist). For a mutation tool with zero annotation coverage, this leaves significant behavioral 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 a single, focused sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it efficient and easy to parse. Every part of the sentence earns its place by conveying essential 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 tool's complexity (a mutation operation with 4 parameters) and the lack of annotations and output schema, the description is insufficient. It doesn't cover behavioral aspects like file modification, error handling, or return values, leaving the agent with incomplete context for safe and effective use. For a tool that alters scene files, more detail is needed to compensate for the missing structured data.

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 100%, so the schema already documents all four parameters (scene, nodePath, group, expectedHash) with clear descriptions. The description doesn't add any additional meaning beyond what's in the schema, such as explaining parameter interactions or usage examples. This meets the baseline of 3 when the schema handles parameter documentation adequately.

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 action ('Add a node to a group') and the resource ('.tscn scene file'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'remove_from_group' or 'find_group_members', which would require mentioning it's specifically for adding rather than removing or querying group membership.

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. The description doesn't mention prerequisites (e.g., the scene must exist), exclusions (e.g., cannot add to non-existent groups), or related tools like 'remove_from_group' for the inverse operation. It's a standalone statement with no contextual usage information.

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

capture_stateC

Capture a snapshot of the game state from the running project. Optionally specify a node path to narrow the capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodePathNoNode path to capture state from (e.g. 'Player', 'UI/HealthBar')

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 the full burden of behavioral disclosure. It mentions capturing a snapshot and an optional node path, but does not cover critical aspects such as whether this requires the project to be running, what permissions are needed, if it's read-only or has side effects, rate limits, or the format of the returned state. This leaves significant gaps in understanding 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.

Conciseness5/5

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

The description is concise and front-loaded, consisting of two sentences that directly state the tool's purpose and parameter usage. There is no wasted language, and it efficiently communicates the essential information without unnecessary details.

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 complexity of capturing game state, lack of annotations, and no output schema, the description is insufficient. It does not explain what the snapshot includes, how it's formatted, or any dependencies (e.g., project must be running). For a tool that likely returns structured data, more context is needed to guide the agent effectively.

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 100% description coverage, with the single parameter 'nodePath' documented as 'Node path to capture state from (e.g., 'Player', 'UI/HealthBar')'. The description adds minimal value beyond this, only noting it's optional to narrow the capture. Since schema coverage is high, the baseline score of 3 is appropriate, as the description does not significantly enhance parameter understanding.

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's purpose: 'Capture a snapshot of the game state from the running project.' It specifies the verb ('capture') and resource ('game state'), but does not explicitly differentiate it from sibling tools like 'get_runtime_state' or 'get_live_scene_tree', which might offer similar functionality. This makes it clear but not fully distinguished from alternatives.

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 minimal guidance: it mentions an optional parameter to narrow the capture, but does not specify when to use this tool versus alternatives like 'get_runtime_state' or 'get_live_scene_tree'. No context, exclusions, or prerequisites are provided, leaving the agent with little direction on appropriate usage scenarios.

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

connect_signalC

Add a new signal connection between nodes in a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
sourceYesSource node name (emitter)
signalYesSignal name
targetYesTarget node name (receiver)
methodYesHandler method name on the target
flagsNoConnection flags (default: 0)
expectedHashNoExpected content hash for stale-edit prevention

TDQS

C2.9/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. While 'Add a new signal connection' implies a write/mutation operation, it doesn't specify permissions needed, whether the operation is reversible, error conditions, or what happens on success/failure. This leaves significant gaps 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.

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with the core functionality.

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?

For a mutation tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after connection (e.g., return values, error handling), doesn't mention the sibling 'disconnect_signal' tool, and provides minimal behavioral context despite the complexity.

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 100%, so the schema already documents all 7 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (like explaining signal/method naming conventions or flag meanings), so it meets the baseline but doesn't provide extra 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 action ('Add a new signal connection') and the resource ('between nodes in a .tscn scene file'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from the sibling tool 'disconnect_signal' or other signal-related tools, which prevents a perfect score.

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 like 'disconnect_signal' or 'find_signal_connections', nor does it mention prerequisites or context for when signal connections are appropriate. It simply states what the tool does without usage context.

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

create_fileC

Create a new file with the given content. Triggers index update.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath for the new file
contentYesFile content

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that the tool 'triggers index update', which is valuable context about side effects. However, it doesn't address important behavioral aspects like whether the tool overwrites existing files, what permissions are required, error conditions, or what happens on failure.

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

Conciseness4/5

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

The description is appropriately concise with two sentences that each add value. The first sentence states the core functionality, and the second adds important behavioral context about index updates. There's no wasted verbiage or repetition.

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?

For a file creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens if a file already exists at the path, what format the path should use, what permissions are needed, what the return value is, or how errors are handled. The mention of index update is helpful but doesn't compensate for these significant gaps.

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 100%, so the schema already fully documents both parameters. The description adds no additional parameter semantics beyond what's in the schema. It mentions 'with the given content' which aligns with the 'content' parameter, but provides no extra context about parameter usage, constraints, or examples.

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's purpose with a specific verb ('Create') and resource ('new file'), and mentions content creation. However, it doesn't explicitly differentiate from sibling tools like 'replace_content' or 'insert_at_line' that also modify files, leaving some ambiguity about when this specific creation tool should be chosen over alternatives.

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 like 'replace_content' or 'insert_at_line'. It mentions that it 'triggers index update', which hints at a side effect, but doesn't explain when this tool is appropriate versus other file modification tools in the sibling list.

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

create_sceneA

Create a brand new empty .tscn scene file with just a root node.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path for the new scene
rootTypeYesGodot type for the root node
rootNameYesName for the root node

TDQS

A3.5/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 mentions the tool creates a file but doesn't specify permissions needed, whether it overwrites existing files, error conditions, or what happens on success. For a file creation tool with zero annotation coverage, this leaves significant behavioral 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 a single, efficient sentence that front-loads the core purpose without any wasted words. Every element ('brand new empty .tscn scene file', 'with just a root node') earns its place by adding specificity.

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 (file creation with three parameters), no annotations, and no output schema, the description is minimally adequate. It covers the what but lacks behavioral details, error handling, or output expectations that would make it fully complete for an 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 description coverage is 100%, so the schema fully documents all three parameters. The description doesn't add any parameter-specific details beyond what's in the schema, such as path format requirements or valid root types. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Create'), resource ('brand new empty .tscn scene file'), and scope ('with just a root node'). It distinguishes itself from sibling tools like 'create_file' by specifying the scene file type and root node structure.

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 creating Godot scene files but doesn't explicitly state when to use this tool versus alternatives like 'create_file' or 'add_node'. No guidance is provided on prerequisites, exclusions, or specific contexts for choosing this tool.

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

delete_linesB

Delete a range of lines from a file. Line numbers are 1-based.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
startYesFirst line to delete (1-based)
endYesLast line to delete (1-based, inclusive)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action and line numbering. It misses critical behavioral details: whether deletion is permanent or reversible, permission requirements, error handling (e.g., invalid line ranges), side effects on file structure, or rate limits. This is inadequate for a destructive operation with zero annotation coverage.

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 brief sentences with zero wasted words. It is front-loaded with the core purpose ('Delete a range of lines from a file') followed by a critical clarification ('Line numbers are 1-based'), making it efficient and easy to parse without unnecessary elaboration.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permanence, errors), output format (e.g., success confirmation or modified content), and usage context compared to siblings. The high schema coverage helps parameters, but overall guidance is insufficient for safe and effective use.

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 100%, with clear parameter documentation in the schema. The description adds minimal value by clarifying 'Line numbers are 1-based', which is partially redundant with schema details (e.g., 'minimum': 1). It does not explain parameter interactions (e.g., 'start' must be ≤ 'end') or edge cases beyond what the schema provides, meeting the baseline for high schema 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 specific action ('Delete a range of lines') and target resource ('from a file'), with precise scope ('Line numbers are 1-based'). It distinguishes from sibling tools like 'remove_node', 'replace_content', or 'insert_at_line' by focusing on line deletion rather than node operations, content replacement, or insertion.

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 'replace_content' for partial modifications or 'create_file' for starting fresh. The description lacks context about prerequisites (e.g., file must exist) or exclusions (e.g., not for binary files), offering only basic operational details without comparative advice.

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

disconnect_signalC

Remove a signal connection from a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
sourceYesSource node name
signalYesSignal name
targetYesTarget node name
methodYesHandler method name
expectedHashNoExpected content hash for stale-edit prevention

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 carries full burden for behavioral disclosure. It states the tool performs a removal operation but doesn't clarify if this is destructive, requires specific permissions, or has side effects (e.g., breaking scene functionality). No rate limits, error conditions, or output behavior are mentioned, leaving significant 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 a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. No unnecessary words or 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?

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after removal (e.g., success confirmation, error handling), potential impacts on the scene, or how to verify the change. Given the complexity of modifying scene files, more context is needed.

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 100%, so parameters are fully documented in the schema. The description adds no additional semantic context about parameters beyond implying they identify a signal connection. Baseline score of 3 is appropriate as the schema does the heavy lifting.

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 action ('Remove') and resource ('a signal connection from a .tscn scene file'), making the purpose evident. It doesn't explicitly differentiate from sibling tools like 'remove_node' or 'remove_from_group', but the specificity of 'signal connection' provides some implicit distinction.

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. The description doesn't mention prerequisites, when not to use it, or related tools like 'connect_signal' or 'find_signal_connections' from the sibling list. Usage context is implied but not explicit.

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

find_fileB

Find files by name pattern or extension in the project. Supports substring or regex matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesFile name pattern to search for (substring or regex)
typeNoFile type to filter byany
useRegexNoTreat pattern as a regular expression

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 the full burden of behavioral disclosure. It mentions 'Supports substring or regex matching' which adds some context about search capabilities, but doesn't describe important behaviors like whether this is a read-only operation, what permissions are needed, how results are returned (e.g., list format, pagination), or any limitations (e.g., search scope, performance considerations).

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 - just two sentences that efficiently convey the core functionality. Every word earns its place with no wasted text. It's appropriately sized for a straightforward search tool and front-loads the essential 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?

For a search tool with no annotations and no output schema, the description provides basic functionality but lacks important context. It doesn't explain what the tool returns (file paths? metadata?), whether there are limitations (max results? search depth?), or how it integrates with the broader system. The 100% schema coverage helps, but behavioral aspects remain underspecified.

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 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'name pattern or extension' and 'substring or regex matching' which aligns with the schema's parameter descriptions but doesn't provide additional semantic context or usage examples.

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's purpose: 'Find files by name pattern or extension in the project.' It specifies the action (find), resource (files), and scope (in the project). However, it doesn't explicitly differentiate from sibling tools like 'find_resource' or 'find_resources_of_type', which appear to have overlapping functionality for finding resources.

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. With many sibling tools like 'find_resource', 'find_resources_of_type', and 'list_project_structure' that might overlap in file/resource discovery, there's no indication of when this specific file-finding tool is preferred or what distinguishes it from other search tools.

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

find_group_membersB

Find all nodes belonging to a specific group across all indexed scenes.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupYesGroup name to search for
maxResultsNoMaximum results to return

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Find' implies a read-only operation, it doesn't specify whether this is a fast lookup or intensive search, what happens when no matches are found, whether results are paginated, or any rate limits. The description lacks behavioral context beyond the basic operation.

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, efficient sentence that states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

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 search tool with 2 parameters, 100% schema coverage, and no output schema, the description provides adequate but minimal context. It states what the tool does but lacks information about return format, error conditions, or performance characteristics that would help an agent use it effectively.

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 100%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter semantics beyond what's in the schema - it mentions 'specific group' which aligns with the 'group' parameter but provides no additional context about group naming conventions or search behavior.

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 action ('Find all nodes') and target resource ('belonging to a specific group across all indexed scenes'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'find_node' or 'find_resources_of_type' which might have overlapping search 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 guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, when-not scenarios, or comparisons to sibling search tools like 'find_node' or 'find_resources_of_type' that might serve similar purposes.

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

find_nodeC

Find nodes across all indexed scenes by name, type, group, or attached script.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNode name to search for
typeNoGodot class name to filter by
groupNoGroup name to filter by
scriptNoScript path to filter by
maxResultsNoMaximum results to return

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 the full burden. It mentions searching 'across all indexed scenes' but does not disclose critical behaviors such as whether the search is case-sensitive, what 'indexed scenes' means, if there are performance limits, or what the output format looks like. This leaves significant gaps for a search tool.

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, efficient sentence that front-loads the core functionality. Every word contributes to understanding the tool's purpose without any redundancy or unnecessary detail.

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 lack of annotations and output schema, the description is incomplete. It does not explain what 'indexed scenes' are, how results are returned (e.g., list format, pagination), or any error conditions. For a search tool with 5 parameters, this leaves too much unspecified for reliable use.

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 100%, so the schema fully documents all parameters. The description lists the search criteria ('by name, type, group, or attached script'), which aligns with the schema but adds no additional meaning beyond it. This meets the baseline for high schema coverage.

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's purpose: 'Find nodes across all indexed scenes by name, type, group, or attached script.' It specifies the verb ('Find'), resource ('nodes'), and scope ('across all indexed scenes'), but does not explicitly differentiate from sibling tools like 'find_group_members' or 'find_scene_instances', which also search for nodes in specific contexts.

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. It does not mention sibling tools like 'find_group_members' (for nodes in a specific group) or 'find_scene_instances' (for nodes in a specific scene), leaving the agent to infer usage based on parameter names alone.

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

find_referencesA

Find all references to a symbol at a given position. LSP-only (returns error without LSP). Falls back to text search.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the file containing the symbol
lineYesLine number (1-based)
characterNoCharacter offset (0-based)

TDQS

A3.7/5.0
Behavior4/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 effectively describes key traits: the tool's dependency on LSP ('LSP-only'), error behavior ('returns error without LSP'), and fallback mechanism ('Falls back to text search'). This adds valuable context beyond the input schema, though it could mention output format or limitations like rate limits.

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 highly concise and front-loaded: a single sentence states the core purpose, followed by two brief clauses for behavioral context. Every part earns its place with no wasted words, making it easy for an agent to parse quickly.

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 (symbol reference finding), no annotations, and no output schema, the description is partially complete. It covers purpose and key behaviors but lacks details on output format, error handling specifics, or prerequisites. This leaves gaps for an agent to fully understand the tool's 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?

The input schema has 100% description coverage, so the schema already documents all parameters (file, line, character). The description doesn't add any parameter-specific details beyond what the schema provides, such as explaining how 'character' interacts with 'line' for symbol positioning. Thus, it meets the baseline of 3 without compensating further.

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's purpose: 'Find all references to a symbol at a given position.' It specifies the verb ('find'), resource ('references'), and scope ('symbol at a given position'). However, it doesn't explicitly differentiate from sibling tools like 'find_symbol' or 'find_resources_of_type', which prevents a score of 5.

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 some usage context: 'LSP-only (returns error without LSP). Falls back to text search.' This implies when to use it (with LSP support) and hints at an alternative behavior (text search fallback). However, it doesn't explicitly state when to choose this tool over similar siblings like 'find_symbol' or provide clear exclusions, keeping it at an implied level.

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

find_resourceC

Find resources by type across the indexed project.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesResource type to search for (e.g. 'ShaderMaterial')
maxResultsNoMaximum results to return

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 for behavioral disclosure. It mentions 'across the indexed project' which provides some context about scope, but doesn't describe what 'indexed' means, whether this is a read-only operation, what format results are returned in, or any performance/rate limit considerations. For a search tool with zero annotation coverage, this is inadequate.

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, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple search tool and front-loads the essential information about what the tool does.

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?

For a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes a 'resource', what 'indexed' means, what format results are returned in, or how this differs from similar sibling tools. Given the complexity of having multiple find-related tools and no structured output documentation, the description should provide more contextual guidance.

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 100%, so the schema already fully documents both parameters. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain what 'type' values are valid beyond the example in the schema, or provide context about how the search works. Baseline 3 is appropriate when the schema does all the work.

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 action ('Find') and target ('resources by type across the indexed project'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from similar sibling tools like 'find_resources_of_type' or 'find_file', which could cause confusion about when to use this tool versus those alternatives.

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. With multiple 'find'-prefixed sibling tools (e.g., find_resources_of_type, find_file, find_node), there's no indication of when this general 'find_resource' is preferred over more specific tools or what distinguishes its functionality from them.

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

find_resources_of_typeA

Alias for find_resource — find all resources of a given Godot type (e.g. all ShaderMaterials). Includes property names.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesResource type to search for
maxResultsNoMaximum results to return

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 the full burden of behavioral disclosure. It mentions the tool 'includes property names' in results, which adds some context beyond basic functionality. However, it lacks details on permissions, rate limits, error handling, or output format (e.g., structure of returned data), leaving gaps for a tool that likely queries project resources.

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, efficient sentence that front-loads key information: it's an alias for 'find_resource', specifies the purpose (finding resources by Godot type), and notes included data (property names). There's no wasted text, making it highly concise and well-structured.

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 (searching resources in a Godot project), no annotations, and no output schema, the description is adequate but incomplete. It covers the basic purpose and hints at result content, but lacks details on behavioral traits (e.g., performance, limitations) and output structure, which are important for effective agent use.

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 100%, so the schema fully documents the parameters ('type' and 'maxResults'). The description adds minimal value by implying the 'type' parameter refers to Godot resource types (e.g., 'ShaderMaterials') and hinting at result content ('includes property names'), but doesn't provide additional syntax or usage details beyond what the schema specifies.

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 specific verb ('find') and resource ('all resources of a given Godot type'), and explicitly distinguishes it from its sibling 'find_resource' by noting it's an alias with a specific focus on type filtering and property inclusion. This provides precise differentiation from other search tools in the sibling list.

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 for when to use this tool—when searching for resources by type in Godot—and implicitly suggests an alternative ('find_resource') by mentioning it's an alias. However, it doesn't explicitly state when not to use it or compare it to other sibling tools like 'find_node' or 'find_symbol', which could offer more specific guidance.

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

find_scene_instancesB

Find all scenes that instance (use) a given scene, with parent node paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the scene to search for instances of
maxResultsNoMaximum results to return

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 the full burden. It mentions the tool returns 'parent node paths,' which adds some behavioral context, but lacks details on permissions, rate limits, error handling, or whether it's read-only/destructive. For a search tool with zero annotation coverage, 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 a single, efficient sentence that front-loads the core functionality. It wastes no words and directly communicates the tool's purpose and output, making it easy to parse quickly.

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 no annotations and no output schema, the description is minimal but covers the basic purpose. It doesn't explain return values (e.g., format of 'parent node paths'), error cases, or behavioral constraints. For a search tool with 2 parameters, this is adequate but leaves gaps in understanding how to interpret results.

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 100%, so the schema fully documents both parameters ('scene' and 'maxResults'). The description doesn't add any parameter-specific details beyond what's in the schema, such as format examples for 'scene' or usage tips for 'maxResults.' Baseline 3 is appropriate when schema does the heavy lifting.

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's purpose: 'Find all scenes that instance (use) a given scene, with parent node paths.' It specifies the verb ('Find'), resource ('scenes'), and what it returns ('parent node paths'). However, it doesn't explicitly differentiate from siblings like 'find_references' or 'get_scene_dependencies', which might have overlapping 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 guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, exclusions, or compare it to sibling tools like 'find_references' or 'get_scene_dependencies' that might serve similar purposes. Usage context is implied but not explicit.

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

find_signal_connectionsA

Find all signal connections for a node in a scene, or all connections for a signal name across the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneNoPath to the .tscn file
nodeNoNode name to find connections for
signalNoSignal name to search across all scenes

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 mentions the tool's dual search modes but doesn't disclose behavioral traits like whether it's read-only, what permissions are needed, how results are returned (format/pagination), error conditions, or performance characteristics. For a tool with no annotation coverage, this leaves significant 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 a single, well-structured sentence that efficiently communicates the tool's dual functionality. Every word earns its place with zero redundancy, making it easy to parse and understand immediately.

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 (3 parameters, no output schema, no annotations), the description is minimally complete. It explains what the tool does but lacks crucial context about return values, error handling, and behavioral characteristics. Without annotations or output schema, the agent must infer too much about how to interpret results.

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 100%, so the schema already documents all three parameters. The description implies the parameters are used in two distinct modes (node-focused vs signal-focused search), which adds some semantic context beyond the schema. However, it doesn't provide format examples, constraints, or interaction rules 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 the tool's purpose with specific verbs ('find all signal connections') and resources ('node in a scene', 'signal name across the project'). It distinguishes itself from sibling tools like 'connect_signal' and 'disconnect_signal' by focusing on discovery rather than modification, and from 'trace_signal_chain' by not implying chain traversal.

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 for usage: either find connections for a specific node in a scene OR search for a signal name across the entire project. However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among the many sibling tools, which prevents a perfect score.

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

find_symbolA

Find symbols by name across the project. Uses LSP when available, regex parser as fallback. Results include a metadata.source field indicating whether LSP or regex was used. Report whether results came from LSP or regex fallback, as LSP provides more accurate signatures and locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSymbol name to search for (substring match)
typeNoSymbol type to filter byany
maxResultsNoMaximum results to return

TDQS

A3.9/5.0
Behavior4/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 effectively describes key behaviors: the dual implementation (LSP and regex fallback), the inclusion of a metadata.source field to indicate the method used, and the accuracy difference (LSP provides more accurate signatures and locations). This covers important operational details 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 front-loaded with the core purpose, followed by implementation details and result metadata. Both sentences earn their place by adding value (fallback mechanism and accuracy context). It's efficient but could be slightly more structured, e.g., by separating usage notes.

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 moderate complexity (search with fallback), no annotations, and no output schema, the description does well by explaining the dual implementation and result metadata. However, it lacks details on output format (e.g., what fields are returned beyond metadata.source) and potential limitations (e.g., performance with large projects), leaving minor gaps.

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 100%, so the schema already documents all parameters (name, type, maxResults) with descriptions. The description doesn't add any parameter-specific semantics beyond what's in the schema, such as explaining substring match behavior or type filtering implications. Baseline 3 is appropriate when schema does the heavy lifting.

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: 'Find symbols by name across the project.' It specifies the verb ('Find'), resource ('symbols'), and scope ('across the project'), and distinguishes itself from siblings like 'find_node' (specific to nodes) or 'find_references' (different search target).

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 by mentioning 'Uses LSP when available, regex parser as fallback,' suggesting it's for symbol searching with fallback mechanisms. However, it doesn't explicitly state when to use this tool versus alternatives like 'find_symbols_overview' (if that provides a different view) or 'find_references' (for references rather than symbols), nor does it mention prerequisites or exclusions.

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

get_autoloadsB

Get all autoload singletons configured in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 states a read operation ('Get'), implying it's likely non-destructive, but doesn't disclose any behavioral traits such as permissions needed, rate limits, output format, or whether it returns live data versus cached configurations. This leaves significant gaps for agent understanding.

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, efficient sentence that directly states the tool's purpose without any fluff or unnecessary details. It's front-loaded and wastes no words, making it easy to parse quickly.

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 tool has no output schema and no annotations, the description is incomplete. It doesn't explain what 'autoload singletons' are in this context, what the return format looks like (e.g., list, object, JSON), or any error conditions. For a tool with zero structured metadata, more context is needed for effective agent use.

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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add param info, but that's appropriate here. A baseline of 4 is applied as it adequately handles the lack of parameters without redundancy.

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 verb 'Get' and the resource 'all autoload singletons configured in the project', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_config', 'get_project_settings', or 'get_runtime_state', which also retrieve project information but target different resources.

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. With many sibling 'get_' tools available (e.g., get_config, get_project_settings), there's no indication of context, prerequisites, or exclusions for selecting this specific tool over others.

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

get_configB

Get the current merged server configuration, including active context and mode.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 tool retrieves configuration but doesn't disclose behavioral traits such as permissions needed, whether it's read-only or has side effects, rate limits, or response format. For a tool with zero annotation coverage, this is a significant gap in 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 a single, efficient sentence that front-loads the core purpose ('Get the current merged server configuration') and adds clarifying detail ('including active context and mode'). There is no wasted verbiage, making it highly concise and well-structured.

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 0 parameters and no output schema, the description is minimally adequate. It explains what the tool does but lacks details on return values, error conditions, or behavioral context. For a simple read operation, it meets basic needs but could be more complete by addressing output or usage nuances.

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 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter details, focusing on the tool's purpose. Baseline is 4 for zero parameters, as it avoids redundancy and compensates adequately.

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 action ('Get') and resource ('current merged server configuration'), specifying it includes 'active context and mode'. It distinguishes from siblings by focusing on configuration retrieval rather than operations like file management or scene manipulation. However, it doesn't explicitly contrast with similar tools like 'get_project_settings' or 'get_runtime_state'.

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 retrieving configuration details, but provides no explicit guidance on when to use this tool versus alternatives like 'get_project_settings' or 'get_runtime_state'. It lacks prerequisites, exclusions, or comparisons to sibling tools, leaving usage context inferred rather than stated.

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

get_console_outputC

Get console output from the running Godot project. Optionally filter by text or error level.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoText filter for console output
errorsOnlyNoOnly show errors and warnings

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 the full burden of behavioral disclosure. It mentions filtering options but fails to describe critical behaviors: whether this returns real-time or historical output, if it's paginated or limited in volume, what format the output takes (e.g., plain text, structured logs), or any side effects (e.g., clearing the console). For a read operation with zero annotation coverage, this leaves significant 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 a single, efficient sentence that front-loads the core purpose ('Get console output') and immediately adds optional filtering details. There is zero wasted verbiage or redundancy, making it appropriately sized for the tool's complexity.

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 tool's complexity (runtime diagnostics with filtering) and lack of annotations or output schema, the description is incomplete. It doesn't explain the return format, volume limitations, real-time vs. historical behavior, or error handling. For a tool that likely returns structured log data, this leaves the agent guessing about how to interpret results.

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 100%, so the schema already fully documents both parameters (filter and errorsOnly). The description adds marginal value by mentioning 'filter by text or error level', which aligns with but doesn't expand beyond the schema. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't provide additional parameter insights.

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 verb 'Get' and resource 'console output from the running Godot project', making the purpose specific. It distinguishes this tool from other sibling tools that deal with nodes, files, scenes, or resources rather than runtime console output. However, it doesn't explicitly differentiate from potential console-related siblings (none exist in the 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., project must be running), nor does it compare with other diagnostic tools like get_signal_log or get_runtime_state. The optional filtering hints at usage but lacks explicit context or exclusions.

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

get_input_mapB

Get the project input action mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the full burden of behavioral disclosure. It only states what the tool does ('Get'), but doesn't describe what the output looks like, whether it's a read-only operation, if there are any side effects, or how the data is structured. This leaves significant gaps for an agent to 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.

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's appropriately sized for a tool with no parameters and gets straight to the point.

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 complexity of retrieving project mappings and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'input action mappings' are, what format they're returned in, or how this tool differs from other data retrieval tools in the sibling set. More context is needed for an agent to use this effectively.

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 0 parameters with 100% schema description coverage, so the schema fully documents the input requirements. The description doesn't need to add parameter information, and it appropriately doesn't mention any parameters, earning a baseline score of 4 for not introducing confusion.

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 action ('Get') and the resource ('project input action mappings'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_config', 'get_project_settings', or 'get_runtime_state' that also retrieve project-related data, leaving some ambiguity about what specifically distinguishes this tool.

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. With many sibling tools that retrieve project information (e.g., 'get_config', 'get_project_settings'), there's no indication of what makes 'input action mappings' unique or when this specific data is needed.

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

get_layer_namesB

Get the named physics and render layers for the project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 of behavioral disclosure. It states it 'Get[s]' data, implying a read-only operation, but does not specify if it requires permissions, has side effects, or details about output format (e.g., list structure, error handling). This leaves significant gaps 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.

Conciseness5/5

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

The description is a single, clear sentence that directly states the tool's function without unnecessary words. It is front-loaded and efficiently conveys the essential information, making it easy for an agent to parse and understand quickly.

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 0 parameters, no annotations, and no output schema, the description is minimal but functional. It specifies what is retrieved ('named physics and render layers'), but lacks details on behavior, output format, or error conditions. For a simple read tool, this might be adequate, but more context would improve completeness, especially with no structured data to rely on.

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 parameters with 100% coverage, so no parameter documentation is needed. The description does not add parameter details, which is appropriate, but it could have clarified if any implicit inputs (like project context) are required. Since there are no parameters, a baseline of 4 is applied, as the description adequately covers the tool's purpose without redundant parameter info.

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 verb 'Get' and the resource 'named physics and render layers for the project', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'get_project_settings' or 'get_config', which might also retrieve project-related information, leaving some ambiguity about uniqueness.

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. With many sibling tools that retrieve project data (e.g., 'get_project_settings', 'get_config'), there is no indication of context, prerequisites, or exclusions, leaving the agent to infer usage based on the name alone.

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

get_live_scene_treeA

Get the live scene tree from the running Godot project, reflecting runtime-added/removed nodes. Returns compact structure (name/type/path) by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
includePropertiesNoInclude all editor-visible properties on each node (verbose)
maxDepthNoMaximum depth to traverse (-1 for unlimited, default unlimited)

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 mentions the tool returns a 'compact structure' by default and that it reflects runtime changes, but lacks details on permissions needed, rate limits, error conditions, or what 'compact structure' entails (e.g., JSON format). For a tool with no annotations, this is insufficient 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?

The description is two concise sentences with zero waste. The first sentence states the purpose and key behavioral trait (runtime reflection), and the second sentence adds crucial output information (default compact structure). Every word earns 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 no annotations and no output schema, the description is moderately complete: it covers purpose and distinguishes from siblings, but lacks behavioral details (e.g., error handling, format specifics) and output structure beyond 'compact structure'. For a tool with 2 parameters and 100% schema coverage, it's adequate but has clear gaps in behavioral 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?

Schema description coverage is 100%, so the schema fully documents both parameters. The description does not add any parameter-specific information beyond what's in the schema (e.g., no extra context on 'includeProperties' or 'maxDepth'). Baseline score of 3 applies as the schema does the heavy lifting.

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 specific action ('Get'), resource ('live scene tree'), and source ('from the running Godot project'). It distinguishes from sibling 'get_scene_tree' by specifying 'live' (runtime) vs. likely static/editor scene tree, and mentions the default return format ('compact structure').

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 context ('runtime-added/removed nodes') and distinguishes from 'get_scene_tree' by specifying 'live', but does not explicitly state when to use this tool versus alternatives like 'get_scene_tree' or 'get_runtime_state'. No explicit exclusions or prerequisites are provided.

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

get_node_propertiesC

Get all properties on a specific node in a scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
nodePathYesNode path within the scene

TDQS

C2.9/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 the tool retrieves properties but doesn't describe the return format (e.g., JSON, list), potential errors (e.g., invalid paths), or side effects (e.g., read-only, no mutations). This leaves significant gaps for an agent to understand how to interpret results.

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, efficient sentence that front-loads the core purpose ('Get all properties on a specific node in a scene') with zero wasted words. It's appropriately sized for a simple retrieval tool.

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 and no output schema, the description is incomplete for a tool that retrieves data. It doesn't explain what 'properties' entail or how they're returned, leaving the agent uncertain about the result format. For a read operation with 2 parameters, more context on output behavior is needed.

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 100%, with clear descriptions for 'scene' (path to .tscn file) and 'nodePath' (node path within scene). The description adds no additional meaning beyond the schema, such as format examples or constraints, so it meets the baseline for high coverage without compensating further.

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 action ('Get all properties') and target ('on a specific node in a scene'), distinguishing it from siblings like 'modify_node_property' or 'get_scene_tree'. However, it doesn't specify what type of properties (e.g., Godot node properties like position, scripts) or how they're returned, keeping it from a perfect score.

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 'get_resource_properties' or 'modify_node_property'. The description implies usage for retrieving node properties but doesn't mention prerequisites, such as needing a valid scene file and node path, or exclusions.

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

get_project_settingsB

Get the Godot project settings including name, version, and main scene.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 it 'gets' settings, implying a read-only operation, but doesn't disclose behavioral traits like permissions needed, rate limits, or what happens if project settings are missing. It adds minimal context 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?

The description is a single, efficient sentence that front-loads the core action and specifies key retrieved data. Every word earns its place, with no wasted text or unnecessary elaboration.

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 (0 parameters, no output schema, no annotations), the description is adequate but lacks depth. It covers what the tool does but doesn't address potential complexities like error conditions or format of returned settings, leaving gaps for an agent to infer behavior.

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 parameters and 100% schema description coverage, the baseline is 4. The description doesn't need to explain parameters, as there are none, and it appropriately focuses on the tool's purpose without redundant parameter details.

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 action ('Get') and resource ('Godot project settings'), specifying what information is retrieved (name, version, main scene). It distinguishes from siblings like get_config or get_console_output by focusing on project-level settings, though not explicitly contrasting them.

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 get_config or get_scene_tree. The description implies usage for retrieving project metadata but offers no context on prerequisites, timing, or exclusions.

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

get_resource_propertiesB

Get the properties and sub-resources of a .tres resource file.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYesPath to the .tres file

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 the full burden of behavioral disclosure. It states the tool reads properties and sub-resources, implying a read-only operation, but doesn't clarify permissions, rate limits, error conditions, or output format. This leaves significant gaps 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.

Conciseness5/5

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

The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

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 low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, and output expectations, which are needed for full completeness in a server with many similar tools.

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 100% description coverage, with the single parameter 'resource' documented as 'Path to the .tres file'. The description adds no additional semantic context beyond this, such as path format examples or constraints. Baseline 3 is appropriate as the schema handles the parameter documentation adequately.

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 action ('Get') and the target ('.tres resource file properties and sub-resources'), making the purpose evident. However, it doesn't differentiate this tool from similar siblings like 'get_node_properties' or 'get_resource_references', which limits its score.

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. With many sibling tools available (e.g., 'find_resource', 'get_resource_references'), the description lacks context for selection, offering only a basic statement of function without exclusions or recommendations.

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

get_resource_referencesA

Find every scene and script that references a given resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the resource (.tres file or res:// path)

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 the full burden of behavioral disclosure. It states the tool finds references but does not describe what the output looks like (e.g., list of paths, counts), whether it's read-only or has side effects, performance considerations, or error handling. This leaves significant gaps for a tool that likely queries project data.

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, efficient sentence that front-loads the core functionality ('Find every scene and script that references a given resource') with zero wasted words, making it easy to parse and understand quickly.

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 (finding references across project files), lack of annotations, and no output schema, the description is incomplete. It does not explain the return format, potential limitations (e.g., search scope, speed), or how results are structured, which are critical for an AI agent to use it effectively.

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 schema description coverage is 100%, with the parameter 'path' fully documented in the schema as 'Path to the resource (.tres file or res:// path)'. The description adds no additional meaning beyond this, such as examples or constraints, so it meets the baseline for high schema 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 tool's purpose with specific verbs ('Find every scene and script') and resource ('references a given resource'), distinguishing it from siblings like 'find_references' (which appears more general) and 'find_resource' (which likely finds resources themselves rather than references to them).

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 when searching for references to a specific resource in scenes and scripts, but it does not explicitly state when to use this tool versus alternatives like 'find_references' or 'find_scene_instances', nor does it provide exclusions or prerequisites.

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

get_runtime_stateB

Get the runtime state of a specific node path in the running scene tree.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodePathNoNode path to inspect (e.g. '/root/Main/Player'). Omit for root.

TDQS

B3.3/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 this is a read operation ('Get'), but doesn't disclose behavioral traits like whether it requires the project to be running, what format the runtime state returns, if there are rate limits, or error conditions. The description adds minimal context beyond the basic operation.

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, efficient sentence that front-loads the core purpose with zero waste. Every word earns its place, making it easy to parse quickly.

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 1 parameter with full schema coverage and no output schema, the description is minimally adequate. However, as a tool with no annotations and no output schema, it should do more to explain what 'runtime state' entails and any prerequisites (e.g., project must be running). It's complete enough for basic use but lacks depth for complex scenarios.

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 100%, so the schema already documents the 'nodePath' parameter with examples. The description doesn't add meaning beyond what the schema provides, such as explaining what 'runtime state' includes or how node paths are structured. With high schema coverage, baseline 3 is appropriate.

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 verb ('Get') and resource ('runtime state of a specific node path in the running scene tree'), making the purpose explicit. It distinguishes from siblings like 'get_live_scene_tree' (which retrieves the entire tree) by focusing on a specific node path, though it doesn't explicitly name alternatives.

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 inspecting a node path in a running scene, but doesn't explicitly state when to use this tool versus alternatives like 'get_node_properties' or 'get_live_scene_tree'. It mentions 'Omit for root' in the schema description, which provides some context, but no explicit guidance on when-not or named alternatives is given.

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

get_scene_dependenciesB

Get all external resources, instanced scenes, and script dependencies of a scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file

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 the full burden of behavioral disclosure. It describes what the tool does but lacks details on permissions, rate limits, output format, or any side effects. For a tool that retrieves dependencies, information about whether it's read-only, safe, or has performance implications would be helpful but is missing.

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, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and to the point, making it easy for an agent to quickly understand the core functionality.

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 (retrieving dependencies for a scene), the description is minimal but adequate for basic understanding. However, with no annotations and no output schema, it lacks details on behavioral traits and return values. The schema covers the single parameter well, but overall completeness is limited, making it just sufficient but with clear gaps.

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 100% description coverage, with the 'scene' parameter documented as 'Path to the .tscn file'. The description does not add any additional meaning beyond this, such as format examples or constraints. Since the schema provides complete coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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's purpose: 'Get all external resources, instanced scenes, and script dependencies of a scene.' It specifies the verb ('Get') and the resource ('scene dependencies'), but does not explicitly differentiate it from sibling tools like 'find_resource', 'find_scene_instances', or 'get_resource_references', which might have overlapping functionality. This makes it clear but not fully distinct.

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. It does not mention any prerequisites, exclusions, or specific contexts for usage. With sibling tools like 'find_resource' and 'get_resource_references' that might handle similar tasks, the lack of differentiation leaves the agent without clear usage instructions.

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

get_scene_treeA

Get the scene tree structure of a .tscn file with node types, scripts, groups, and hierarchy.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
depthNoMaximum tree depth to return (default: 3)
maxNodesNoMaximum number of nodes to return (default: 50)

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states what data is returned without behavioral details. It doesn't mention error handling (e.g., invalid file paths), performance characteristics, or whether this is a read-only operation (implied but not stated). The description adds minimal context beyond the basic operation.

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, efficient sentence that front-loads the core purpose. Every word earns its place - specifying the file type (.tscn) and exact data components returned. No wasted words or unnecessary elaboration.

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 read operation with 3 parameters and no output schema, the description is minimally complete. It states what data is returned but doesn't describe the return format or structure. With no annotations and no output schema, more detail about the tree representation would be helpful for an agent to understand what to expect.

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 100%, so parameters are fully documented in the schema. The description doesn't add any parameter semantics beyond what's already in the schema (path to .tscn file, depth limits, node limits). Baseline score of 3 is appropriate when schema does the heavy lifting.

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 with specific verbs ('Get the scene tree structure') and resource ('.tscn file'), and distinguishes it from siblings by specifying the exact data it retrieves (node types, scripts, groups, hierarchy). It's distinct from tools like 'get_live_scene_tree' or 'get_node_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?

The description implies usage for analyzing .tscn file structure, but doesn't explicitly state when to use it versus alternatives like 'get_live_scene_tree' (runtime vs file-based) or 'find_node' (searching vs full tree). No exclusions or prerequisites are mentioned, leaving usage context somewhat implied rather than explicit.

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

get_signal_logA

Get the log of signals emitted during runtime (requires start_signal_logging first). Optionally filter by signal name or time.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalNoFilter by signal name
sinceNoOnly show signals emitted after this timestamp (ms)

TDQS

A3.7/5.0
Behavior3/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 mentions the prerequisite (start_signal_logging) which is valuable context, but doesn't describe what the log contains, its format, whether it's read-only or has side effects, or any rate limits. The description adds some behavioral context but leaves significant 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 perfectly concise with two sentences that each earn their place. The first sentence states the core purpose with a critical prerequisite, and the second sentence explains the optional filtering capabilities. No wasted 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?

Given no annotations and no output schema, the description provides basic purpose and prerequisites but lacks information about what the tool returns, the log format, or behavioral characteristics. For a tool that presumably returns runtime data, more context about the output would be helpful.

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 100%, so the schema already fully documents both parameters. The description mentions optional filtering by 'signal name or time' which aligns with the schema but doesn't add any additional semantic meaning beyond what's already in the parameter 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 the tool's purpose: 'Get the log of signals emitted during runtime.' It specifies the resource (signal log) and the action (get), but doesn't explicitly differentiate from sibling tools like 'trace_signal_chain' or 'get_runtime_state' which might have overlapping functionality.

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 for usage with the prerequisite 'requires start_signal_logging first' and mentions optional filtering capabilities. However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among the many sibling tools.

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

get_symbols_overviewA

Get the top-level symbol tree for a GDScript file: functions, signals, exports, enums, constants.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the .gd file

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 states what the tool retrieves but doesn't disclose behavioral traits like whether it's read-only (implied by 'Get'), error handling for invalid files, performance characteristics, or output format details. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

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, efficient sentence that front-loads the core purpose and enumerates the symbol types without unnecessary words. Every element (verb, resource, scope, details) earns its place, making it easy to parse quickly.

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 no annotations, no output schema, and a simple input schema, the description adequately covers the purpose but lacks behavioral context (e.g., what the output looks like, error conditions). For a read operation with one parameter, it's minimally viable but could benefit from more completeness around usage and results.

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 100% with one parameter 'file' documented as 'Path to the .gd file'. The description adds no additional parameter semantics beyond what the schema provides, such as file format requirements or path resolution rules. With high schema coverage, baseline 3 is appropriate as the schema does the heavy lifting.

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 specific verb 'Get' and resource 'top-level symbol tree for a GDScript file', listing the exact symbol types included (functions, signals, exports, enums, constants). It distinguishes from siblings like get_scene_tree, get_live_scene_tree, or find_symbol by specifying it's for GDScript files and focuses on symbol structure rather than scene nodes or searching.

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 analyzing GDScript file structure, but doesn't explicitly state when to use this versus alternatives like find_symbol (for specific symbol lookup) or get_scene_tree (for scene hierarchy). No exclusions or prerequisites are mentioned, leaving usage context somewhat open to interpretation.

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

insert_after_symbolC

Insert content after a named symbol in a GDScript file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the .gd file
symbolYesName of the symbol to insert after
contentYesContent to insert
expectedHashNoExpected content hash of the file. If provided, edit is rejected on mismatch.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It does not mention potential side effects (e.g., file modification, error handling), permissions needed, or how it interacts with the 'expectedHash' parameter for safety checks.

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, clear sentence with zero waste—front-loaded and efficiently communicates the core action without unnecessary details. Every word earns its place, making it easy to parse quickly.

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 complexity of a file-editing tool with no annotations and no output schema, the description is insufficient. It lacks information on success/failure behavior, error conditions, or what happens if the symbol is not found, leaving gaps for an AI agent to operate safely.

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 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond implying that 'symbol' refers to a named entity in GDScript, which is minimal value. Baseline 3 is appropriate as the schema does the heavy lifting.

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 action ('Insert content') and target ('after a named symbol in a GDScript file'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'insert_before_symbol' or 'insert_at_line', which would require mentioning the specific positional relationship.

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 'insert_before_symbol' or 'insert_at_line', nor does it mention prerequisites like file existence or symbol validity. It lacks context for decision-making among similar editing tools.

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

insert_at_lineC

Insert content at a specific line number. Line number is 1-based.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
lineYesLine number to insert at (1-based)
contentYesContent to insert

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits like whether it modifies files in-place, handles errors (e.g., invalid line numbers), requires write permissions, or affects existing content (e.g., shifting lines). This is a significant gap for a mutation tool with zero annotation coverage.

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, efficient sentence with zero waste. It's front-loaded with the core action and includes a critical detail (1-based line numbering) without unnecessary elaboration, making it easy for an agent to parse quickly.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavior (e.g., how insertion affects file structure), error handling, or return values. Given the complexity of file modification and rich sibling tools, more context is needed to ensure correct usage.

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 100%, so the schema fully documents parameters (path, line, content). The description adds minimal value by clarifying that 'line' is 1-based, which is already in the schema's description. No additional semantics beyond the schema are provided, meeting the baseline for high coverage.

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 action ('Insert content') and target ('at a specific line number'), specifying it's for files. It distinguishes from siblings like 'create_file' or 'replace_content' by focusing on line-specific insertion. However, it doesn't explicitly mention it's for modifying existing files, which is implied but could be more precise.

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 like 'replace_content', 'insert_after_symbol', or 'insert_before_symbol' is provided. The description lacks context about prerequisites (e.g., file must exist) or exclusions, leaving the agent to infer usage from the name and parameters alone.

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

insert_before_symbolC

Insert content before a named symbol in a GDScript file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the .gd file
symbolYesName of the symbol to insert before
contentYesContent to insert
expectedHashNoExpected content hash of the file. If provided, edit is rejected on mismatch.

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 the full burden. It states the tool inserts content, implying a mutation, but lacks details on permissions, error handling, or side effects (e.g., how it handles missing symbols or file changes). This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, earning full marks for conciseness.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like error conditions, return values, or how it interacts with other tools (e.g., sibling 'insert_after_symbol'). More context is needed given the complexity.

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 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond the schema, such as explaining symbol types or content formatting. Baseline 3 is appropriate when the schema does the heavy lifting.

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 action ('Insert content') and target ('before a named symbol in a GDScript file'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'insert_after_symbol' or 'insert_at_line', which would require a 5.

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 like 'insert_after_symbol' or 'insert_at_line', nor does it mention prerequisites or exclusions. It's a basic statement of function 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.

list_dirC

List files in a directory with Godot-aware file type indicators.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirectory path (defaults to project root)
recursiveNoWhether to list recursively

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 'Godot-aware file type indicators,' which adds some context about output behavior, but doesn't disclose critical details like whether it's read-only, error handling, permissions needed, or what the indicators entail. This is inadequate for a tool with no annotation coverage.

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, efficient sentence that front-loads the core purpose ('List files in a directory') and adds a key feature ('with Godot-aware file type indicators') without any wasted words. It's appropriately sized for this tool.

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 and no output schema, the description is incomplete. It hints at output behavior ('Godot-aware file type indicators') but doesn't explain what that means or cover other aspects like error cases or usage context. For a tool with 2 parameters and no structured safety info, this leaves significant gaps.

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 100%, so the schema fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't clarify path formats or recursive behavior details), meeting the baseline of 3.

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's purpose: 'List files in a directory' with the specific enhancement of 'Godot-aware file type indicators.' It distinguishes itself from generic file listing by mentioning Godot context, though it doesn't explicitly differentiate from sibling tools like 'list_project_structure' or 'find_file'.

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. The description doesn't mention sibling tools like 'list_project_structure' (which might list project files) or 'find_file' (which might search for specific files), leaving the agent without context for tool selection.

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

list_project_structureB

List all indexed scenes, scripts, and resources in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoType of files to listall

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 the full burden of behavioral disclosure. It states it's a listing operation, implying read-only behavior, but doesn't mention any constraints like rate limits, permissions needed, or what 'indexed' means operationally. This leaves gaps in understanding how the tool behaves beyond its basic function.

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, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, or output format, which could help an agent use it more effectively in a crowded toolset.

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 100% description coverage, with the single parameter 'type' fully documented in the schema. The description doesn't add any parameter-specific details beyond what's in the schema, so it meets the baseline of 3 for adequate but no extra 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 verb ('List') and resource ('indexed scenes, scripts, and resources in the project'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_dir', 'find_file', or 'find_resources_of_type', which could have overlapping functionality for listing project contents.

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. With many sibling tools for finding or listing project elements (e.g., 'list_dir', 'find_file', 'find_resources_of_type'), there's no indication of context, prerequisites, or exclusions to help an agent choose appropriately.

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

modify_node_propertyC

Set or change a property value on a node in a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
nodePathYesNode path within the scene
propertyYesProperty name to set
valueNoProperty value. Use TSCN syntax strings for complex types (e.g. "Vector2(1, 2)")
expectedHashNoExpected content hash for stale-edit prevention

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 carries full burden but provides minimal behavioral insight. It implies a mutation ('Set or change') but doesn't disclose permissions needed, whether changes are destructive or reversible, error conditions, or side effects. The 'expectedHash' parameter hints at concurrency control, but this isn't explained in the 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 a single, efficient sentence that directly states the tool's function without fluff. It's front-loaded with the core action and resource, making it easy to parse. Every word serves a purpose.

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?

For a mutation tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It lacks details on behavior, error handling, return values, or how it fits within the broader editing workflow. The agent would struggle to use this tool correctly without external knowledge.

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 100%, so parameters are well-documented in the schema. The description adds no additional semantic context about parameters beyond implying they're used for property modification. It meets the baseline for high schema coverage but doesn't enhance understanding.

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 action ('Set or change') and target ('a property value on a node in a .tscn scene file'), making the purpose understandable. It distinguishes from siblings like 'get_node_properties' (read vs. write) and 'remove_node' (different operation), though it doesn't explicitly name alternatives.

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. It doesn't mention prerequisites (e.g., needing the scene file to exist), exclusions, or compare with similar tools like 'replace_content' for broader edits. The agent must infer usage from context alone.

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

onboardingC

Run the onboarding process to initialize .godette/ directory and index the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoForce re-run even if .godette/ exists

TDQS

C2.9/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 mentions initialization and indexing but lacks details on permissions needed, side effects (e.g., file system changes), error handling, or what 'index the project' entails. This is insufficient for a tool that likely modifies 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of it contributes directly to understanding the tool's function.

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 tool's likely complexity (initializing directories and indexing projects) and the absence of both annotations and an output schema, the description is incomplete. It doesn't explain what 'index the project' means, what gets created in .godette/, or what the expected outcomes or errors might be.

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 100%, so the input schema fully documents the single parameter 'force'. The description doesn't add any parameter-specific information beyond what's in the schema, meeting the baseline of 3 for high coverage.

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 action ('Run the onboarding process') and the outcome ('initialize .godette/ directory and index the project'), which is specific and informative. However, it doesn't explicitly differentiate this tool from its many siblings (e.g., 'create_file', 'list_project_structure'), which would require a 5.

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 or typical scenarios. It simply states what the tool does without contextual usage information.

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

read_fileC

Read a file with Godot-enriched output. For .gd files, includes parsed symbols. For .tscn files, includes scene structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file to read

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't disclose whether this requires file permissions, what happens with non-existent paths, error handling, or output format specifics beyond 'Godot-enriched output'. The mention of parsed symbols and scene structure is helpful but insufficient for a mutation-free 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 efficiently structured in two sentences with zero waste, front-loading the core action and then specifying enhancements for file types. Every sentence adds value, though it could be slightly more detailed given the lack of annotations.

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?

For a tool with no annotations, no output schema, and 1 parameter, the description is incomplete. It doesn't cover error cases, permissions, output structure beyond vague 'enriched' terms, or how it differs from sibling read-like tools, leaving significant 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 description coverage is 100%, so the schema already documents the 'path' parameter fully. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3.

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 verb ('Read') and resource ('a file'), and specifies the enriched output for specific file types (.gd and .tscn). However, it doesn't explicitly differentiate from sibling tools like 'find_file' or 'get_scene_tree' that might also read files in different contexts.

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 like 'find_file' or 'get_scene_tree', nor does it mention prerequisites or exclusions. It only describes what the tool does, not when it's appropriate.

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

remove_from_groupC

Remove a node from a group in a .tscn scene file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
nodePathYesNode path within the scene
groupYesGroup name to remove
expectedHashNoExpected content hash for stale-edit prevention

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 ('Remove') but lacks details on behavioral traits: it doesn't specify if this is destructive (likely yes, as it modifies scene files), what happens if the node or group doesn't exist, error conditions, or side effects. This leaves gaps 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 a single, clear sentence with no wasted words. It is front-loaded with the core action and target, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's purpose.

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 and no output schema, the description is incomplete for a mutation tool. It lacks details on behavioral traits (e.g., destructiveness, error handling) and return values, which are critical for an agent to use it correctly. The schema covers parameters well, but overall context is insufficient.

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 100%, so the schema already documents all parameters. The description does not add any meaning beyond the schema, such as explaining parameter interactions or constraints. Baseline 3 is appropriate since the schema provides adequate parameter information.

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 action ('Remove') and target ('a node from a group in a .tscn scene file'), making the purpose understandable. However, it does not explicitly differentiate from sibling tools like 'remove_node' or 'add_to_group', which would require mentioning it specifically modifies group membership rather than deleting nodes or adding to groups.

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. It does not mention prerequisites, such as needing the node and group to exist, or contrast with siblings like 'add_to_group' or 'remove_node'. The description only states what it does, not when it's appropriate.

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

remove_nodeB

Remove a node and all its children from a .tscn scene file. Also removes associated signal connections.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesPath to the .tscn file
nodePathYesNode path to remove
expectedHashNoExpected content hash for stale-edit prevention

TDQS

B3.2/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 mentions the removal of signal connections, which adds some behavioral context beyond the basic 'remove' action, but it lacks details on permissions, reversibility, error handling, or what happens to the file after removal. For a destructive operation with no annotations, 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 a single, efficient sentence with zero waste. It is front-loaded with the core action and includes an additional detail (signal connections) that is relevant and concise.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It does not cover the tool's behavior fully (e.g., error cases, what is returned), leaving gaps that could hinder an AI agent's correct invocation. The high schema coverage helps, but the lack of behavioral and output details is a significant shortfall.

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 100%, so the schema already documents all three parameters. The description does not add any meaning beyond what the schema provides, such as explaining the format of 'nodePath' or the purpose of 'expectedHash'. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Remove a node and all its children') on a specific resource ('.tscn scene file'), and distinguishes it from siblings by mentioning the removal of associated signal connections, which is unique among the listed sibling 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 is provided on when to use this tool versus alternatives like 'delete_lines' or 'remove_from_group', nor any prerequisites or context for its application. The description only states what it 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.

rename_symbolA

Rename a symbol across the entire project using the language server. LSP-only — without LSP, fall back to find_symbol + replace_content and warn about potentially missed references in non-script files (.tscn signal connections, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the file containing the symbol
lineYesLine number (1-based)
characterNoCharacter offset (0-based)
newNameYesNew name for the symbol

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it describes the dual implementation (LSP-first, fallback method), warns about potential missed references in specific file types (.tscn), and implies mutation (renaming). However, it doesn't detail error handling, permissions, or rate limits, keeping it from a perfect score.

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 front-loaded with the core purpose, followed by implementation details and warnings in a single, efficient sentence. Every part adds value without redundancy, making it appropriately sized and well-structured.

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 (a mutation tool with no annotations and no output schema), the description is quite complete: it explains the tool's behavior, fallback mechanisms, and limitations. It could slightly improve by hinting at the return value or success criteria, but it covers most contextual needs effectively.

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 100%, so the schema fully documents all parameters (file, line, character, newName). The description adds no additional parameter-specific information beyond what the schema provides, such as format examples or constraints, meeting the baseline for high schema 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 specific action ('Rename a symbol') and scope ('across the entire project'), distinguishing it from siblings like 'find_symbol' (which only locates) or 'replace_content' (which is more general). It precisely defines the verb and resource.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool (for renaming symbols across the project) and provides clear alternatives/fallbacks (LSP vs. find_symbol + replace_content), including warnings about limitations (e.g., missed references in non-script files). This guides the agent on tool selection and edge cases.

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

replace_contentC

Replace text content in a file and emit a file change event.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
searchYesText to search for
replaceYesReplacement text
allNoReplace all occurrences

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 the full burden. It mentions 'emit a file change event,' which adds some behavioral context beyond the basic action. However, it lacks details on permissions, error handling, or side effects (e.g., whether changes are reversible), which are critical 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 a single, efficient sentence that front-loads the core action. It avoids redundancy and wastes no words, though it could be slightly more structured by separating purpose from behavioral notes.

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 no annotations and no output schema, the description is minimal but covers the basic action and a behavioral note. It lacks details on return values, error conditions, or integration with sibling tools, making it adequate but incomplete for a mutation tool in a complex environment.

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 100%, so the schema fully documents all parameters. The description does not add any semantic details beyond what the schema provides (e.g., it doesn't explain how 'search' and 'replace' interact or what 'emit a file change event' entails parameter-wise). Baseline 3 is appropriate as the schema handles parameter documentation.

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 action ('Replace text content in a file') and the resource ('a file'), making the purpose evident. However, it does not explicitly distinguish this tool from sibling tools like 'replace_symbol_body' or 'delete_lines', which also modify file content, leaving some ambiguity about when to choose this specific tool.

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. With sibling tools like 'replace_symbol_body' and 'delete_lines' that also handle text modifications, there is no indication of context, prerequisites, or exclusions to help an agent select appropriately.

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

replace_symbol_bodyA

Replace the entire body of a function or symbol in a GDScript file. Hash-verified to prevent stale edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPath to the .gd file
symbolYesName of the symbol to replace
newBodyYesNew source code for the symbol
expectedHashNoExpected content hash of the file. If provided, edit is rejected on mismatch.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool performs a replacement operation (implying mutation) and includes hash verification for conflict prevention, which adds useful behavioral context. However, it doesn't cover error handling, permissions needed, or what happens on failure, leaving gaps 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action and includes a key behavioral trait (hash verification). There is zero waste, and every word earns 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?

For a mutation tool with 4 parameters, no annotations, and no output schema, the description is moderately complete. It covers the purpose and a key safety feature (hash verification), but lacks details on return values, error conditions, or integration with sibling tools, leaving room for improvement given the complexity.

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 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning about parameters beyond what's in the schema, such as format details or examples. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Replace the entire body'), target resource ('function or symbol in a GDScript file'), and distinguishes it from siblings like 'rename_symbol' or 'replace_content' by specifying it's about body replacement rather than renaming or general content replacement.

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 editing GDScript files and mentions hash verification to prevent stale edits, which provides some context. However, it doesn't explicitly state when to use this tool versus alternatives like 'modify_node_property' or 'insert_after_symbol', nor does it mention prerequisites or exclusions.

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

rescaffold_pluginA

DEV: Delete addons/godette/ and re-scaffold the GDScript plugin files from current templates. Useful after changing onboarding templates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the full burden. It discloses the destructive behavior ('Delete addons/godette/') and the purpose ('re-scaffold'), but lacks details on permissions needed, potential side effects, or error handling. The description is informative but could be more comprehensive for a tool with destructive actions.

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 front-loaded with the core action and purpose in a single, efficient sentence. Every word adds value, with no redundant information, making it highly concise and well-structured for quick understanding.

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 (destructive action with no parameters) and lack of annotations or output schema, the description is mostly complete. It explains what the tool does and when to use it, but could benefit from additional behavioral details like confirmation prompts or rollback options to enhance 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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose and usage context, which aligns with the baseline expectation for zero-parameter tools.

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 specific action ('Delete addons/godette/ and re-scaffold the GDScript plugin files') and the resource involved ('from current templates'). It distinguishes itself from sibling tools by focusing on plugin scaffolding rather than general file operations or node management.

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 for when to use this tool ('after changing onboarding templates'), which helps guide usage. However, it does not explicitly state when not to use it or mention alternatives among the many sibling tools, such as create_file or replace_content.

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

run_projectB

Run a scene in the Godot editor. Optionally specify a scene path, enable the runtime harness, or watch specific nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneNoScene path to run (e.g. 'res://main.tscn'). Omit for default scene.
withHarnessNoEnable the runtime harness for signal logging and state capture
watchNodesNoNode paths to watch for property changes

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 the full burden of behavioral disclosure. It mentions enabling a runtime harness and watching nodes, but lacks details on permissions, side effects (e.g., whether this starts a new process or modifies project state), error handling, or runtime behavior. This is inadequate for a tool that likely initiates execution.

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 single, efficient sentence that front-loads the core purpose ('Run a scene in the Godot editor') and briefly mentions optional parameters. It avoids redundancy and wastes no words, though it could be slightly more structured for 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?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what happens after running (e.g., success/failure indicators, runtime output, or interaction with other tools like 'get_runtime_state'). For a tool that likely controls execution, more context on behavior and outcomes is needed.

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 100%, so the input schema fully documents parameters. The description adds minimal value by listing parameter purposes ('specify a scene path, enable the runtime harness, or watch specific nodes'), but doesn't provide additional semantics beyond what's in the schema descriptions. Baseline 3 is appropriate.

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 action ('Run a scene') and the target ('in the Godot editor'), which is specific. However, it doesn't explicitly distinguish this tool from sibling tools like 'stop_project' or 'get_live_scene_tree', which reduces clarity regarding its unique role.

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 by mentioning optional parameters ('Optionally specify a scene path, enable the runtime harness, or watch specific nodes'), but it doesn't provide explicit guidance on when to use this tool versus alternatives like 'stop_project' or 'capture_state'. No exclusions or prerequisites are stated.

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

screenshotC

Take a screenshot of the running Godot project.

ParametersJSON Schema
NameRequiredDescriptionDefault
withOverlayNoInclude debug overlay information in the screenshot

TDQS

C2.9/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 the action but doesn't describe what happens (e.g., where the screenshot is saved, format, permissions needed, or if it interrupts the project). This is inadequate for a tool that likely creates output files or requires specific runtime 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?

The description is a single, direct sentence with no wasted words. It's front-loaded with the core action and target, making it highly efficient and easy to parse.

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?

For a tool with no annotations, no output schema, and a single parameter, the description is too minimal. It doesn't explain what the tool returns (e.g., file path, image data), error conditions, or behavioral details like where screenshots are stored. This leaves significant gaps for an agent to use it effectively.

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 100%, so the schema fully documents the single parameter 'withOverlay'. The description doesn't add any parameter-specific information beyond implying a screenshot is taken, which aligns with the schema but doesn't provide extra semantic context. Baseline 3 is appropriate given high schema coverage.

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 action ('Take a screenshot') and target ('running Godot project'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'capture_state' or 'get_runtime_state' that might also capture project information, so it doesn't fully distinguish from alternatives.

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. It doesn't mention prerequisites (e.g., project must be running), exclusions, or compare it to similar tools like 'capture_state', leaving the agent to infer usage context.

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

start_signal_loggingB

Start logging signal emissions on a node and its children. After starting, call get_signal_log to retrieve captured signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_pathNoNode path to instrument (default: root scene)
recursiveNoAlso instrument child nodes

TDQS

B3.3/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 mentions starting logging and retrieving logs later, but doesn't address critical aspects like whether this affects performance, requires specific permissions, has rate limits, or what happens if logging is already active. For a tool that presumably modifies runtime behavior, 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 two sentences with zero waste—each sentence provides essential information (starting logging and how to retrieve results). It's appropriately sized and front-loaded with the core 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?

Given the tool has no annotations, no output schema, and 2 parameters with full schema coverage, the description is minimally adequate. It covers the basic purpose and workflow but lacks details on behavioral impact, error conditions, or output expectations, which are important for a tool that modifies runtime state.

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 100%, so the schema fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain what 'node_path' format is expected or clarify 'recursive' implications). Baseline 3 is appropriate when the schema does all the work.

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 action ('Start logging signal emissions') and target ('on a node and its children'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'trace_signal_chain' or 'get_signal_log', which appear related to signal monitoring.

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 by mentioning 'After starting, call get_signal_log to retrieve captured signals,' which suggests a workflow context. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'trace_signal_chain' or when not to use it (e.g., performance considerations).

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

stop_projectA

Stop the currently running Godot project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 the full burden. It discloses the action (stopping a project) but lacks details on behavioral traits like side effects (e.g., whether it saves state, requires permissions, or has rate limits). It does not contradict any annotations.

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, clear sentence with no wasted words, front-loading the essential action. It efficiently conveys the tool's purpose without unnecessary elaboration.

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 (0 parameters, no output schema, no annotations), the description is reasonably complete for a stop command. However, it could benefit from more behavioral context, such as what happens after stopping or error conditions, to fully guide an agent.

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 parameters with 100% coverage, so no parameter details are needed. The description adds no parameter information, which is acceptable here, but does not compensate for any gaps since there are none.

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 ('Stop') and the target ('the currently running Godot project'), using a specific verb and resource. It distinguishes itself from sibling tools like 'run_project' by indicating it terminates an active project rather than starting one.

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 implies usage context by specifying 'currently running,' suggesting it should be used when a project is active. However, it does not explicitly state when not to use it or name alternatives, such as what to do if no project is running.

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

switch_modeA

Switch the active mode (planning, editing, debugging, interactive). This updates tool description hints and emits a config:mode-changed event.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesThe mode to switch to

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that switching modes updates tool description hints and emits a 'config:mode-changed' event, adding useful behavioral context beyond the basic action. However, it doesn't cover potential side effects, permissions needed, or error conditions, leaving gaps 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('switch the active mode') and includes essential behavioral details without redundancy. Every part earns its place, making it appropriately sized and well-structured.

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 (a mutation with one parameter) and no annotations or output schema, the description is somewhat complete but has gaps. It explains the action and some effects but lacks details on return values, error handling, or integration with sibling tools, which could aid the agent in proper invocation.

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 100%, with the parameter 'mode' fully documented in the schema including its enum values. The description doesn't add any parameter-specific details beyond what the schema provides, such as explaining the implications of each mode choice. This meets the baseline for high schema coverage.

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 verb ('switch') and resource ('active mode'), specifying the four possible modes. It distinguishes from siblings by focusing on mode switching rather than file operations, node manipulation, or debugging tasks. However, it doesn't explicitly contrast with specific sibling tools like 'get_config' which might retrieve mode information.

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 when needing to change modes, with the mention of updating tool description hints and emitting an event providing some context. However, it lacks explicit guidance on when to use this versus alternatives (e.g., checking current mode with 'get_config') or prerequisites. The context is clear but not comprehensive.

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

trace_signal_chainB

Trace a signal chain: emission → handlers → chained emissions → further handlers. Returns a graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
startSignalYesSignal name to start tracing
startNodeNoStarting node name (optional)
maxDepthNoMaximum traversal depth (default: 5)

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 the full burden. It mentions the tool returns a graph, which is useful, but lacks details on permissions, rate limits, whether it's read-only or destructive, or how the graph is structured. For a tool with no annotation coverage, this leaves significant behavioral 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 a single, efficient sentence that front-loads the core action ('Trace a signal chain') and includes key details (chain components and output). Every word earns its place with zero waste.

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 no annotations, no output schema, and moderate complexity (tracing with depth limits), the description is minimally adequate. It covers the purpose and output type but lacks details on behavior, error handling, or result interpretation. It's complete enough for basic use but has clear gaps.

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 100%, so the schema already documents all parameters well. The description adds no additional parameter semantics beyond implying 'startSignal' initiates the trace. Baseline 3 is appropriate as the schema handles the heavy lifting, but the description doesn't compensate or add 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's purpose: 'Trace a signal chain' with specific components (emission → handlers → chained emissions → further handlers) and mentions it returns a graph. It distinguishes itself from siblings like 'find_signal_connections' by focusing on chain traversal rather than direct connections. However, it doesn't explicitly differentiate from all possible alternatives.

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 is provided. While the description implies it's for tracing signal chains, it doesn't specify scenarios where this is preferable over tools like 'find_signal_connections' or 'get_signal_log', nor does it mention prerequisites or exclusions.

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

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes with clear boundaries, such as find_node for node discovery versus get_scene_tree for structure inspection. However, some overlap exists between find_resource and find_resources_of_type (explicitly noted as aliases) and between find_symbol and other search tools, which could cause minor confusion in selection.

Naming Consistency5/5

Tool names follow a highly consistent snake_case pattern with clear verb_noun structures, such as add_node, capture_state, and get_console_output. This uniformity makes the set predictable and easy to navigate, with no deviations in naming style.

Tool Count2/5

With 52 tools, the count is excessive for a single server, likely overwhelming for agents and leading to decision paralysis. While the tools cover many aspects of Godot project management, the sheer volume suggests poor scoping, as many operations could be consolidated or omitted without losing functionality.

Completeness5/5

The tool set provides comprehensive coverage for Godot development, including scene manipulation, file operations, runtime interaction, debugging, and project analysis. It supports full CRUD-like workflows (e.g., create_scene, modify_node_property, remove_node) and integrates advanced features like signal tracing and LSP support, leaving no obvious gaps.

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

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/woohq/godette-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server