Skip to main content
Glama
n24q02m

Better Godot MCP

by n24q02m

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.

CI codecov npm Docker License: Apache-2.0

TypeScript Node.js Godot Engine semantic-release Renovate

Project

Tagline

Tag

agent-chat-plugin

Peer AI agents chat in a shared folder — no human relay, no orchestrator, wor...

Tooling

better-code-review-graph

Knowledge graph for token-efficient code reviews -- semantic search and call-...

MCP

better-drive

2-way Google Drive sync with .driveignore filter — rclone engine, Windows tray

Tooling

better-email-mcp

IMAP/SMTP email for AI agents -- read, send, organize folders, and manage att...

MCP

better-godot-mcp

Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted g...

MCP

better-notion-mcp

Markdown-first Notion for AI agents -- pages, databases, blocks, and comments...

MCP

better-semantic-release

Drop-in python-semantic-release fork with built-in release-safety guards (orp...

Tooling

better-telegram-mcp

Telegram for AI agents -- messages, chats, media, and contacts across both bo...

MCP

better-workspace-mcp

Google Workspace MCP server (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch...

MCP

claude-plugins

Claude Code plugin marketplace for the n24q02m MCP servers -- install web sea...

Marketplace

imagine-mcp

Image and video understanding + generation for AI agents -- across Gemini, Op...

MCP

jules-task-archiver

Chrome Extension for bulk operations on Jules tasks via batchexecute API -- a...

Tooling

mcp-core

Shared foundation for building MCP servers -- Streamable HTTP transport, OAut...

MCP

mnemo-mcp

Persistent AI memory with hybrid search and embedded sync. Open, free, unlimi...

MCP

qwen3-embed

Lightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUF

Library

skret

Secrets without the server.

CLI

tacet

A self-distilling neuro-symbolic cascade that amortises LLM cost across knowl...

Tooling

web-core

Shared web infrastructure package for search, scraping, HTTP security, and st...

Library

wet-mcp

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 .tscn files directly without Godot running

  • GDScript CRUD -- create, read, write, and attach scripts in a single call

  • Tiered token optimization -- compressed descriptions + on-demand help tool

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.

npx -y @n24q02m/better-godot-mcp@latest

MCP 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-mcp

The 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-mcp following the steps at https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-godot-mcp/setup-with-agent.md

Tools

Tool

Actions

Description

project

info, version, run, stop, settings_get, settings_set, export

Project metadata, run/stop, and settings

scenes

create, list, info, delete, duplicate, set_main

Scene file management

nodes

add, remove, rename, list, set_property, get_property

Scene tree node manipulation

scripts

create, read, write, attach, list, delete

GDScript file CRUD

editor

launch, status

Launch Godot editor and check status

config

status, set, detect_godot, check

Server configuration and environment detection

resources

list, info, delete, import_config

Resource file management

input_map

list, add_action, remove_action, add_event

Input action and event mapping

signals

list, connect, disconnect

Signal connections

animation

create_player, add_animation, add_track, add_keyframe, list

Animation players and tracks

tilemap

create_tileset, add_source, set_tile, paint, list

TileMap and TileSet management

shader

create, read, write, get_params, list

Shader file CRUD with Godot 4 syntax

physics

layers, collision_setup, body_config, set_layer_name

Collision layers and physics bodies

audio

list_buses, add_bus, add_effect, create_stream

Audio bus and effect management

navigation

create_region, add_agent, add_obstacle

Navigation regions, agents, and obstacles

ui

create_control, set_theme, layout, list_controls

UI control creation and theming

help

-

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 (scenes: create/list/info/delete/duplicate/set_main)

Yes (create/save)

Yes (create/save)

Yes (create/read/modify)

Node tree manipulation

Yes (nodes: add/remove/rename/list/get+set_property)

Partial (add only)

Yes (add/edit/remove)

Yes (add/remove/reparent)

GDScript file CRUD

Yes (scripts: create/read/write/attach/list/delete)

No

No

Partial (create from template + runtime eval)

Shader file CRUD

Yes (shader: create/read/write/get_params/list)

No

No

Partial (create/read .gdshader)

Animation authoring

Yes (animation: player/track/keyframe)

No

No

Yes (player/tween/state machine)

TileMap / TileSet

Yes (tilemap: tileset/source/set_tile/paint)

No

No

Yes (TileMapLayer cells)

Physics layers / bodies

Yes (physics: layers/collision/body_config)

No

No

Yes (collision/joints/raycast)

Audio bus management

Yes (audio: buses/effects/streams)

No

No

Yes (buses/routing/effects)

Navigation setup

Yes (navigation: region/agent/obstacle)

No

No

Yes (navigation)

UI control authoring

Yes (ui: control/theme/layout)

No

Partial (via add node)

Yes (controls/themes/menus)

Input map editing

Yes (input_map: action/event)

No

No

Yes (actions/key bindings)

Signal connections

Yes (signals: connect/disconnect/list)

No

No

Yes (connect/emit/await)

Launch editor / run project

Yes (editor, project run/stop)

Yes

Yes

Yes

Works without running editor

Yes (text-based .tscn parsing)

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 + --http)

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 help)

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

GODOT_PROJECT_PATH

No

-

Default project path (tools also accept a project_path param)

GODOT_PATH

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

MCP_TRANSPORT

No

stdio

Set to http for Streamable HTTP transport

PORT

No

0 (auto-assign)

HTTP port (HTTP mode only)

HOST

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 API

  • run/stop/export actions require Godot binary to be installed

  • Docker 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

better-godot-mcp

Start the MCP server (stdio default; --http for Streamable HTTP)

better-godot-mcp detect

Print the detected Godot binary as JSON (path, version, source); exits non-zero when none is found

better-godot-mcp doctor

Health-check the Godot binary and the current project (GODOT_PROJECT_PATH, else the working directory)

# 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 mode

Trust 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 tools
animationC

Animation management. Actions: create_player|add_animation|add_track|add_keyframe|list. Use help tool for full docs.

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNoWhether animation loops
nameNoAnimationPlayer node name
actionYesAction to perform
parentNoParent node path
durationNoAnimation duration in seconds
propertyNoTarget property for track
anim_nameNoAnimation name
node_pathNoTarget node path for track
scene_pathNoPath to scene file
track_typeNoTrack type: value, method, bezier
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
busNoAudio bus (default: Master)
nameNoStream player node name
actionYesAction to perform
parentNoParent node path
send_toNoSend bus target (default: Master)
bus_nameNoAudio bus name
scene_pathNoPath to scene file (for create_stream)
effect_typeNoEffect type (for add_effect)
stream_typeNoStream type: 2D, 3D, or global
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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

Given the tool's complexity (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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives 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.

configA
Idempotent

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

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoConfig key (for set)
valueNoConfig value (for set)
actionYesAction to perform

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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

Given the presence of an output schema (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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus 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.

editorA
Idempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

helpA
Read-onlyIdempotent

Full documentation. Omit topic for the overview; use a topic when compressed descriptions are insufficient.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoDocumentation topic. Omit to read overview.md.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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_mapA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
deadzoneNoDeadzone value (for add_action, default: 0.5)
event_typeNoEvent type: key, mouse, joypad (for add_event)
action_nameNoInput action name
event_valueNoEvent value, e.g., KEY_SPACE (for add_event)
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

nodesA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNode name
typeNoNode type (for add, default: Node)
valueNoProperty value (for set_property)
actionYesAction to perform
parentNoParent node path relative to scene root (for add, default: "." = root). Use "/" separator, e.g., "Player/Sprite2D"
new_nameNoNew name (for rename)
propertyNoProperty name (for get/set_property)
scene_pathNoPath to scene file
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
massNoMass (for body_config)
nameNoNode name
actionYesAction to perform
dimensionNo2d or 3d (for set_layer_name)
scene_pathNoPath to scene file
layer_numberNoLayer number (for set_layer_name)
project_pathNoPath to Godot project directory
gravity_scaleNoGravity scale (for body_config)
collision_maskNoCollision mask bitmask
collision_layerNoCollision layer bitmask

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives. 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

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoSettings key (for settings_get/set)
pidNoPID to read logs for (for logs; default: most recently started)
valueNoSettings value (for settings_set)
actionYesAction to perform
presetNoExport preset name (for export)
scene_pathNoPath to a specific scene to run (optional)
output_pathNoExport output path (for export)
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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

Given the tool's complexity (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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

resourcesB
Destructive

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

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by type: image, audio, font, shader, scene, resource (for list)
actionYesAction to perform
project_pathNoPath to Godot project directory
resource_pathNoPath to resource file

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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

Given the presence of an output schema, the description covers the core 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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. 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.

scenesA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
new_pathNoDestination path (for duplicate)
root_nameNoRoot node name for create
root_typeNoRoot node type for create (default: Node2D)
scene_pathNoRelative scene file path from project root (e.g., "scenes/main.tscn"), not res:// prefix
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

scriptsA
Destructive

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").

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
contentNoScript content (for create/write)
extendsNoBase class for create (default: Node)
node_nameNoTarget node name (for attach)
scene_pathNoScene file path (for attach)
script_pathNoPath to GDScript file
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
contentNoShader content (for create/write)
shader_pathNoPath to .gdshader file
shader_typeNoShader type: canvas_item, spatial, particles, sky, fog (for create)
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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

Despite having an output schema, the description 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It 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.

signalsA
Destructive

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)

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoTarget node path
fromNoSource node path
flagsNoConnection flags
actionYesAction to perform
methodNoTarget method name
signalNoSignal name
scene_pathNoPath to scene file
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
tile_sizeNoTile size in pixels (default: 16, for create_tileset)
scene_pathNoPath to scene file (for list, paint)
project_pathNoPath to Godot project directory
texture_pathNoTexture source path (for add_source)
tileset_pathNoPath to TileSet .tres file (for create_tileset, add_source)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoControl node name
typeNoControl type (e.g., Button, Label, HBoxContainer)
actionYesAction to perform
parentNoParent node path (default: .)
presetNoLayout preset: full_rect, center, top_wide, bottom_wide, left_wide, right_wide
font_sizeNoDefault font size (for set_theme)
scene_pathNoPath to scene file
theme_pathNoPath to theme .tres file (for set_theme)
project_pathNoPath to Godot project directory

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool 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. 1 tool updatev1.23.2
    • Changedhelp3 fields changed
      • removedInput schema / properties / tool_name
        Removed 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"
        -}
      • addedInput schema / properties / topic
        Added 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"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "tool_name"
        -]
  2. 16 tool updatesv1.20.0
    • Changedanimation1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedaudio1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedconfig1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changededitor1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedinput_map1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changednavigation1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changednodes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedphysics1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedproject3 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "info",
        -  "version",
        -  "run",
        -  "stop",
        -  "settings_get",
        -  "settings_set",
        -  "export"
        -]New value: +[
        +  "info",
        +  "version",
        +  "run",
        +  "logs",
        +  "stop",
        +  "settings_get",
        +  "settings_set",
        +  "export"
        +]
      • addedInput schema / properties / pid
        Added value: +{
        +  "description": "PID to read logs for (for logs; default: most recently started)",
        +  "type": "number"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedresources1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedscenes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedscripts1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedshader1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedsignals1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedtilemap1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
    • Changedui1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
  3. 1 tool updatev1.18.0
    • Changedproject1 field changed
      • addedInput schema / properties / scene_path
        Added value: +{
        +  "description": "Path to a specific scene to run (optional)",
        +  "type": "string"
        +}
  4. 5 tool updatesv1.15.2
    • Changedconfig1 field changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "status",
        -  "set"
        -]New value: +[
        +  "status",
        +  "set",
        +  "detect_godot",
        +  "check"
        +]
    • Changedhelp1 field changed
      • changedInput schema / properties / tool_name / enum
        Previous 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"
        +]
    • Changednodes1 field changed
      • changedInput schema / properties / parent / description
        Previous 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\""
    • Changedscenes1 field changed
      • changedInput schema / properties / scene_path / description
        Previous value: -"Relative scene file path"New value: +"Relative scene file path from project root (e.g., \"scenes/main.tscn\"), not res:// prefix"
    • Removedsetup
  5. 18 tool updatesv1.5.1
    • First observedanimation
    • First observedaudio
    • First observedconfig
    • First observededitor
    • First observedhelp
    • First observedinput_map
    • First observednavigation
    • First observednodes
    • First observedphysics
    • First observedproject
    • First observedresources
    • First observedscenes
    • First observedscripts
    • First observedsetup
    • First observedshader
    • First observedsignals
    • First observedtilemap
    • First observedui

TDQS

A3.7/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a distinct domain (animation, audio, input, physics, etc.) with unique actions. There is no overlap or ambiguity between tools.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityActive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/n24q02m/better-godot-mcp'

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