Better Godot MCP
Better Godot MCP is a composite MCP server providing 17 mega-tools for AI-assisted Godot 4 game development, enabling full project management, scene/node manipulation, scripting, and more — without requiring Godot to be running.
Project Management: Get project info/version, run/stop the game, read/write project settings, and export using defined presets
Scene Management: Create, list, inspect, delete, duplicate, and set the main scene for
.tscnfilesNode Manipulation: Add, remove, rename, and list nodes in a scene tree; get and set node properties
GDScript CRUD: Create, read, write, attach, list, and delete GDScript files
Editor Control: Launch the Godot editor and check its status
Environment & Configuration: Auto-detect the Godot binary, verify the environment, and view/set server configuration options
Resource Management: List, inspect, delete, and configure import settings for resource files (images, audio, fonts, shaders, etc.)
Input Map: List, add, and remove input actions and events (keyboard, mouse, joypad)
Signal Connections: List, connect, and disconnect signals between nodes in a scene
Animation: Create AnimationPlayer nodes, add animations, tracks (value, method, bezier), and keyframes
TileMap & TileSet: Create TileSets, add texture sources, set/paint tiles, and list TileMaps
Shader Management: Create, read, write, and inspect parameters of Godot 4
.gdshaderfilesPhysics Configuration: View/set collision layers, configure physics body properties (mass, gravity scale), and name 2D/3D physics layers
Audio Management: List audio buses, add buses and effects, and create AudioStreamPlayer nodes (2D, 3D, or global)
Navigation: Create navigation regions, add agents and obstacles for 2D/3D pathfinding
UI Controls & Themes: Create UI Control nodes, apply themes, set layout presets, and list controls in a scene
Help: Retrieve full documentation for any tool on demand
Enables AI agents to manage Godot Engine projects through a suite of composite tools for scene manipulation (.tscn), GDScript and shader editing, node property configuration, input mapping, and project export operations.
Better Godot MCP
mcp-name: io.github.n24q02m/better-godot-mcp
Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted game development.
Project | Tagline | Tag |
Peer AI agents chat in a shared folder — no human relay, no orchestrator, wor... | Tooling | |
Knowledge graph for token-efficient code reviews -- semantic search and call-... | MCP | |
2-way Google Drive sync with .driveignore filter — rclone engine, Windows tray | Tooling | |
IMAP/SMTP email for AI agents -- read, send, organize folders, and manage att... | MCP | |
Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted g... | MCP | |
Markdown-first Notion for AI agents -- pages, databases, blocks, and comments... | MCP | |
Drop-in python-semantic-release fork with built-in release-safety guards (orp... | Tooling | |
Telegram for AI agents -- messages, chats, media, and contacts across both bo... | MCP | |
Google Workspace MCP server (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch... | MCP | |
Claude Code plugin marketplace for the n24q02m MCP servers -- install web sea... | Marketplace | |
Image and video understanding + generation for AI agents -- across Gemini, Op... | MCP | |
Chrome Extension for bulk operations on Jules tasks via batchexecute API -- a... | Tooling | |
Shared foundation for building MCP servers -- Streamable HTTP transport, OAut... | MCP | |
Persistent AI memory with hybrid search and embedded sync. Open, free, unlimi... | MCP | |
Lightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUF | Library | |
Secrets without the server. | CLI | |
A self-distilling neuro-symbolic cascade that amortises LLM cost across knowl... | Tooling | |
Shared web infrastructure package for search, scraping, HTTP security, and st... | Library | |
Open-source MCP server for AI agents: web search, content extraction, and lib... | MCP |
Table of contents
Related MCP server: Godot MCP Unified
Features
17 composite mega-tools -- scene, node, script, shader, animation, tilemap, physics, audio, navigation, UI, and more
Full scene control -- create, parse, and modify
.tscnfiles directly without Godot runningGDScript CRUD -- create, read, write, and attach scripts in a single call
Tiered token optimization -- compressed descriptions + on-demand
helptool
Install
Runs over stdio by default. No credentials, no account, no relay -- the server reads and writes your local Godot project files directly. Godot 4.x is optional for file operations; only run/stop/export and editor actions need a Godot binary. The detector accepts Godot >=4.1. Live engine compatibility is currently verified with Godot 4.7.1 stable; this does not claim that every future minor release has been verified.
Via npx (recommended)
npx -y @n24q02m/better-godot-mcp@latestMCP client config
Add to your client's MCP config (Claude Code, Cursor, Windsurf, Codex, mcp.json):
{
"mcpServers": {
"better-godot-mcp": {
"command": "npx",
"args": ["-y", "@n24q02m/better-godot-mcp"],
"env": {
"GODOT_PROJECT_PATH": "/path/to/your/godot/project"
}
}
}
}GODOT_PROJECT_PATH is optional -- every tool also accepts a project_path argument per call.
Via Docker
docker run -i --rm -v /path/to/your/godot/project:/project n24q02m/better-godot-mcpThe image is published for amd64 and arm64. Mount your project directory so the server can read and write scene, script, and resource files.
Smithery
better-godot-mcp ships a smithery.yaml so it can be discovered and deployed through Smithery. Smithery launches the server over stdio via npx -y @n24q02m/better-godot-mcp, and no configuration is required to start -- the server has no credentials and reads your local Godot project files directly.
Documentation
Full setup guide at mcp.n24q02m.com/servers/better-godot-mcp/setup/ -- install steps for Claude Code, Codex, Gemini CLI, Cursor, Windsurf, and mcp.json.
Install with AI agent -- paste this to your AI coding agent:
Install MCP server
better-godot-mcpfollowing the steps at https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-godot-mcp/setup-with-agent.md
Tools
Tool | Actions | Description |
|
| Project metadata, run/stop, and settings |
|
| Scene file management |
|
| Scene tree node manipulation |
|
| GDScript file CRUD |
|
| Launch Godot editor and check status |
|
| Server configuration and environment detection |
|
| Resource file management |
|
| Input action and event mapping |
|
| Signal connections |
|
| Animation players and tracks |
|
| TileMap and TileSet management |
|
| Shader file CRUD with Godot 4 syntax |
|
| Collision layers and physics bodies |
|
| Audio bus and effect management |
|
| Navigation regions, agents, and obstacles |
|
| UI control creation and theming |
| - | Get full documentation for any tool |
Comparison
How better-godot-mcp stacks up against direct competitors in each pillar:
Capability | better-godot-mcp | Coding-Solo/godot-mcp | bradypp/godot-mcp | tugcantopaloglu/godot-mcp |
Scene file management | Yes ( | Yes (create/save) | Yes (create/save) | Yes (create/read/modify) |
Node tree manipulation | Yes ( | Partial (add only) | Yes (add/edit/remove) | Yes (add/remove/reparent) |
GDScript file CRUD | Yes ( | No | No | Partial (create from template + runtime eval) |
Shader file CRUD | Yes ( | No | No | Partial (create/read .gdshader) |
Animation authoring | Yes ( | No | No | Yes (player/tween/state machine) |
TileMap / TileSet | Yes ( | No | No | Yes (TileMapLayer cells) |
Physics layers / bodies | Yes ( | No | No | Yes (collision/joints/raycast) |
Audio bus management | Yes ( | No | No | Yes (buses/routing/effects) |
Navigation setup | Yes ( | No | No | Yes (navigation) |
UI control authoring | Yes ( | No | Partial (via add node) | Yes (controls/themes/menus) |
Input map editing | Yes ( | No | No | Yes (actions/key bindings) |
Signal connections | Yes ( | No | No | Yes (connect/emit/await) |
Launch editor / run project | Yes ( | Yes | Yes | Yes |
Works without running editor | Yes (text-based | Yes (headless GDScript bridge) | Yes (headless GDScript bridge) | Partial (CLI headless or live TCP socket) |
No credentials stored (TC-Local) | Yes | Yes | Yes | Yes |
stdio + HTTP transports | Yes (stdio default + | No (stdio only) | No (stdio only) | No (stdio only) |
Docker image (amd64 + arm64) | Yes | No | No | No |
Token-tiered tool descriptions | Yes (compact + on-demand | No | No | No |
Configuration
The Godot binary is auto-detected from common install locations and PATH. No environment variables are required for basic usage. Optionally set GODOT_PROJECT_PATH and GODOT_PATH to override the defaults.
Variable | Required | Default | Description |
| No | - | Default project path (tools also accept a |
| No | Auto-detected | Path to the Godot binary |
HTTP transport
The server runs over stdio by default. To serve over Streamable HTTP instead, pass --http or set MCP_TRANSPORT=http (TRANSPORT_MODE=http is also accepted). HTTP mode exposes an unauthenticated /mcp endpoint -- there are no credentials to protect, so it is meant for trusted local or self-hosted use.
Variable | Required | Default | Description |
| No |
| Set to |
| No |
| HTTP port (HTTP mode only) |
| No | Server default | HTTP host (HTTP mode only) |
Limitations
Requires a Godot 4.x project structure; a Godot binary is optional for file operations
Scene files (
.tscn) are parsed/modified via text manipulation, not Godot's internal APIrun/stop/exportactions require Godot binary to be installedDocker mode has limited filesystem access (mount your project directory)
CLI
The better-godot-mcp binary runs the MCP server by default (stdio; add --http for Streamable HTTP). It also exposes two diagnostic subcommands for checking your Godot environment before wiring up an MCP client.
Command | Description |
| Start the MCP server (stdio default; |
| Print the detected Godot binary as JSON (path, version, source); exits non-zero when none is found |
| Health-check the Godot binary and the current project ( |
# Detect the Godot binary (JSON output)
npx -y @n24q02m/better-godot-mcp detect{
"found": true,
"path": "/path/to/godot",
"version": {
"major": 4,
"minor": 7,
"patch": 1,
"label": "stable.official",
"raw": "4.7.1.stable.official"
},
"source": "system"
}# Health-check the Godot binary and project
npx -y @n24q02m/better-godot-mcp doctor[ok] godot binary: /path/to/godot (source: system)
[ok] godot version: 4.7.1.stable.official
[warn] project: no project.godot found at /path/to/cwd (set GODOT_PROJECT_PATH)detect exits 1 when no Godot binary is found; doctor exits 1 when the binary is missing (a missing project.godot is only a warning).
Security
Binary detection -- Multi-path Godot detection (env, PATH, common locations)
Project validation -- Verifies project.godot exists before operations
Cross-platform -- Windows, macOS, Linux path handling
Build from source
git clone https://github.com/n24q02m/better-godot-mcp.git
cd better-godot-mcp
bun install
bun run dev # stdio mode (default)
bun run dev:http # Streamable HTTP modeTrust model
This plugin implements TC-Local (no auth required -- no credentials stored). See the trust model reference for full classification.
Mode | Storage | Encryption | Who can read your data? |
stdio (default) | N/A (no credentials) | N/A | N/A |
HTTP self-host | N/A (no credentials) | N/A | N/A |
License
Apache-2.0 -- See LICENSE.
Available Tools
17 toolsanimationC
Animation management. Actions: create_player|add_animation|add_track|add_keyframe|list. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | Whether animation loops | |
| name | No | AnimationPlayer node name | |
| action | Yes | Action to perform | |
| parent | No | Parent node path | |
| duration | No | Animation duration in seconds | |
| property | No | Target property for track | |
| anim_name | No | Animation name | |
| node_path | No | Target node path for track | |
| scene_path | No | Path to scene file | |
| track_type | No | Track type: value, method, bezier | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive, but the description adds no behavioral context beyond the list of actions. It does not disclose side effects, required permissions, or state changes (e.g., whether animations are persisted to files or only in memory).
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 two short sentences. It is front-loaded with the domain and a list of actions. However, it relies on an external tool for full documentation, which could be seen as a space-saving choice rather than a complete 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?
Despite having an output schema (as indicated by context signals) and 11 parameters, the description does not explain how actions relate to parameters, what each action returns, or how to chain operations. It is incomplete for an agent to use without referencing the help 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?
The input schema covers all 11 parameters with descriptions (100% schema_description_coverage). The description itself adds no extra meaning to the parameters; it only lists action names. Baseline 3 is appropriate since the schema already documents the parameters 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 states 'Animation management' and lists five actions (create_player, add_animation, etc.), giving a general idea of the tool's purpose. However, it lacks a specific verb-resource pair and does not clearly differentiate from sibling tools like 'editor' or 'nodes', which could also involve animation-related 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. The description simply says 'Use help tool for full docs', shifting the responsibility of understanding usage to an external tool. There is no mention of when to use specific actions or what prerequisites are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audioC
Audio bus and stream management. Actions: list_buses|add_bus|add_effect|create_stream. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| bus | No | Audio bus (default: Master) | |
| name | No | Stream player node name | |
| action | Yes | Action to perform | |
| parent | No | Parent node path | |
| send_to | No | Send bus target (default: Master) | |
| bus_name | No | Audio bus name | |
| scene_path | No | Path to scene file (for create_stream) | |
| effect_type | No | Effect type (for add_effect) | |
| stream_type | No | Stream type: 2D, 3D, or global | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint false, destructiveHint false) but do not contradict the description. However, the description adds no behavioral details such as side effects of actions, required permissions, or state changes. For a tool managing audio buses and streams, crucial transparency is missing, placing the burden on the description which it fails to meet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main concept, but it is too concise to convey necessary information, instead deferring to an external help tool. It sacrifices substantive content for brevity, making it merely adequate rather than well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, multiple actions) and the lack of output schema details, the description is highly incomplete. It fails to explain how parameters relate to actions or what the tool's effects are, and the suggestion to use the help tool acknowledges this 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 description coverage is 100%, meaning the schema already documents all parameters. The description adds no additional meaning beyond listing action names, which the schema's enum also provides. Since baseline is 3 for high coverage, the description's negligible extra value results in a 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 identifies the tool as handling audio bus and stream management and lists four actions, which gives a general sense of purpose but lacks specificity for each action. It does not differentiate among siblings, but siblings are distinct domains like animation or editor, so the main gap is the lack of detail on what exactly the tool does beyond the broad category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or the help tool. The description merely lists actions without explaining which action to choose for which scenario, and explicitly tells users to rely on an external help tool for full docs, indicating the description is insufficient for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configAIdempotent
Server configuration and environment.
Actions (required params -> optional):
status: current config
set (key, value): update setting
detect_godot: find Godot binary path
check: verify project and Godot availability
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Config key (for set) | |
| value | No | Config value (for set) | |
| action | Yes | Action to perform |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and non-destructive. The description adds context like 'update setting' for set and 'find Godot binary path' for detect_godot, which is helpful but does not go beyond the existing annotation coverage significantly.
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?
Very concise: one line for purpose, then a compact list of actions with parameter hints. No wasted words, well structured for quick scanning.
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 an output schema (unknown content) and 100% input schema coverage, the description covers all actions and their parameters. However, it could mention the output format or return values for actions like 'status' or 'check'.
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 value by specifying the role of each action and required params (e.g., '(key, value): update setting'), which clarifies parameter usage 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 is for 'Server configuration and environment' and lists specific actions (status, set, detect_godot, check). This distinguishes it from sibling tools, though the name 'config' is 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 on when to use this tool versus its siblings (e.g., project, scripts). The description lists actions but does not provide criteria for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorAIdempotent
Godot editor control.
Actions (required params -> optional):
launch (-> project_path): open editor
status (-> project_path): check if editor is running
For running the game, use project(action="run") instead.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, and description aligns by stating actions are launch and status. Adds context like project_path being optional for each action, but does not elaborate on further 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?
Very concise, structured with bullet points, front-loaded with purpose. Every sentence is necessary and 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 low complexity and complete schema+output schema, description sufficiently covers usage, alternatives, and parameter relationships. No 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%, but description adds value by showing parameter dependencies (required params -> optional) and mapping parameters to actions, enhancing usability 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?
Clearly states it controls the Godot editor with specific actions (launch, status). Differentiates from sibling 'project' by stating it should be used for running the game instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists when to use each action and provides a clear alternative for running the game (project action=run), guiding agent away from misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
helpARead-onlyIdempotent
Full documentation. Omit topic for the overview; use a topic when compressed descriptions are insufficient.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Documentation topic. Omit to read overview.md. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds the useful context that topic-specific documentation supplements compressed descriptions, but it does not disclose output characteristics such as format or size. Given the annotations, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The purpose is front-loaded and the usage rule is stated directly and economically.
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 single optional parameter with an enum and read-only/idempotent annotations, the description plus schema covers all invocation decisions. It does not specify the return format, but for a text documentation tool this is a minor gap, especially with no output schema present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage and already explains the topic parameter and the omit-to-read-overview behavior. The description adds extra meaning by saying when a topic should be used (when compressed descriptions are insufficient), which helps the agent choose between overview and a specific topic.
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 phrase 'Full documentation' identifies the resource this tool serves, and 'Omit topic for the overview; use a topic' clarifies that it provides documentation content on demand. It is clear enough, though it lacks an explicit verb like 'retrieves' and does not directly contrast itself with the 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 gives an explicit decision rule: omit the topic for the overview, and request a specific topic only when compressed descriptions are insufficient. This tells the agent exactly when to invoke the tool and when the existing descriptions should already suffice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
input_mapADestructive
Input action management.
Actions (required params -> optional):
list (-> project_path): all input actions
add_action (action_name -> deadzone=0.5, project_path)
remove_action (action_name -> project_path)
add_event (action_name, event_type, event_value -> project_path)
event_type: key | mouse | joypad. event_value: e.g., KEY_SPACE.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| deadzone | No | Deadzone value (for add_action, default: 0.5) | |
| event_type | No | Event type: key, mouse, joypad (for add_event) | |
| action_name | No | Input action name | |
| event_value | No | Event value, e.g., KEY_SPACE (for add_event) | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description mentions actions that modify input map (add, remove). However, the description does not elaborate on behavioral details such as side effects or permanence of changes beyond what the annotation implies. It adds little extra transparency beyond the annotation.
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, using a compact format to convey action-parameter relationships and examples. Every sentence adds value, and the most important information (action list) is front-loaded. 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 with multiple sub-actions and parameters, the description covers all aspects: listing actions, adding/removing actions, adding events with valid event types and examples. Since an output schema exists, return value documentation is handled elsewhere, making this description complete for its 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 description coverage is 100% (baseline 3), but the description adds significant value by grouping parameters per action (e.g., 'add_action (action_name -> deadzone=0.5, project_path)'), showing dependencies and defaults, which is not apparent from the schema alone. This makes parameter usage clear and contextual.
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 starts with 'Input action management' and then details specific actions (list, add_action, remove_action, add_event) with required and optional parameters, clearly stating what the tool does. It distinguishes between sub-operations and explains event types, providing a specific verb-resource mapping.
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 shows required vs optional parameters for each action, giving clear usage context. While it doesn't explicitly state when-not to use this tool or compare with siblings, the sibling tools are unrelated, and the sub-action listing effectively guides the agent on which action to perform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nodesADestructive
Scene node operations.
Actions (required params -> optional):
add (scene_path, name -> type="Node", parent=".", project_path)
remove (scene_path, name -> project_path)
rename (scene_path, name, new_name -> project_path)
list (scene_path -> project_path)
set_property (scene_path, name, property, value -> project_path)
get_property (scene_path, name, property -> project_path)
Node paths: relative to scene root using "/" (e.g., "Player/Sprite2D"). Use "." for root.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Node name | |
| type | No | Node type (for add, default: Node) | |
| value | No | Property value (for set_property) | |
| action | Yes | Action to perform | |
| parent | No | Parent node path relative to scene root (for add, default: "." = root). Use "/" separator, e.g., "Player/Sprite2D" | |
| new_name | No | New name (for rename) | |
| property | No | Property name (for get/set_property) | |
| scene_path | No | Path to scene file | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true; description lists destructive actions (remove, set_property) but does not elaborate on consequences or irreversibility beyond what annotations imply.
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 well-structured with an action list and note on paths, but could be slightly more concise by avoiding repetition of parameter names.
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?
Covers actions and parameters adequately, but lacks description of return values (e.g., what 'list' returns) despite an output schema existing; still sufficient for basic 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?
Description adds value beyond schema by providing default values (type='Node', parent='.') and clarifies node path conventions, despite 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it manages scene node operations with explicit actions (add, remove, rename, etc.), distinguishing it from sibling tools focusing on other domains like animation or audio.
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 structured format for actions with required/optional params and explains node path syntax, but does not explicitly state when to use this tool versus alternatives or specify exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
physicsC
Physics config. Actions: layers|collision_setup|body_config|set_layer_name. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | Mass (for body_config) | |
| name | No | Node name | |
| action | Yes | Action to perform | |
| dimension | No | 2d or 3d (for set_layer_name) | |
| scene_path | No | Path to scene file | |
| layer_number | No | Layer number (for set_layer_name) | |
| project_path | No | Path to Godot project directory | |
| gravity_scale | No | Gravity scale (for body_config) | |
| collision_mask | No | Collision mask bitmask | |
| collision_layer | No | Collision layer bitmask |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context such as side effects, permissions, or whether actions modify state. With no compensation from the description, the agent lacks understanding of potential 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 very short, but this brevity sacrifices clarity. It front-loads 'Physics config' and lists actions, which is somewhat structured, but the utility of the description is limited. Every sentence is used, but the content is insufficient for an agent to use the tool 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 the high parameter count (10) and the presence of an output schema, the description is severely lacking. It does not explain the behavior of each action, parameter dependencies, or expected outputs. The tool is complex, but the description provides almost no contextual 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 each parameter having a brief description. The description adds no additional meaning beyond listing action names; it does not explain which parameters apply to which actions. The schema already provides basic context, so the description offers minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Physics config' and lists four actions, giving a general sense of the tool's purpose. However, it is vague and does not clearly specify what each action does or how the tool is used. The phrase 'Use help tool for full docs' suggests incompleteness.
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 vs alternatives. The description does not mention any prerequisites, context, or scenarios where physics should be chosen over sibling tools like animation or navigation. The instruction to use the help tool indicates the description is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projectA
Godot project operations.
Actions (required params -> optional):
info (-> project_path): project metadata
version: Godot engine version
run (-> scene_path, project_path): launch game
logs (-> pid): last captured stdout/stderr lines from a run (default: most recently started)
stop: stop running game
settings_get (key -> project_path): read project setting
settings_set (key, value -> project_path): write project setting
export (preset, output_path -> project_path): export game build
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Settings key (for settings_get/set) | |
| pid | No | PID to read logs for (for logs; default: most recently started) | |
| value | No | Settings value (for settings_set) | |
| action | Yes | Action to perform | |
| preset | No | Export preset name (for export) | |
| scene_path | No | Path to a specific scene to run (optional) | |
| output_path | No | Export output path (for export) | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses mutating actions (run, stop, export, settings_set) and non-mutating ones (info, version, logs, settings_get). Annotations show readOnlyHint=false and destructiveHint=false, but the description adds context about process management (launching/stopping games, reading logs). It could be more explicit about side effects, such as that 'run' starts a game and 'stop' kills it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured as a list of actions with parameter notes in parentheses. It front-loads the action list, making key information quickly scannable. However, the notation might be slightly cryptic for new users (e.g., '->' for required/optional), and the overall length is appropriate.
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, 8 actions, output schema present), the description covers all actions and their parameter dependencies. It explains the purpose of each action and how parameters relate to it. The presence of an output schema reduces the need to describe return values. Minor gaps: no explanation of what 'project metadata' includes for info, or what happens if run is called with no scene_path.
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 with descriptions for all parameters. The description adds value by grouping parameters per action and indicating which are required vs optional (e.g., 'key -> project_path' for settings_get). This contextualizes the schema beyond raw property definitions.
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 'Godot project operations' and enumerates 8 distinct actions (info, version, run, logs, stop, settings_get, settings_set, export) with specific purposes. Each action is described with a verb and resource, making it easy for an AI agent to understand what the tool offers.
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 a compact guide on which parameters are required or optional for each action, and notes the default behavior for logs (most recently started PID). However, it does not explicitly tell when to use this tool over sibling tools like 'editor', 'nodes', or 'scripts', which may overlap in functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resourcesBDestructive
Resource file management.
Actions (required params -> optional):
list (-> type, project_path): browse resources (type: image|audio|font|shader|scene|resource)
info (resource_path -> project_path): resource metadata
delete (resource_path -> project_path)
import_config (resource_path -> project_path): view import settings
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by type: image, audio, font, shader, scene, resource (for list) | |
| action | Yes | Action to perform | |
| project_path | No | Path to Godot project directory | |
| resource_path | No | Path to resource file |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists actions including delete (destructive) and others (read-only), which aligns with annotations (destructiveHint=true). However, it adds no additional behavioral context beyond what annotations already provide, such as side effects, 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 concise with a structured list of actions and parameters. It front-loads the main purpose and includes only necessary information. Minimal waste.
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 an output schema, the description covers the core actions adequately. However, it lacks details on error conditions, prerequisites (e.g., valid project path), and does not elaborate on 'import_config' beyond 'view import settings'. It is functionally complete but could be richer.
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 description adds meaning by mapping each action to its required/optional parameters (e.g., 'list (-> type, project_path)'), which is not explicit in the schema. This helps the agent understand which parameters apply to which action, supplementing the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool manages resource files and lists four actions (list, info, delete, import_config). However, it does not explicitly distinguish itself from sibling tools like 'audio' or 'animation', which likely handle specific resource 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 explicit guidance on when to use this tool versus alternatives. No mention of prerequisites or context. The description only lists actions but does not help the agent decide which tool to use for which scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenesADestructive
Scene file (.tscn) CRUD.
Actions (required params -> optional):
create (scene_path -> root_type="Node2D", root_name, project_path)
list (-> project_path)
info (scene_path -> project_path)
delete (scene_path -> project_path)
duplicate (scene_path, new_path -> project_path)
set_main (scene_path -> project_path)
scene_path: relative to project root (e.g., "scenes/main.tscn"), NOT res:// prefix. Use nodes tool to edit nodes within a scene.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| new_path | No | Destination path (for duplicate) | |
| root_name | No | Root node name for create | |
| root_type | No | Root node type for create (default: Node2D) | |
| scene_path | No | Relative scene file path from project root (e.g., "scenes/main.tscn"), not res:// prefix | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Matches annotations (destructiveHint: true) with delete action. Clarifies path format (no res://). Could add more on side effects (e.g., implications of set_main).
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?
Compact format with actions listed, then path note. Front-loaded with purpose, no redundant 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?
Covers all 6 actions and key constraints for a complex tool. Output schema exists, so return values are handled.
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%, but description adds default root_type and path conventions. Provides useful context 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?
Clearly states 'Scene file (.tscn) CRUD' and lists all actions with params. Differentiates from sibling 'nodes' tool, so agent knows this tool manages scene files, not node editing.
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?
Provides action-specific required and optional params in a structured format. Explicitly says to use nodes tool for editing nodes within scenes, guiding correct tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scriptsADestructive
GDScript file CRUD.
Actions (required params -> optional):
create (script_path -> extends="Node", content, project_path): generate template
read (script_path -> project_path)
write (script_path, content -> project_path): replace entire file
attach (script_path, scene_path, node_name -> project_path): link to scene node
list (-> project_path)
delete (script_path -> project_path)
script_path: relative to project root (e.g., "scripts/player.gd").
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| content | No | Script content (for create/write) | |
| extends | No | Base class for create (default: Node) | |
| node_name | No | Target node name (for attach) | |
| scene_path | No | Scene file path (for attach) | |
| script_path | No | Path to GDScript file | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, and the description reinforces this by detailing destructive actions like 'replace entire file' and 'delete'. It adds context about template generation for create and parameter dependencies, providing behavioral clarity beyond the 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 concise and well-structured, using bullet points and clear groupings. Every sentence serves a purpose—defining actions, parameters, and providing an example—without superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 6 actions), the description comprehensively covers all actions, their parameter requirements, and usage notes. An output schema exists, so return values need not be described. The description is fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, giving baseline 3. The description adds value by grouping parameters per action, indicating which are required/optional, and providing an example script path format. This enhances understanding of parameter usage beyond the schema's individual 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 'GDScript file CRUD' and enumerates specific actions (create, read, write, attach, list, delete) with parameter requirements. It distinguishes itself from sibling tools (e.g., animation, audio) by focusing exclusively on GDScript file manipulation, making the tool's scope unmistakable.
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 structured action listings with required and optional parameters, giving clear context for when to use each action. However, it does not explicitly state when not to use this tool or suggest alternatives among siblings, though the domain specificity makes the usage implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shaderC
Godot shader management. Actions: create|read|write|get_params|list. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| content | No | Shader content (for create/write) | |
| shader_path | No | Path to .gdshader file | |
| shader_type | No | Shader type: canvas_item, spatial, particles, sky, fog (for create) | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal behavioral context beyond listing actions. Annotations are not contradicted, but the description doesn't disclose side effects, permissions, or limitations of actions like create/write.
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?
Very concise but poorly structured. The action list is in inline code format, which is terse but not easily readable. It could be more organized.
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 an output schema, the description omits return value info, error handling, and prerequisites. With 5 parameters and multiple actions, 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 describes all parameters, so baseline is 3. The description adds no extra meaning; it only enumerates actions without linking to parameter usage.
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 Godot shader management and lists specific actions. However, it doesn't differentiate from sibling tools like 'scenes' or 'scripts', but the purpose is clear 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 on when to use this tool versus alternatives. It defers to the help tool ('Use help tool for full docs'), indicating the description itself is insufficient for usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signalsADestructive
Signal connection management.
Actions (required params -> optional):
list (scene_path -> project_path): all signal connections
connect (scene_path, signal, from, to, method -> flags, project_path)
disconnect (scene_path, signal, from, to, method -> project_path)
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Target node path | |
| from | No | Source node path | |
| flags | No | Connection flags | |
| action | Yes | Action to perform | |
| method | No | Target method name | |
| signal | No | Signal name | |
| scene_path | No | Path to scene file | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds action details but no additional behavioral context (e.g., irreversible changes, 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: one-line summary and a bulleted list. Front-loaded 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 complexity (8 params, 3 actions, output schema exists), description covers purpose and action signatures completely. Return values are covered by 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 covers 100% of parameters. Description adds value by grouping required vs optional parameters per action, aiding in understanding call structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it manages signal connections with three specific actions: list, connect, disconnect. Verb+resource is precise and distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs siblings or alternatives. Usage is implied by the actions but not contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tilemapC
TileSet and TileMap management. Actions: create_tileset|add_source|set_tile|paint|list. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| tile_size | No | Tile size in pixels (default: 16, for create_tileset) | |
| scene_path | No | Path to scene file (for list, paint) | |
| project_path | No | Path to Godot project directory | |
| texture_path | No | Texture source path (for add_source) | |
| tileset_path | No | Path to TileSet .tres file (for create_tileset, add_source) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and nondestructive behavior, but the description adds no behavioral context beyond listing actions. No disclosure of side effects, permissions, or mutation scope. For a management tool, this is insufficient 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 very short, with one sentence and a list. While concise, it sacrifices completeness by deferring to the help tool. Front-loads purpose but lacks structured 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?
With 6 parameters, a required action, and an output schema present, the description is inadequate. It relies on the help tool for full documentation and does not explain return values or action-specific behavior. Self-contained usage is not possible.
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 maps actions to the action enum but does not explain parameter interplay or provide context beyond the schema descriptions. No added value over 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 'TileSet and TileMap management' and lists five concrete actions, clearly indicating the tool's domain. However, it does not differentiate from sibling tools like 'scenes' or 'resources' that might overlap, missing a chance to clarify uniqueness.
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 only reference is 'Use help tool for full docs,' which defers responsibility rather than offering decision-making context. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uiC
UI Control nodes and themes. Actions: create_control|set_theme|layout|list_controls. Use help tool for full docs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Control node name | |
| type | No | Control type (e.g., Button, Label, HBoxContainer) | |
| action | Yes | Action to perform | |
| parent | No | Parent node path (default: .) | |
| preset | No | Layout preset: full_rect, center, top_wide, bottom_wide, left_wide, right_wide | |
| font_size | No | Default font size (for set_theme) | |
| scene_path | No | Path to scene file | |
| theme_path | No | Path to theme .tres file (for set_theme) | |
| project_path | No | Path to Godot project directory |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present but the description adds little behavioral insight. It does not disclose which actions are destructive (e.g., create_control) vs non-destructive (list_controls), nor does it explain prerequisites or failure modes. The action list alone 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 concise at two sentences, front-loading the action list. However, the structure could be improved (e.g., bullet points for actions), and the reference to 'help' adds moderate utility.
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 9 parameters and 4 actions, the description is minimal. It does not explain return values (output schema exists but is unused), prerequisites, or error handling. The tool is moderately complex, yet the description leaves 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 description coverage is 100%, so the baseline is 3. The tool description adds no additional parameter semantics beyond what the schema already provides, 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 'UI Control nodes and themes' and lists four actions, giving a general sense of the tool's scope. However, it lacks a unified statement of purpose and does not differentiate from sibling tools like 'nodes' or 'scenes', making it adequate but not clear.
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 vs alternatives such as 'nodes' or 'scenes'. The description merely suggests using the 'help' tool for full documentation, offering 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.23.2- Changed
help3 fields changed- removed
Input schema / properties / tool_nameRemoved value: -{ - "description": "Tool to get documentation for", - "enum": [ - "project", - "scenes", - "nodes", - "scripts", - "editor", - "config", - "help", - "resources", - "input_map", - "signals", - "animation", - "tilemap", - "shader", - "physics", - "audio", - "navigation", - "ui" - ], - "type": "string" -} - added
Input schema / properties / topicAdded value: +{ + "description": "Documentation topic. Omit to read overview.md.", + "enum": [ + "animation", + "audio", + "editor", + "input_map", + "navigation", + "nodes", + "physics", + "project", + "resources", + "scenes", + "scripts", + "shader", + "signals", + "tilemap", + "ui", + "config", + "overview" + ], + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "tool_name" -]
16 tool updates
v1.20.0- Changed
animation1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
audio1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
config1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
editor1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
input_map1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
navigation1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
nodes1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
physics1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
project3 fields changed- changed
Input schema / properties / action / enumPrevious value: -[ - "info", - "version", - "run", - "stop", - "settings_get", - "settings_set", - "export" -]New value: +[ + "info", + "version", + "run", + "logs", + "stop", + "settings_get", + "settings_set", + "export" +] - added
Input schema / properties / pidAdded value: +{ + "description": "PID to read logs for (for logs; default: most recently started)", + "type": "number" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
resources1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
scenes1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
scripts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
shader1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
signals1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
tilemap1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
- Changed
ui1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "type": "object" +}
1 tool update
v1.18.0- Changed
project1 field changed- added
Input schema / properties / scene_pathAdded value: +{ + "description": "Path to a specific scene to run (optional)", + "type": "string" +}
5 tool updates
v1.15.2- Changed
config1 field changed- changed
Input schema / properties / action / enumPrevious value: -[ - "status", - "set" -]New value: +[ + "status", + "set", + "detect_godot", + "check" +]
- Changed
help1 field changed- changed
Input schema / properties / tool_name / enumPrevious value: -[ - "project", - "scenes", - "nodes", - "scripts", - "editor", - "setup", - "config", - "help", - "resources", - "input_map", - "signals", - "animation", - "tilemap", - "shader", - "physics", - "audio", - "navigation", - "ui" -]New value: +[ + "project", + "scenes", + "nodes", + "scripts", + "editor", + "config", + "help", + "resources", + "input_map", + "signals", + "animation", + "tilemap", + "shader", + "physics", + "audio", + "navigation", + "ui" +]
- Changed
nodes1 field changed- changed
Input schema / properties / parent / descriptionPrevious value: -"Parent node path (for add, default: .)"New value: +"Parent node path relative to scene root (for add, default: \".\" = root). Use \"/\" separator, e.g., \"Player/Sprite2D\""
- Changed
scenes1 field changed- changed
Input schema / properties / scene_path / descriptionPrevious value: -"Relative scene file path"New value: +"Relative scene file path from project root (e.g., \"scenes/main.tscn\"), not res:// prefix"
- Removed
setup
18 tool updates
v1.5.1- First observed
animation - First observed
audio - First observed
config - First observed
editor - First observed
help - First observed
input_map - First observed
navigation - First observed
nodes - First observed
physics - First observed
project - First observed
resources - First observed
scenes - First observed
scripts - First observed
setup - First observed
shader - First observed
signals - First observed
tilemap - First observed
ui
TDQS
Scored across 17 tools
Each tool targets a distinct domain (animation, audio, input, physics, etc.) with unique actions. There is no overlap or ambiguity between tools.
All tool names use lowercase with underscores (e.g., input_map, tilemap), following a consistent noun-based pattern. Actions within tools also follow a consistent verb style.
17 tools cover a broad but well-scoped set of Godot development tasks. Each tool is justified and the count feels appropriate for the server's purpose.
The tool surface covers core Godot workflows including project, scenes, scripts, resources, animation, audio, physics, input, navigation, tilemaps, UI, shaders, signals, and editor control. No obvious gaps for typical game development.
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
Discover AI tools for game development — 100+ tools indexed by engine, task, and pricing.
AI game assets for agents: consistent sprites, 2D animations, tiles, maps, music and engine exports.
ADHD-friendly tasks, notes & projects for LucidNest - 18 tools, scoped tokens, Streamable HTTP.
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.
Related MCP Servers
- AlicenseAqualityAmaintenanceMarkdown-first MCP server for Notion that provides 7 composite action-based tools consolidating 28+ REST API endpoints, enabling AI agents to efficiently manage pages, databases, blocks, and content with automatic pagination and bulk operations.1185536Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables complete natural language control of Godot Engine 4.5+ with 76 tools for managing scripts, scenes, nodes, animations, physics, tilemaps, audio, shaders, navigation, particles, UI, lighting, assets, and exports. Integrates with Claude Desktop, VS Code, and Ollama for AI-assisted game development.1472MIT
- AlicenseAqualityAmaintenanceWeb search (embedded SearXNG), content extraction, and library docs indexing with hybrid search. No API keys required.617Apache 2.0
- AlicenseAqualityAmaintenancePersistent AI memory with SQLite hybrid search (FTS5 + semantic), built-in Qwen3 embedding, and rclone sync across machines.1510Apache 2.0
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/n24q02m/better-godot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server