godot-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@godot-mcp-serverList the nodes in the main scene"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
godot-mcp-server
An MCP server that gives AI coding agents
first-class access to the Godot game engine: project
inspection, project.godot editing, scene/script parsing, headless exports,
running games with live control (eval, scene-tree inspection, hot reload and
screenshots), and version-accurate API documentation search.
It targets Godot 4.7 and works without the editor open — agents drive Godot through its command line and a small in-game bridge. An optional desktop app manages the server and wires it into your AI agents in one click.
It ships 180+ tools: a native suite (28 godot_* tools for project/build/run/
docs) plus a vendored full-control suite (154 game_*/scene/editor tools) for
deep runtime and editor manipulation — see
Full-control tool suite.
This is the Godot counterpart to defold-mcp, built with the same architecture.
Contents
Related MCP server: Godot MCP
Features
Project parsing — turn
project.godot,.tscn/.tresscenes and.gd/.csscripts into structured JSON (node trees, signals, exports, connections, outlines).Toolchain management — resolve the project's target version, download and cache the matching editor binary and export templates, or use a binary you already have (
GODOT_BIN).Build pipeline — headless import (compile check), multi-mode exports (release/debug/pack) from your presets, clean, and a
doctordiagnostic.Runtime control — launch games as child processes, stream logs, stop them, and (with the bridge) inspect the live scene tree, evaluate expressions, set node properties, hot-reload scripts, and capture screenshots.
API docs — search and read the Godot class reference for the exact engine version in use (generated locally via
--doctool, with a GitHub fallback).Two transports — stdio (default) or HTTP, so multiple agents can share one server.
Desktop manager — an optional Tauri app: live console, start/stop, and one-click MCP setup for 9 AI agents.
Requirements
Node.js 18+
A Godot 4.x editor binary — the server can download one automatically, or you can point it at an existing install with
GODOT_BIN.Network access for the first toolchain/doc download (not needed afterwards, or at all if you set
GODOT_BINand skip docs search).
Install
git clone https://github.com/Fulviuus/godot-mcp.git && cd godot-mcp
npm install
npm run build # generates dist/index.js
npm test # runs the test suite (optional)Configuration
Add the server to your MCP client. For a stdio config (Claude Code / Claude Desktop style):
{
"mcpServers": {
"godot": {
"command": "node",
"args": ["/path/to/godot-mcp/dist/index.js"],
"env": { "GODOT_PROJECT_ROOT": "/path/to/your/game" }
}
}
}Or run it over HTTP (shared by multiple agents):
node dist/index.js --transport http --port 7878
# then point clients at http://127.0.0.1:7878/mcpDon't want to edit config files by hand? The desktop app writes the right config into each agent for you.
CLI options
Flag | Default | Purpose |
|
| Transport to serve on. |
|
| HTTP bind host. |
|
| HTTP bind port. |
| off | Exit when the controlling stdin/parent closes. |
| — | Print version / usage. |
Environment variables
Variable | Purpose |
| Default project root (folder with |
| Path to a pre-installed Godot editor binary; skips downloads. |
| Where to cache editors/templates/docs (default |
| Set to |
|
|
| Godot executable for the full-control suite (falls back to |
| Set to |
Most tools also accept a project_root and version argument to override the
defaults per call.
Tools
The native suite is 28 tools across eight areas. Every native tool accepts
response_format: "markdown" | "json". (The vendored full-control suite adds 154
more — see the next section.)
Area | Tools |
Project |
|
Resources |
|
Build |
|
Runtime |
|
Live engine |
|
Editor |
|
Screenshot |
|
Docs |
|
A typical agent flow:
godot_project_info → understand the project
godot_setup → provision editor + templates + bridge
godot_build → confirm it imports/compiles
godot_run live:true → launch with live control
godot_scene_tree / godot_eval → inspect the running game
godot_hot_reload → apply script changes without restarting
godot_screenshot → see the result
godot_export preset:"Linux" → produce a buildThe live-control bridge
Godot's headless mode can't render and has no general runtime RPC, so live
control is provided by a tiny bridge addon (addons/godot_mcp) that
godot_setup (or godot_run live:true) installs into your project. It registers
an autoload that, only when a port is provided, opens a localhost TCP socket
speaking newline-delimited JSON. The server uses it for godot_eval,
godot_scene_tree, godot_set_node_property, godot_hot_reload and
godot_screenshot. It is inert during normal runs and easy to remove (delete the
addons/godot_mcp folder and the MCPBridge autoload).
Full-control tool suite
Alongside the native tools, the server registers a 154-tool full-control
suite vendored from tugcantopaloglu/godot-mcp
(MIT), which extends Coding-Solo/godot-mcp
(MIT). It gives agents deep runtime and editor manipulation across networking,
3D/2D rendering, UI controls, audio, animation trees, physics, signals, file
I/O, runtime GDScript eval, node inspection/mutation, project creation and
more. Names are unprefixed (game_eval, run_project, read_scene,
game_set_property, game_raycast, game_light_3d, …) so they never collide
with the godot_* native tools.
It works through two channels, both driven by Godot-side engines shipped with the
server (src/advanced/scripts/):
Headless operations (
godot_operations.gd) — scene/resource/file/project tools rungodot --headless --script godot_operations.gd; no running game needed. (Scene ops likeread_sceneneed the project imported once — open it in the editor, or rungodot_build/godot --import.)Live interaction (
mcp_interaction_server.gd) — the ~120game_*runtime tools talk to a TCP autoload (port 9090) inside the running game. Callrun_projectto launch the game; it installs that autoload and connects automatically. (This is separate from the nativegodot_runbridge; use the suite that matches the tools you're calling.)
Set GODOT_MCP_ADVANCED=0 to register only the 28 native tools. Point the suite
at your engine with GODOT_PATH (or reuse GODOT_BIN).
Attribution and license terms for the vendored code are in NOTICE; the vendored files carry source headers and everything is MIT-licensed.
Desktop app
desktop/ is an optional Tauri control panel (the Godot
counterpart to the defold-mcp manager). It supervises the server and connects it
to your agents without touching config files by hand:
Console — a live stream of everything the server does (tool calls, export output, game logs, listener status).
Server control — start/stop the server in Streamable HTTP mode on a chosen host/port (default
127.0.0.1:9820), with a status pill showing the live tool count and PID.Agent auto-configuration — pick an agent and click Configure: the app merges a
godotentry into that agent's own MCP config file (backing it up first) in the client's correct dialect, over HTTP or stdio. Supported agents: Claude Code, Claude Desktop, OpenAI Codex, Cursor, Gemini CLI, VS Code (Copilot), Windsurf, Cline, Zed. Files it can't safely edit (e.g. JSONC with comments) are never modified — it shows a paste-ready snippet instead.
The server is bundled into the app, so end users only need Node installed. See desktop/README.md to build and run it.
Architecture
src/
├── index.ts Entry point: server construction, stdio/HTTP, lifecycle
├── http.ts Streamable HTTP transport + /health
├── constants.ts Versions, release-asset naming, cache locations
├── context.ts Project-root resolution, res:// ↔ filesystem mapping
├── state.ts Running-game registry + log buffers
├── util/ Parsers & helpers (ini, scene, gdscript, csharp, fs, http)
├── services/ Engine-facing logic (toolchain, processes, engine bridge,
│ refdoc, screenshot, editor, templates)
└── tools/ MCP tool modules (project, resources, build, run, engine,
editor, screenshot, docs) + shared registration
desktop/ Optional Tauri desktop manager (see desktop/README.md)
test/ node --test suite + a minimal Godot fixture projectThe engine-specific layers map cleanly onto Godot: the godot editor binary +
export templates replace Defold's bob.jar; the text scene format replaces
protobuf; GDScript/C# replace Lua; and the bridge replaces Defold's TCP engine
service.
Development
npm run dev # run from source with tsx
npm run build # type-check + emit dist/
npm test # unit + server (stdio) + http tests
npm run bundle:server # esbuild single-file bundle (used by the desktop app)The toolchain-dependent flow (setup → build → run → eval → screenshot → export) is covered by an opt-in smoke test that needs a real Godot install:
node test/live-smoke.mjs # uses a temp copy of the fixture
node test/live-smoke.mjs /my/game # or your own projectDesktop app (Rust/Tauri) tests:
cd desktop/src-tauri && cargo test # config writers, merging, backupsCredits
The full-control tool suite (
src/advanced/) is vendored from godot-mcp by Tugcan Topaloglu, which extends godot-mcp by Solomon Elias (Coding-Solo). Both are MIT licensed. See NOTICE.The native suite, transports, toolchain automation, tests, desktop app and packaging are original to this project, which mirrors the architecture of defold-mcp.
License
Available Tools
182 toolsadd_nodeadd_nodeC
Add a node to an existing scene
| Name | Required | Description | Default |
|---|---|---|---|
| nodeName | Yes | Name for the new node | |
| nodeType | Yes | Type of node to add (e.g., Sprite2D, CollisionShape2D) | |
| scenePath | Yes | Scene file path (relative to project) | |
| properties | No | Optional properties to set on the node | |
| projectPath | Yes | Godot project path | |
| parentNodePath | No | Path to the parent node (e.g., "root" or "root/Player") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'Add a node' with no disclosure of side effects, permissions, or behavioral traits like whether it modifies the scene file, requires the scene to be loaded, or what happens with optional parameters. Annotations provide no additional behavioral hints (no readOnlyHint or destructiveHint).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it sacrifices informativeness for brevity, which is acceptable but not excellent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 6 parameters (including a nested object) and no output schema, the description is extremely brief. It does not explain key aspects like parent node path handling, property constraints, or return behavior, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter, so the baseline is 3. The tool description adds no extra semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add a node to an existing scene' clearly identifies the action and resource, but does not differentiate from sibling tools like game_spawn_node or modify_scene_node, which may 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.
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. There is no mention of prerequisites, such as whether the scene must be open, or when to prefer game_spawn_node over add_node.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach_scriptattach_scriptC
Attach a GDScript to a scene node (headless)
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node within the scene (e.g., "root/Player") | |
| scenePath | Yes | Scene file path (relative to project) | |
| scriptPath | Yes | Path to the .gd script file (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description carries the full burden of behavioral disclosure. It does not explain side effects (e.g., file modification), permissions required, or what happens if the script already exists. The single sentence is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief (8 words) and front-loaded with the verb. It is efficient but may be too terse, missing important context. Structure is adequate for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters, no output schema, and a large set of sibling tools, the description is insufficient. It does not explain the 'headless' term, return value, or error conditions. More detail is needed for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage with clear explanations for each parameter (nodePath, scenePath, scriptPath, projectPath). The description adds no additional semantic value beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (attach), the resource (GDScript), and the target (scene node). The term '(headless)' adds context that the operation is non-interactive. It helps distinguish from sibling tools like 'game_script' or 'create_script', though it does not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to attach a script vs. create one or modify a script. There are no prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_directorycreate_directoryB
Create a directory inside a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Godot project path | |
| directoryPath | Yes | Directory path relative to project root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (title only), so the description carries the burden. It only states what the tool does but not behavioral details like error handling (project not found), side effects (does it create parent directories?), or return value. It lacks transparency 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of seven words, with no unnecessary information. It is concise 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is too minimal. It omits critical context like whether directories are created recursively, what happens if the directory already exists, or error scenarios. The tool requires more context to be easily usable without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (Godot project path, directory path relative to project root), providing clear semantics. The description ties them together with 'inside a Godot project' but adds no new meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Create) and resource (directory), and clearly states that it operates inside a Godot project. It distinguishes from sibling tools like delete_file, rename_file, and create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives, such as when to create a directory vs using create_project for project roots, or any prerequisites like the project must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectcreate_projectB
Create a new Godot project from scratch
| Name | Required | Description | Default |
|---|---|---|---|
| projectName | Yes | Name of the project | |
| projectPath | Yes | Directory where the project will be created |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It says 'from scratch' but does not disclose whether existing directories are overwritten, initialization steps, or error scenarios. This is insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is adequate but lacks behavioral details like overwrite behavior or required permissions. More context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new Godot project from scratch' uses a specific verb ('create') and resource ('Godot project'), clearly distinguishing it from siblings like export_project or modify_project_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives, no prerequisites, and no conditions for proper use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_resourcecreate_resourceC
Create a .tres resource file (headless)
| Name | Required | Description | Default |
|---|---|---|---|
| properties | No | Optional properties to set on the resource | |
| projectPath | Yes | Godot project path | |
| resourcePath | Yes | Where to save the .tres file (relative to project) | |
| resourceType | Yes | Godot class name (e.g., "StandardMaterial3D", "Theme", "Environment") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title). The description does not disclose behavioral traits such as whether the tool overwrites existing files, requires specific permissions, or has side effects. 'Headless' is ambiguous without further explanation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It is front-loaded, but could be slightly improved by explaining 'headless' or adding a brief example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain return values or error conditions. For a creation tool with 4 parameters (including a nested object), more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so schema already documents parameters. The description adds no additional meaning beyond what the schema provides, e.g., it doesn't clarify that 'properties' is a nested object or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a .tres resource file (headless)', specifying the verb 'Create' and the resource type '.tres'. It is specific but does not differentiate from sibling tools like 'godot_create_resource' or 'manage_resource', though the name itself is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., godot_create_resource, manage_resource). No exclusions or context for preferred use are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_scenecreate_sceneB
Create a new Godot scene file
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Path where the scene file will be saved (relative to project) | |
| projectPath | Yes | Godot project path | |
| rootNodeType | No | Type of the root node (e.g., Node2D, Node3D) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description provides no behavioral details beyond creation. No mention of side effects (e.g., overwriting existing files), required permissions, or whether the scene is opened in editor. Since annotations are empty, the description carries full burden but only says 'create'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that is to the point with no extraneous information. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with no output schema, the description is adequate but lacks details on return value or side effects. Given low complexity, it meets minimum requirements but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new Godot scene file' clearly states the verb (create) and resource (Godot scene file), effectively distinguishing it from siblings like create_resource or create_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as save_scene or modify_scene_node. The description does not mention prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_scriptcreate_scriptB
Create a GDScript file from a template
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Full source code (overrides template) | |
| extends | No | Base class to extend. Default: Node | |
| methods | No | Method stubs to include | |
| className | No | Optional class_name | |
| scriptPath | Yes | Script file path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, no readOnlyHint or destructiveHint. The description states 'Create' implying mutation, but does not disclose side effects, prerequisites, or error conditions. The minimalist description fails to compensate for missing annotation details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence conveys the core purpose with no wasted words. Though brief, it is front-loaded and efficient. Minor improvement could add structured detail without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, 2 required, no output schema, and many siblings. The description lacks details on return values, error handling, template behavior, and proper usage. Inadequate for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 6 parameters have descriptions). The description adds no extra meaning beyond the schema. Baseline score of 3 applies as the schema already documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create'), a clear resource ('GDScript file'), and a method ('from a template'). It distinguishes from siblings like attach_script (attaches existing script) and create_resource (generic resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., attach_script, create_scene). The phrase 'from a template' hints at a specific use 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.
delete_filedelete_fileB
Delete a file from a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | File path relative to project root | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (no readOnlyHint or destructiveHint), the description must disclose behavioral traits. It simply says 'Delete a file,' but does not mention permanence, whether deletion is reversible, or if confirmation is required. This is insufficient for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence without unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is adequate but lacks details on return behavior (e.g., success/error) and preconditions. It meets minimum viability but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as both parameters (filePath, projectPath) have descriptions. The description adds no further detail about parameters, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a file from a Godot project' clearly states the action (delete) and the resource (file within a Godot project). It is specific and differentiates from sibling tools like read_file or write_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., rename_file, remove_scene_node), nor are there prerequisites or constraints like file existence or permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_mesh_libraryexport_mesh_libraryB
Export a scene as a MeshLibrary resource
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Path to the scene file (.tscn) to export | |
| outputPath | Yes | Path where the mesh library (.res) will be saved | |
| projectPath | Yes | Godot project path | |
| meshItemNames | No | Optional: Names of specific mesh items to include (defaults to all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it exports, which implies file creation, but does not disclose potential side effects (e.g., overwriting), required permissions, or if it's destructive. With no behavioral annotations beyond title, the agent lacks transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear, front-loaded sentence with no unnecessary words. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the schema covers parameters, the description lacks important context such as the purpose of the optional 'meshItemNames', expected file formats, or error scenarios. For a tool with no output schema, more behavioral description would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline score is 3. The description does not add any extra meaning beyond what the schema already provides for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb ('Export') and resource ('scene as a MeshLibrary resource'), making the purpose immediately clear. It distinguishes from sibling tools like 'export_project' by specifying the output type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., other export tools). No mention of prerequisites, when not to use, or context where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_projectexport_projectC
Export a Godot project using a preset
| Name | Required | Description | Default |
|---|---|---|---|
| debug | No | Use debug export. Default: false | |
| outputPath | Yes | Output file path for the exported build | |
| presetName | Yes | Export preset name | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (no readOnlyHint or destructiveHint). The description simply says 'Export' implying output creation but does not disclose side effects like overwriting files, required permissions, or potential errors. Minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly conveys the purpose. It is efficient and front-loaded. However, it could benefit from a brief note on usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple export tool with 4 well-described parameters and no output schema, the description is minimally adequate. It lacks details on return values, error conditions, and prerequisites like preset existence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a clear description. The tool description adds no additional semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Export a Godot project using a preset' clearly states the action (export) and the resource (Godot project) with a specific method (using a preset). It distinguishes from sibling tools like 'export_mesh_library' but does not explicitly differentiate from 'godot_export', which also exports. Still, it is specific enough for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, nor on prerequisites or exclusions. For example, it doesn't mention that the preset must exist or that the output path must be writable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_3d_effectsgame_3d_effectsB
Create ReflectionProbe, Decal, or FogVolume
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| size | No | Effect size {x,y,z} | |
| intensity | No | Effect intensity | |
| effectType | Yes | Type: reflection_probe, decal, fog_volume | |
| parentPath | Yes | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only indicates creation, but lacks details on side effects, permissions, or any constraints. Annotations provide no read/write hints, so the description carries the burden but fails to disclose behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, single-sentence, and front-loaded with the key action and objects. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema, the description is minimal. It covers the core purpose but omits details like when to use each effectType or how the tool integrates with the scene. An average score reflects adequate but not comprehensive completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no new parameter meaning beyond listing the effect types. Baseline 3 is appropriate; the description does not enhance understanding of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Create) and the specific resource types (ReflectionProbe, Decal, FogVolume). It distinguishes the tool from siblings by specifying unique 3D effect types not covered by other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., game_environment, game_gi). The description does not mention prerequisites or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_add_collisiongame_add_collisionB
Add a collision shape to a physics body node
| Name | Required | Description | Default |
|---|---|---|---|
| disabled | No | Start disabled | |
| shapeType | Yes | Shape: box, sphere/circle, capsule, cylinder, ray, segment | |
| parentPath | Yes | Path to CollisionBody/Area node | |
| shapeParams | No | Shape dimensions (e.g. {radius, height}) | |
| collisionMask | No | Collision mask bitmask | |
| collisionLayer | No | Collision layer bitmask |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states only the action without disclosing behavioral traits like whether multiple collisions can be added, side effects, or required permissions. With no annotations providing safety hints, the description fails to convey mutation behavior or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence, no wasted words. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, 2 required, nested objects, and no output schema, the description is too sparse. It does not help the agent understand parameter usage or expected behavior, relying entirely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters are described in the schema (100% coverage), so the description adds no extra meaning beyond what's already provided. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Add' and resource 'collision shape', clearly identifying the tool's action. It also specifies the target 'physics body node', distinguishing it from sibling tools like game_shape_2d or game_physics_body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites mentioned (e.g., parent node existence), and no indication of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_animation_controlgame_animation_controlC
AnimationPlayer seek/queue/speed/info control
| Name | Required | Description | Default |
|---|---|---|---|
| speed | No | Playback speed scale | |
| action | Yes | Action: seek, queue, set_speed, get_info, stop | |
| nodePath | Yes | Path to AnimationPlayer node | |
| position | No | Seek position in seconds | |
| animationName | No | Animation name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (readOnlyHint, destructiveHint), the description must disclose behavioral traits. It lists actions like seek, queue, set_speed, get_info, stop but does not describe side effects, reversibility, or what happens to current playback. The transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one line and concise, front-loading key actions. While minimal, it avoids verbosity. It could be improved with structure (e.g., listing actions) but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, multiple actions), no output schema, and lack of behavioral annotations, the description is incomplete. It fails to explain return values for get_info, or how actions interact (e.g., queue vs seek). More detail is needed for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add much. It lists actions and implies parameter usage (e.g., speed for set_speed) but does not elaborate on parameter interactions or constraints beyond 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'AnimationPlayer seek/queue/speed/info control' clearly indicates the tool operates on an AnimationPlayer node and lists key actions, distinguishing it from siblings like 'game_play_animation' (plays animations) and 'game_animation_tree' (tree control). However, it lacks a specific verb and reads as a list rather than a succinct purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'game_play_animation' or 'game_animation_tree'. The description does not mention constraints, prerequisites, or context for each action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_animation_treegame_animation_treeC
AnimationTree state machine travel and params
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: travel, set_param, get_state, get_params | |
| nodePath | Yes | Path to AnimationTree node | |
| paramName | No | Parameter name | |
| stateName | No | State name (for travel) | |
| paramValue | No | Parameter value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title. The description fails to disclose behavioral traits like whether the AnimationTree must be playing, side effects of travel or set_param, or return format for get_state queries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one line), but at the expense of clarity. It could include more essential information without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no output schema, and no annotations, the description is insufficient. It omits return behaviors, error conditions, and important context for using the AnimationTree state machine.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning to the parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description mentions 'AnimationTree state machine travel and params', which identifies the resource and general actions, but it's vague. It doesn't clearly distinguish from sibling tools like game_animation_control or game_play_animation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, prerequisites, or context. The description lacks any usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_audio_busgame_audio_busB
Set volume, mute, or solo on an audio bus
| Name | Required | Description | Default |
|---|---|---|---|
| mute | No | Mute the bus | |
| solo | No | Solo the bus | |
| volume | No | Volume (linear 0-1) | |
| busName | No | Bus name. Default: "Master" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a mutating action ('Set'), but provides no details on side effects, persistence, or other behavioral traits. With no annotations like readOnlyHint or destructiveHint, the description fails to disclose sufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no unnecessary words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but acceptable for a simple setter tool with no required parameters and no output schema. However, it lacks examples or additional context about default behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of parameters, so the description adds minimal meaning. The description merely reiterates schema content (volume, mute, solo) without extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'audio bus', and lists the properties (volume, mute, solo) that can be modified. It distinguishes this tool from sibling tools like 'game_audio_bus_layout' and 'game_audio_effect'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_audio_bus_layoutgame_audio_bus_layoutC
Create/remove/reorder audio buses and routing
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | Target index (for move) | |
| action | Yes | Action: add, remove, move, set_send, list | |
| sendTo | No | Send target bus name | |
| busName | No | Bus name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so description carries full burden. It indicates mutation (create/remove/reorder) but discloses no side effects, required permissions, or potential audio disruption. Behavioral transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very concise with no wasted words. However, it sacrifices informativeness for brevity; a slightly longer description could improve clarity without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, no output schema, sparse annotations), the description is incomplete. It fails to explain routing, constraints, or return behavior, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% parameter description coverage, so schema already documents each field. The description adds no extra parameter details beyond listing actions, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates, removes, or reorders audio buses and routing, with specific actions listed. It uses a verb+resource structure, but does not explicitly differentiate from sibling tools like game_audio_bus or game_audio_effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or prerequisites, leaving the agent to infer usage context from the action list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_audio_effectgame_audio_effectC
Add/remove/configure audio bus effects
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | Effect index | |
| action | Yes | Action: add, remove, configure, list | |
| busName | No | Audio bus name. Default: Master | |
| effectType | No | Effect: reverb, delay, chorus, eq, compressor, limiter | |
| properties | No | Effect properties to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description carries full burden. It implies mutation ('add/remove/configure') but does not disclose side effects, permissions needed, or impact on existing audio. For a tool modifying audio bus effects, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (four words) but this is under-specification rather than efficient conciseness. It lacks necessary elaboration expected for a 5-parameter tool with nested objects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and moderate complexity (5 params, nested object), the description should explain expected behavior after applying effects, but it does not. The tool's purpose is stated but not fully contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions are basic labels (e.g., 'Action: add, remove, configure, list'). The description adds no extra meaning beyond the schema; it does not clarify the 'properties' object structure or the role of 'index'. Baseline 3 is appropriate as schema does heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it handles adding, removing, and configuring audio bus effects, which distinguishes it from sibling tools like game_audio_bus (managing buses) and game_audio_play (playing audio). However, it does not explicitly differentiate from game_audio_spatial or other effect-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, when to choose 'add' vs 'remove' vs 'configure', or prerequisites. The description is purely functional with no contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_audio_playgame_audio_playB
Play, stop, or pause an AudioStreamPlayer node
| Name | Required | Description | Default |
|---|---|---|---|
| bus | No | Audio bus name | |
| pitch | No | Pitch scale | |
| action | No | Action: play, stop, pause, resume | |
| stream | No | Optional res:// path to load a new stream | |
| volume | No | Volume (linear 0-1) | |
| nodePath | Yes | Path to AudioStreamPlayer/2D/3D node | |
| fromPosition | No | Start position in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description indicates mutability (play/stop/pause) but fails to disclose side effects, error states, or behavior for missing nodes. The action 'resume' is in the schema but not mentioned. No annotations compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but the tool handles 7 parameters and 4 actions; the brevity omits critical context, so it doesn't fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description is too minimal. It doesn't cover use cases, ordering, or combinations of actions (e.g., loading stream while playing).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 7 parameters, so baseline is 3. The description adds no extra meaning beyond restating the tool's function; it doesn't clarify parameter interactions or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Play, stop, or pause an AudioStreamPlayer node' clearly states the action and resource, distinguishing it from sibling audio tools like game_audio_bus or game_audio_effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or when-not-to-use conditions. Among many audio-related siblings, this lack of context hinders correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_audio_spatialgame_audio_spatialB
Configure AudioStreamPlayer3D spatial properties
| Name | Required | Description | Default |
|---|---|---|---|
| maxDb | No | Maximum volume in dB | |
| action | Yes | Action: configure, get_info | |
| nodePath | Yes | Path to AudioStreamPlayer3D | |
| unitSize | No | Unit size for distance attenuation | |
| maxDistance | No | Maximum audible distance | |
| attenuationModel | No | Model: inverse, inverse_square, logarithmic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description must disclose behavioral traits. It only says 'Configure' without stating that it modifies the node's spatial properties, whether changes are reversible, or what permissions are needed. No mention of side effects or the 'get_info' action's behavior. Lacks essential transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no fluff. However, it could be slightly more informative without losing conciseness. Still, it earns a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is insufficient. It doesn't explain the 'action' parameter (configure vs. get_info) or what 'get_info' returns. The tool's full behavior is unclear, especially for a dual-purpose tool. More context is needed for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described in the schema (e.g., maxDb, action). The description adds that these are 'spatial properties', but this is somewhat inferred from the tool name. Baseline 3 is appropriate as the description provides only marginal extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Configure AudioStreamPlayer3D spatial properties', specifying the verb and the exact resource. It distinguishes from sibling tools like game_audio_play (playing audio) and game_audio_bus (bus layout) by focusing on spatial properties of a specific node type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_audio_play or game_audio_bus. It doesn't mention prerequisites (e.g., node must exist) or situations where 'get_info' vs 'configure' is appropriate. The description is purely declarative without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_await_signalgame_await_signalB
Await a signal with timeout and return args
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Timeout in seconds. Default: 10 | |
| nodePath | Yes | Path to the node | |
| signalName | Yes | Signal name to await |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provide behavioral hints, so the description must fully disclose behavior. It mentions timeout and return args but does not explain timeout behavior (e.g., error or fallback), blocking nature, or what the returned arguments contain. This is insufficient for a likely blocking operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one short phrase) with no wasted words. It accomplishes its purpose efficiently, though it could benefit from slightly more detail without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of awaiting a signal with timeout, the description is minimal. No output schema exists, so return value semantics are unclear. More details on timeout handling and return format are needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions for all 3 parameters. The description adds minimal extra meaning beyond 'timeout' and 'return args', which are already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool awaits a signal with a timeout and returns arguments. This verb+resource combination is specific and distinguishes it from siblings like connect/disconnect/emit/list signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to guidance. The description implies use for awaiting a signal, but doesn't compare to alternatives like game_connect_signal or game_emit_signal, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_bone_posegame_bone_poseC
Get or set bone poses on a Skeleton3D node
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | Bone scale {x,y,z} | |
| action | No | Action: list, get, or set. Default: list | |
| boneName | No | Bone name (alternative to index) | |
| nodePath | Yes | Path to Skeleton3D node | |
| position | No | Bone position {x,y,z} | |
| rotation | No | Bone rotation quaternion {x,y,z,w} | |
| boneIndex | No | Bone index |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no useful annotations (only title), the description must disclose behavioral traits. It states get/set but omits important details: what happens on set (permanent? immediate?), what if the bone doesn't exist, or what the return value looks like for get. The lack of output schema exacerbates this gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action. It is concise, but could be slightly more informative without becoming verbose (e.g., mentioning the action parameter).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, nested objects, and no output schema, the description is too minimal. It does not explain the default action, how to use parameters together, return format, or error scenarios. The agent lacks sufficient context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description adds no extra meaning beyond the schema. It does not explain how parameters interact (e.g., boneName vs boneIndex, or that position/rotation/scale are used only with action='set').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get or set') and the resource ('bone poses on a Skeleton3D node'), providing a specific purpose. However, it does not distinguish from sibling tools like game_skeleton_ik or game_animation_control, which could cause confusion for an AI agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, common use cases, or scenarios where other tools (e.g., game_skeleton_ik) would be more appropriate. This leaves the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_call_methodgame_call_methodC
Call a method on any node in the running game with optional arguments
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Optional array of arguments to pass to the method | |
| method | Yes | Method name to call | |
| nodePath | Yes | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided (e.g., readOnlyHint, destructiveHint), and the description does not disclose behavioral traits such as potential side effects (calling a method may modify game state), error handling, or permission requirements. The agent has no insight into the tool's safety or impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core action. However, it is slightly under-specified, as it omits any structural elements like conditions or notes. Still, it's efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of calling arbitrary methods on game nodes, the description is too brief. There are no annotations, no output schema, and no mention of return values, error conditions, or call limitations. The agent lacks essential context to use the tool safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the input schema already documents all three parameters with clear descriptions. The description adds no extra meaning beyond 'with optional arguments', which matches the schema's description for 'args'. Therefore, the description does not enhance the schema's information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies that the tool calls a method on any node with optional arguments. It clearly identifies the verb ('call'), resource ('method on any node'), and scope ('in the running game'). While it does not explicitly differentiate from siblings like game_eval or game_set_property, the action is distinct enough among the list of sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as game_eval for evaluating expressions or game_set_property for setting properties. The description also lacks any indication of when not to use it, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_camera_attributesgame_camera_attributesB
Configure DOF, exposure, auto-exposure on camera
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: get or set | |
| dofBlurFar | No | DOF far blur distance | |
| dofBlurNear | No | DOF near blur distance | |
| autoExposure | No | Enable auto exposure | |
| dofBlurAmount | No | DOF blur amount | |
| autoExposureScale | No | Auto exposure scale | |
| exposureMultiplier | No | Exposure multiplier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries the burden. It says 'Configure' implying mutation, but does not disclose side effects, permissions needed, or return value. It doesn't contradict annotations, but lacks behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 10-word sentence that efficiently communicates the core purpose. It is concise and front-loaded, though no structured list or additional organization is needed for such a short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and minimal annotations, the description should provide more context. It does not explain what DOF or exposure terms mean, typical values, or what the result of configure is. Incomplete relative to tool complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for 7 parameters, so the description adds minimal value beyond grouping them as DOF, exposure, auto-exposure. Baseline of 3 is appropriate since schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Configure' and clearly identifies the resource 'camera' with specific aspects (DOF, exposure, auto-exposure). It distinguishes itself from sibling tools like game_get_camera and game_set_camera by focusing on attribute configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no scenarios where it should not be used. For example, it doesn't mention if the camera must be selected or if this tool is for setting attributes on an existing camera.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_canvasgame_canvasB
Create/configure CanvasLayer and CanvasModulate
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| color | No | Modulate color {r,g,b,a} | |
| layer | No | Canvas layer number | |
| action | Yes | Action: create_layer, create_modulate, configure | |
| nodePath | No | Node path (for configure) | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description says 'Create/configure' but doesn't disclose side effects, whether existing objects are modified or replaced, or any prerequisites. Annotations are minimal and don't compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short and to the point, but could include more detail without adding fluff. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool manages canvas layers and modulate, which are complex concepts in Godot. The description lacks explanation of how they relate, default behavior, or return values. Incomplete for a 6-parameter tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema already provides for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates/configure CanvasLayer and CanvasModulate, which are specific resources in Godot. It distinguishes from siblings by focusing on canvas-related objects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_canvas_draw or other canvas-related tools. Missing context for when to create vs configure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_canvas_drawgame_canvas_drawC
2D drawing: line/rect/circle/polygon/text/clear
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End point {x,y} | |
| from | No | Start point {x,y} | |
| rect | No | Rectangle {x,y,w,h} | |
| text | No | Text to draw | |
| color | No | Draw color {r,g,b,a} | |
| width | No | Line width. Default: 2 | |
| action | Yes | Action: line, rect, circle, polygon, text, clear | |
| center | No | Center point {x,y} | |
| filled | No | Fill shape. Default: true | |
| points | No | Polygon points [{x,y},...] | |
| radius | No | Circle radius | |
| parentPath | No | Parent node path for draw node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the basic drawing capability. It fails to mention whether drawing is persistent, if it requires a canvas context, or any side effects. Annotations are minimal, so the description carries the full burden but offers little.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single line. While it lists the key actions efficiently, it might be too terse for an agent to fully understand the tool's capability without referring to the schema. More structure would improve usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, nested objects, no output schema), the description is insufficient. It does not explain the tool's return value or the effect on the game state, leaving the agent without crucial context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter has a basic description. The tool description adds no extra semantic meaning beyond listing the actions. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's for 2D drawing and lists the supported shapes (line, rect, circle, polygon, text, clear), which defines the tool's purpose distinctly. However, it does not explicitly differentiate it from sibling tools like game_canvas or game_debug_draw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to use game_canvas for canvas management or game_debug_draw for debugging. There are no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_change_scenegame_change_sceneA
Switch to a different scene file in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Resource path to the scene (e.g., "res://scenes/levels/level2.tscn") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description conveys the core behavior of switching scenes. It implies unloading the current scene and loading a new one, which is adequate for this simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence of 10 words with no waste. Every word is necessary and directly conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides complete context. There are no gaps in understanding what the tool does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents scenePath. The description adds no additional meaning beyond what the schema provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (switch) and the resource (scene file), with a specific verb and resource. It distinguishes from sibling tools like game_instantiate_scene and game_get_scene_tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are provided. The tool is simple, but guidance on when to use it versus other scene-related tools would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_clickgame_clickB
Click at a position in the running Godot game window
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate to click | |
| y | Yes | Y coordinate to click | |
| button | No | Mouse button (1=left, 2=right, 3=middle). Default: 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so the description carries the full burden. It does not disclose any behavioral traits such as whether the click is instantaneous, any permissions required, or side effects. The minimal description fails to inform the agent about expected behavior beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it lacks important details that could be included without sacrificing brevity. It is appropriately front-loaded but could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that performs a click action in a game window, the description should clarify coordinate system, behavior if coordinates are out of bounds, and that it simulates a mouse click. It lacks such context and is minimal for a mutation-like tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the parameter descriptions in the schema (e.g., 'X coordinate to click'). No value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('click') and clearly identifies the target resource ('position in the running Godot game window'). It effectively distinguishes from sibling tools like 'game_mouse_move' and 'game_mouse_drag' which handle different mouse actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'game_key_press' or 'game_mouse_drag'). The description does not mention any context, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_connect_signalgame_connect_signalB
Connect a signal from one node to a method on another node in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Method name to call on the target node | |
| nodePath | Yes | Path to the source node that emits the signal | |
| signalName | Yes | Name of the signal to connect | |
| targetPath | Yes | Path to the target node that receives the signal |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title). Description implies mutation ('connect in running game') but doesn't disclose side effects (e.g., if connection already exists, reversibility, required node states). With low annotation coverage, description should provide more behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Front-loaded with action and context. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no return value info. Description lacks details on error cases or post-connection behavior. For a 4-param mutation tool, it's adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% parameter description coverage, so description need not add extra meaning. The tool description does not elaborate on parameters beyond schema, but schema itself is adequate. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (connect), resources (signal, node, method), and context (running game). Distinguishes from siblings like game_disconnect_signal and game_emit_signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_disconnect_signal or game_emit_signal. Missing prerequisites or context about when connection is valid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_create_animationgame_create_animationB
Create an animation with tracks and keyframes
| Name | Required | Description | Default |
|---|---|---|---|
| length | No | Animation length in seconds. Default: 1.0 | |
| tracks | No | Array of track definitions | |
| library | No | Animation library name. Default: "" | |
| loopMode | No | 0=none, 1=linear, 2=pingpong | |
| nodePath | Yes | Path to AnimationPlayer node | |
| animationName | Yes | Name for the new animation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title with no behavioral hints. The description says 'Create' implying mutation but does not disclose whether it overwrites existing animations, requires specific permissions, or failure modes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words. It is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description omits crucial context about how tracks and keyframes are structured, which is essential for correct use. The tool has 6 parameters including an array of undefined track definitions, so more detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (e.g., loopMode values). The description adds no further meaning beyond the schema, achieving baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and resource 'animation with tracks and keyframes', distinguishing it from sibling tools like game_play_animation or game_animation_control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites like an existing AnimationPlayer node. Usage is implied but not detailed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_create_jointgame_create_jointB
Create a physics joint between two bodies
| Name | Required | Description | Default |
|---|---|---|---|
| length | No | Length (spring_2d, groove_2d) | |
| damping | No | Spring damping (spring_2d) | |
| softness | No | Softness (pin_2d) | |
| jointType | Yes | Joint type: pin_2d, spring_2d, groove_2d, pin_3d, hinge_3d, cone_3d, slider_3d | |
| nodeAPath | No | Path to first body | |
| nodeBPath | No | Path to second body | |
| stiffness | No | Spring stiffness (spring_2d) | |
| parentPath | Yes | Parent node path for the joint |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description bears full responsibility for behavioral disclosure. It only states creation without detailing side effects, required node existence, or error handling. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (8 words) that front-loads the purpose. While efficient, it could include a brief usage hint without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no output schema, no annotations), the description is too thin. It fails to explain the joint creation process, the role of parentPath, or how different joint types use parameters. Schema descriptions partially compensate but not fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents each parameter's meaning. The tool description adds no additional context beyond what is in the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Create a physics joint between two bodies" is a specific verb+resource, clearly stating the tool's function. It effectively distinguishes itself from sibling tools like game_physics_body or game_physics_2d, which deal with broader physics setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., other physics tools) or when not to use it. It lacks explicit context for selection, such as prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_create_timergame_create_timerC
Create a Timer node with configuration
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional timer node name | |
| oneShot | No | One-shot mode. Default: false | |
| waitTime | No | Timer duration in seconds. Default: 1.0 | |
| autostart | No | Auto-start the timer. Default: false | |
| parentPath | No | Parent node path. Default: "/root" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description carries the full burden. It only states creation without disclosing side effects, node attachment behavior, or lifecycle implications. The schema hints at parameters like 'autostart' and 'oneShot', but the description does not elaborate on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. It is not verbose, but it is very brief, leaving out potentially helpful guidance. Still, it earns a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters and no output schema or annotations, the description is overly minimal. It fails to explain the Timer node's role in gameplay, impact on performance, or common use cases for parameters like 'oneShot' and 'autostart'. The sibling list is extensive, but no comparisons are drawn.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond 'with configuration', effectively providing no additional value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('Timer node'), and the input schema confirms configuration options. While it does not explicitly differentiate from sibling tools like 'add_node' or 'game_spawn_node', there is no direct sibling for timer creation, so this is adequate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'add_node' or 'game_animation_control'. The description lacks context about prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_csggame_csgB
Create/configure CSG nodes with boolean operations
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| size | No | Size {x,y,z} (box) | |
| action | Yes | Action: create or configure | |
| height | No | Height (cylinder) | |
| radius | No | Radius (sphere/cylinder) | |
| csgType | No | CSG type: box, sphere, cylinder, mesh, combiner | |
| material | No | Material resource path | |
| nodePath | No | Node path (for configure) | |
| operation | No | Boolean op: union, intersection, subtraction | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include a title, with no readOnlyHint or destructiveHint. Description implies mutation but does not disclose additional behavioral traits such as side effects, permissions, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is concise, though it could include more detail without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, nested objects, no output schema), the description is too sparse. It lacks examples, expected behavior, and return value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema, only mentioning boolean operations without clarifying parameter mappings or nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool creates/configure CSG nodes with boolean operations, using a specific verb and resource, which distinguishes it from sibling tools that deal with other game elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; no mention of prerequisites, limitations, or when not to use it. Sibling list is large but no differentiation provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_debug_drawgame_debug_drawB
Draw debug lines, spheres, or boxes in 3D
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Line end {x,y,z} | |
| from | No | Line start {x,y,z} | |
| size | No | Box size {x,y,z} | |
| color | No | Draw color {r,g,b,a}. Default: red | |
| action | Yes | Action: line, sphere, box, or clear | |
| center | No | Sphere/box center {x,y,z} | |
| radius | No | Sphere radius. Default: 0.5 | |
| duration | No | Frames to persist (0=permanent) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description carries full burden. It only says 'Draw debug lines, spheres, or boxes in 3D' without disclosing that draws accumulate, require manual clearing, or have performance implications. The 'duration' parameter's behavior is not explained beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence. Could be slightly improved by hinting at parameter dependencies (e.g., shape-specific parameters).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, nested objects, and no output schema, the description is insufficient. It fails to explain shape selection, coordinate system, or how multiple draws interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and describes all parameters with types and defaults. Description adds no extra meaning beyond the schema, so baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Draw' and the resource 'debug lines, spheres, or boxes in 3D', distinguishing it from sibling tools like 'game_3d_effects' which likely handle visual effects rather than debug primitives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites, no conditions for clearing or persisting drawings. The agent gets no context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_disconnect_signalgame_disconnect_signalB
Disconnect a signal connection in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Method name on the target | |
| nodePath | Yes | Path to the source node | |
| signalName | Yes | Name of the signal | |
| targetPath | Yes | Path to the target node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits disclosed beyond the minimal description. No annotations are present to offset. Missing details on error handling (e.g., connection not found) or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, focused sentence with no unnecessary words. Front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple disconnect operation, the description is adequate but could mention what happens on success or error, or that the connection must exist. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so the description adds no extra meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'disconnect' and the resource 'a signal connection in the running game'. This distinguishes it from siblings like 'game_connect_signal' and 'game_list_signals'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites, and no mention of the required connection being previously established via 'game_connect_signal'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_emit_signalgame_emit_signalA
Emit a signal on a node in the running game, optionally with arguments
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Optional arguments to pass with the signal | |
| nodePath | Yes | Path to the node | |
| signalName | Yes | Name of the signal to emit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title are provided, so the description carries the burden. It only states the basic action without detailing behavioral traits such as error handling, side effects (e.g., if node/signal doesn't exist), or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant information; efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple action but lacks context about return values, error conditions, or constraints (e.g., only works on running game). Given no output schema, more detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds 'optionally with arguments' which mirrors the args parameter, but adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'emit', the resource 'signal on a node', and the context 'in the running game', effectively distinguishing from sibling tools like game_connect_signal or game_disconnect_signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to emit a signal on a node, but does not explicitly state when to use this tool versus alternatives, 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.
game_environmentgame_environmentC
Get or set environment and post-processing settings
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: get or set. Default: set | |
| contrast | No | Contrast adjustment | |
| glowBloom | No | Glow bloom | |
| brightness | No | Brightness adjustment | |
| fogDensity | No | Fog density | |
| fogEnabled | No | Enable fog | |
| saturation | No | Saturation adjustment | |
| ssaoRadius | No | SSAO radius | |
| ssrEnabled | No | Enable SSR | |
| glowEnabled | No | Enable glow | |
| ssaoEnabled | No | Enable SSAO | |
| tonemapMode | No | 0=linear, 1=reinhardt, 2=filmic, 3=aces | |
| fogLightColor | No | Fog light color {r,g,b,a} | |
| glowIntensity | No | Glow intensity | |
| ssaoIntensity | No | SSAO intensity | |
| backgroundMode | No | 0=clear, 1=custom_color, 2=sky, 3=canvas | |
| backgroundColor | No | Background color {r,g,b,a} | |
| ambientLightColor | No | Ambient light color {r,g,b,a} | |
| ambientLightEnergy | No | Ambient light energy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries full burden. It does not disclose side effects such as whether changes are immediate, require a scene reload, or affect other rendering settings. No warnings about performance or dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (8 words) with no wasted text. It is front-loaded and clear, even if minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 19 parameters, no output schema, and no behavioral details, the description is insufficient. It fails to provide context on typical usage, defaults, or return values for 'get' actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter. It does not explain default values or how parameters interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets or sets environment and post-processing settings, which is a specific verb-resource combination. However, it does not differentiate from siblings like game_3d_effects or game_render_settings that may 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use 'get' vs 'set' or when to prefer this tool over alternatives. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_evalgame_evalC
Execute GDScript in the running game. Use "return" for values.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | GDScript code to execute. Use "return" to return values. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty (no readOnlyHint or destructiveHint), so the description must disclose all behavioral traits. It only states execution without mentioning potential side effects, security risks, error behavior, or that it can modify game state. This is insufficient for an arbitrary code execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded with purpose. However, it omits important details that could be included concisely, such as safety warnings or return value handling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool executes arbitrary GDScript, which is highly complex and powerful. With no output schema and minimal annotations, the description is severely incomplete—missing information on return types, error behavior, side effects, and security implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'code' parameter is described). The tool description adds no additional meaning beyond the schema's own description, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Execute GDScript in the running game,' which is a specific verb and resource. It implicitly distinguishes from the sibling 'godot_eval' by specifying runtime context, but does not explicitly differentiate from other runtime tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'godot_eval' or 'game_call_method.' The only guidance is about using 'return' for values, which is a parameter usage hint, not a tool selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_find_nodes_by_classgame_find_nodes_by_classB
Find all nodes of a specific class type in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| rootPath | No | Root node path to start searching from. Default: "/root" | |
| className | Yes | Class name to search for (e.g., "CharacterBody3D", "Light3D") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description must convey behavior. It merely states 'find' which implies a read operation but does not disclose whether the operation is instantaneous, if it returns references or copies, or any side effects (none expected, but not confirmed).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It front-loads the key action and resource, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should indicate the return shape (e.g., list of node paths or nodes). It does not, leaving ambiguity about what the agent receives. For a query tool, this is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Find all nodes of a specific class type in the running game', specifying the action (find), resource (nodes), and distinguishing from siblings like game_get_node_info (single node) or game_get_property (one property).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., game_get_nodes_in_group, game_get_node_info). No explicit when-not-to-use or context 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.
game_gamepadgame_gamepadB
Send gamepad button or axis input event
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | "button" or "axis" | |
| index | Yes | Button or axis index | |
| value | Yes | Value: 0/1 for buttons, -1.0 to 1.0 for axes | |
| device | No | Gamepad device index. Default: 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations like readOnlyHint or destructiveHint, the description carries the full burden of behavioral disclosure. It states 'send... input event' which implies a mutation (simulating input), but it does not explain side effects, whether it requires game focus, or if it is a one-shot event.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is efficient, though it could be slightly expanded with minimal context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters and no output schema. The description does not mention return values, error conditions (e.g., invalid index), or the result of the action, leaving the agent without critical context for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters adequately. The description adds no additional meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Send gamepad button or axis input event'. It uses a specific verb ('send') and resource ('gamepad input event'), and it implicitly distinguishes itself from sibling tools like game_key_press (keyboard) and game_mouse_drag (mouse).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that keyboard and mouse inputs have separate tools, nor does it specify prerequisites (e.g., connected gamepad) or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_audiogame_get_audioB
Get audio bus layout and playing streams
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' implies read-only behavior, but without annotations like readOnlyHint, the description does not confirm this or disclose any other behavioral traits (e.g., performance impact, permissions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no wasted words. It front-loads the action and resource effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is minimal but functional. It lacks details on return format or side effects, but may be sufficient for a simple query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are defined, so the schema coverage is 100%. Per guidelines, baseline is 4; the description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'audio bus layout and playing streams' with a specific verb and resource. However, it doesn't explicitly differentiate from sibling tools like 'game_audio_bus_layout' or 'game_audio_play', but the combined phrasing suggests a broader retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'game_audio_bus_layout' or 'game_audio_play'. The occurrence 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.
game_get_cameragame_get_cameraA
Get active camera position, rotation, and size
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (readOnlyHint etc.). The description explicitly says 'Get', implying a non-destructive read operation, and lists returned attributes. This adds context beyond the minimal annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the action and result. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately specifies what is returned (position, rotation, size). Slight ambiguity about coordinate spaces or which camera (active) is implied, but sufficient for a simple getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 applies. The description does not need to explain parameters; schema coverage is 100% (empty).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the active camera's position, rotation, and size. It distinguishes from sibling tools like 'game_set_camera' by focusing on 'get' behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., 'game_get_node_info' or 'game_set_camera'). The name and description imply it's for getting camera state, but no when-not or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_errorsgame_get_errorsA
Get new push_error/push_warning messages since last call
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. It indicates a read operation but omits side effects (e.g., whether errors are cleared after retrieval), authentication needs, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence front-loads purpose. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no params, no output schema means description should detail return format. It only vaguely mentions 'messages' without structure. Lacks behavioral context like reset behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, baseline 4. Description adds no param info, but schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb ('Get'), resource ('push_error/push_warning messages'), and scope ('since last call'). Distinguishes from siblings like game_get_logs by specifying only new errors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for fetching new errors, but no explicit when-to-use or alternatives. Given many sibling tools, some guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_logsgame_get_logsA
Get new print output from the running game since last call
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key polling behavior (returns only new output since the last call) which is critical for correct usage. Annotations are minimal, so the description carries the full burden and does so effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded with the verb and resource, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description is complete. It explains the tool's function and the incremental nature of the output, which is sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100%. The description adds value beyond the schema by explaining the tool's purpose, which is essential since the empty schema provides no functionality clues.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves new print output from the running game since the last call, using a specific verb 'get' and resource 'print output'. It distinguishes itself from sibling tools like 'game_get_errors' and 'godot_game_logs' by focusing on incremental print output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for polling print output, but it does not explicitly state when to use it versus alternatives like 'game_get_errors' for errors or 'godot_game_logs' for broader logs. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_node_infogame_get_node_infoB
Get node info: class, properties, signals, methods, children
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node (e.g., "/root/Player") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description bears the burden. 'Get node info' implies a read operation, but no explicit statement about side effects, auth requirements, or safety. The description does not indicate whether it modifies the game state or requires special permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: a single sentence that starts with the action and lists the information categories. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one parameter, no output schema), the description adequately covers what it returns (class, properties, etc.). However, mentioning the format (e.g., dictionary) would improve completeness. Still above average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described parameter (nodePath). The tool description does not add additional meaning beyond that. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves node info, listing specific categories (class, properties, signals, methods, children). This provides a precise verb-resource combination that distinguishes it from sibling tools like game_get_property or game_list_signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't specify conditions like 'use when you need all node information' or exclude cases like 'for individual properties, use game_get_property'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_nodes_in_groupgame_get_nodes_in_groupB
Get all nodes belonging to a specific group in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | Group name (e.g., "enemies", "player", "checkpoints") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include title; no readOnlyHint or destructiveHint. The description implies a read operation but does not explicitly state it is read-only or disclose any side effects, permissions, or limitations. The behavioral traits are minimally communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that conveys the essential purpose with no unnecessary words. Efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and is straightforward, but the description omits information about the return value (e.g., format, data type). Given no output schema, this is a gap. The description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'group' is well-documented with a description and examples. The description adds examples but does not significantly augment the schema's information. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'nodes belonging to a specific group', and the context 'in the running game'. It distinguishes from sibling tools like game_find_nodes_by_class (finds by class) and game_manage_group (manages groups).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as game_find_nodes_by_class or game_manage_group. There is no mention of prerequisites or contextual suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_propertygame_get_propertyA
Get a property value from any node in the running game by its path
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node (e.g., "/root/Player", "/root/Main/Enemy") | |
| property | Yes | Property name to get (e.g., "position", "health", "visible") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not contradict any annotations (annotations lack readOnlyHint). It implies a read operation but does not disclose whether there are any side effects or performance considerations. The behavioral clarity is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys purpose, with no redundant or unnecessary words. It is well front-loaded and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description plus schema fully cover what is needed. There is no output schema, but the return value is implied by the property name. No additional context is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear examples for both parameters. The tool description adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('property value from any node'), and the means ('by its path'). It distinguishes from sibling tools like 'game_set_property' which sets properties, and 'game_get_node_info' which returns more comprehensive node data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With over 100 sibling tools, it should at least differentiate from 'game_set_property' and 'game_get_node_info', but it does not offer any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_scene_treegame_get_scene_treeB
Get scene tree structure of the running game
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no hints (no readOnlyHint or destructiveHint). The description adds no behavioral details beyond the name itself—e.g., it does not state that this is a read-only operation, that it returns the full tree or a subset, or whether it works only on running games. This lack of disclosure leaves the agent uninformed about invocation consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded and efficient. However, it could be slightly expanded to include output details without becoming verbose, so it is concise but not maximally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (no parameters, no output schema), the description is minimally viable. It conveys the basic purpose but omits details about the structure of the returned scene tree (e.g., node hierarchy, properties). An agent would need additional context to fully utilize the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is trivially 100%. With no parameters to describe, the baseline score is 4. The description provides no additional parameter information, which is acceptable given the absence of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the scene tree structure of the running game, using a specific verb ('Get') and resource ('scene tree structure'). However, it does not differentiate from sibling tools like 'godot_scene_tree' or 'manage_scene_structure', which may 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description does not specify when to use this tool versus alternatives, nor does it mention any prerequisites or side effects. The agent receives no guidance on optimal invocation scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_get_uigame_get_uiB
Get visible UI elements from the running game
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (no readOnlyHint or destructiveHint). The description states 'Get' implying a read operation, but does not disclose potential side effects, authentication needs, or how the UI elements are returned (e.g., structure, enumeration).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of eight words with no redundant information. Every word is essential for the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description gives a basic understanding. However, it lacks information about the return format (e.g., list of element identifiers or paths), which would help the agent process results. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100% (empty). The description does not need to add parameter details. It does not contradict the schema, so it meets the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets visible UI elements, distinguishing it from sibling tools that manipulate UI (e.g., game_ui_control, game_ui_item_list). However, it could be more specific about what constitutes 'visible UI elements'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_ui_control for manipulation. The phrase 'from the running game' implies context but does not exclude other tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_gigame_giB
Create/configure VoxelGI or LightmapGI
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| size | No | Extents size {x,y,z} | |
| giType | Yes | Type: voxel_gi or lightmap_gi | |
| parentPath | Yes | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provide destructive or read-only hints. The description implies mutability but does not disclose side effects (e.g., whether it overwrites existing nodes), required permissions, or what 'configure' entails beyond creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. While it could include more context, it is appropriately concise for a tool that is one of many.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description lacks detail on return values or behavioral expectations. GI is a complex concept; minimal description does not sufficiently guide an AI agent on usage and outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters. The description adds no extra meaning beyond mapping 'voxel_gi'/'lightmap_gi' to giType. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates/configures two specific GI types (VoxelGI or LightmapGI), using a specific verb and resource. It distinguishes from sibling tools like game_light_3d or game_environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as game_environment or game_light_3d. Does not mention prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_gridmapgame_gridmapB
GridMap set/get/clear cells and query used cells
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Cell X coordinate | |
| y | No | Cell Y coordinate | |
| z | No | Cell Z coordinate | |
| item | No | MeshLibrary item index | |
| action | Yes | Action: set_cell, get_cell, clear, get_used | |
| nodePath | Yes | Path to GridMap node | |
| orientation | No | Cell orientation index |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (readOnlyHint, destructiveHint), the description must disclose behavioral traits. It only lists actions without explaining side effects, permissions, or whether changes are immediate. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets the core idea across quickly. However, it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, multiple actions) and absence of an output schema, the description is too sparse. It does not explain return values for queries or the effect of actions, leaving important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the schema's parameter descriptions. It does not clarify parameter dependencies or action-specific requirements, earning a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly lists specific actions (set, get, clear, query) and the resource (GridMap cells), making the tool's purpose unambiguous. It distinguishes itself from sibling tools by focusing on grid cell operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or when not to use it. The description does not mention prerequisites or context, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_http_requestgame_http_requestB
HTTP GET/POST/PUT/DELETE with headers and body
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Request URL | |
| body | No | Request body string | |
| method | No | HTTP method: GET, POST, PUT, DELETE. Default: GET | |
| headers | No | Request headers as key-value pairs | |
| timeout | No | Timeout in seconds. Default: 30 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only a title in annotations, the description should disclose behavioral traits like error handling, redirects, authentication, or side effects. It only lists methods and components, omitting critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly conveys the core functionality. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters, no output schema, and minimal annotations, the description fails to explain return values, error states, or usage context. It is too brief for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no parameter-specific meaning beyond the schema's field descriptions, which are already adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs HTTP GET/POST/PUT/DELETE requests with headers and body. This distinguishes it from sibling tools that are game engine operations, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description does not mention prerequisites, common use cases, or when not to use it, leaving the agent without contextual decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_input_actiongame_input_actionC
Manage runtime InputMap actions and strength
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key name (for add_action) | |
| action | Yes | Action: set_strength, add_action, remove_action, list | |
| strength | No | Action strength 0.0-1.0 | |
| actionName | No | Input action name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description carries full responsibility for behavioral disclosure. It only says 'Manage', but does not reveal that actions like 'remove_action' are destructive, nor does it mention runtime implications or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and front-loaded. It is concise but may be too brief to fully inform the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters and no output schema. The description does not explain return values (e.g., for 'list' action) or potential errors, leaving it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which are already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it manages runtime InputMap actions and strength, using a specific verb and resource. However, it does not differentiate from the sibling tool 'manage_input_map', which likely has overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'manage_input_map' or 'game_input_state'. The description lacks context for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_input_stategame_input_stateC
Query pressed keys, mouse position, connected pads
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Mouse X (for warp_mouse) | |
| y | No | Mouse Y (for warp_mouse) | |
| action | No | Action: query, warp_mouse, set_mouse_mode | |
| mouseMode | No | Mode: visible, hidden, captured, confined |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fails to disclose that the tool can mutate state (warp_mouse, set_mouse_mode). It presents only a read operation ('Query'), which is inaccurate and hides behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly brief (5 words) and omits critical actions, making it incomplete rather than concise. It fails to earn its place by not covering the tool's full functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description should at least mention the three actions (query, warp_mouse, set_mouse_mode) to set user expectations. Its incompleteness leaves the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond what is already documented in the schema. Baseline score of 3 is appropriate as no value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Query pressed keys, mouse position, connected pads' which identifies the querying purpose, but it omits the 'warp_mouse' and 'set_mouse_mode' actions defined in the schema, making the purpose incomplete and slightly misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling input tools like game_key_hold, game_mouse_move, or game_input_action. The description lacks any context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_instantiate_scenegame_instantiate_sceneA
Load a PackedScene and add it as a child of a node in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Resource path to the scene (e.g., "res://scenes/enemy.tscn") | |
| parentPath | No | Path to the parent node. Default: "/root" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint. Description states mutation (adding node to scene tree) but lacks details on permissions, reversibility, or error handling. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, front-loaded with key verb and resource. Efficient but could benefit from minor restructuring for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has two simple parameters, no output schema. Description is minimal but lacks context about return value or side effects beyond adding node. Adequate for simple tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: loading a PackedScene and adding it as a child. It distinguishes from siblings like game_change_scene (switches scene), add_node (adds generic node), and game_spawn_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like add_node or game_spawn_node. Usage is implied but not clarified with when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_key_holdgame_key_holdA
Hold a key down without auto-releasing
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key name (e.g. "W", "Space", "Shift") | |
| action | No | Godot input action name (e.g. "move_forward") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'without auto-releasing', which partially discloses behavior, but it fails to specify whether the hold is blocking, how to end the hold, or what happens on overlapping inputs. With no annotations (destructiveHint, readOnlyHint) to supplement, more clarity is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core functionality immediately. It avoids unnecessary detail and is front-loaded, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 optional parameters, no output schema), the description covers the basic purpose but lacks details on side effects, return values, or how the hold interacts with the game environment. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing descriptions for both 'key' and 'action'. The description does not add further meaning beyond the schema, such as precedence rules when both are provided or typical usage patterns, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hold a key down without auto-releasing' clearly states the action (hold) and the resource (key), and the 'without auto-releasing' differentiates it from sibling tools like game_key_press or game_key_release, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for continuous key holding but does not explicitly state when to use this tool versus alternatives like game_key_press or game_key_release. No direct guidance on prerequisites or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_key_pressgame_key_pressC
Send a key press or input action to the running game
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key name (e.g. "W", "Space", "Escape", "Enter") | |
| action | No | Godot input action name (e.g. "move_forward", "ui_accept") | |
| pressed | No | Press (true) or release (false). Default: true (auto-release) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description has full responsibility for behavioral disclosure. It only states the basic action, omitting details like auto-release (documented in schema parameter description), side effects, or required game state. For a safe mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it is too minimal to be fully helpful; every word earns its place, but it lacks necessary detail for effective use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 60+ sibling tools including many input-related ones, the description fails to provide context. With 3 optional params, no output schema, and no annotations, it should clarify parameter relationships and when to use alternative tools. It is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema, e.g., explaining when to use 'key' vs 'action' or the effect of 'pressed'. It stays at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a key press or input action, but does not explicitly differentiate from siblings like game_key_hold or game_key_release, which involve different durations. The verb 'press' implies momentary action, but the inclusion of 'input action' covers a broader category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, game_key_hold is for sustained presses, game_key_release for releases, and game_click for mouse clicks. The description lacks context for choosing among these.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_key_releasegame_key_releaseC
Release a previously held key
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key name to release | |
| action | No | Godot input action name to release |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title. Description does not disclose what happens if the key is not held, any side effects, return behavior, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. However, could be expanded with useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and many sibling input tools, the description is incomplete. It does not explain the relationship to holding/pressing, or clarify parameter usage when both are optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. Tool description adds no extra meaning beyond 'Key name to release' and 'Godot input action name to release'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Release a previously held key', which is a specific verb+resource. It distinguishes from siblings like game_key_hold and game_key_press, but could be more explicit about the Godot input context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., game_key_press, game_key_hold). No context on prerequisites or expected state of the input system.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_light_2dgame_light_2dA
Create/configure 2D lights and light occluders
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| color | No | Light color {r,g,b,a} | |
| range | No | Light texture range | |
| action | Yes | Action: create_point, create_directional, create_occluder | |
| energy | No | Light energy | |
| nodePath | No | Node path (for configure) | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description carries the burden. It adds context about creating/configuring but lacks details on effects like performance impact or requirements for occluders. The action parameter provides structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, precise sentence with no redundant words. It efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, full schema coverage, and no output schema, the description combined with the schema is adequate. Minor missing context: occluders often require a texture, but not critical. Overall sufficient for understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema provides for parameters. It summarizes the action but does not elaborate on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create/configure 2D lights and light occluders'. This specific verb-resource combination is distinct from sibling tools like game_light_3d, making it easy for the AI to select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for 2D lighting and occluders, and the sibling tool game_light_3d provides a clear alternative for 3D. However, no explicit when-to-use or when-not-to-use instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_light_3dgame_light_3dB
Create/configure 3D lights (directional/omni/spot)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| color | No | Light color {r,g,b} | |
| range | No | Light range (omni/spot) | |
| action | Yes | Action: create or configure | |
| energy | No | Light energy/intensity | |
| shadows | No | Enable shadow casting | |
| nodePath | No | Node path (for configure) | |
| lightType | No | Type: directional, omni, spot | |
| spotAngle | No | Spot cone angle in degrees | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'Create/configure' without detailing behavioral traits like permissions, side effects, or differences between actions. Inadequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. Efficient but lacks details that could be added without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
High parameter count (10) and no output schema; description is minimal. Lacks info on behavior differences between create and configure, required parameters, or return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds no additional meaning beyond listing light types; does not elaborate on parameters like action, name, or color.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Create/configure' and resource '3D lights', listing types (directional/omni/spot). Clearly distinguishes from sibling game_light_2d.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives, but context of 3D lights implies usage. Lacks guidance on when to use create vs configure or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_list_signalsgame_list_signalsB
List all signals on a node with connections
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint, so description must disclose behavior. It only states 'list all signals on a node with connections' without clarifying whether it lists only signals that have connections or includes unconnected signals, nor does it mention return format or side effects. For a read operation this is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 8 words, no redundant information. Every part contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema, no annotations), the description is adequate but lacks details like return type, error conditions, or interpretation of 'with connections'. It misses an opportunity to fully inform the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with nodePath fully described. The description adds no additional meaning beyond the schema's 'Path to the node'. Baseline of 3 is appropriate since schema already handles parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'List' and resource 'signals on a node' with a qualifier 'with connections', clearly distinguishing from sibling tools like manage_scene_signals (which deals with scene-wide signals). It explicitly states the action and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like game_connect_signal, game_disconnect_signal, game_emit_signal, or manage_scene_signals. The description lacks context about prerequisites (e.g., node must exist) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_localegame_localeC
Set/get locale and translate strings at runtime
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Translation key (for translate) | |
| action | Yes | Action: get, set, translate | |
| locale | No | Locale code (e.g. en, es, fr) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title, and description does not disclose side effects, state changes, or error handling. The description is too brief to provide behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and to the point, though it lacks structure. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description is insufficient for a tool with 3 parameters and no output schema. It omits return values, effects, and typical use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal value. The description maps actions to parameters but does not elaborate on format or constraints beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool sets/gets locale and translates strings, which are distinct from sibling tools. However, it could be more specific about what 'locale' means (e.g., game language).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_manage_groupgame_manage_groupC
Add or remove a node from a group, or list groups
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Group name | |
| action | Yes | Action: add, remove, get_groups, clear_group | |
| nodePath | No | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only lists actions without revealing side effects (e.g., 'clear_group' is destructive), required permissions, or return behavior. Annotations lack any behavioral hints, so the description carries the full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) but lacks structure and misses listing all actions. It is not as helpful as it could be while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and the description fails to mention what the tool returns (e.g., list for get_groups). No error conditions or behavioral details. Incomplete for a multi-action tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions. The tool description adds no extra meaning; it even underspecifies the 'action' parameter by not listing all values. Baseline 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool can add, remove, or list nodes from a group, which clearly indicates the primary purpose. However, it omits the 'clear_group' action listed in the schema, making it incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like game_get_nodes_in_group. No context on prerequisites or appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_mesh_instancegame_mesh_instanceB
Create MeshInstance3D with primitive meshes
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| size | No | Mesh size {x,y,z} | |
| height | No | Mesh height | |
| radius | No | Mesh radius | |
| material | No | Material resource path or color hex | |
| meshType | Yes | Mesh: box, sphere, cylinder, capsule, plane, quad | |
| parentPath | Yes | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description must disclose behavioral traits. It only states the action ('Create') without mentioning side effects, permission requirements, or what happens on failure. The description is insufficient for understanding the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. Every word serves a purpose, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters and no output schema, yet the description does not explain return values, side effects (e.g., node creation result), or how parameters interact. For a creation tool, this is notably incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters have descriptions in the schema (100% coverage), so the tool description does not need to add details. However, it adds no extra value or context beyond the schema, which is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Create' and the exact resource 'MeshInstance3D with primitive meshes', clearly distinguishing it from sibling tools like 'add_node' or 'game_spawn_node' which are more generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'game_physics_body' or 'game_instantiate_scene'. It lacks any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_mouse_draggame_mouse_dragB
Drag mouse between two points over N frames
| Name | Required | Description | Default |
|---|---|---|---|
| toX | Yes | End X coordinate | |
| toY | Yes | End Y coordinate | |
| fromX | Yes | Start X coordinate | |
| fromY | Yes | Start Y coordinate | |
| steps | No | Number of frames for the drag. Default: 10 | |
| button | No | Mouse button (1=left). Default: 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description must cover behavioral traits. It mentions 'drag' implying button hold, but does not explain that the tool simulates mouse input, whether it automatically holds and releases the button, or if it requires the game window to be focused. No side effects or limitations are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded with the core action. However, it could be slightly more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return behavior, prerequisites (e.g., game must be running), or details about the drag simulation (e.g., whether the button is pressed and released automatically). This leaves 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage (all parameters described). The description adds only the concept of 'N frames' which maps to 'steps'. Since schema coverage is high, the baseline is 3; the description does not significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a mouse drag between two points over a specified number of frames. The verb 'drag' and resource 'mouse' are specific, and it distinguishes from sibling tools like 'game_mouse_move' (move without drag) and 'game_click' (click without drag).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for dragging but does not explicitly state when to use it versus alternatives like 'game_mouse_move' or 'game_click'. No guidance on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_mouse_movegame_mouse_moveC
Move the mouse in the running Godot game
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Absolute X position | |
| y | Yes | Absolute Y position | |
| relative_x | No | Relative X movement | |
| relative_y | No | Relative Y movement |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is minimal and does not disclose behaviors such as whether the movement is instantaneous, triggers events, or has constraints (e.g., window boundaries). With no annotations, the description fails to inform about side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but at the cost of omitting important details. It is front-loaded but not sufficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 4 parameters and no output schema, the description should provide more context about how to use parameters together. The current description is inadequate for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter names and brief descriptions. It does not explain coordinate system, units, or the relationship between absolute and relative movements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (move) and resource (mouse in running Godot game). However, it does not distinguish this tool from sibling tools like game_mouse_drag or game_click, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor on when to use absolute vs relative coordinates. The agent receives no strategic advice on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_multimeshgame_multimeshB
Create/configure MultiMeshInstance3D for instancing
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| count | No | Instance count | |
| index | No | Instance index (for set_instance) | |
| action | Yes | Action: create, set_instance, get_info | |
| meshType | No | Mesh: box, sphere, cylinder, quad | |
| nodePath | No | Node path (for set_instance/get_info) | |
| transform | No | Transform {origin:{x,y,z}, rotation:{x,y,z}} | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations for destructive or read-only hints, the description must disclose behaviors but only says 'Create/configure'. It implies mutation for create/set_instance and reading for get_info, but does not explain side effects, required permissions, or state changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one short sentence) and front-loaded with the core purpose. Every word adds value, though it could be slightly more detailed without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, nested objects, multiple actions) and no output schema, the description is too sparse. It fails to explain the action parameter's role, the transform structure, or what get_info returns, leaving agents without essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds overarching context ('for instancing') but no additional meaning beyond the schema's parameter descriptions. It does not compensate for missing details in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create/configure') and resource ('MultiMeshInstance3D') with context ('for instancing'). It clearly distinguishes from sibling tools like game_mesh_instance and game_procedural_mesh by focusing on the MultiMesh node type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or scenarios where other tools (e.g., game_mesh_instance) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_multiplayergame_multiplayerC
ENet multiplayer create server/client/disconnect
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Server port. Default: 7000 | |
| action | Yes | Action: create_server, create_client, disconnect, status | |
| address | No | Server address for client. Default: 127.0.0.1 | |
| maxClients | No | Max clients for server. Default: 32 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond the title, the description must fully disclose behavior. It only names actions but does not describe side effects (e.g., running a server background process, port binding requirements, connection lifecycle) or post-conditions. The lack of detail makes it hard for an agent to anticipate tool impacts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but omits the 'status' action and any mention of parameters or usage context. While brevity is valued, the incomplete list of actions reduces effectiveness. It could be restructured to list all supported actions for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a networking tool with 4 parameters and no annotations or output schema, the description is insufficient. It does not explain the ENet protocol, default behaviors, or error handling. The schema covers parameters, but the absence of behavioral context (e.g., 'creates a listening server on the specified port') leaves the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema itself documents parameters (port, action, address, maxClients). The description adds no additional semantic meaning; in fact, it omits the 'status' action and default values. Since the schema already provides sufficient detail, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource ('ENet multiplayer') and the actions ('create server/client/disconnect'), which distinguishes it from sibling tools like game_rpc, game_websocket, or game_http_request. However, it omits the 'status' action present in the schema, slightly reducing completeness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., game_rpc for RPC, game_websocket for WebSocket connections). The description does not mention prerequisites, context, or exclusions, leaving the agent without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_os_infogame_os_infoA
Get platform, locale, screen, adapter, memory info
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title); description bears full burden. It lists what info is gathered but does not mention side effects, permissions, or return format. It is clear that it is a read-only operation, but additional context (e.g., no destructive actions) would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key action and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations beyond title. Description lists info categories but does not specify structure (e.g., dictionary keys, types). For a simple tool, it is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds value by listing the categories of info returned, going beyond the empty schema. Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves system information (platform, locale, screen, adapter, memory). The verb 'Get' and resource 'info' are specific, and it is distinct from sibling tools like game_locale which is more narrow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The description implies it is for gathering OS info, and there are no alternative tools for the same purpose, but no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_parallaxgame_parallaxB
Create/configure ParallaxBackground and layers
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| action | Yes | Action: create_background, add_layer, configure | |
| nodePath | No | Node path (for configure) | |
| mirroring | No | Mirroring {x,y} | |
| parentPath | No | Parent node path | |
| motionScale | No | Motion scale {x,y} | |
| motionOffset | No | Motion offset {x,y} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints, and the description does not disclose side effects, mutability details, or whether configurations are additive or overwriting. The action parameter hints at steps but is not elaborated 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (9 words) with no wasted language. However, it could benefit from a slightly more structured breakdown of the three actions mentioned in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 7 parameters (including nested objects) and no output schema, the description provides no details about return values, prerequisites, or post-conditions. This is insufficient for a tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 7 parameters with descriptions (100% coverage), so the description adds no extra semantic value. 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.
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 verb ('Create/configure') and resource ('ParallaxBackground and layers'), distinguishing it from sibling tools that deal with other game elements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_3d_effects or game_canvas. There is no mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_path_2dgame_path_2dC
Path2D/Curve2D management and AnimatedSprite2D
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| point | No | Single point {x,y} | |
| action | Yes | Action: create, add_point, set_points, get_points | |
| points | No | Array of points [{x,y},...] | |
| nodePath | No | Path2D node path | |
| parentPath | No | Parent node path (for create) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description should disclose behavioral traits. It does not mention that actions like 'create' will instantiate a Path2D node, whether operations are destructive, or any required permissions. The description is too brief to provide transparency beyond the action list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), which is concise but not adequately informative. It combines two concepts without structure, making it hard to parse. Conciseness is good, but the content is insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, multiple actions, and nested objects, the description is too minimal. It does not explain expected inputs, output behavior, or edge cases. With no output schema, the description should provide more context on what the tool produces, but it fails to do so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all 6 parameters. The tool description does not add meaningful context about parameter relationships or usage patterns. For example, how 'name', 'nodePath', and 'parentPath' interact is not clarified. Thus the description provides no additional value beyond schema, earning a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Path2D/Curve2D management and AnimatedSprite2D', indicating two purposes, but the tool's actions and parameters focus on path point manipulation. The mention of AnimatedSprite2D is confusing and not supported by the schema. The purpose is somewhat clear but lacks precision and distinction from sibling tools like game_path_3d.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it specify prerequisites or exclusions. With many sibling tools, this omission reduces usability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_path_3dgame_path_3dB
Create Path3D/Curve3D and manage curve points
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| point | No | Single point {x,y,z} | |
| action | Yes | Action: create, add_point, set_points, get_points | |
| points | No | Array of points [{x,y,z},...] | |
| nodePath | No | Path3D node path (for add/set/get) | |
| parentPath | No | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With minimal annotations (only title), description should disclose behavioral traits like whether it mutates the scene, requires specific permissions, or has side effects. It only says 'create' and 'manage', but no details on behavior beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with main action, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple tool given schema coverage, but lacks details on return values, error handling, and what happens to the scene tree when creating/managing points.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the schema. The description adds high-level context but no additional semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the resource (Path3D/Curve3D) and actions (create, manage points). It distinguishes from sibling tools like game_path_2d (2D vs 3D) and game_navigate_path (navigation vs creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. For example, it doesn't mention that this tool is for creating/modifying Path3D nodes, not for navigation (which has a separate tool).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_pausegame_pauseB
Pause or unpause the running game
| Name | Required | Description | Default |
|---|---|---|---|
| paused | No | True to pause, false to unpause. Default: true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose any behavioral traits beyond the basic action. Since annotations are minimal (only title), the description carries full burden but fails to explain what 'pause' entails (e.g., effects on timers, signals, or scene-specific behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the tool's purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 parameter, no output schema), the description is moderately complete but lacks usage context and behavioral details, which are important for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes the parameter's meaning and default. The description adds no extra semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (pause/unpause) and the resource (the running game). The name itself is self-explanatory, and it distinguishes from sibling tools like 'game_process_mode' and 'game_time_scale', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_performancegame_performanceB
Get performance metrics (FPS, memory, draw calls)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint. The description merely states it 'get performance metrics', but does not disclose whether this is a snapshot, continuous monitoring, if it affects game state, or requires the game to be running. No behavioral traits beyond the basic action are revealed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that includes examples. No wasted words; front-loaded with the key action and resource. Perfectly sized for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no parameters and no output schema, the description fails to explain what the tool returns (e.g., format, structure, or how to interpret the metrics). For a tool that produces output, this is a critical gap, especially since there is no output schema to rely on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100% (no parameters to describe). The baseline for 0 parameters is 4, and the description does not need to add parameter info. It meets the standard.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Get' and resource 'performance metrics' with concrete examples (FPS, memory, draw calls), making the tool's purpose immediately clear. It is distinct from sibling tools like game_os_info or game_get_errors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention context, prerequisites, or situations where other tools (e.g., game_get_logs, game_debug_draw) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_physics_2dgame_physics_2dA
Area2D queries and 2D point/shape intersections
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End point {x,y} (for ray) | |
| from | No | Origin point {x,y} | |
| action | Yes | Action: overlap, point_query, shape_query, ray | |
| nodePath | No | Area2D/node path (for overlap) | |
| collisionMask | No | Collision mask bitmask |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (no readOnlyHint, destructiveHint, etc.), so the description carries full burden. It does not disclose whether the tool is read-only, has side effects, or requires specific permissions. As a query tool, it likely is read-only, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the key purpose, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain what the tool returns (e.g., boolean, list of intersections). For a query tool, this is a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; all parameters are described in the schema. The tool description adds no additional parameter-level details, so it meets the baseline for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'Area2D queries and 2D point/shape intersections', using specific verbs and resources that distinguish it from siblings like game_physics_3d and game_physics_body.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicit usage context is provided (2D physics queries), but there is no explicit guidance on when to use this tool versus alternatives like game_raycast or game_physics_body.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_physics_3dgame_physics_3dC
Area3D queries and point/shape intersection tests
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Ray end {x,y,z} | |
| from | No | Ray/point origin {x,y,z} | |
| action | Yes | Action: overlap, point_query, shape_query, ray | |
| nodePath | No | Area3D/node path (for overlap) | |
| collisionMask | No | Collision mask bitmask |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include a title, so the description carries full burden. It does not disclose that this tool is read-only (query), nor does it mention side effects, performance implications, or coordinate system assumptions. The description lacks transparency about what happens during each action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short—only one phrase. While concise, it is under-specified and lacks structure, failing to explain the tool's behavior or usage patterns effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no behavioral disclosure, the description is insufficient. It does not explain return values, error conditions, or how to interpret intersection results. Given the tool's complexity, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a clear description (e.g., 'Ray end {x,y,z}'). The tool description adds no additional meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it performs Area3D queries and intersection tests, which gives a general sense of purpose. However, it could be more specific about the supported actions (overlap, ray, etc.) and does not differentiate from similar tools like game_physics_2d or game_raycast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like game_raycast, game_navigation_3d, or game_physics_body. There is no mention of prerequisites, limitations, or context for using the different actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_physics_bodygame_physics_bodyB
Configure physics body properties (mass, velocity, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | Body mass | |
| bounce | No | Physics material bounce | |
| freeze | No | Freeze the body | |
| friction | No | Physics material friction | |
| nodePath | Yes | Path to physics body node | |
| sleeping | No | Put body to sleep | |
| linearDamp | No | Linear damping | |
| angularDamp | No | Angular damping | |
| gravityScale | No | Gravity scale | |
| linearVelocity | No | Linear velocity {x,y} or {x,y,z} | |
| angularVelocity | No | Angular velocity (float for 2D, {x,y,z} for 3D) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations for readOnlyHint or destructiveHint, the description carries full burden. 'Configure' implies mutation but no side effects, permissions, or constraints are disclosed. The single-line description lacks behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence (14 words). Every word earns its place, but it is slightly under-specified given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, nested objects, and no output schema or annotations, the description provides insufficient context. It does not mention return values, error behavior, or prerequisite steps, making it incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The tool description adds no extra meaning beyond listing examples like 'mass' and 'velocity', which are already documented. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Configure' and the resource 'physics body properties', with explicit examples (mass, velocity). It distinguishes from sibling physics tools like 'game_physics_2d' and 'game_physics_3d', which handle broader physics worlds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or prerequisites, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_play_animationgame_play_animationB
Control an AnimationPlayer node: play, stop, pause, or list animations
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: "play", "stop", "pause", or "get_list" | |
| nodePath | Yes | Path to the AnimationPlayer node | |
| animation | No | Animation name (required for "play" action) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists the possible actions (play, stop, pause, get_list), which conveys both read and write behaviors. However, it does not disclose any side effects, permissions required, or safety implications. Given no annotations, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of 12 words, efficiently conveying the tool's purpose and actions. It is front-loaded and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with three parameters and no output schema, the description covers the main usage. However, it does not describe the return format for actions like 'get_list', which could be important for an agent to process results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters well. The description adds no additional meaning beyond enumerating the actions; it does not clarify format or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it controls an AnimationPlayer node with specific actions (play, stop, pause, list), which gives a good sense of purpose. However, it does not explicitly differentiate from similar sibling tools like 'game_animation_control' or 'game_animation_tree', so it is not maximally distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or any prerequisites. The description only states what it does, without any context about when it is appropriate or when to avoid it. This leaves the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_procedural_meshgame_procedural_meshC
Generate meshes via ArrayMesh from vertex data
| Name | Required | Description | Default |
|---|---|---|---|
| uvs | No | UV coordinates [[u,v],...] | |
| name | No | Node name | |
| indices | No | Triangle indices [i0,i1,i2,...] | |
| normals | No | Vertex normals [[x,y,z],...] | |
| vertices | Yes | Vertex positions [[x,y,z],...] | |
| parentPath | Yes | Parent node path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title; description omits side effects like creating a new node or attaching the mesh. It does not disclose whether the operation is destructive or requires permissions, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise, but it is under-specified. While it avoids verbosity, it fails to include essential details, reducing its practical value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of procedural mesh generation (6 parameters, no output schema), the description is incomplete. It does not explain the return value, error states, or how the mesh is integrated into the scene, leaving critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, such as explaining the relationship between vertices, indices, normals, and UVs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the resource 'meshes' along with the method 'via ArrayMesh'. It distinguishes from siblings like game_mesh_instance which deals with existing meshes, though it doesn't explicitly exclude related tools like game_terrain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives, such as when to create a mesh procedurally versus using a pre-made mesh. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_process_modegame_process_modeC
Set node process mode (pausable/always/disabled)
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Mode: inherit, pausable, when_paused, always, disabled | |
| nodePath | Yes | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (readOnlyHint, destructiveHint), the description must carry the full burden of behavioral disclosure. It fails to explain what setting the mode actually does to a node's processing, whether changes are reversible, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one phrase), which is good, but it omits essential details. It is not merely concise; it is under-specified for a tool with two parameters and no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (setting node process mode) and the absence of annotations or output schema, the description is incomplete. It does not explain what each mode means (e.g., 'inherit', 'when_paused'), leaving the agent without sufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description's mode list (pausable/always/disabled) contradicts the schema's fuller list (inherit, pausable, when_paused, always, disabled), misleading the agent about valid values. This reduces the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'node process mode', making the purpose clear. However, the list of modes in parentheses (pausable/always/disabled) is incomplete compared to the schema's full list, causing slight ambiguity but not enough to lower the score further.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like game_pause or game_time_scale. There is no context about prerequisites or scenarios where this tool should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_raycastgame_raycastB
Cast a ray and return collision results
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End point {x,y} or {x,y,z} | |
| from | Yes | Start point {x,y} or {x,y,z} | |
| collisionMask | No | Collision mask. Default: 0xFFFFFFFF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include a title, so the description must carry full burden. It only states the action and return type, but fails to disclose whether it returns first hit only, all hits, coordinate system, or any side effects. Essential behavioral traits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, short sentence with no extraneous words. It is front-loaded and efficient, though it could be slightly expanded for better context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested objects and no output schema, yet the description does not explain the return structure, whether it supports 2D or 3D, or how collision results are formatted. Given the complexity of raycasting, the description is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, which already documents 'from', 'to', and 'collisionMask' with basic descriptions. No value increment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cast a ray and return collision results' uses a specific verb and resource, clearly stating the tool's core function. It distinguishes itself from siblings as the only raycast tool among many game_* utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like game_physics_2d or game_physics_3d. No explicit contexts, exclusions, or comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_remove_nodegame_remove_nodeB
Remove and free a node from the running game's scene tree
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Remove and free', which implies a destructive operation, but lacks details on what happens to child nodes, whether the operation is reversible, or any error conditions. With no annotations (destructiveHint, etc.), the description should provide more behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that conveys the essential information without any superfluous words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of sibling tools for node manipulation and no output schema, the description is too minimal. It omits important behavioral details (e.g., whether it calls queue_free, what happens to references) and does not differentiate from similar tools like 'remove_scene_node'. The agent likely needs more context for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'nodePath' is fully described in the input schema (100% schema description coverage). The description adds no additional meaning or constraints beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove and free'), the resource ('a node'), and the context ('from the running game's scene tree'). It is a specific verb+resource combination that distinguishes it from many sibling tools like 'spawn_node' or 'reparent_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'remove_scene_node', 'modify_scene_node', or 'manage_scene_structure'. There is no mention of prerequisites, side effects, or conditions that would help an agent choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_render_settingsgame_render_settingsC
Get/set MSAA, FXAA, TAA, scaling mode/scale
| Name | Required | Description | Default |
|---|---|---|---|
| taa | No | Enable TAA | |
| fxaa | No | Enable FXAA | |
| action | No | Action: get or set | |
| msaa2d | No | MSAA 2D mode (0-3) | |
| msaa3d | No | MSAA 3D mode (0-3) | |
| scalingMode | No | Scaling mode (0=bilinear, 1=FSR1, 2=FSR2) | |
| scalingScale | No | Render scale (0.0-1.0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'Get/set' but does not disclose behavioral traits such as whether get returns current settings, whether set requires all parameters, persistence, or side effects. Annotations are minimal, so the description bears the full burden but provides insufficient detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the essential verb and resource. Every word adds value, with no unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and no output schema, the description is too brief. It does not explain default behaviors, return values, or interaction between parameters. The tool's complexity warrants more complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter described. The tool description summarizes the parameters (MSAA, FXAA, TAA, scaling mode/scale) but does not add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get/set MSAA, FXAA, TAA, scaling mode/scale'. It identifies the verb (get/set) and the resource (render settings). However, it does not differentiate from sibling tools like game_3d_effects or game_environment, though the name and description are specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor does it explain how to choose between 'get' and 'set' actions. The description lacks context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_reparent_nodegame_reparent_nodeA
Move a node to a new parent in the running game's scene tree
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node to move | |
| newParentPath | Yes | Path to the new parent node | |
| keepGlobalTransform | No | Whether to keep the global transform. Default: true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description correctly identifies a mutation operation. With no annotations, it carries the burden adequately but doesn't disclose additional behavior (e.g., effects on children or signals).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no redundancy. Efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-param tool, the description is sufficient. Could mention runtime usage, but not necessary given the tool's straightforward nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-described in schema. The description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Move) and the resource (node to new parent in scene tree). It distinguishes from sibling tools like remove_node or spawn_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., add_node, remove_node). The description is purely declarative without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_resourcegame_resourceC
Runtime resource load, save, or preload
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Resource path (res://) | |
| action | Yes | Action: load, save, exists | |
| nodePath | No | Node path (for save - saves node resource) | |
| property | No | Property name holding the resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title. Description lacks behavioral details such as side effects of save (overwrite?), required permissions, or error states. The preload mention contradicts schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (3 words), but lacks necessary detail, especially given the schema-action mismatch. Conciseness sacrifices clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema and descriptions of return values or effects. As a mutation-capable tool (save action), more context is needed about what changes are made and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100%). Description adds no new info beyond the schema; the preload reference is misleading. Adequate but not improved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Runtime resource load, save, or preload' but the input schema's action parameter only lists 'load, save, exists', not 'preload'. This mismatch causes confusion about the tool's actual capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like game_get_property, game_set_property, or manage_resource. Missing context for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_rpcgame_rpcC
Call or configure RPC methods on nodes
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments for the RPC call | |
| mode | No | RPC mode: any_peer, authority | |
| sync | No | Sync mode: call_local, call_remote | |
| action | Yes | Action: call, configure | |
| method | Yes | Method name | |
| channel | No | Transfer channel | |
| nodePath | Yes | Path to the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'call' and 'configure' which imply mutation, but does not disclose potential side effects, prerequisites, or whether actions are reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and concise. It could be slightly expanded to include context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no behavioral transparency, and no usage guidelines, the description is incomplete for a tool with 7 parameters. It does not provide enough information for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the parameter names and schema descriptions, which are basic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Call or configure RPC methods on nodes' specifies a verb and resource, and distinguishes from siblings like 'game_call_method' by focusing on RPC methods, which are a networking concept. However, it could be more explicit about the networking context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'game_call_method' or 'game_connect_signal'. The description does not provide context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_screenshotgame_screenshotA
Screenshot the running game (returns base64 PNG)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries the burden. It discloses that the tool returns a base64 PNG, but does not mention any side effects (e.g., whether it pauses the game, captures overlays, or has performance impact). The behavior is largely self-evident for a screenshot utility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, complete sentence that is front-loaded and contains no extraneous words. Every element (verb, resource, output type) is essential and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers the essential purpose and output. It could optionally mention resolution or behavior during scene transitions, but it is sufficiently complete for a screenshot capture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage. The description does not need to explain parameters. It adds value by clarifying the return format, which is beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Screenshot') and the resource ('the running game'), with no ambiguity. It also specifies the output format (base64 PNG), which is explicit and distinguishes it from other tools that might capture screen content differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidelines or comparisons to alternatives are provided. However, for a straightforward screenshot tool, the context is implied as capturing the game's current visual state. The lack of guidance does not critically hinder usage, but it's not proactive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_scriptgame_scriptB
Attach, detach, or get source of node scripts
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: attach, detach, get_source | |
| source | No | GDScript source code (for attach) | |
| nodePath | Yes | Path to the node | |
| className | No | Class the script extends |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond title, the description fails to disclose behavioral traits such as side effects of attach/detach (e.g., file modification), permission requirements, or return format for get_source. The minimal description is insufficient for a tool that modifies game state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-formed sentence with no wasted words. Front-loaded with action verbs that immediately convey purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters and no output schema, the description omits crucial details like what get_source returns, how source and className interact, and any prerequisites. The tool performs multiple actions but lacks the context needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond what's in the schema, meeting baseline but not compensating for lack of context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's verbs and resource: attach, detach, get source of node scripts. It distinguishes itself from sibling tools like attach_script by covering multiple actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use game_script versus alternatives like attach_script or get_property. The agent must infer based on action parameter values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_scrollgame_scrollB
Send mouse scroll wheel event at position
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X position for scroll event | |
| y | Yes | Y position for scroll event | |
| amount | No | Scroll amount (clicks). Default: 1 | |
| direction | No | "up", "down", "left", or "right". Default: "up" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (title only), so the description carries full burden. It does not disclose behavioral traits like whether the event is simulated vs real, if it requires game window focus, or how the position relates to the game's coordinate system. For a mouse event simulation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient and clearly conveys the tool's purpose. However, for a tool with four parameters, a bit more detail on usage context could be added without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple input simulation tool with no output schema or annotations, the description is adequate but not comprehensive. It lacks details about coordinate system, event type (e.g., relative vs absolute), and interaction with game state, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema already provides for each parameter (x, y, amount, direction). No additional context or usage hints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Send mouse scroll wheel event at position' clearly states the action (send scroll event) and the resource (mouse scroll wheel) with location. It distinguishes from sibling tools like game_click (click) and game_mouse_move (move) which handle different input types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as game_mouse_move or game_click. There is no mention of prerequisites, coordinate system, or whether the game window must be focused.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_serialize_stategame_serialize_stateB
Save or load node tree state as JSON
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | State data to restore (for load) | |
| action | No | Action: save or load. Default: save | |
| maxDepth | No | Max tree depth to serialize. Default: 5 | |
| nodePath | No | Root node path. Default: "/root" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint. The description does not disclose side effects (e.g., whether 'save' overwrites existing data, or 'load' modifies the scene tree permanently). For a tool with both read and write capabilities, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundancy. It is appropriately concise, though additional context could be added without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description is too brief. It does not explain what 'state' includes, the return format for save, or whether load permanently modifies the scene. The description leaves important gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it merely restates the dual save/load capability implied by the action parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves or loads node tree state as JSON, using specific verbs and resource. It distinguishes from sibling tools like game_get_scene_tree which retrieves structure, and game_set_property which sets individual properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for serialization/deserialization but provides no explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, though siblings exist for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_set_cameragame_set_cameraB
Move or rotate the active camera
| Name | Required | Description | Default |
|---|---|---|---|
| fov | No | Field of view for Camera3D | |
| zoom | No | {x,y} zoom for Camera2D | |
| position | No | {x,y} or {x,y,z} for camera position | |
| rotation | No | {x,y,z} rotation in degrees |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond a title, the description must disclose behavioral traits. It implies mutation (move/rotate) but does not detail whether operations are additive or replace current state, what coordinate system is used, or the effects of omitting parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It is front-loaded with the action, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is too brief. It does not explain how parameters interact (e.g., fov and zoom are mutually exclusive for 2D/3D), the coordinate system for rotation, or whether multiple parameters can be set in one call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for fov, zoom, position, and rotation. It merely restates the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Move or rotate the active camera' is a specific verb+resource pair. It clearly identifies the action on the camera, and among sibling tools like 'game_get_camera' and 'game_camera_attributes', it uniquely describes a setter operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'game_camera_attributes' or 'game_set_property'. The description lacks any usage context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_set_particlesgame_set_particlesB
Configure GPUParticles2D/3D node properties
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Number of particles | |
| oneShot | No | One-shot mode | |
| emitting | No | Enable/disable emission | |
| lifetime | No | Particle lifetime in seconds | |
| nodePath | Yes | Path to GPUParticles node | |
| randomness | No | Randomness ratio (0-1) | |
| speedScale | No | Speed scale | |
| explosiveness | No | Explosiveness ratio (0-1) | |
| processMaterial | No | ParticleProcessMaterial settings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack readOnlyHint or destructiveHint. The description only says 'Configure' without disclosing that it modifies an existing node, potential side effects, or prerequisites. For a mutation tool, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one phrase) with no redundant information. It efficiently conveys the purpose, though it could be slightly expanded without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters including nested objects and no output schema, the description is insufficient. It lacks information on return values, behavior when node is missing, or impact on existing settings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with brief descriptions for each parameter. The description adds no additional meaning beyond the schema, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Configure' and the resource 'GPUParticles2D/3D node properties', clearly indicating the tool's function. It distinguishes from generic tools like game_set_property among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like game_set_property or game_spawn_node. The context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_set_propertygame_set_propertyB
Set a property on a node in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Value to set. Use objects for vectors/colors | |
| nodePath | Yes | Path to the node | |
| property | Yes | Property name to set | |
| typeHint | No | Optional type hint: "Vector2", "Vector3", "Color" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (other than title), the description carries full burden for behavioral disclosure. It mentions setting a property but does not describe side effects, error behavior, reversibility, or any constraints. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and to the point, containing no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (setting a property) and full schema coverage, the description is minimally adequate. However, it lacks context about the effect on the game, return values (no output schema), and any limitations (e.g., property must be valid for the node).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear descriptions for nodePath, property, value, and typeHint. The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set a property on a node in the running game' clearly states the action (set) and the target (property on a node). It distinguishes itself from sibling tools like 'game_get_property' (which gets a property) effectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions for use. A user must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_set_shader_paramgame_set_shader_paramB
Set a shader parameter on a node's material
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Value to set (number, object, array, etc.) | |
| nodePath | Yes | Path to the node with a ShaderMaterial | |
| typeHint | No | Optional type hint (e.g. "Color", "Vector2") | |
| paramName | Yes | Shader parameter name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With minimal annotations (only title), the description carries the burden of behavioral disclosure but only states the basic action. It does not mention that the node must have a ShaderMaterial, whether the operation is destructive, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence (8 words) that is front-loaded. However, it could be slightly more structured with additional context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage, the description lacks critical context such as required node type, value format, return behavior, and any restrictions. For a mutation tool with no output schema, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it does not explain parameter usage or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the specific resource 'a shader parameter on a node's material', which distinguishes it from siblings like 'game_set_property' (general property) and 'manage_shader' (shader resource management).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'game_set_property' or 'manage_shader') and does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_shape_2dgame_shape_2dC
Line2D/Polygon2D point manipulation
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Color {r,g,b,a} | |
| point | No | Single point {x,y} | |
| width | No | Line width | |
| action | Yes | Action: add_point, set_points, clear, get_points | |
| points | No | Array of points [{x,y},...] | |
| nodePath | Yes | Path to Line2D/Polygon2D node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks disclosure of behavioral traits beyond the bare action. Annotations provide no destructive or read-only hints. The description does not mention that actions like 'clear' are destructive or that the tool modifies node state without undo information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (4 words), which is concise but under-informative for a tool with 6 parameters and multiple actions. It lacks front-loading of key details like available actions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple actions, nested objects, no output schema), the description is insufficient. It does not cover what happens when actions are invoked or what the return values are, relying entirely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions. The tool description adds no additional semantic value beyond summarizing the tool's purpose; it does not clarify parameter constraints or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as manipulating points of Line2D/Polygon2D, which is a specific verb and resource. However, it does not elaborate on the specific actions available (e.g., add, set, clear, get), leaving the purpose somewhat generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes many other game manipulation tools, but no distinction is made between them and this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_skeleton_ikgame_skeleton_ikC
SkeletonIK3D start/stop/set target position
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: start, stop, set_target | |
| target | No | Target position {x,y,z} | |
| nodePath | Yes | Path to SkeletonIK3D node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are sparse (only title), so the description must disclose side effects and behavioral traits. It only lists actions without mentioning what starting or stopping IK entails, required node setup, or potential modifications to the skeleton. The tool's behavior beyond the basic actions is opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and to the point, with no superfluous text. However, it might be too terse for a tool with three parameters and nested objects, but it still earns a high score for minimalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, one nested object), the description lacks details on return values, error conditions, or the effects of repeated actions. The high schema coverage does not fully compensate for the missing behavioral and contextual information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for all three parameters. The description adds little beyond the schema; it merely echoes the action names. With high schema coverage, baseline is 3, and the description does not significantly enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's for SkeletonIK3D and lists the actions 'start/stop/set target position', which is specific. However, it does not differentiate from sibling tools like game_bone_pose or other animation tools, missing a chance to clarify 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any conditions or prerequisites. The description is purely imperative, 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.
game_skygame_skyB
Create/configure Sky with procedural/physical sky
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create or configure | |
| skyType | No | Type: procedural or physical | |
| topColor | No | Sky top color {r,g,b} | |
| sunEnergy | No | Sun energy/brightness | |
| bottomColor | No | Horizon bottom color {r,g,b} | |
| groundColor | No | Ground color {r,g,b} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral annotations (readOnlyHint/destructiveHint) are provided, and the description only uses 'Create/configure' which hints at mutation but lacks detail on side effects, permissions, or whether it modifies existing sky or creates new. This is insufficient for agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with front-loaded purpose. No wasted words, though it could be slightly expanded with usage context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what happens after execution (e.g., returns nothing or updates current scene). It does not cover behavioral results, making it incomplete for a tool with six parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already well-documented in the schema. The tool description adds no additional parameter-level context beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates/configures a Sky, with options for procedural or physical. This distinguishes it from sibling tools like game_environment or game_gi.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for sky creation/configuration but provides no explicit guidance on when to use this tool versus alternatives like game_environment, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_spawn_nodegame_spawn_nodeC
Create a new node of any type at runtime
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the new node. Default: auto-generated | |
| type | Yes | Node class name (e.g. "Sprite2D", "CharacterBody3D") | |
| parentPath | No | Parent node path. Default: "/root" | |
| properties | No | Properties to set on the new node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title, so description carries full burden. It only states 'Create... at runtime' but does not disclose side effects (e.g., scene tree addition, potential destruction, permissions, or limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 9-word sentence, very concise but underinformative. It is efficient but sacrifices necessary context for agent usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and many siblings, the description is incomplete. It does not explain return values, side effects, or the scope of 'any type'. Schema covers parameters but context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the schema, achieving the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and resource 'new node of any type' with 'at runtime' adding context. It distinguishes from siblings like 'add_node' but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'add_node' or 'instantiate_scene'. The description lacks context for tool selection among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_terraingame_terrainC
Create/modify terrain meshes from heightmap data
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | X position (for modify/get_height/paint) | |
| z | No | Z position (for modify/get_height/paint) | |
| name | No | Node name | |
| color | No | Vertex color {r,g,b,a} (for paint) | |
| depth | No | Terrain depth in vertices | |
| width | No | Terrain width in vertices | |
| action | Yes | Action: create, modify, get_height, paint | |
| radius | No | Brush radius (for modify/paint) | |
| nodePath | No | Terrain node path | |
| maxHeight | No | Maximum terrain height | |
| heightData | No | Array of float height values (for create) | |
| parentPath | No | Parent node path | |
| heightDelta | No | Height change amount (for modify) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack readOnlyHint and destructiveHint, and the description does not disclose whether operations are destructive, performance implications, or error conditions. Only says 'Create/modify', which is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, no redundancy. Could include more structure but is efficient for the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, multiple actions, no output schema, and no annotations, the description is too sparse. It does not explain return values, error handling, or how heightmap data is used, leaving many gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a descriptive comment. The tool description adds no additional information beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Create/modify terrain meshes from heightmap data', which identifies the core action and resource. However, it omits the 'get_height' and 'paint' actions listed in the schema, so it is not fully comprehensive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. The sibling list is large but not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_tilemapgame_tilemapC
Get or set cells in a TileMapLayer node
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Cell X coordinate (for get_cell) | |
| y | No | Cell Y coordinate (for get_cell) | |
| cells | No | Array of cell objects for set_cells/erase_cells | |
| action | Yes | Action: set_cells, get_cell, erase_cells, get_used_cells | |
| nodePath | Yes | Path to TileMapLayer node | |
| sourceId | No | Filter by source_id (for get_used_cells) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide minimal context (only title). The description only states 'get or set cells', but does not disclose any behavioral traits such as whether setting cells overwrites existing ones, if it requires any permissions, or what happens on failure. For a tool with no safety 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it could be slightly expanded to cover the different actions without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with 4 actions and no output schema. It mentions only 'get or set cells', omitting 'erase_cells' and 'get_used_cells'. It also does not describe what is returned for get operations, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with descriptions for all 6 parameters. The tool description does not add any meaning beyond what is already in the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets or sets cells in a TileMapLayer node, using a specific verb and resource. However, it does not differentiate from sibling tools like game_gridmap, which might have similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites, and no context about when to choose between the different actions (set_cells, get_cell, etc.).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_time_scalegame_time_scaleB
Get/set Engine.time_scale and timing info
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: get or set. Default: get | |
| timeScale | No | Time scale value (for set) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint. The description says 'Get/set', indicating both read and write, but does not disclose side effects like affecting game speed, physics deltas, or potential issues when setting extreme values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core functionality. It is not verbose, though it could include more detail without losing conciseness, such as explaining return values or side effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain return values for the 'get' action. Additionally, 'timing info' is ambiguous. The tool is simple, but the description lacks completeness for an agent to understand behavior fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema; 'timing info' is vague but not tied to parameters. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets or sets Engine.time_scale and timing info. It identifies the specific resource and action, distinguishing it from sibling tools like game_pause or game_process_mode, though 'timing info' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It implies usage for adjusting game speed, but does not mention scenarios where other tools (e.g., game_pause) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_touchgame_touchB
Simulate touch press/release/drag and gestures
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Touch X position | |
| y | Yes | Touch Y position | |
| toX | No | Drag end X (for drag) | |
| toY | No | Drag end Y (for drag) | |
| index | No | Touch index. Default: 0 | |
| steps | No | Drag steps. Default: 10 | |
| action | Yes | Action: press, release, drag |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (title only), so the description carries the burden. It states it simulates touch actions, implying no real touch input is needed, but does not disclose side effects, return values, or whether it affects the game state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one short sentence. It is front-loaded with key actions, but could be structured to list specific gestures more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description is incomplete. It does not explain coordinate system, default values, how drag works with toX/toY, or what 'gestures' entails. Actual gesture support beyond drag is unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond listing actions. It does not explain coordinate system, the relationship between index and multi-touch, or the meaning of steps for drag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool simulates touch interactions (press/release/drag) and gestures, which distinguishes it from sibling tools like game_click or game_mouse_drag that handle other input types. However, 'gestures' is vague and not fully supported by the schema which only lists press, release, drag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as game_click or game_mouse_drag. The description does not provide any context about prerequisite states or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_tween_propertygame_tween_propertyC
Tween a node property in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | Duration in seconds. Default: 1.0 | |
| easeType | No | Tween.EaseType enum value. Default: 2 (IN_OUT) | |
| nodePath | Yes | Path to the node | |
| property | Yes | Property to tween (e.g., "position", "modulate") | |
| transType | No | Tween.TransitionType enum value. Default: 0 (LINEAR) | |
| finalValue | No | Target value. Use {x,y} for Vector2, {x,y,z} for Vector3, {r,g,b,a} for Color |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks details about behavioral traits such as side effects (e.g., overwriting existing tweens), required permissions, or interaction with the game loop. With no annotations beyond title, the description fails to disclose important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks sufficient detail. It is not verbose, but the brevity compromises informativeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain the overall behavior (e.g., that this creates a transient animation that runs over time), nor does it mention return values or outcomes. Given the absence of an output schema, the description should provide more completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage with clear descriptions for each parameter. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Tween' and the resource 'node property', indicating an animation interpolation action. It distinguishes from related tools like game_set_property (direct set) and game_create_animation (full animation creation), though it does not explicitly differentiate among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where tweening is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_controlgame_ui_controlC
Set focus, anchors, tooltip, mouse filter on Control
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: configure, grab_focus, release_focus, get_info | |
| minSize | No | Minimum size {x,y} | |
| tooltip | No | Tooltip text | |
| nodePath | Yes | Path to Control node | |
| mouseFilter | No | Mouse filter: stop, pass, ignore | |
| anchorPreset | No | Anchor preset value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title) so description carries full burden. It mentions setting properties and focus actions but does not disclose mutability, side effects (e.g., focus change impact on other UI), permissions, or reversibility. The tool likely modifies game state, but behavioral details are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise but lacks structure. It front-loads a list of properties but omits the key action parameter. Could be more informative without significant extra length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and many sibling UI tools, the description is minimally complete. It does not explain the different action modes (configure, grab_focus, etc.) or specify that it only works on Control nodes. Outputs are not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds little beyond parameter names: 'focus, anchors, tooltip, mouse filter' map to some parameters but misses `action`, `minSize`, and `nodePath`. It does not explain the action enum or how parameters interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it sets focus, anchors, tooltip, and mouse filter on a Control, which is clear. However, it does not distinguish from sibling UI tools like game_ui_item_list or game_ui_popup, which also manipulate UI elements. The parameter `action` adds further complexity not captured in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description does not specify contexts, prerequisites, or exclusions. Sibling tools suggest many UI-related options, but no comparison is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_item_listgame_ui_item_listB
ItemList/OptionButton: get/select/add/remove items
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Item text (for add) | |
| index | No | Item index | |
| action | Yes | Action: get_items, select, add, remove, clear | |
| nodePath | Yes | Path to ItemList/OptionButton |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries the full burden. It lists actions but does not disclose side effects, prerequisites (e.g., node existence), or behavior details like what happens on 'clear'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one line), but it could be expanded with useful context without being verbose. It is front-loaded with the key resource and actions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a tool with multiple actions and specific node types. It lacks context on when to use different actions, prerequisites, or what returns are expected (no output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the schema. It does not elaborate on parameter usage beyond listing actions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for 'ItemList/OptionButton' and lists specific actions: get, select, add, remove. This distinguishes it from other UI tools like game_ui_control which are more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for list-type UI elements but does not explicitly state when to use this tool over alternatives, such as game_ui_control or game_ui_tree.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_popupgame_ui_popupC
Show/hide/popup for Popup/Dialog/Window nodes
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Popup size {x,y} | |
| text | No | Dialog body text | |
| title | No | Dialog title text | |
| action | Yes | Action: popup_centered, popup, hide, get_info | |
| nodePath | Yes | Path to Popup/Dialog/Window |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond title, the description must disclose behavioral traits. It only says 'Show/hide/popup', which implies mutation but does not clarify side effects, synchronization, node existence requirements, or the read-only nature of the 'get_info' action. Significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with no wasted words. However, it may be too brief, sacrificing detail for brevity. Still, it is front-loaded and efficient for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the different actions (popup_centered, popup, hide, get_info), the nodePath requirement, or return values for get_info. The agent lacks critical information to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes all 5 parameters. The description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses verb+resource ('Show/hide/popup for Popup/Dialog/Window nodes'), clearly indicating the tool's function. However, the term 'popup' is ambiguous as both verb and noun, and the description omits the 'get_info' action present in the schema, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus its many sibling UI tools (e.g., game_ui_control, game_ui_menu). The description does not state context, prerequisites, or alternatives, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_rangegame_ui_rangeB
ProgressBar/Slider/SpinBox/ColorPicker get/set
| Name | Required | Description | Default |
|---|---|---|---|
| step | No | Step value | |
| color | No | Color {r,g,b,a} (for ColorPicker) | |
| value | No | Value (for Range nodes) | |
| action | Yes | Action: get or set | |
| maxValue | No | Maximum value | |
| minValue | No | Minimum value | |
| nodePath | Yes | Path to Range/ColorPicker node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description must carry burden. It indicates get/set but lacks details on side effects, authorization, or constraints beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no wasted words. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and 7 parameters, yet description omits return value information, parameter interactions, and usage context. Incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so baseline is 3. The description hints at which parameters apply to which widget types but doesn't add significant new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (get/set) and specific UI element types (ProgressBar, Slider, SpinBox, ColorPicker), distinguishing it from sibling tools like game_ui_control or game_ui_text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for range-type UI elements but provides no guidance on when not to use or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_tabsgame_ui_tabsB
TabContainer/TabBar: get/set current tab
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | Tab index | |
| title | No | Tab title | |
| action | Yes | Action: get_tabs, set_current, set_title | |
| nodePath | Yes | Path to TabContainer/TabBar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (title only) so no contradiction. Description implies read/write ('get/set') but doesn't expand on side effects, permissions, or whether actions are idempotent. Adequate but not enriched beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence front-loading the component type and action. Efficient but could include the third action (set_title) without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, 3 actions, and no output schema, the description is too minimal. It doesn't explain what each action returns, how to use index vs title, or any dependencies (e.g., TabContainer must be present). Incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. Description adds no extra meaning over schema. Baseline 3 applies since schema already documents each parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'get/set current tab' which captures two of three actions. Missing 'set_title' action, but overall verb+resource is clear and distinct from siblings (e.g., game_ui_control deals with generic UI elements).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_ui_control or game_ui_item_list. Lacks context on whether it's for reading vs modifying tabs or prerequisites like node existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_textgame_ui_textC
LineEdit/TextEdit/RichTextLabel text operations
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content | |
| action | Yes | Action: get, set, append, clear, select, bbcode | |
| nodePath | Yes | Path to text control | |
| selectionTo | No | Selection end | |
| caretPosition | No | Caret column position | |
| selectionFrom | No | Selection start |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so the description should disclose side effects (e.g., 'set' overwrites, 'append' adds, 'clear' removes all text). It omits these details and does not mention permissions or returned data. The description is too brief.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single phrase, which is concise but lacks structure. It does not front-load key information like the list of actions; that is only present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters (2 required) and no output schema, the description should provide more context on return values and action effects. It is underspecified for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; the actions listed in 'action' are only enumerated in the schema, not elaborated in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it handles text operations on specific UI controls (LineEdit, TextEdit, RichTextLabel), distinguishing it from sibling tools like game_ui_control or game_ui_item_list. It is not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites or scenarios where other tools (e.g., game_ui_control for general properties) would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_themegame_ui_themeC
Apply theme overrides to a Control node
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to Control node | |
| overrides | Yes | Theme overrides: {colors, constants, fontSizes} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (e.g., readOnlyHint). The description only implies mutation without disclosing side effects, such as whether changes are temporary or persistent, or if specific permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no superfluous words. Efficiently communicates the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, critical context is missing: how overrides are applied (e.g., overlay vs merge), impact on children, or any limitations. The description is too terse to fully inform usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate descriptions for both parameters. The description does not add further meaning beyond the schema, but since schema covers them, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Apply' and the resource 'theme overrides to a Control node', distinguishing it from other UI tools like game_ui_control that manage UI elements directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., modifying theme programmatically via game_set_property). No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_ui_treegame_ui_treeC
Tree control: get/select/collapse/add/remove items
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Item text (for add) | |
| action | Yes | Action: get_items, select, collapse, expand, add, remove | |
| column | No | Column index. Default: 0 | |
| itemPath | No | Item path (slash-separated indices) | |
| nodePath | Yes | Path to Tree control |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description should disclose behavioral traits. It lists actions but does not explain side effects, required permissions, error behavior, or whether operations are destructive. For instance, 'remove' implies deletion but no details are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) but lacks substance. It is concise but not information-dense; it could be improved by front-loading key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 parameters, the description fails to explain return values (e.g., what 'get_items' returns) and overall tool behavior. It is incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good property descriptions, so the description adds no extra meaning to parameters (e.g., 'itemPath' format or 'column' usage). Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it's a tree control and lists actions (get/select/collapse/add/remove), but it's vague about the context (Godot UI) and does not distinguish from sibling UI tools like game_ui_item_list or game_ui_tabs. It lacks a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as game_ui_item_list or game_ui_popup. No prerequisites, context, or exclusion criteria provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_videogame_videoA
Video playback control: play, pause, stop, seek on VideoStreamPlayer
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Enable looping | |
| name | No | Node name (for create) | |
| action | Yes | Action: create, play, pause, stop, seek, get_status | |
| volume | No | Volume (linear 0-1) | |
| autoplay | No | Auto-play on ready | |
| nodePath | No | Path to VideoStreamPlayer node | |
| position | No | Seek position in seconds | |
| videoPath | No | res:// path to video file | |
| parentPath | No | Parent node path (for create) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions basic actions but omits 'create' and 'get_status' which are present in the schema. With minimal annotations, the description should cover all actions; it does not fully disclose the tool's scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and efficient, but it omits part of the action set. It earns its place but could be more representative without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description should provide more context about action behavior and parameter relationships. It only covers 3 of 6 actions, leaving significant gaps for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-described in schema. The description adds no extra meaning beyond listing a few actions, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Video playback control' with specific verbs: play, pause, stop, seek, and targets 'VideoStreamPlayer'. This distinguishes it from sibling tools like game_audio_play or game_animation_control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for video playback control but does not explicitly state when to use this tool versus alternatives, nor any prerequisites or exclusions. The context is clear but lacks guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_viewportgame_viewportC
Create or configure a SubViewport node
| Name | Required | Description | Default |
|---|---|---|---|
| msaa | No | MSAA level (0=disabled, 1=2x, 2=4x, 3=8x) | |
| name | No | Viewport name (for create) | |
| width | No | Viewport width | |
| action | No | Action: create, configure, or get | |
| height | No | Viewport height | |
| nodePath | No | SubViewport path (for configure/get) | |
| parentPath | No | Parent path (for create) | |
| transparentBg | No | Transparent background |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (e.g., readOnlyHint, destructiveHint) provided, the description carries full responsibility for behavioral disclosure. It states the tool can 'create or configure', implying mutation, but does not mention reversibility, permission requirements, side effects, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that directly states the tool's action and target. It is concise and front-loaded, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description is insufficiently complete. It does not explain the relationship between actions and parameters (e.g., which parameters are needed for 'create' vs 'configure'), nor does it describe return values or error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is described with reasonable detail. The tool description adds no extra semantic value beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb (create or configure) and the resource (SubViewport node), making the core purpose clear. However, it doesn't fully distinguish from sibling tools like 'game_set_property' or 'game_spawn_node' that could also affect viewports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as game_set_property or game_instantiate_scene. The description lacks any context about prerequisites, suitable scenarios, or when to choose a different tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_visual_shadergame_visual_shaderC
Create and edit VisualShader graphs: add/connect/disconnect nodes
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create, add_node, connect, disconnect, get_nodes, apply | |
| toNode | No | Destination node ID (for connect/disconnect) | |
| toPort | No | Destination port index | |
| fromNode | No | Source node ID (for connect/disconnect) | |
| fromPort | No | Source port index | |
| nodePath | No | Target node path (for apply) | |
| position | No | Node position {x, y} (for add_node) | |
| shaderId | No | Shader resource ID (for multi-shader scenes) | |
| nodeClass | No | VisualShaderNode class name (for add_node) | |
| shaderType | No | Shader type: spatial, canvas_item, particles, sky, fog |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack readOnlyHint and destructiveHint, so description bears full burden. It indicates mutation ('add/connect/disconnect') but doesn't reveal side effects, required permissions, or whether operations are reversible. Missing details on how the graph interacts with the scene or shader resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy; front-loaded with the main action. Could be slightly more structured to improve readability, but overall concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description is too minimal. It doesn't explain the graph editing model, how actions chain together, or the significance of the shaderId and shaderType parameters. The agent lacks enough context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter described. The description adds no additional meaning beyond what's in the schema, so baseline score of 3 applies. No extra context on parameter relationships or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb ('Create and edit') and resource ('VisualShader graphs'), and lists key actions (add/connect/disconnect nodes). It provides a clear purpose but doesn't explicitly differentiate from sibling tools like 'manage_shader' which may handle shader resources more broadly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., existing shader resource) or exclusions (e.g., not for simple shader parameter changes). The agent must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_waitgame_waitB
Wait N frames in the running game
| Name | Required | Description | Default |
|---|---|---|---|
| frames | No | Number of frames to wait. Default: 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It lacks details on whether waiting is blocking, frame-accurate, or behavior with frames=0. Only states the action without context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Appropriate conciseness for a simple action tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal but covers basic purpose. Lacks context on blocking behavior or when to use vs siblings. Schema covers parameter details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes the parameter (frames) with default. Description adds no extra meaning beyond restating the parameter's purpose, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it waits N frames in the running game, distinguishing it from siblings that handle other game operations like signals or timers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like game_await_signal or game_create_timer. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_websocketgame_websocketC
WebSocket client connect/disconnect/send messages
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | WebSocket URL (for connect) | |
| action | Yes | Action: connect, disconnect, send, status | |
| message | No | Message to send (for send) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose behavioral traits like connection lifecycle, error handling, or side effects beyond what schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise (one sentence) but could be improved by including all actions (e.g., 'status') without becoming verbose. It is not wasteful but lacks detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters and no output schema, the description is incomplete. It does not explain return values, error behavior, or how to chain actions (e.g., connect before send).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no additional meaning beyond the schema parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a WebSocket client for connecting, disconnecting, and sending messages. It is specific enough to distinguish from sibling tools, as no other sibling deals with WebSocket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No context about prerequisites, when not to use, or comparison with similar tools like game_http_request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_windowgame_windowB
Get/set window size, fullscreen, title, position
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Window title | |
| vsync | No | Enable vsync | |
| width | No | Window width | |
| action | No | Action: get or set. Default: get | |
| height | No | Window height | |
| position | No | Window position {x, y} | |
| borderless | No | Borderless mode | |
| fullscreen | No | Fullscreen mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates both get and set operations are possible, but it fails to disclose behavioral traits beyond what the schema implies. With no annotations (e.g., readOnlyHint), the agent is left uninformed about side effects, such as whether setting fullscreen may disrupt the game state or require specific permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, consisting of a single phrase. It captures the essential function without extraneous words, making it easy to digest. However, it could benefit from a slightly more structured form (e.g., a sentence) for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, two possible actions (get/set), and no output schema, the description is insufficient. It does not explain the 'action' parameter, what the get action returns, or how the parameters interact. The agent lacks critical information to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description merely reiterates parameter names (size, fullscreen, title, position) without adding new semantic context, such as required conditions or interactions between parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get/set window size, fullscreen, title, position' clearly states the tool's purpose as getting or setting specific window properties. It distinguishes this tool from siblings like game_set_property or game_get_property by explicitly listing window-related properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool versus alternatives like game_set_property for arbitrary properties, nor does it mention prerequisites or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_world_settingsgame_world_settingsB
Get/set gravity, physics FPS, and world settings
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: get or set. Default: get | |
| gravity | No | Gravity magnitude | |
| physicsFps | No | Physics ticks per second | |
| gravityDirection | No | Gravity direction vector {x,y,z} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack safety hints, so description carries full burden. It discloses that the tool can both read and write world settings, but does not explain side effects (e.g., setting gravity affects all physics bodies) or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loaded with verb and resource. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters and no output schema, the description is adequate but does not explain the scope (e.g., affects current scene) or provide examples. The schema covers details but the description is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions (action, gravity, physicsFps, gravityDirection). The tool description adds no further parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get/set') and the resource ('gravity, physics FPS, and world settings'), distinguishing it from sibling tools like game_physics_2d/3d which focus on individual bodies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as game_physics_2d/3d or game_set_property. No context or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_outputget_debug_outputA
Get the current debug output and errors
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include title with no readOnlyHint or destructiveHint. The description states 'Get' implying a read operation but does not disclose any behavioral traits like side effects, required permissions, or output format. With minimal annotations, the description carries the full burden but adds little beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is adequate. However, it does not explain the format of the debug output or errors, which could be improved for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description does not need to add parameter information. Schema description coverage is 100%, and the baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'current debug output and errors', matching the name. It is a specific verb+resource and distinguishes itself from siblings like 'game_get_errors' by focusing on both output and errors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'game_get_errors' or 'game_get_logs'. No explicit context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_versionget_godot_versionA
Get the installed Godot version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a safe read operation, consistent with no destructive side effects. However, it does not disclose where the version is fetched from, whether it might fail, or any additional behavior (e.g., caching, network access). With no annotations beyond the title, the description carries the full burden but omits these details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It is front-loaded and efficient, perfectly fitting the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and a simple purpose, the description is fully complete. It tells the agent exactly what the tool does without needing additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100% (not applicable). The description does not need to add parameter information, and the lack of parameters is already clear from the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the installed Godot version', which is a specific verb and resource. It is unambiguous and distinguishes itself from sibling tools, which are about editing, running, or managing projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it is a simple getter, it does not mention typical use cases or prerequisites (e.g., requiring a Godot project to be open).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoget_project_infoB
Retrieve metadata about a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint, so description bears full burden. 'Retrieve' implies read-only behavior, but no further details on permissions, side effects, or operation scope are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, direct and efficient. Could add a bit more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequate but lacks specifics on what metadata is returned, limiting completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'Godot project path'. The description adds no additional meaning beyond the schema; baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Retrieve' and resource 'metadata about a Godot project'. However, does not differentiate from sibling tool 'godot_project_info' which likely serves a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'godot_project_info' or when not to use it. Missing context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uidget_uidB
Get the UID for a specific file in a Godot project (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | Path to the file (relative to project) for which to get the UID | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries the full burden. It does not disclose behavioral traits like idempotence, side effects, error conditions, or response format. The description only states the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler. It includes essential information (version) without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple tool but lacks information about return values (e.g., the UID format or type). Without output schema, the agent has no clue what the response looks like. Also, no explanation of what a UID is in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already provides parameter meanings. The description adds no extra semantics beyond what is in the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the UID'), the resource ('specific file in a Godot project'), and includes a version constraint ('for Godot 4.4+'). It effectively distinguishes itself from siblings like 'update_project_uids'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. No when-not-to-use or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_api_docGet class documentationARead-only
Return the reference documentation for a Godot class: inheritance, description, methods, properties, signals and constants.
| Name | Required | Description | Default |
|---|---|---|---|
| members | No | Include methods/properties/signals (off for just the summary). | |
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| class_name | Yes | Exact class name, e.g. "Node2D" (case-sensitive). | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description confirms it returns documentation, which is consistent. However, it adds no additional behavioral context beyond what the annotations provide, such as how the data is fetched or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately conveys the tool's purpose. No extraneous words or information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately lists the documentation sections returned. It does not mention output format options (covered in params) or case sensitivity (also in params). Overall sufficient for a read-only doc tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have schema descriptions (100% coverage), so the schema already explains parameter meaning. The description adds no further parameter details; it only lists output sections. A baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns reference documentation for a Godot class, explicitly listing the included sections (inheritance, description, methods, properties, signals, constants). This distinguishes it from sibling tools like godot_api_search and godot_eval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. While the name and context imply it's for full documentation, there are no when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_api_searchSearch API docsCRead-only
Search the Godot class reference for the target version: matches class names, brief descriptions, and method/member/signal names. Returns ranked hits.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum items to return. | |
| query | Yes | What to search for, e.g. "CharacterBody2D", "move_and_slide", "tween". | |
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and openWorldHint, but description adds minimal behavioral detail. It mentions 'ranked hits' but does not disclose pagination, rate limits, or query limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with two clauses; concise and front-loaded with key information. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately describes the search function and return type. Could mention default version behavior or limit, but parameters handle those. For a tool with no output schema, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 5 parameters with descriptions; the description adds context about search matching but does not enhance per-parameter meaning beyond schema. Baseline 3 is appropriate as schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Search' and resource 'Godot class reference' with specifics on what is matched (class names, brief descriptions, method/member/signal names). Does not explicitly differentiate from sibling tools like godot_api_doc, but purpose is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., godot_api_doc). The description does not mention trade-offs, prerequisites, or context-specific recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_buildBuild (import resources)A
Import/reimport the project headlessly, compiling scripts and generating the .godot cache. Surfaces script and scene errors. This is the Godot equivalent of a compile check.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that the tool compiles scripts, generates the .godot cache, and surfaces errors, which is transparent given no annotations. Could be more explicit about side effects like cache overwrite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the main action and purpose with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a build tool with 3 optional parameters and no output schema, the description covers purpose, outcome, and error surfacing adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions; description does not add parameter-specific meaning, but baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Import/reimport the project headlessly, compiling scripts and generating the .godot cache' and calls it the 'equivalent of a compile check,' distinguishing it from sibling tools like godot_run (run) or godot_export (export).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for error checking without running, but does not explicitly mention when not to use or point to alternatives like godot_validate_script or godot_run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_cleanClean projectADestructive
Remove generated artifacts: the .godot cache, legacy .import folder, and optionally the export/ output.
| Name | Required | Description | Default |
|---|---|---|---|
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| include_exports | No | Also delete the export/ directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true. The description adds specific artifacts that will be removed, including the conditional export directory. This provides valuable behavioral context beyond the annotation, though it does not mention permanence or confirmation prompts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose. It is front-loaded with the action ('Remove generated artifacts') and lists specifics without extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema) and the presence of destructiveHint annotation, the description is mostly complete. It covers what is deleted and notes the optional export. A minor gap is not mentioning that deletion is permanent, but the annotation already signals destructiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description mentions 'optionally the export/ output' which aligns with the include_exports parameter but does not add additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Remove') and lists concrete resources ('.godot cache', 'legacy .import folder', 'export/ output'). It clearly distinguishes from sibling tools like 'delete_file' or 'manage_ci_pipeline' by focusing on project-generated artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what it does (removing generated artifacts) and mentions optional export removal. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., delete_file for individual files) or when not to use it (e.g., if cache is needed). The context is clear but no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_create_resourceCreate resourceB
Create a new resource from a template: a GDScript (gdscript) or C# (csharp) script, a scene (scene) or a generic resource (resource). Fails if the target exists unless overwrite=true.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | For scripts: the class to extend (e.g. "Node2D"). For scenes: ignored. | |
| kind | Yes | What to create. | |
| resource | Yes | A resource path, e.g. "res://main/player.tscn" or "main/player.tscn". | |
| overwrite | No | Overwrite an existing file. | |
| root_name | No | For scenes: the root node name. | |
| root_type | No | For scenes: the root node type (default "Node2D"). | |
| class_name | No | For scripts: an optional class_name to declare. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions it fails if target exists unless overwrite=true, which is useful. However, it does not disclose success behavior, side effects, or prerequisites like project root and permissions. With no annotations providing safety hints, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence clearly states purpose, and the second adds a critical failure condition. Every sentence serves a purpose with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, 2 required parameters, and a dense sibling list with overlapping tools, the description is incomplete. It does not explain the relationship to sibling tools, what happens on success, or the meaning of 'template'. The lack of output schema makes this gap more significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the base score is 3. The description adds minimal extra meaning beyond schema, such as reiterating kind values and overwrite behavior, but does not explain complex parameters like base or root_type beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new resource from a template with specific supported kinds (gdscript, csharp, scene, resource). However, it does not distinguish itself from sibling tools like create_scene, create_script, or create_resource, which exist separately and could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the separate create_scene, create_script, or create_resource tools. The description lacks explicit context for when this combined approach is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_doctorDiagnose setupARead-only
Run diagnostics: confirm a usable editor binary, version alignment with the project, export template availability, and whether the project imports cleanly.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation. The description adds specific check details but does not describe what happens on failure or the nature of results. It adds some value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and lists specific diagnostic checks. No extraneous information; every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only diagnostic tool with full schema coverage and annotations, the description covers the main checks. It does not explain the return format, but the response_format parameter hints at output options. Overall fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already described in the schema. The description does not add any further parameter semantics beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run diagnostics') and lists exactly what is checked (editor binary, version alignment, export templates, clean import). It clearly distinguishes from sibling tools like godot_setup or godot_engine_info by focusing on health validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool—when you need to verify setup health—but does not explicitly mention when not to use it or name alternatives. It is functional but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_engine_commandRaw engine commandA
Send a raw JSON command to the godot_mcp bridge (advanced). Supported commands: ping, info, scene_tree, eval, set_property, reload, screenshot, quit. Payload is merged into the request.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | The bridge command name. | |
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| payload | No | Extra JSON fields merged into the request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint, so the description bears full responsibility. It states 'Send a raw JSON command' and 'Payload is merged', but does not disclose potential destructive effects, authentication needs, rate limits, or error behavior. The word 'advanced' hints at caution but is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states the core purpose, the second lists supported commands and payload behavior. Information is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (raw bridge command) and lack of output schema, the description should clarify return values or response format. It does not. However, the schema is well-described, and the list of commands provides context. It is adequate but not complete for an advanced tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all 3 parameters (100% coverage) with basic info. The description adds value by listing supported command values (e.g., ping, info, scene_tree) for the 'command' parameter, which the schema lacks. This helps the agent select valid commands beyond the schema's minimal 'bridge command name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Send a raw JSON command to the godot_mcp bridge (advanced)', which clearly identifies the verb (send), resource (raw command to bridge), and audience (advanced). The list of supported commands further specifies scope and distinguishes this raw tool from higher-level sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description labels the tool as 'advanced' and lists supported commands, implying it is a fallback for unsupported operations. However, it does not explicitly state when to use or avoid this tool versus the many specific sibling tools (e.g., game_eval, godot_scene_tree), nor does it provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_engine_infoEngine infoARead-only
Query a running game via its bridge: engine version, FPS, frame count, current scene and node count.
| Name | Required | Description | Default |
|---|---|---|---|
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, establishing safety. The description adds behavioral context by specifying the bridge-based query and the exact data fields returned (e.g., engine version, FPS, frame count). This goes beyond annotations, though it could mention potential errors (e.g., game not running) or the need for the bridge to be installed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and then lists the specific data points. Every word is informative, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the absence of an output schema, the description adequately covers the tool's purpose and output. It lists the key fields returned, though a more detailed breakdown of the output structure would enhance completeness. The 'response_format' parameter partially addresses output specification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not elaborate on the parameters 'game_id' or 'response_format' beyond what the schema provides, so it adds no additional semantic value for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Query' and identifies the resource as 'a running game via its bridge'. It lists exactly what information is returned (engine version, FPS, frame count, current scene, node count), making the tool's purpose clear and distinct from sibling tools like 'game_performance' or 'game_get_node_info'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for querying engine status from a running game but provides no explicit guidance on when to use it over alternatives (e.g., 'game_os_info' or 'godot_project_info'). There is no mention of prerequisites or conditions for use, leaving usage context somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_evalEvaluate GDScriptA
Run GDScript in the running game and return the result as a string. The code is compiled as a real script, so autoload singletons (e.g. GameState), method calls and await all work. A bare expression is auto-wrapped to return its value; multi-line code should return explicitly. The locals tree (SceneTree), root (Window) and scene (current scene) are provided. Examples: "GameState.last_health", "scene.get_node("Player").position", "return await some_node.some_async()".
| Name | Required | Description | Default |
|---|---|---|---|
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| expression | Yes | GDScript to run: a bare expression, or statements ending in `return`. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack any hints, so the description must fully disclose behavior. It mentions code compilation, autoloads, await, and provided locals, but does not warn about potential side effects (e.g., modifying game state arbitrarily). This is a significant behavioral disclosure gap given the tool executes arbitrary code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured paragraph, front-loaded with the main action, and includes specific examples inline. No unnecessary words—every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema, so the description should fully cover output behavior. It states 'return the result as a string' but does not describe error handling (e.g., compile errors), which is critical for a code evaluation tool. The description is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions (100% coverage), but the description adds value: it explains the expression parameter's auto-wrapping behavior, examples of usage, and clarifies the game_id optionality. This goes beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs GDScript in a running game and returns the result. It distinguishes itself from siblings by specifying the execution environment (compiled as a real script with autoloads, await support, and provided locals).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use it: bare expressions are auto-wrapped, multi-line code needs explicit return, and it provides examples. It does not explicitly contrast with alternatives like game_eval, but the context of running in a real game with autoloads and await is clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_exportExport bundleA
Export a project using a preset from export_presets.cfg. Mode "release"/"debug" produce a runnable bundle; "pack" produces a .pck/.zip data pack. With no preset, lists the available presets.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Export mode. | debug |
| output | No | Output file path (absolute, res://, or project-relative). Defaults to the preset's export_path. | |
| preset | No | Export preset name (as in export_presets.cfg). Omit to list presets. | |
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool produces a runnable bundle or .pck/.zip data pack, and lists presets if omitted. It clarifies the outcome of the operation. Annotations provide openWorldHint: true, which is consistent with the export action; no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, and every sentence provides valuable information. No redundant or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 optional parameters and no output schema, the description covers the main outcomes and mode distinction well. It explains the preset listing behavior. It does not detail the return format beyond what the schema says, but the tool's purpose is clear enough for an AI agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The tool description adds context for the 'mode' enum (linking to bundle vs pack), but the schema already explains all parameters adequately. Baseline is 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Export a project using a preset from export_presets.cfg' and explains the three modes (release/debug for runnable bundle, pack for data pack). It also specifies that omitting preset lists available presets, distinguishing it from sibling tools like export_mesh_library or export_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides mode-specific usage guidance (when to use release/debug vs pack) and explains the behavior when no preset is given (lists presets). However, it does not explicitly compare against sibling export tools, missing some guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_find_referencesFind referencesARead-only
Find resources that reference a given resource, by scanning scenes, resources and scripts for its res:// path, filename, UID, or preload/load usage.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum items to return. | |
| offset | No | Number of items to skip (for pagination). | |
| resource | Yes | A resource path, e.g. "res://main/player.tscn" or "main/player.tscn". | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by specifying that it scans scenes, resources, and scripts and searches for multiple identifier forms (path, filename, UID, preload/load). This gives useful behavioral context beyond the annotation, though it omits details like performance or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 22 words, directly front-loaded with the key action and resource. No redundant information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters (including pagination and format options) and no output schema, the description covers the basic functionality but does not explain output format behavior, pagination details, or error cases. It is functional but not thorough for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema itself documents all 5 parameters. The description does not add semantic meaning or usage notes beyond what the parameter descriptions (e.g., 'resource' is a path, 'limit' max 1000) already provide. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource 'references to a given resource', and specifies the scanning domains (scenes, resources, scripts) and identifiers (path, filename, UID, preload/load). This distinguishes it from sibling tools like godot_list_resources or godot_parse_resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding all usages of a resource, but does not explicitly state when to use it versus alternatives (e.g., godot_list_resources for listing all resources, or godot_api_search for API references). No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_game_logsGame logsBRead-only
Return recent stdout/stderr from a running or finished game.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | How many trailing lines to return. | |
| stream | No | Which stream to include. | all |
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context that the tool can return logs from finished games, which goes beyond the readOnlyHint annotation. However, it does not detail other behaviors such as blocking, pagination, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no fluff, making it easy to parse. However, it could be slightly more informative without losing conciseness, given the tool has multiple parameters and siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having four parameters and no output schema, the description is too brief. It does not explain the output format, how to use the game_id parameter, or any limitations. The agent may need more context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions in the input schema (100% coverage), so the description adds no additional meaning. The tool's description does not enhance understanding of parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns recent stdout/stderr from a running or finished game, which is a specific verb and resource. However, it does not differentiate itself from the sibling tool 'game_get_logs', which may 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.
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. There is no mention of prerequisites, when it is appropriate, or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_get_settingsGet project settingsBRead-only
List project.godot settings as section/key/value entries, optionally filtered to one section.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum items to return. | |
| offset | No | Number of items to skip (for pagination). | |
| section | No | Only return settings from this section (e.g. "display", "rendering"). | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds that the tool returns entries with section, key, and value. No contradictions. It does not disclose additional behavioral details such as pagination behavior or handling of missing sections, but given the annotation, the description is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately states the tool's purpose and optional filter. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description hints at return structure (section/key/value entries), which is helpful. Parameters document pagination and format. It is complete for a simple list tool, though it could mention behavior when the section is missing or the format of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all 5 parameters, including limits, pagination, section filter, project_root, and response_format. The description mentions the section filter but adds no further meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists project.godot settings as section/key/value entries with optional filtering. The verb 'list' and resource 'project.godot settings' are specific. However, it could be more precise about how it differs from sibling tools like 'read_project_settings' or 'godot_set_setting'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention when not to use it, nor does it point to siblings like 'read_project_settings' or 'modify_project_settings' that might be relevant for reading or modifying settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_hot_reloadHot reloadA
Reload GDScript files and/or the current scene in the running game without restarting it. Pass script res:// paths to reload, and/or reload_scene=true to reinstantiate the current scene.
| Name | Required | Description | Default |
|---|---|---|---|
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| scripts | No | Script resource paths to reload (res:// or relative). | |
| reload_scene | No | Reinstantiate the current scene. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provide safety hints (readOnly, destructive). Description does not disclose side effects (e.g., loss of unsaved state, reset of script variables). More behavioral context is needed for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with main purpose, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with few params; description covers core functionality. Omission of response_format or game_id is acceptable as schema describes them. Slight improvement could mention usage in active game.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions (100% coverage). Description loosely restates scripts and reload_scene parameters but adds no new insight beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool reloads GDScript files and/or scene without restarting, specifying the verb and resource. It distinguishes from siblings like add_node, game_change_scene by focusing on hot reloading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description conveys when to use (to reload scripts/scene without restart). It does not explicitly exclude alternatives or state when not to use, but the context implies appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_install_bridgeInstall bridge addonAIdempotent
Install (or refresh) the godot_mcp live-control bridge addon and its autoload in the project. Normally handled by godot_setup or godot_run, but available explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool installs/refreshes the addon and its autoload, aligning with the idempotentHint annotation. It adds no further behavioral details beyond what the annotation already provides, so the value added is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the verb and resource. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, idempotent annotation), the description is complete. It covers purpose, usage context, and needed details without gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter and 100% schema description coverage, the description adds no additional meaning beyond the schema. The baseline score of 3 is appropriate as the schema already documents the parameter thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Install (or refresh)' and the specific resource 'godot_mcp live-control bridge addon and its autoload'. It distinguishes from sibling tools by noting that godot_setup or godot_run normally handle this, making the purpose explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that this tool is normally handled by godot_setup or godot_run but is available explicitly. This provides clear context for when to use it. However, it does not list specific conditions for when not to use it, but the idempotent hint mitigates that gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_list_addonsList addonsARead-only
List installed editor addons under addons/, with their plugin.cfg metadata and enabled state.
| Name | Required | Description | Default |
|---|---|---|---|
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying the scope (addons/ directory) and what metadata is included. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant information. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description provides sufficient context about the return content (metadata and enabled state). Without an output schema, this coveres expectations adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well-documented. The description does not add additional meaning beyond the schema, which is acceptable for a baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (installed editor addons), location (under addons/), and included details (plugin.cfg metadata and enabled state). It effectively distinguishes from sibling tools like 'godot_list_resources' or 'list_project_files'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool's usage for listing addons, but it lacks explicit guidance on when to use it vs alternatives or any exclusions. The context is straightforward, so it's minimally viable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_list_gamesList gamesARead-only
List all launched games this session, running and exited, with their handles and status.
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the readOnlyHint annotation by specifying that it returns running and exited games along with handles and status. It also clarifies the session scope. No contradictions with annotations, and the behavior is well-explained for a read-only list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. It efficiently conveys the tool's purpose and scope without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is fully complete: it details what is listed (launched games, running/exited), the session scope, and the information provided (handles, status). No additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (response_format) is fully documented in the schema with enum values and descriptions, achieving 100% coverage. The description does not need to add more, as the baseline of 3 is appropriate when schema already covers it adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifically states 'List all launched games this session, running and exited, with their handles and status.' It clearly identifies the verb (list), resource (launched games), scope (this session), and output details (handles, status), distinguishing it from sibling tools like godot_run or godot_game_logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool ('list all launched games this session') but does not explicitly state when not to use it or mention alternatives. While the sibling list includes related tools, no direct comparison or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_list_resourcesList resourcesARead-only
List project resources as res:// paths, optionally filtered by extension (e.g. ".tscn", ".gd"). Skips .godot/ and .gdignore-marked folders.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum items to return. | |
| offset | No | Number of items to skip (for pagination). | |
| extension | No | Filter to a single extension, with or without the leading dot (e.g. "tscn"). | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the readOnlyHint annotation by stating it skips .godot/ and .gdignore-marked folders. This is useful for understanding what resources are included or excluded. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no filler. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and comprehensive parameter schema, the description adequately covers what the tool does. It lacks explicit return format details, but the response_format parameter provides guidance. Minor gap in explaining output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds minimal extra meaning. It mentions 'optionally filtered by extension' which matches the extension parameter, but does not provide additional semantic details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists project resources as res:// paths, with optional extension filtering. The verb 'List' and resource type are explicit, distinguishing it from sibling tools like 'godot_list_addons' or 'list_project_files'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional extension filtering and that it skips .godot/ and .gdignore-marked folders, providing some context. However, it does not explicitly state when not to use this tool or suggest alternatives, which limits guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_parse_resourceParse resourceARead-only
Parse a resource into structured JSON-ish output. Scenes (.tscn) and resources (.tres) yield their node tree, ext/sub resources and connections; scripts (.gd/.cs) yield an outline of classes, functions, signals, exports and variables.
| Name | Required | Description | Default |
|---|---|---|---|
| resource | Yes | A resource path, e.g. "res://main/player.tscn" or "main/player.tscn". | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, which the description aligns with (parse operation). The description adds behavioral context beyond annotations by detailing what each file type yields (node tree vs. outline), enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded with the core action and resource types. No redundant or extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main output types and example formats. It lacks mention of default response_format but is otherwise sufficient. The no-output-schema constraint is handled by describing output structure in text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all parameters with clear descriptions. The tool description does not add significant new semantics beyond the schema. Since schema coverage is 100%, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (parse), the target resource types, and the output structure (node tree, outline). It distinguishes itself from siblings by specifying 'structured JSON-ish output' and covers .tscn, .tres, .gd, .cs files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inspection and understanding resource structure, but does not explicitly state when to use this tool versus alternatives like 'read_file' or 'game_*' tools. No 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_project_infoProject infoARead-only
Summarise a Godot project: name, target engine version, main scene, autoloads, input actions, enabled features and a resource-type breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds value by listing the data points returned (autoloads, input actions, etc.). No contradictions; behavior is transparently a read-only summarization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the tool's purpose and what it returns. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately lists the return content (name, engine version, etc.) and mentions response_format. Could specify that the output is a summary, but overall complete for a read-only info tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions for both parameters. The tool description adds context by listing the return fields, but does not improve parameter understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool summarizes a Godot project and lists specific aspects (name, engine version, main scene, etc.). This distinguishes it from sibling tools like get_project_info and manage_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like manage_input_map or get_project_info. The description does not mention when not to use it or provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_runRun gameB
Launch the project (or a specific scene) as a child process and return a handle. With live=true the godot_mcp bridge is enabled (auto-installed if needed) so you can inspect the scene tree, eval expressions, hot reload and screenshot the running game.
| Name | Required | Description | Default |
|---|---|---|---|
| live | No | Enable the godot_mcp bridge for live control. | |
| scene | No | A specific scene to run (res:// path). Defaults to the project main scene. | |
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| headless | No | Run with the headless/dummy renderer (no window; screenshots unavailable). | |
| position | No | Window position as X,Y. | |
| extra_args | No | Additional engine arguments. | |
| resolution | No | Window size as WxH, e.g. "1280x720". | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide openWorldHint=true, which is vague. The description adds that the tool launches a child process, returns a handle, and auto-installs the bridge when live=true. However, it does not disclose process lifecycle (e.g., how to stop, resource usage) or potential side effects like multiple runs conflicting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The first sentence states the core action, the second explains the key feature. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the richness (9 parameters, complex live mode) and no output schema, the description is adequate but incomplete. It mentions returning a handle but does not describe the handle format or how to use it with other tools like godot_stop. It also does not guide parameter selection for common scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters are fully described in the schema (100% coverage), so the description carries less burden. It does add contextual meaning for the 'live' parameter by explaining what the bridge enables. However, for other parameters, the description adds no extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it launches a project or scene as a child process and returns a handle, with a key feature of enabling the godot_mcp bridge for live control. However, it does not differentiate from the sibling tool run_project, which may have similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention when-not to use it or suggest any sibling tools. The context signals list many sibling tools that could be alternatives for specific tasks (e.g., godot_stop, godot_screenshot), but these are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_scene_treeLive scene treeARead-only
Dump the live scene tree of a running game (node names, types and attached scripts).
| Name | Required | Description | Default |
|---|---|---|---|
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| max_depth | No | Maximum tree depth to walk. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so no contradiction. Description adds that it dumps node names, types, scripts, but no further behavioral details like performance impact or response size. Adequate but minimal addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 15 words, front-loaded with verb. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple but lacks description of output structure (e.g., hierarchical format). Since response_format parameter handles output type, it's partially addressed. Missing a note on default format or example.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with well-described parameters. Description does not add extra meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'dump' and resource 'live scene tree', specifying included info (node names, types, scripts). Distinguishes from siblings like game_get_scene_tree by focusing on tree structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives like game_get_scene_tree or game_get_node_info. The description implies reading the full tree but lacks when-not and alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_screenshotScreenshot gameBRead-only
Capture the current frame of a running game (launched with godot_run live=true, non-headless) and return it as an image. Optionally also saves a PNG to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| embed | No | Return the image inline in the response. | |
| output | No | Optional path to save the PNG. Defaults to a temp file. | |
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool optionally saves a PNG to disk, which is a write operation, contradicting the annotation readOnlyHint: true. This is a serious inconsistency that undermines transparency. The description also lacks details on behavior when multiple games are running or what the embedded image format is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the action, and every sentence adds value. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 optional parameters and no output schema, the description covers the essential preconditions and options. It explains the return value as an image and the optional save. However, it could be more complete by specifying the image format or how the inline embed is represented, but overall it provides sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds some context (e.g., 'return the image inline' for embed, 'defaults to a temp file' for output, and 'optional when exactly one game is running' for game_id), but these are already present in the schema or are minor clarifications.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures the current frame of a running game and returns an image, with optional save to disk. It specifies the precondition (game launched with godot_run live=true, non-headless), which adds clarity. However, it does not differentiate from the sibling tool 'game_screenshot', so it misses full marks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a screenshot of a running game is needed, and notes the precondition (non-headless, live=true). It does not explicitly state when not to use it or mention alternatives like 'game_screenshot', so guidance is present but limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_set_node_propertySet node propertyC
Set a property on a node in the running scene by node path (e.g. "Player", "Player/Sprite2D").
| Name | Required | Description | Default |
|---|---|---|---|
| node | Yes | Node path relative to the scene root. | |
| value | Yes | New value (string/number/bool). | |
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| property | Yes | Property name, e.g. "visible", "position". | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack readOnlyHint or destructiveHint, so the description must disclose behavior. It only states 'Set' indicating mutation, but does not describe side effects (e.g., what happens if node path is invalid, whether the change is immediate, any error handling). No information about authentication needs or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is front-loaded with the action and target. However, it is slightly too brief and could include more context without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no output schema, the description should cover prerequisites (running game), parameter usage hints (e.g., game_id optionality), and expected outcomes. It is incomplete; e.g., it doesn't mention that the node must exist or what the response format affects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already explains all parameters. The tool description does not add new meaning beyond the schema, but it provides an example of node path format ('Player/Sprite2D'), which is a minor addition. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set a property'), the target ('a node in the running scene'), and provides example node paths. It distinguishes from sibling tools like 'game_set_property' by specifying node path usage, but does not explicitly differentiate from other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'game_set_property'. It implies the tool requires a running scene but does not state prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_set_settingSet project settingAIdempotent
Set or add a setting in project.godot. The section is created if missing. Use type="raw" to write a Godot literal verbatim (e.g. a Vector2 or PackedStringArray).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Key, which may contain slashes, e.g. "window/size/viewport_width". | |
| type | No | How to encode value. "raw" writes it verbatim as a Godot variant literal. | string |
| value | Yes | The value to write, interpreted according to "type". | |
| section | Yes | Section name without brackets, e.g. "display". | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotency, and the description adds that sections are created if missing. No contradiction. The description augments the annotation with useful behavioral details without redundancy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is incredibly concise—two sentences that convey purpose, behavior, and a key usage hint. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (setting a project setting), the description covers all essential aspects: purpose, behavior on missing section, and special type handling. No output schema exists, but the description doesn't need to explain return values as the tool likely has no meaningful output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good parameter descriptions. The description adds value by explaining the 'raw' type with examples (Vector2, PackedStringArray), which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (set/add), the resource (project.godot), and provides specific details like section creation and raw type. It distinguishes from sibling tools like modify_project_settings by focusing on individual setting manipulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool (to set or add a setting) and includes guidance on using the 'raw' type. It does not explicitly mention alternatives or when not to use it, but the context is sufficient for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_setupSet up toolchainAIdempotent
Provision the Godot toolchain for a project: resolve the target version, download/locate the editor binary, install matching export templates, and (by default) install the godot_mcp live-control bridge addon. Safe to run repeatedly.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| install_bridge | No | Install the godot_mcp bridge addon for live control. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
| install_templates | No | Download and install export templates. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds specifics beyond the idempotentHint: it details the steps performed (version resolution, binary download/location, template and bridge installation). This gives the agent a good sense of the tool's behavior, though it doesn't cover failure modes or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with enumerated actions, very concise and front-loaded. Every phrase is informative with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description covers the core actions adequately. It explains what the tool does at a high level, but could mention return value or side effects (e.g., network usage) for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description provides an overview of the tool's actions but does not add meaning to individual parameters beyond what the schema already includes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provisions the Godot toolchain with specific steps (resolve version, download editor, install templates, install bridge). However, it does not explicitly differentiate from the sibling tool 'godot_install_bridge' which also installs the bridge addon, somewhat blurring boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'godot_install_bridge' or 'godot_run'. The description only notes it's safe to repeat, missing context on prerequisites or recommended usage sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_stopStop gameAIdempotent
Terminate a running game by handle (or the only running game). Attempts a clean bridge quit before SIGTERM/SIGKILL.
| Name | Required | Description | Default |
|---|---|---|---|
| game_id | No | Handle of a running game (e.g. "game-1"). Optional when exactly one game is running. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=true. The description adds behavioral context: attempts a clean bridge quit before SIGTERM/SIGKILL. This is useful beyond annotations, though it does not describe error cases or side effects if game not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys all essential information without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters (one optional, one with enum default), no output schema, and idempotent annotation, the description is complete for the tool's purpose. It explains the stop behavior and graceful shutdown strategy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters described in the schema. The description adds no additional parameter meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool terminates a running game, specifies the handle or fallback to the only running game, and mentions the graceful quit attempt. This distinguishes it from siblings like godot_run (start) or stop_project (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (stopping a game) but does not explicitly state when not to use it or provide alternatives. There is no comparison with sibling tools like stop_project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_validate_scriptValidate scriptARead-only
Parse a GDScript file headlessly with --check-only and report any parse/compile errors without running the game.
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | A resource path, e.g. "res://main/player.tscn" or "main/player.tscn". | |
| version | No | Godot version to use, e.g. "4.7", "4.7-stable", "stable"/"latest". Defaults to the project's declared version, then the latest stable release. | |
| project_root | No | Path to the Godot project root (folder containing project.godot). Defaults to $GODOT_PROJECT_ROOT or an upward search from the working directory. | |
| response_format | No | Output format. "markdown" is human-readable; "json" is structured. | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that it reports errors without running, which is consistent and provides additional clarity on the operation's outcome.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the primary action. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should specify what the tool returns. It says 'report errors' but does not detail the format or structure of the report, leaving a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add significant extra meaning beyond the schema's parameter descriptions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it parses a GDScript file headlessly with --check-only and reports errors without running the game. It is specific and distinguishes from sibling tools like godot_run or godot_build.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validation without running but does not explicitly state when to use or not use this tool versus alternatives like godot_run or godot_build.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_editorlaunch_editorB
Launch Godot editor for a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (no readOnlyHint, destructiveHint), description carries full burden. It fails to disclose behavioral traits such as launching a separate process, potential blocking, or side effects. The action 'launch editor' implies mutation but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single, efficient sentence with no wasted words. However, it could be slightly more informative without sacrificing conciseness, such as noting that it opens the editor UI.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required param, no output schema), the description is almost complete. It lacks mention of what happens on success/failure, but this is minor for a launch action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 'Godot project path' for projectPath. Description does not add extra meaning beyond the schema, but baseline is 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Launch' and resource 'Godot editor', clearly distinguishing from siblings like 'run_project' which runs a game. It states the scope 'for a specific project', making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides no guidance on when to use this tool versus alternatives (e.g., when to launch editor vs run project). No exclusions or context are given, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_fileslist_project_filesB
List project files, optionally filtered by extension
| Name | Required | Description | Default |
|---|---|---|---|
| extensions | No | Optional file extensions to filter by (e.g., [".gd", ".tscn"]). Include the dot. | |
| projectPath | Yes | Godot project path | |
| subdirectory | No | Optional subdirectory to search in (e.g., "scripts/player") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies read-only behavior ('List'), but lacks details on recursion behavior (though subdirectory parameter hints), error handling for invalid paths, or whether all file types are included by default. Without annotations, the description covers basic behavior but not comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no redundancy, though it could benefit from a bit more structure (e.g., stating the required parameter). It is efficient but not overly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not specify what the tool returns (e.g., file names, full paths, metadata). The tool has three parameters and moderate complexity, but the description omits important context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have descriptions in the input schema (100% coverage), so the baseline is 3. The description adds no extra meaning beyond 'optionally filtered by extension', which is already captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'List' and resource 'project files', with an optional filter by extension, clearly distinguishing it from sibling tools like 'list_projects' which lists projects, not files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no indication of when to use this tool versus alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectslist_projectsB
List Godot projects in a directory
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to search for Godot projects | |
| recursive | No | Whether to search recursively (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but does not disclose any behavioral traits such as side effects, required permissions, or return format. With no annotations beyond title, the description should provide more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence without verbosity. However, it could include more useful information without becoming lengthy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what the tool returns (e.g., project paths, names), nor does it mention error handling or edge cases. Given no output schema, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters with 100% coverage, so the description adds no additional meaning beyond what is in the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'Godot projects in a directory'. It is specific and distinguishes from siblings like 'list_project_files' which lists files within a project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The user must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_spriteload_spriteC
Load a sprite into a Sprite2D node
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the Sprite2D node (e.g., "root/Player/Sprite2D") | |
| scenePath | Yes | Scene file path (relative to project) | |
| projectPath | Yes | Godot project path | |
| texturePath | Yes | Path to the texture file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'Load a sprite,' implying mutation, but does not explain side effects (e.g., whether the scene is modified on disk, if it requires the scene to be open, or what happens to the previous texture). This lack of disclosure is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is efficient and not verbose. However, it could be slightly restructured to front-load the key action and include a brief note on prerequisites or effects without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters and no output schema or annotations, the description is incomplete. It does not explain what 'load' means operationally (e.g., does it open the scene? modify the node? require the scene to be saved?). Sibling tools like 'game_set_property' exist, but the description offers no differentiation or comprehensive context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with descriptive parameter comments, so the baseline is 3. The description adds no additional meaning beyond the schema, such as format details or constraints. It does not compensate for any gaps since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Load') and resource ('sprite') with a clear target ('Sprite2D node'), which distinguishes it from sibling tools like 'game_spawn_node' or 'modify_scene_node'. However, it could be more precise by indicating that it sets the texture property of an existing node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'game_set_property' to set the texture). Users are left to infer the appropriate context without explicit when-to-use or when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_autoloadsmanage_autoloadsA
Add, remove, or list autoloads in a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Autoload name (required for add/remove) | |
| path | No | Script/scene path (required for add, e.g. "res://globals.gd") | |
| action | Yes | "list", "add", or "remove" | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only the title, so the description must carry behavioral disclosure. It mentions add/remove (destructive) and list (read-only), but lacks detail on side effects, permissions, or impact on project state. For example, removing an autoload might break references.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with key actions. No wasted words; every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description is minimally adequate. It doesn't mention return format for 'list' action, error handling, or prerequisites (e.g., project must exist). However, given the tool's simplicity, it covers core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (e.g., 'Autoload name (required for add/remove)'). The description adds minimal value beyond schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Add, remove, or list autoloads in a Godot project' with specific verb+resource combination. It clearly distinguishes from sibling tools as there is no other autoload management tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists possible actions but provides no guidance on when to use this tool versus alternatives (e.g., modifying project settings directly). No explicit when-not-to-use or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_ci_pipelinemanage_ci_pipelineC
Create/read GitHub Actions workflow for automated Godot exports
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create or read | |
| platforms | No | Target platforms: windows, linux, macos, web | |
| projectPath | Yes | Absolute path to Godot project | |
| godotVersion | No | Godot version (e.g. 4.3-stable) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (title only), and the description does not disclose behavioral traits like potential overwriting on create, required permissions, or side effects. The agent has no indication of the tool's safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no wasted words. Efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema or annotations, the description lacks details on what 'create' actually does (e.g., overwrite behavior), and what 'read' returns. Incomplete for safe and correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter has a clear description. The tool description provides context but does not add new meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates/reads a GitHub Actions workflow for automated Godot exports, specifying verb and resource. However, it does not differentiate from related siblings like 'manage_docker_export', and the 'read' action is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'export_project' or 'manage_docker_export'. No explanation of prerequisites or when to use 'create' vs 'read'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_docker_exportmanage_docker_exportC
Create Dockerfile for headless Godot export
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create or read | |
| baseImage | No | Base Docker image (default: ubuntu:22.04) | |
| projectPath | Yes | Absolute path to Godot project | |
| exportPreset | No | Export preset name | |
| godotVersion | No | Godot version (e.g. 4.3-stable) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (e.g., readOnlyHint). The description only says 'Create', but the schema includes a 'read' action, creating inconsistency. No details on side effects, idempotency, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it sacrifices important information. It is front-loaded but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, two possible actions, and many siblings, the description is insufficient. It omits the read action, parameter usage context, and expected output. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds no meaning beyond the schema. Moreover, the description incorrectly implies only 'create' action, conflicting with the schema's both 'create' and 'read' actions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a Dockerfile for headless Godot export. The specific resource (Dockerfile) and context (headless Godot export) distinguish it from sibling export tools like 'export_project' or 'godot_export'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention when to choose this over other export-related tools, nor does it specify prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_export_presetsmanage_export_presetsB
Create or modify export preset configuration
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Preset name (required for add/remove) | |
| action | Yes | "list", "add", or "remove" | |
| platform | No | Platform (for add, e.g. "Windows Desktop", "Linux", "Web") | |
| runnable | No | Whether this preset is runnable. Default: false | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description carries full burden. Description says 'create or modify' but schema includes 'remove' action, which is not mentioned. No disclosure of side effects or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise with no wasted words, but could be expanded to include actions or examples without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, multiple actions, and no output schema, the description is incomplete. It doesn't explain actions, required parameters for specific actions, or return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. Description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Create or modify' and resource 'export preset configuration'. It distinguishes from siblings like 'export_project' and 'manage_docker_export'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Does not mention prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_input_mapmanage_input_mapB
Add, remove, or list input actions and bindings
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key to bind (for add, e.g. "W", "Space") | |
| action | Yes | "list", "add", or "remove" | |
| deadzone | No | Deadzone for the action. Default: 0.5 | |
| actionName | No | Input action name (required for add/remove) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so the description carries full burden for behavioral disclosure. It does not state whether changes are permanent, affect runtime, or require the project to be open. No error conditions or side effects are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with front-loaded verbs, zero waste. Every word is essential and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no behavioral details, the description is incomplete. It lacks information about return values, side effects, error scenarios, and relationship to other input tools. A more complete description would explain the effect of 'list' or the result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool's description adds no additional value or context beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs (Add, remove, or list) and a clear resource (input actions and bindings). It distinguishes this tool from sibling tools like game_input_action and game_input_state, which handle runtime input rather than configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Sibling tools like game_input_action exist, but the description does not mention when to choose this tool or what prerequisites exist (e.g., project must be loaded).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_layersmanage_layersC
List/set named layer definitions in project
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Layer name | |
| layer | No | Layer number (1-32) | |
| action | Yes | Action: list or set | |
| layerType | No | Type: render, physics_2d, physics_3d, navigation | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include a title, no readOnlyHint or destructiveHint. The description mentions 'set', implying mutation, but lacks details on side effects, reversibility, or permissions. The description carries the burden but discloses too little.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one phrase), but it sacrifices valuable context for brevity. Important details like output format, parameter constraints, or action-specific behavior are omitted, making it under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no behavioral annotations, the description is incomplete. It does not explain what a 'layer definition' is, what 'list' returns, or the effect of 'set' on existing definitions. The agent would need to infer too much.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema—it repeats 'list/set' but doesn't explain parameter relationships or usage. Adequate but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List/set') and resource ('named layer definitions in project'), making the tool's purpose evident. It distinguishes from siblings like manage_autoloads or manage_input_map by focusing on layers, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many other manage_* tools, the description should indicate context or prerequisites, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_pluginsmanage_pluginsB
List/enable/disable editor plugins
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: list, enable, disable | |
| pluginName | No | Plugin name | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations beyond title are provided, so description must carry full burden. It indicates mutating actions (enable/disable) but does not disclose consequences (e.g., whether changes persist, require editor restart, or affect other tools). Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Highly concise at 4 words, front-loading the core action and resource. No filler, but could be slightly longer to include usage hints without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 3 parameters and no output schema, but description omits critical details: that pluginName is required for enable/disable actions, error behavior, or expected return values. Lacks information about prerequisites like project open. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter documented. The description adds no extra meaning beyond the schema: action lists allowed values, pluginName and projectPath are self-explanatory. Baseline score of 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'List/enable/disable' and clear resource 'editor plugins', distinguishing it from sibling tools like manage_autoloads or manage_input_map. It precisely communicates the tool's actions and scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for plugin management, but does not explicitly state when to use this tool versus alternatives (e.g., when to list vs enable/disable, or whether project must be open). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_resourcemanage_resourceC
Read or modify .tres/.res resource files
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: read or modify | |
| properties | No | Properties to modify | |
| projectPath | Yes | Godot project path | |
| resourcePath | Yes | Resource file path (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Read or modify' but does not disclose behavioral details like whether modifications are irreversible, require certain permissions, or affect existing properties. With no annotations (no readOnlyHint or destructiveHint), the description carries full burden and is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. However, it could include more details without becoming verbose, balancing conciseness with completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, including a nested object for properties, and no output schema, the description is too terse. It lacks details on return values, error handling, and the exact behavior of the 'modify' action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3. The description adds no extra meaning beyond the schema; it restates 'Read or modify' but does not elaborate on the 'properties' object or the expected format of paths.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads or modifies .tres/.res resource files, specifying the verb and resource. However, it does not differentiate from siblings like 'godot_parse_resource' or 'godot_create_resource', which also deal with resources, so it could be more specific about the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'read_file', 'write_file', or 'godot_create_resource'. The agent is not told about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_scene_signalsmanage_scene_signalsB
List/add/remove signal connections in .tscn files
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: list, add, remove | |
| method | No | Target method name | |
| scenePath | Yes | Scene file path (relative to project) | |
| signalName | No | Signal name | |
| sourcePath | No | Source node path | |
| targetPath | No | Target node path | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool lists, adds, or removes signal connections, which implies both read and destructive actions. However, it lacks details on side effects, reversibility of removals, or whether additions require existing signals. Since no annotations provide readOnlyHint or destructiveHint, the description carries the burden but only gives minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core functionality. It is front-loaded with the verb and resource. However, it could be slightly expanded to include usage notes without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters and no output schema, the description is overly minimal. It does not explain what the 'list' action returns, error conditions, or how the actions affect the signal connections. More detail is needed for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds no parameter-level information beyond the actions listed in the schema. It does not explain how parameters like sourcePath, signalName, targetPath, and method relate to specific actions, which would help an agent know which parameters are required for each action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing signal connections in .tscn files. It specifies the three actions (list, add, remove) and the file type, effectively differentiating it from runtime signal tools like game_connect_signal and broader scene editing tools like manage_scene_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it operates on static scene files while game_* tools operate at runtime, nor does it specify prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_scene_structuremanage_scene_structureB
Rename/duplicate/move nodes within .tscn scenes
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: rename, duplicate, move | |
| newName | No | New name (for rename) | |
| nodePath | Yes | Source node path in scene | |
| scenePath | Yes | Scene file path (relative to project) | |
| projectPath | Yes | Godot project path | |
| newParentPath | No | New parent path (for move) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond title, the description carries the full burden. It only lists actions (rename, duplicate, move) but fails to disclose any side effects, such as whether changes are saved immediately, required permissions, or impact on other nodes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise and front-loaded with the core purpose. However, it could include more detail without being verbose. Still, it earns a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (6 params, no output schema). The description covers the main actions but lacks details on return values, prerequisites (e.g., scene must be loaded), and boundaries between siblings. It is adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters have descriptions in the schema, so coverage is 100%. The description adds no additional meaning beyond the schema, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's actions (rename, duplicate, move) and the resource type (nodes within .tscn scenes). It uses a specific verb+resource pattern, distinguishing it from siblings like add_node or remove_scene_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as modify_scene_node or remove_scene_node. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_shadermanage_shaderB
Create or read .gdshader files
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create or read | |
| source | No | Shader source code (for create) | |
| shaderPath | Yes | Shader file path (relative to project) | |
| shaderType | No | Type: spatial, canvas_item, particles, sky | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations (readOnlyHint, destructiveHint) are provided. The description only states 'create or read' without disclosing whether creating overwrites existing files, what permissions are needed, or the behavior of the 'source' parameter. This is insufficient for a tool that performs both read and write operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with minimal words, effectively conveying the core purpose without unnecessary detail. It is 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, 3 required, no output schema, and no annotations, the description is too sparse. It fails to explain the return value for read actions, the relationship between action and source, or how shaderType constrains the operation. The agent lacks critical details for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning each parameter has a description in the schema. However, the tool description adds no additional meaning beyond what the schema provides, such as clarifying that 'source' is required for creation or the implications of 'shaderType'. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create or read .gdshader files' uses a specific verb (create/read) and resource (.gdshader files), clearly distinguishing it from sibling tools like game_set_shader_param (runtime shader parameter setting) and godot_parse_resource (general resource parsing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to create a shader file versus modify an existing one with game_set_shader_param. No explicit context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_theme_resourcemanage_theme_resourceB
Create/read/modify Theme .tres resources
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create, read, modify | |
| properties | No | Theme properties to set | |
| projectPath | Yes | Godot project path | |
| resourcePath | Yes | Theme file path (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints (e.g., readOnlyHint, destructiveHint). Description implies mutation but lacks details on side effects, permissions, or reversibility. With minimal annotation support, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one phrase), but it is not verbose. Could be slightly more structured while remaining concise. Score reflects that it is neither too long nor optimally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and minimal annotations, the description should explain more about the tool's behavior (e.g., action parameter usage, what happens on read vs modify). Current description is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states specific verb 'Create/read/modify' and resource 'Theme .tres resources', which clearly distinguishes it from sibling tools like 'manage_resource' (general) and 'godot_create_resource'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as 'manage_resource' or 'godot_create_resource'. No exclusion criteria or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_translationsmanage_translationsB
List/add/remove translation files in project
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: list, add, remove | |
| projectPath | Yes | Godot project path | |
| translationPath | No | Translation file path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title) with no readOnlyHint or destructiveHint. The description implies both read (list) and write (add/remove) operations but does not disclose side effects, such as whether existing files are overwritten, what happens to the project configuration, or any required permissions. With no annotations, the description fails to convey safety-critical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. However, it could be slightly more informative without sacrificing brevity, such as hinting at the optional parameter or expected behavior per action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description does not explain what each action returns (e.g., list returns file names, add confirms success). For a tool with three distinct actions, the description is too sparse to fully inform an agent about expected outcomes or file format constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The tool description essentially restates the action parameter ('List/add/remove') but adds no new meaning beyond the schema. The optionality of translationPath is already encoded in the schema (not required). Baseline 3 applies as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List/add/remove translation files in project'. It specifies a specific verb (manage) and resource (translation files), and the action set is unambiguous. There are no sibling tools with similar names, so differentiation is inherent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it does not mention that 'manage_resource' or 'game_locale' might be better suited for other resource types or locale settings. 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.
modify_project_settingsmodify_project_settingsC
Modify a project.godot setting
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Setting key (e.g., "run/main_scene", "window/size/viewport_width") | |
| value | Yes | Value to set (as a string, will be written as-is) | |
| section | Yes | Section in project.godot (e.g., "application", "display", "rendering") | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations (beyond title) and a terse description, the tool fails to disclose key behaviors such as whether it overwrites existing settings, creates new entries, or validates values. The agent lacks critical context for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (6 words) and front-loaded with the action verb. While efficient, it sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, side effects, or error conditions, leaving significant gaps for an agent to understand the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions in the input schema (100% coverage), so the description adds no additional meaning. The baseline of 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Modify' and the resource 'project.godot setting', making the purpose understandable. However, it does not differentiate from sibling tools like 'godot_set_setting' which likely performs a similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'read_project_settings' or 'godot_set_setting'. There is no mention of prerequisites or context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modify_scene_nodemodify_scene_nodeC
Modify node properties in a scene file (headless)
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node within the scene (e.g., "root/Player/Sprite2D") | |
| scenePath | Yes | Scene file path (relative to project) | |
| properties | Yes | Properties to set on the node as key-value pairs | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title), so description should disclose behavioral traits. It mentions 'headless' but does not explain implications (e.g., whether it's destructive, requires a running engine, or saves changes). The agent is left guessing about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with one sentence. It is front-loaded with the key action, but it could be slightly more structured to include usage context without significantly increasing length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 required parameters and no output schema, the description lacks completeness. It doesn't explain what 'headless' means, how properties are applied (e.g., merging vs overriding), or what happens after modification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in the schema. The description adds no additional semantic value beyond the schema, such as validation rules or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (modify) and the resource (node properties in a scene file). The term 'headless' adds context but does not differentiate from similar tools like godot_set_node_property.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention when it's appropriate or any prerequisites, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_fileread_fileB
Read a text file from a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | File path relative to project root | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations beyond title, the description bears full responsibility for behavioral disclosure. It correctly implies a non-destructive read, but lacks details on error handling, file size limits, or how binary files are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence without fluff. However, it could be slightly expanded to include return value information without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description covers the core functionality but omits mention of the return type (file content as string) and potential edge cases like missing files or encoding, leaving it somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no additional meaning beyond the field names and schema descriptions, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Read a text file from a Godot project' clearly states the verb (read) and resource (text file within a Godot project), distinguishing it from sibling tools like write_file or delete_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as read_scene or list_project_files, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_project_settingsread_project_settingsA
Read project.godot as structured JSON
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description declares the tool as read-only. However, with no annotations providing readOnlyHint, the description could be more explicit about side effects, error conditions, or dependencies (e.g., file existence). It is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no extraneous information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and the presence of many sibling tools, the description covers the core function. However, it could mention return type details or error handling. The lack of an output schema places some burden on the description, which is not fully addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter. The description adds context that the file is 'project.godot' but does not elaborate on the path format or constraints. Baseline 3 is appropriate as the schema already defines the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads the project.godot file and outputs structured JSON. It is specific about the resource and output format, and distinguishes from sibling tools like modify_project_settings or get_project_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies read-only access but lacks context about prerequisites or scenarios where other tools (e.g., modify_project_settings) would be appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_sceneread_sceneA
Read scene file as JSON node tree (headless)
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Scene file path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (only title provided), so the description carries the burden of behavioral disclosure. It states 'Read' which implies non-destructive operation, but it does not detail what the 'headless' mode entails, whether it requires specific permissions, or what limitations exist (e.g., file size, scene type constraints). The disclosure is sufficient but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently communicates the core functionality. It is front-loaded with the main action. However, it is perhaps too concise and could benefit from a brief note about the return format or 'headless' meaning. Still, it wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema) and high schema coverage, the description provides adequate functional understanding. However, it lacks explanation of what 'headless' means and what is included in the JSON node tree. This omission reduces completeness, especially compared to sibling read tools like godot_parse_resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already fully describes both parameters (scenePath and projectPath). The description does not add any new semantic information beyond the schema. Therefore, it meets the baseline of 3 for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read'), the resource ('scene file'), and the output format ('JSON node tree'). It adds the qualifier 'headless' which distinguishes it from similar tools that may require a running game. This makes the purpose specific and differentiated from siblings like save_scene or modify_scene_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for reading scene structure in a headless context, but no when-not or alternative tools are mentioned. The context is adequate but not enhanced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_scene_noderemove_scene_nodeC
Remove a node from a scene file (headless)
| Name | Required | Description | Default |
|---|---|---|---|
| nodePath | Yes | Path to the node to remove (e.g., "root/Player/OldNode") | |
| scenePath | Yes | Scene file path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint, so the description must convey behavioral traits. It states 'remove' implying destructiveness but doesn't disclose side effects, reversibility, or required permissions. Insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but lacks important context. It is not well-structured; while brevity is valued, it sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and no output schema, the description should explain what happens after removal (e.g., confirmation, error messages). It omits 'headless' definition and success indicators, making it incomplete for a destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; each parameter already has a description. The tool description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (remove) and resource (node from scene file). The term 'headless' adds context about execution mode. However, it doesn't explicitly differentiate from sibling tools like game_remove_node, which likely operates during runtime.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as modify_scene_node or game_remove_node. No prerequisites or context provided for effective invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_filerename_fileB
Rename or move a file within the project
| Name | Required | Description | Default |
|---|---|---|---|
| newPath | Yes | New file path (relative to project) | |
| filePath | Yes | Current file path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must disclose behavioral traits. It only states the action without mentioning side effects, permissions, or whether overwriting occurs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loaded with action, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool without annotations or output schema, description lacks information on return values, error conditions, or behavior when new path already exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions, so baseline is 3. Description adds no extra meaning beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Rename or move a file within the project' clearly states the action and resource, distinguishing it from related tools like delete_file or create_directory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; does not specify when renaming is appropriate or mention related tools like move operations elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_projectrun_projectB
Run the Godot project and capture output
| Name | Required | Description | Default |
|---|---|---|---|
| scene | No | Optional: Specific scene to run | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavioral traits. It indicates the tool runs the project (mutable action) and captures output, but does not specify side effects, whether the run is blocking, or what 'capture output' precisely entails (stdout/stderr). This is insufficient for a run tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single direct sentence: 'Run the Godot project and capture output.' It is front-loaded, concise, and contains no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It fails to explain the return format, whether the run is synchronous, or how the captured output is delivered. Sibling tools like godot_run and stop_project suggest more context is needed for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning to the parameters, but the schema already provides adequate descriptions (projectPath: 'Godot project path', scene: 'Optional: Specific scene to run').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a Godot project and captures output, using a specific verb and resource. It distinguishes from sibling tools like stop_project and export_project by focusing on running and output capture.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like godot_run, or any prerequisites such as requiring a valid project path or the editor status. The description lacks when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_scenesave_sceneB
Save changes to a scene file
| Name | Required | Description | Default |
|---|---|---|---|
| newPath | No | Optional: New path to save the scene to (for creating variants) | |
| scenePath | Yes | Scene file path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnlyHint or destructiveHint, so the description must convey behavioral traits. It merely states 'save changes' without explaining if it overwrites, creates backups, requires the scene to be open, or has any side effects. Minimal transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words), which is efficient for a simple operation. However, it could be slightly longer to include useful context like 'Saves modifications to an existing scene file' without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool performs a save operation (mutation) with no output schema and minimal annotations, the description lacks completeness. It does not mention return values, error conditions, or prerequisites (e.g., scene must exist). Important gaps for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all three parameters with descriptions, achieving 100% coverage. The description adds no additional parameter meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Save changes to a scene file' uses a specific verb ('Save') and resource ('scene file'), clearly indicating the action. It distinguishes from siblings like 'create_scene' or 'read_scene' by focusing on saving changes to an existing scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or when to avoid, nor mentions of alternatives among siblings. The description implies usage for persisting modifications to a scene, but lacks context like prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_main_sceneset_main_sceneC
Set the main scene in project.godot
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Scene path (relative to project) | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnly or destructive hints, so the description must disclose behavioral traits. It does not mention that this modifies the project.godot file, overwrites existing settings, or requires the project to be closed. The claim 'Set the main scene' is generic and lacks transparency about consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence, but it is front-loaded and to the point. It could benefit from a brief note about the effect on the project file, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the tool's modifying nature, the description should explain what happens after setting the main scene (e.g., project reload, next launch). It does not cover side effects or prerequisites, leaving it incomplete for an agent to fully understand the tool's impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema (100% coverage), so the description adds no additional meaning. Baseline of 3 is appropriate as the schema already handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the main scene') and the target resource ('in project.godot'), making the purpose evident. However, it does not explicitly differentiate from siblings like 'manage_scene_structure', though the name is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as when to set a main scene vs. just having a scene open. The description provides no context for usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_projectstop_projectB
Stop the currently running Godot project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'stop', which implies destruction, but does not disclose behavioral traits like whether it is safe (e.g., graceful shutdown), what happens to unsaved data, or if it requires authentication. Annotations provide no additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of five words, extremely concise and front-loaded with the essential action. No unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple stop action with no parameters or output schema, the description is adequate but lacks context about when it is applicable (e.g., after a project is started with 'run_project') or what state the project will be in after stopping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100% (vacuously). The description does not need to add parameter information, so the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Stop' and the resource 'the currently running Godot project', making it specific. However, it does not differentiate from the sibling tool 'godot_stop', which may perform a similar action, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'godot_stop' or 'run_project'. There is no mention of preconditions, such as requiring a project to be running, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_uidsupdate_project_uidsB
Update UID references by resaving resources (4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool updates and resaves resources, implying mutation. No annotations for readOnly or destructive hints, so description carries full burden. Lacks details on side effects, permissions, or impacts beyond resaving.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence, front-loaded with the action. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, description is adequate but lacks usage context and alternative guidance. Given many sibling tools, more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameter 'projectPath' with a description. The tool description does not add additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates UID references via resaving resources, with a version hint (4.4+). It distinguishes from siblings like 'get_uid' but does not explicitly define the scope of resources or project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many sibling tools like 'get_uid' and 'manage_resource', the description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_filewrite_fileB
Create or overwrite a text file in a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | File content to write | |
| filePath | Yes | File path relative to project root | |
| projectPath | Yes | Godot project path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations lack readOnlyHint or destructiveHint, so description must convey behavioral traits. It only says 'create or overwrite', which implies mutation but does not disclose details like permission requirements, whether existing files are replaced silently, or if missing directories are created. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with no wasted words. Clearly identifies the action and context. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a mutation tool with no annotations and no output schema, the description is too minimal. It omits critical context like whether overwriting is safe, if directories are created, supported text formats, or error behavior. For a file-writing tool, agents need more operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool description adds no extra meaning beyond the schema (e.g., does not explain edge cases like relative paths, encoding, or constraints on content). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool creates or overwrites a text file in a Godot project. This distinguishes it from siblings like read_file (read only) and create_directory (directory creation). The verb 'create or overwrite' and resource 'text file' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. For example, does not mention that read_file is for reading, or that create_directory is for creating directories. No when-not-to-use or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Many tools have clear names, but there are several overlapping tools like game_play_animation vs game_animation_control, game_eval vs godot_eval, and game_get_node_info vs game_get_property. The high volume and similar prefixes cause some confusion.
Tools consistently use snake_case with prefixes like game_, godot_, manage_, create_, etc. However, a few tools like launch_editor and get_debug_output break the pattern, and some queries have similar names under different prefixes.
At 182 tools, the count is far beyond typical MCP server scope. While covering the Godot engine domain is broad, many tools could be merged or streamlined. The sheer number overwhelms agents and increases latency.
The tool surface is remarkably comprehensive, covering project creation, file management, scene editing, resource manipulation, and full runtime game control including physics, audio, UI, input, networking, and debugging. No obvious gaps are apparent.
Maintenance
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
Git-backed platform for skills, tools, and context for AI agents
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI assistants to interact with the Godot game engine by launching the editor, running projects, capturing debug output, managing scenes and nodes, and controlling project execution through a standardized interface.1824811MIT
- AlicenseAqualityDmaintenanceEnables AI agents to create, edit, and run Godot 4.5+ games by providing tools for project scaffolding, scene manipulation, and engine interaction. It supports full game development workflows including node editing, script attachment, and project execution with debugging capabilities.245MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to interact with the Godot game engine, including launching the editor, running projects, capturing debug output, and managing scenes.841MIT
- AlicenseCqualityDmaintenanceEnables AI assistants to interact with and manipulate Godot game engine projects, including creating projects, launching editor, managing scenes and nodes.121,7161MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Fulviuus/godot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server