godot-mcp-omni
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@godot-mcp-omniCreate a Player.tscn with CharacterBody2D root and add a CollisionShape2D child."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
godot-mcp-omni
Codex-optimized MCP server for Godot 4.x. It is designed around a small number of high-signal manager tools rather than hundreds of narrow tools, while still exposing the full engine through dynamic Godot API dumps, headless GDScript operations, and an optional in-editor bridge.
Design goals
This edition is shaped for Codex-style agents that need a compact, reliable local control surface:
Zero npm runtime dependencies: pure Node.js 20+ JSON-RPC/MCP stdio implementation.
Small tool surface: 9 tools, each with clear action enums.
Full-engine reach without schema bloat:
godot_docscan dump/search the current Godot binary's API, andgodot_editor.rpccan call editor-bridge capabilities dynamically.Codex-safe writes: all filesystem writes are project-root constrained; snapshots/backups are created before edits, and generated bridge tokens are ignored by git.
Hybrid control: headless Godot operations for CI/sandbox use; editor bridge for live selection, scene tree, inspector, logs, and viewport-related work.
Structured results: every tool returns
contentplusstructuredContent, so models can parse outcomes reliably.
Related MCP server: Gear
Install
cd godot-mcp-omni
node src/index.js --doctorAdd to ~/.codex/config.toml:
[mcp_servers.godot]
command = "node"
args = ["/absolute/path/to/godot-mcp-omni/src/index.js"]
startup_timeout_sec = 20
tool_timeout_sec = 120
enabled = true
[mcp_servers.godot.env]
GODOT_PATH = "/absolute/path/to/Godot"
GODOT_MCP_SEARCH_DIRS = "/optional/folder/with/godot"
GODOT_MCP_HOST = "127.0.0.1"
GODOT_MCP_PORT = "8765"
GODOT_MCP_ALLOW_WRITE = "true"
GODOT_MCP_ALLOW_DANGEROUS = "false"First Codex workflow
Ask Codex:
Use godot_meta doctor for my project at /path/to/MyGame.Ask Codex:
Run godot_editor sync_addon and tell me how to enable the plugin.Open Godot, enable Godot Codex Bridge, then ask Codex:
Connect to the Godot editor and read the scene tree.For headless work:
Create a Player.tscn with CharacterBody2D root and add a CollisionShape2D child.
godot_editor sync_addon creates res://.godot_mcp_token when no GODOT_MCP_TOKEN is configured. The package and synced projects ignore that token file by default.
For newest Godot releases, prefer setting GODOT_PATH to the exact editor binary. If you keep multiple portable builds, set GODOT_MCP_SEARCH_DIRS to the folder that contains them; the server probes matching Godot binaries and chooses the newest detected version.
To install the latest official Godot 4.x stable editor for local validation or CI:
npm run godot:install-latest -- --out ./tmp/godotThe GitHub workflow in .github/workflows/latest-godot.yml runs on pushes, pull requests, and a daily schedule. It fetches the latest official Godot 4.x stable build dynamically and runs the live MCP test suite against it, so new stable releases are checked without editing repository code.
Tool surface
godot_meta: server info, doctor, tool help, Codex operating profile.godot_project: project discovery, inspection, safe file read/write/edit/snapshot/diff.godot_script: script listing, read/write, basic syntax checks.godot_scene: create/read/validate scene files and run headless node operations.godot_asset: resource scanning, import, UID lookup, folders.godot_runtime: Godot version, run/stop/smoke/export/log capture.godot_editor: sync/connect to editor bridge, inspect tree/selection, raw RPC.godot_docs: dump/search the current Godot API.godot_batch: run multi-step tool workflows with stop-on-error semantics.
See docs/ARCHITECTURE.md, docs/TOOLS.md, docs/SECURITY.md, and docs/MCP_ARCHITECTURE_REVIEW.md.
Available Tools
9 toolsgodot_assetGodot Asset ManagerBDestructive
Scan resources, import assets, resolve UIDs, and create project folders.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | res:// or project-relative resource path. | |
| limit | No | Maximum number of results. | |
| query | No | Path substring query. | |
| action | Yes | Action to execute. | |
| timeoutMs | No | Timeout in milliseconds. | |
| extensions | No | Resource extensions. | |
| projectPath | No | Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool can be destructive (import, mkdir), which aligns with the destructiveHint=true annotation. However, it lacks detail on side effects, such as whether existing files are overwritten or if permissions are required. The annotation provides the safety context, so the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently lists the tool's capabilities. While it is compact, it could be improved by structuring actions more clearly or indicating the primary action parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, outputs, and a destructive annotation, the description is too brief. It does not cover error scenarios, return value structure, or usage patterns for individual actions, which limits its completeness for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters having descriptions in the schema. The tool description groups parameters by action but does not add new semantic detail beyond what is already in the schema. Thus, the description provides minimal added value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly lists the main actions (scan, import, resolve UIDs, create folders), which correspond to the action enum. It's specific about the tool's purpose but does not differentiate it from sibling tools like godot_batch or godot_project, which may have overlapping capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no usage conditions, prerequisites, or exclusion criteria mentioned, leaving the agent to infer applicability from the action list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_batchGodot Batch Workflow ManagerADestructive
Run a bounded sequence of other Godot MCP tool calls. Useful for Codex multi-step workflows and recovery loops.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | Steps to execute. | |
| dryRun | No | Return planned steps without executing. | |
| maxSteps | No | Maximum allowed steps. | |
| stopOnError | No | Stop after first failed step. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true. The description adds behavioral details: bounded execution (implied by maxSteps), dryRun capability, and stopOnError. No contradiction; it supplements the annotations with additional constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose without any extraneous information. Every sentence serves a clear role.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers purpose and usage context, it omits details about execution order (sequential), result aggregation, and that steps can call any Godot tool. Output schema exists but is not shown; given the tool's complexity, more execution behavior context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter is already described in the schema (steps, dryRun, maxSteps, stopOnError). The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool runs a bounded sequence of other Godot MCP tool calls, using specific verb 'run' and resource 'bounded sequence'. This clearly distinguishes it from sibling tools that handle individual asset, doc, editor, etc. tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it is 'useful for Codex multi-step workflows and recovery loops', providing clear context for when to use. However, it does not explicitly state when not to use or compare to alternatives (e.g., using individual tools directly).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_docsGodot API Docs ManagerB
Dump/search the API of the currently configured Godot binary, including classes, methods, properties, and command-line help. dump_api writes an API cache under .godot_mcp/api.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results. | |
| query | No | Class/member search query. | |
| action | Yes | Action to execute. | |
| withDocs | No | Use --dump-extension-api-with-docs. | |
| className | No | Class name for class_info. | |
| timeoutMs | No | Timeout in milliseconds. | |
| memberQuery | No | Optional method/property/signal search query. | |
| projectPath | No | Godot project root. Used to cache the API dump under .godot_mcp/api. | |
| includeMembers | No | Include member names in search results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that dump_api writes a cache under .godot_mcp/api, revealing a side effect. However, it does not discuss other behavioral aspects (e.g., whether search_classes or class_info require network calls or have rate limits). Annotations only provide idempotentHint:false, which is consistent but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the main purpose without any fluff. Every sentence adds value, and the structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing, the description does not explain the different actions (dump_api, search_classes, etc.) in sufficient detail for an agent to choose correctly. With 9 parameters and 4 action enums, more context about each action's purpose and typical use cases would be necessary for complete guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions in the schema (100% coverage), so the description adds no new parameter-level meaning beyond the schema. The mention of caching relates to the tool's behavior, not parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool dumps/searches Godot API docs including classes, methods, properties, and command-line help. It distinguishes from siblings (godot_asset, godot_project, etc.) by focusing solely on API documentation. However, it could be more specific about the search capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description only states what it does, leaving the agent to infer context from the name and sibling tools. A 'when-not' or alternative mentioning would improve this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_editorGodot Editor Bridge ManagerADestructive
Sync/connect to the in-editor bridge and perform live editor RPC: scene tree, selection, inspection, properties, and raw RPC.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Method arguments. | |
| host | No | Bridge host. | |
| port | No | Bridge port. | |
| token | No | Bridge auth token. | |
| value | No | ||
| action | Yes | Action to execute. | |
| method | No | Raw RPC method. | |
| params | No | ||
| nodePath | No | NodePath in current edited scene. | |
| property | No | Property name. | |
| timeoutMs | No | Timeout in milliseconds. | |
| createToken | No | Create .godot_mcp_token if missing. | |
| projectPath | No | Godot project root. | |
| enablePlugin | No | Modify project.godot to enable plugin. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true. The description adds context about live editor RPC and connection setup, but does not detail behavioral traits like authentication, rate limits, or side effects beyond the generic 'perform RPC'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 16 words, front-loaded with key actions, no redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity (14 parameters, output schema, nested objects), the description covers the core functionality. Output schema exists so return values need no explanation. Missing guidance on usage contexts, but otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86% (high), so baseline is 3. The description adds value by framing parameters within the overall purpose of connecting and performing RPC, helping interpret parameters like host, port, token, and action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it syncs/connects to the in-editor bridge and performs live editor RPC, listing specific capabilities like scene tree, selection, inspection, and properties. It distinguishes itself from sibling tools by being the low-level bridge manager, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only states what it does, without any context for selection among sibling tools or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_metaGodot MCP Meta ManagerARead-onlyIdempotent
Server info, doctor checks, tool help, and Codex usage profile. Start here.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Tool name for tool_help. | |
| action | Yes | Action to execute. | |
| toolAction | No | Action name for tool_help. | |
| projectPath | No | Optional Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists the actions (server_info, doctor, tool_help, codex_profile), which adds context beyond the annotations (readOnlyHint, idempotentHint). It does not contradict annotations and clearly indicates a safe, read-only, idempotent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads key information. It is concise, contains no filler, and effectively communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover safety, the description is sufficient for a meta tool. It lists actions and hints at usage, though it could briefly explain when to use each action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with descriptions for all 4 parameters. The description lists the action enum values but does not add significant meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly lists the tool's capabilities (server info, doctor checks, tool help, codex profile) and distinguishes it from sibling tools by stating 'Start here.' This makes it clear that it's a meta-information tool, not for domain-specific tasks.
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 phrase 'Start here' implies it is the initial tool to use, but it does not specify when to avoid it or provide alternatives. While the context suggests it is for meta queries, no explicit usage guidance or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_projectGodot Project ManagerBDestructive
Discover, inspect, scan, read, and safely edit project-root files. Writes are constrained to the Godot project root.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | res:// or project-relative file path. | |
| root | No | Directory to scan for projects. | |
| limit | No | Maximum number of results. | |
| query | No | Path substring query. | |
| action | Yes | Action to execute. | |
| changes | No | Find/replace edits. | |
| content | No | File content for write_file. | |
| pathspec | No | git diff pathspec entries. | |
| overwrite | No | Allow overwrite. | |
| recursive | No | Recursively scan. | |
| createDirs | No | Create directories. | |
| extensions | No | Extensions to include. | |
| includeText | No | Include text for small files. | |
| projectPath | No | Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, indicating potential destruction. The description adds that writes are 'constrained to the Godot project root,' which mitigates risk but doesn't detail other behaviors. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with key actions and a safety constraint. Slightly improved structure could include bullet points for actions, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 14 parameters, one required enum for actions, and an output schema, the description is adequate but minimal. It covers scope but omits details on parameter usage or action-specific behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little about parameters beyond listing actions. Baseline 3 is appropriate as the description provides minimal additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly lists actions (discover, inspect, scan, read, safely edit) and resource (project-root files). However, it does not differentiate from sibling tools like godot_asset or godot_scene, which may also involve files, so it's not fully distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The phrase 'safely edit' implies a safe usage context, but no when-not-to-use or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_runtimeGodot Runtime ManagerCDestructive
Get Godot version, run/stop projects, smoke-test startup, collect logs, and export builds.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Extra Godot arguments. | |
| scene | No | Optional scene path for run. | |
| action | Yes | Action to execute. | |
| preset | No | Export preset name. | |
| headless | No | Run in headless mode. | |
| timeoutMs | No | Timeout in milliseconds. | |
| outputPath | No | Export output path. | |
| projectPath | No | Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide destructiveHint:true, but the description adds no behavioral context beyond the action list. It does not mention side effects, permissions, or safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence listing all actions is concise and front-loaded. Could benefit from structure (e.g., listing actions), but it efficiently conveys core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, multiple actions, and output schema, the description is too minimal. It fails to explain which parameters are needed for which actions or discuss outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description's overview of actions adds little extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists specific actions (version, run, stop, smoke, logs, export) with clear verbs, distinguishing it from sibling tools that focus on assets, projects, scenes, etc. However, it does not explicitly state it manages the Godot runtime.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description simply enumerates actions without contextual usage hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_sceneGodot Scene ManagerCDestructive
Read scene text and perform headless scene creation/node operations through Godot.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Headless scene operation steps. | |
| action | Yes | Action to execute. | |
| nodeName | No | New node name. | |
| nodeType | No | ClassDB class name for add_node. | |
| rootName | No | Root node name. | |
| rootType | No | Root node class for create. | |
| scenePath | No | res:// or project-relative .tscn path. | |
| timeoutMs | No | Timeout in milliseconds. | |
| parentPath | No | NodePath of parent for add_node. | |
| properties | No | ||
| projectPath | No | Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation declares destructiveHint: true, so the description's mention of creation/node operations aligns. The description adds 'headless' context, which is useful beyond annotations. However, it does not elaborate on side effects, permissions, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is vague and lacks structure. It does not front-load critical information or use bullet points. Could be more informative without added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, a single sentence is insufficient to cover the tool's scope. While an output schema exists, the description fails to convey key details like which actions are read-only vs destructive, or how steps work. The tool is complex but the description is too brief.
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 high (91%), so the description does not need to explain parameters in detail. The description provides minimal extra meaning beyond the schema, simply restating the action types. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads scene text and performs headless scene creation/node operations. It uses a specific verb-resource combination ('Read...perform'). However, it does not distinguish from sibling tools like godot_asset or godot_batch, which could also involve scene 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 on when to use this tool vs alternatives. The description does not mention prerequisites, when-not to use, or suggest alternative tools for specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godot_scriptGodot Script ManagerCDestructive
Read, write, list, and syntax-check GDScript/C# files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Script path. | |
| limit | No | Maximum number of scripts. | |
| query | No | Path substring query. | |
| action | Yes | Action to execute. | |
| changes | No | Find/replace edits. | |
| content | No | Script content. | |
| timeoutMs | No | Timeout in milliseconds. | |
| projectPath | No | Godot project root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| logs | No | |
| meta | No | |
| error | Yes | |
| result | Yes | |
| details | No | |
| summary | Yes | |
| warnings | No | |
| timestamp | No | |
| correlationId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation is present, but the description adds no additional behavioral context. It does not clarify that write and edit actions are destructive while list, read, and check are safe. With annotations already indicating destructiveness, the description fails to add meaningful behavioral details beyond what is already structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence), which is good for brevity, but it omits the 'edit' action and lacks structure. It is not front-loaded with the most critical information (e.g., the action enum is essential but not highlighted). The sentence is clear but marginal for a tool with 8 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, action enum, output schema), the description is too minimal. It does not explain that the action parameter is required, how different actions map to other parameters, or the role of projectPath. The output schema exists but the description does not reference it. The context feels incomplete for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description provides a high-level overview but does not add meaning beyond the existing parameter descriptions. It does not link actions to specific required parameters or explain the interplay between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool handles reading, writing, listing, and syntax-checking of GDScript/C# files. It is specific about the resource type (scripts) and actions, which helps distinguish from sibling tools like godot_scene or godot_asset. However, it omits the 'edit' action present in the schema, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like godot_editor or godot_batch. There is no mention of prerequisites, context, or when to avoid using it. The description merely lists actions without providing decision-making context.
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.
9 tool updates
v0.3.0-codex- First observed
godot_asset - First observed
godot_batch - First observed
godot_docs - First observed
godot_editor - First observed
godot_meta - First observed
godot_project - First observed
godot_runtime - First observed
godot_scene - First observed
godot_script
TDQS
Scored across 9 tools
Each tool targets a distinct aspect of Godot development (assets, batch, docs, editor, meta, project, runtime, scene, script) with clear, non-overlapping descriptions.
All tools follow a consistent 'godot_<domain>' pattern, making it easy for agents to infer each tool's purpose from its name.
With 9 tools, the scope is well-calibrated—comprehensive enough for full Godot workflows without being bloated or sparse.
The tool surface covers asset handling, project management, scene/script editing, runtime control, documentation, and editor integration, leaving no obvious gaps for typical Godot development tasks.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceIntelligent MCP server for AI-assisted Godot 4 development with spatial intelligence, code analysis, and 35 tools54MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to directly run, inspect, modify, and debug Godot game development projects through 110+ tools covering scenes, scripts, resources, runtime debugging, and asset management.3321 npm2MIT
- AlicenseBqualityDmaintenanceAdvanced MCP server for Godot 4.6+ with 63 professional tools, enabling AI-assisted game development with backup/rollback, deep script validation, and project health diagnostics.63131 npm5MIT
- AlicenseAqualityBmaintenanceA Godot 4 MCP server for AI-assisted project inspection, editing, validation, and runtime automation via stdio and optional WebSocket bridge.390MIT