Godot MCP Enhanced
Provides tools for interacting with the Godot game engine, including project management (launching, running, capturing output), scene management (creating, adding nodes, saving), script management (creating and attaching GDScript), and UID/export operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Godot MCP Enhancedrun my project in debug mode"
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 Enhanced
An enhanced Model Context Protocol (MCP) server for interacting with the Godot game engine. This server enables AI assistants to launch the Godot editor, run projects, manage scenes and nodes, handle scripts, and much more.
Features
Project Management
Launch Godot Editor: Open the Godot editor for a specific project
Run Godot Projects: Execute Godot projects in debug mode with output capture
Capture Debug Output: Retrieve console output and error messages in real-time
Control Execution: Start and stop Godot projects programmatically
Get Godot Version: Retrieve the installed Godot version
List Godot Projects: Find Godot projects in a specified directory
Project Analysis: Get detailed information about project structure
Scene Management
Create Scenes: Create new scenes with specified root node types
Add Nodes: Add nodes to existing scenes with customizable properties
Load Sprites: Load textures into Sprite2D nodes
Save Scenes: Save scenes with options for creating variants
Script Management
Create Scripts: Generate GDScript files with various templates:
Empty template
Node2D/Node3D/Control templates
CharacterBody2D/CharacterBody3D with movement code
Attach Scripts: Attach scripts to nodes in scenes
UID Management (Godot 4.4+)
Get UID: Retrieve the unique identifier for specific files
Update Project UIDs: Resave resources to update UID references
Export Operations
Export Mesh Library: Export 3D scenes as MeshLibrary resources for GridMap
Related MCP server: Gear
Requirements
Godot Engine 4.x installed on your system
Node.js (>=18.0.0) and npm
An MCP-compatible AI assistant (Claude, Cline, Cursor, etc.)
Installation
Quick Start with Claude Code
claude mcp add godot -- npx @xinyuzjj/godot-mcpWith environment variables:
claude mcp add godot -e GODOT_PATH=/path/to/godot -e DEBUG=true -- npx @xinyuzjj/godot-mcpCline
Add to your Cline MCP settings file:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@xinyuzjj/godot-mcp"],
"env": {
"DEBUG": "true"
},
"disabled": false,
"autoApprove": [
"launch_editor",
"run_project",
"get_debug_output",
"stop_project",
"get_godot_version",
"list_projects",
"get_project_info",
"create_scene",
"add_node",
"load_sprite",
"save_scene",
"create_script",
"attach_script",
"get_uid",
"update_project_uids",
"export_mesh_library"
]
}
}
}Cursor
Using the Cursor UI:
Go to Cursor Settings > Features > MCP
Click on the + Add New MCP Server button
Fill out the form:
Name:
godotType:
commandCommand:
npx @xinyuzjj/godot-mcp
Click "Add"
You may need to press the refresh button to populate the tool list
Using Project-Specific Configuration:
Create a file at .cursor/mcp.json in your project directory:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@xinyuzjj/godot-mcp"],
"env": {
"GODOT_PATH": "/path/to/godot",
"DEBUG": "true"
}
}
}
}Other MCP Clients
For any MCP-compatible client, use this configuration:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@xinyuzjj/godot-mcp"],
"env": {
"GODOT_PATH": "/path/to/godot",
"DEBUG": "true"
}
}
}
}Environment Variables
Variable | Description |
| Path to the Godot executable (overrides automatic detection) |
| Set to |
Building from Source
git clone https://github.com/xinyuzjj/godot-mcp.git
cd godot-mcp
npm install
npm run buildThen point your MCP client to build/index.js instead of using npx.
Architecture
The Godot MCP server uses a bundled GDScript approach for complex operations:
Direct Commands: Simple operations like launching the editor or getting project info use Godot's built-in CLI commands directly.
Bundled Operations Script: Complex operations like creating scenes or adding nodes use a comprehensive GDScript file (
godot_operations.gd) that handles all operations.
The bundled script accepts operation type and parameters as JSON, allowing for flexible and dynamic operation execution without generating temporary files for each operation.
Available Tools
Tool | Description |
| Launch Godot editor for a specific project |
| Run the Godot project and capture output |
| Get the current debug output and errors |
| Stop the currently running Godot project |
| Get the installed Godot version |
| List Godot projects in a directory |
| Retrieve metadata about a Godot project |
| Create a new Godot scene file |
| Add a node to an existing scene |
| Load a sprite into a Sprite2D node |
| Save changes to a scene file |
| Create a new GDScript file |
| Attach a script to a node in a scene |
| Get the UID for a specific file (Godot 4.4+) |
| Update UID references in a project (Godot 4.4+) |
| Export a scene as a MeshLibrary resource |
Supported Node Types
The server supports creating the following node types:
Basic: Node, Node2D, Node3D, Control
Physics: CharacterBody2D, CharacterBody3D, RigidBody2D, RigidBody3D, StaticBody2D, StaticBody3D, Area2D, Area3D
Visual: Sprite2D, Sprite3D, AnimatedSprite2D, Camera2D, Camera3D
UI: Label, Button, Panel, ColorRect, TextureRect, ProgressBar
Audio: AudioStreamPlayer, AudioStreamPlayer2D, AudioStreamPlayer3D
Animation: AnimationPlayer, AnimationTree
Collision: CollisionShape2D, CollisionShape3D
Navigation: NavigationRegion2D, NavigationRegion3D, NavigationAgent2D, NavigationAgent3D
Lighting: PointLight2D, DirectionalLight2D, DirectionalLight3D, OmniLight3D, SpotLight3D
And many more...
Troubleshooting
Godot Not Found: Set the
GODOT_PATHenvironment variable to your Godot executable pathConnection Issues: Ensure the server is running and restart your AI assistant
Invalid Project Path: Ensure the path points to a directory containing a
project.godotfileBuild Issues: Make sure all dependencies are installed by running
npm install
Cursor-Specific Issues
Ensure the MCP server shows up and is enabled in Cursor settings (Settings > MCP)
MCP tools can only be run using the Agent chat profile (Cursor Pro or Business subscription)
Use "Yolo Mode" to automatically run MCP tool requests
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Inspired by the original Coding-Solo/godot-mcp project
Built with the Model Context Protocol
Powered by Godot Engine
Available Tools
16 toolsadd_nodeC
Add a node to an existing scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| parentNodePath | No | Path to the parent node (e.g., "root" or "root/Player") | |
| nodeType | Yes | Type of node to add (e.g., Sprite2D, CollisionShape2D) | |
| nodeName | Yes | Name for the new node | |
| properties | No | Optional properties to set on the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose side effects, required permissions, or how the node is added (e.g., does it modify files?). Minimal behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (6 words) but lacks detail. It is front-loaded but too minimal for a tool with 6 parameters and no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing information on output, error conditions, and behavior of the 'properties' nested object. Incomplete given the complexity and lack of annotations/output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no additional meaning beyond the schema, which is already clear. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Add) and resource (node to existing scene). It implicitly distinguishes from sibling tools like create_scene (create new scene) but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like create_scene or attach_script. No prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach_scriptB
Attach a script to a node in a scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| nodePath | Yes | Path to the node (e.g., "root/Player") | |
| scriptPath | Yes | Path to the script file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lacks details about side effects (e.g., modifies scene file), error conditions, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. However, it could be longer to include more context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations. Description does not explain return value, whether scene is saved, or prerequisites for the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters; description adds no extra meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action 'attach' and the objects 'script' and 'node in a scene'. It distinguishes from sibling tools like create_script and add_node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites or typical context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sceneB
Create a new Godot scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path where the scene file will be saved (relative to project) | |
| rootNodeType | No | Type of the root node (e.g., Node2D, Node3D, Control) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states a write operation without disclosing behavior on existing files, error conditions, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous information; highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too minimal, lacking details on success/failure or how it relates to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no extra meaning beyond the parameter descriptions, which already specify paths and node type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (Create) and the resource (Godot scene file), distinguishing from siblings like 'save_scene'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like 'save_scene', nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_scriptC
Create a new GDScript file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scriptPath | Yes | Path where the script will be saved (relative to project) | |
| template | No | Optional template type: empty, node2d, node3d, control, character2d, character3d | |
| className | No | Optional class name for the script |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It only states creation of a file but does not describe side effects (e.g., file overwrites, folder creation), permissions needed, or error conditions. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, very concise. However, it is under-informative given the tool's complexity. Conciseness is good, but structure lacks necessary details for agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema or annotations, the description is incomplete. It does not explain return values, error handling, or workflow context (e.g., where the script fits in a project). Lacks crucial context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already describes each parameter. The description adds no additional meaning beyond the schema, thus meeting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states verb 'Create' and resource 'GDScript file', but is too vague. Does not differentiate from sibling tools like attach_script or create_scene, which also involve script creation. Lacks specific context about what the script file entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, when it is appropriate to create a script, or when to avoid it (e.g., if a similar script exists). Sibling tools like attach_script are not contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_mesh_libraryB
Export a scene as a MeshLibrary resource
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (.tscn) to export | |
| outputPath | Yes | Path where the mesh library (.res) will be saved | |
| meshItemNames | No | Optional: Names of specific mesh items to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits such as overwrite behavior, required permissions, or side effects. The agent is left uninformed about potential consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. Conciseness is ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description is minimal. While the schema covers parameter meanings, no context about return values, errors, or usage constraints is provided.
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 are described in the input schema (100% coverage), so the description adds no additional meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the specific resource type 'MeshLibrary'. It distinguishes from sibling tools like create_scene or add_node by specifying a conversion from scene to library format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites or exclusions, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_outputA
Get the current debug output and errors
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only operation ('get'), but does not explicitly state side effects or requirements. For a simple getter, the description is adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the tool's purpose with no extraneous information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and parameters, the description is minimal. It does not specify the format or structure of the debug output, which could be helpful. The tool is simple, but more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters with 100% schema coverage. Description adds no parameter info, but no parameters exist, so baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'get' with resource 'debug output and errors' clearly indicates a retrieval operation. It distinguishes itself from sibling tools like 'add_node', 'create_scene', etc., which are creation or mutation 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?
The description provides no guidance on when to use this tool instead of alternatives, or when not to use it. No context about prerequisites or usage scenarios is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_versionA
Get the installed Godot version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose that the tool is read-only and non-destructive. While the name implies safety, explicit mention of no side effects would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero wasted words. 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 zero parameters, no output schema, and a simple purpose, the description is mostly complete. It could be improved by mentioning the return type (e.g., 'returns a version string'), but it adequately conveys the tool's function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage. The description adds no parameter information (none needed). Baseline is 4 because there is no gap to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get the installed Godot version' uses a specific verb ('Get') and resource ('installed Godot version'), clearly distinguishing it from all sibling tools which deal with nodes, scripts, scenes, projects, etc.
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. However, given the tool's unique purpose (version retrieval) and no competing tools, usage context is implied. A statement like 'Use this to check the engine version before project operations' would improve it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoA
Retrieve metadata about a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions 'metadata' but does not specify what metadata is returned, nor does it confirm the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set (1 required) and no output schema, the description could hint at the type of metadata returned. It is minimally complete but lacks details about output format or fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description in the schema already explains 'Path to the Godot project directory'. The description adds no additional semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'metadata about a Godot project', distinguishing it from sibling tools like add_node or create_scene that perform modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving project metadata but provides no guidance on when not to use it or alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uidA
Get the UID for a specific file in a Godot project (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| filePath | Yes | Path to the file (relative to project) for which to get the UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the basic action and version constraint, without disclosing important behaviors like read-only nature, error handling (e.g., missing file), or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded with the key action and context. No unnecessary words, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter tool, the description is adequate but incomplete. It does not mention the return format or what happens on failure. With no output schema, the description misses an opportunity to describe the UID or result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions are clear. The description adds the 'Godot 4.4+' version constraint, which is not in the schema. This provides some extra value, but does not significantly enhance understanding of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'UID for a specific file', and the context 'Godot project (for Godot 4.4+)'. It distinguishes itself from sibling tools like 'update_project_uids' (update) and 'get_project_info' (general info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a file's UID but provides no explicit guidance on when to use or avoid this tool. No alternatives or preconditions are mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_editorB
Launch Godot editor for a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'launch', which is vague and does not specify side effects (e.g., whether it blocks, opens a new window, or affects existing editor sessions). The description lacks transparency for an action that may require user interaction or have system impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the verb and resource. It avoids unnecessary words, but it could be slightly more structured to include key context without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one required parameter, no output schema), the description is minimally adequate. However, it does not mention that the project path must be valid or that the editor may need to be installed, leaving potential gaps for an agent unfamiliar with Godot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the single parameter 'projectPath'. The tool description adds no extra semantics beyond the schema, meeting the baseline for a simple parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'launch' and the resource 'Godot editor for a specific project', making the purpose unambiguous. It also distinguishes from siblings like run_project which executes the project rather than opening the editor.
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 only says 'for a specific project' which implies a prerequisite, but it does not provide explicit guidance on when to use this tool versus alternatives like run_project or other project management tools. No examples or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsB
List Godot projects in a directory
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to search for Godot projects | |
| recursive | No | Whether to search recursively (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the burden of behavioral disclosure. It fails to mention that the tool is read-only, what constitutes a valid Godot project, or the format of the list returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is well-structured and front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It does not explain return values, error handling, or what defines a Godot project, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions; it does not elaborate on directory format or recursive behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (Godot projects in a directory). It is specific and distinguishable from sibling tools like 'add_node' or 'create_scene'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For instance, it does not explain how 'list_projects' differs from 'get_project_info' or when one might prefer recursive search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_spriteC
Load a sprite into a Sprite2D node
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| nodePath | Yes | Path to the Sprite2D node (e.g., "root/Player/Sprite2D") | |
| texturePath | Yes | Path to the texture file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description is minimal. It does not disclose whether the node must already exist, if textures are replaced, or any side effects. The burden falls entirely on the description, which fails to add useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous information. It is front-loaded and efficient, though it could benefit from slightly more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 required parameters, no output schema, and no annotations. The description is too sparse to provide a complete understanding; it does not mention errors, return values, or node state requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents each parameter. The description adds no extra meaning beyond what the schema provides, meeting the baseline for parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it loads a sprite into a Sprite2D node, providing a specific verb and resource. It does not explicitly distinguish from siblings, but the context of Godot tools makes it sufficiently 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 guidance on when to use this tool versus alternatives (e.g., add_node or attach_script). The description lacks any contextual cues about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_projectB
Run the Godot project and capture output
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scene | No | Optional: Specific scene to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states it captures output but does not explain how or where, nor indicate if the run is synchronous/asynchronous, or that it can be stopped (implied by sibling stop_project).
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 earns its place, though it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete: it does not clarify what the 'captured output' is, how to access it, or the lifecycle of the running project (e.g., it can be stopped by stop_project).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to repeat parameter details. The description adds no extra meaning beyond the schema, leaving baseline score at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Run the Godot project and capture output' clearly states the action (run) and resource (Godot project), distinguishing it from sibling tools like stop_project (stop) and get_debug_output (get output).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as launch_editor or get_debug_output, nor does it mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_sceneB
Save changes to a scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| newPath | No | Optional: New path to save the scene to (for creating variants) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like whether it overwrites existing files, requires the scene to be loaded, or returns any feedback. The description only states 'Save changes,' which implies mutation but lacks specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Efficiently communicates core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return values or success indicators. It omits whether saving succeeds silently or returns a status. Also lacks context about file locking, permissions, or required scene state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions. The description adds minimal value beyond schema: 'for creating variants' clarifies the optional 'newPath' parameter's purpose. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Save changes to a scene file' uses a specific verb ('save') and resource ('scene file'), clearly indicating the tool's function. It distinguishes from sibling tools like 'create_scene' (create new) and 'load_sprite' (load different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'create_scene' for new scenes, 'launch_editor' for manual editing). The description does not specify prerequisites or conditions for saving.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_projectA
Stop the currently running Godot project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description only says 'Stop the currently running Godot project' with no details on side effects (e.g., unsaved changes), multiple calls, or error states. Annotations are absent, so description should compensate but does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise, no wasted words. Front-loaded with the action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple action with no parameters and no output schema, the description is adequate but lacks context on what 'currently running' means (e.g., which project instance) and possible error conditions. Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters and 100% coverage from schema. Description does not need to add parameter info. Baseline for 0 params is 4, and no additional value is missing.
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 'Stop the currently running Godot project', specifying the verb 'stop' and the resource 'currently running Godot project'. It distinguishes from sibling 'run_project' which starts a project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or when not to call it, despite the presence of sibling tools like 'run_project'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_uidsB
Update UID references in a Godot project by resaving resources (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility for disclosing behavior. It indicates that resources are modified (destructive operation), but provides no details on reversibility, safety, error conditions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and context. Every word contributes meaning without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is too sparse. It does not explain the effects of the operation, success conditions, or potential errors, leaving significant gaps for an agent to assess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'projectPath' parameter fully. The description adds no extra semantic meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates UID references in a Godot project, specifying the method (resaving resources) and version target (Godot 4.4+). It distinctively sets itself apart from sibling tools which focus on different project 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?
The description provides minimal usage context (version requirement) but lacks explicit guidance on when to use this tool versus alternatives, when not to use it, or any prerequisites.
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.
16 tool updates
v1.0.0- First observed
add_node - First observed
attach_script - First observed
create_scene - First observed
create_script - First observed
export_mesh_library - First observed
get_debug_output - First observed
get_godot_version - First observed
get_project_info - First observed
get_uid - First observed
launch_editor - First observed
list_projects - First observed
load_sprite - First observed
run_project - First observed
save_scene - First observed
stop_project - First observed
update_project_uids
TDQS
All 16 tools have clearly distinct purposes, covering scene creation, node manipulation, scripting, project management, debugging, UID handling, and export. No overlapping functionality.
Tool names consistently follow a verb_noun pattern using snake_case (e.g., add_node, create_scene, run_project). All names are predictable and readable.
16 tools is well-scoped for a Godot development server, covering scene editing, script creation, project lifecycle, debugging, and export without being overwhelming or sparse.
The tool set covers essential Godot development workflows (scene CRUD, scripting, project run/stop, debug output, UID management). Minor gaps exist, such as node deletion or scene deletion, but these are not critical.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
MCP server for AI dialogue using various LLM models via AceDataCloud
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that integrates with Discord to provide AI-powered features.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that gives AI assistants direct control over Godot 4 game development projects. It enables launching the editor, running projects, creating and editing scenes, writing GDScript, and inspecting assets through natural language commands.44244MIT
- AlicenseAqualityBmaintenanceAn 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.33212MIT
- AlicenseBqualityCmaintenanceAn MCP server that enables AI agents to interact with the Godot game engine by launching the editor, running projects, capturing debug output, and managing scenes and resources. It provides tools for project analysis, scene creation, and execution control to help agents understand and debug Godot projects in real-time.14MIT
- AlicenseCqualityAmaintenanceAn MCP server providing AI assistants with 149 tools to fully control the Godot game engine, including runtime code execution, scene manipulation, physics, audio, networking, animation, and more.10089449MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xinyuzjj/godot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server