Skip to main content
Glama
xinyuzjj

Godot MCP Enhanced

by xinyuzjj

Godot MCP Enhanced

MCP Server Made with Godot Node.js TypeScript License

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

With environment variables:

claude mcp add godot -e GODOT_PATH=/path/to/godot -e DEBUG=true -- npx @xinyuzjj/godot-mcp

Cline

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:

  1. Go to Cursor Settings > Features > MCP

  2. Click on the + Add New MCP Server button

  3. Fill out the form:

    • Name: godot

    • Type: command

    • Command: npx @xinyuzjj/godot-mcp

  4. Click "Add"

  5. 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

GODOT_PATH

Path to the Godot executable (overrides automatic detection)

DEBUG

Set to "true" to enable detailed server-side debug logging

Building from Source

git clone https://github.com/xinyuzjj/godot-mcp.git
cd godot-mcp
npm install
npm run build

Then 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:

  1. Direct Commands: Simple operations like launching the editor or getting project info use Godot's built-in CLI commands directly.

  2. 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_editor

Launch Godot editor for a specific project

run_project

Run the Godot project and capture output

get_debug_output

Get the current debug output and errors

stop_project

Stop the currently running Godot project

get_godot_version

Get the installed Godot version

list_projects

List Godot projects in a directory

get_project_info

Retrieve metadata about a Godot project

create_scene

Create a new Godot scene file

add_node

Add a node to an existing scene

load_sprite

Load a sprite into a Sprite2D node

save_scene

Save changes to a scene file

create_script

Create a new GDScript file

attach_script

Attach a script to a node in a scene

get_uid

Get the UID for a specific file (Godot 4.4+)

update_project_uids

Update UID references in a project (Godot 4.4+)

export_mesh_library

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_PATH environment variable to your Godot executable path

  • Connection Issues: Ensure the server is running and restart your AI assistant

  • Invalid Project Path: Ensure the path points to a directory containing a project.godot file

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

Available Tools

16 tools
add_nodeC

Add a node to an existing scene

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath to the scene file (relative to project)
parentNodePathNoPath to the parent node (e.g., "root" or "root/Player")
nodeTypeYesType of node to add (e.g., Sprite2D, CollisionShape2D)
nodeNameYesName for the new node
propertiesNoOptional properties to set on the node

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath to the scene file (relative to project)
nodePathYesPath to the node (e.g., "root/Player")
scriptPathYesPath to the script file (relative to project)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath where the scene file will be saved (relative to project)
rootNodeTypeNoType of the root node (e.g., Node2D, Node3D, Control)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scriptPathYesPath where the script will be saved (relative to project)
templateNoOptional template type: empty, node2d, node3d, control, character2d, character3d
classNameNoOptional class name for the script

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath to the scene file (.tscn) to export
outputPathYesPath where the mesh library (.res) will be saved
meshItemNamesNoOptional: Names of specific mesh items to include

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
filePathYesPath to the file (relative to project) for which to get the UID

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryYesDirectory to search for Godot projects
recursiveNoWhether to search recursively (default: false)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath to the scene file (relative to project)
nodePathYesPath to the Sprite2D node (e.g., "root/Player/Sprite2D")
texturePathYesPath to the texture file (relative to project)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
sceneNoOptional: Specific scene to run

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory
scenePathYesPath to the scene file (relative to project)
newPathNoOptional: New path to save the scene to (for creating variants)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 16 tool updatesv1.0.0
    • First observedadd_node
    • First observedattach_script
    • First observedcreate_scene
    • First observedcreate_script
    • First observedexport_mesh_library
    • First observedget_debug_output
    • First observedget_godot_version
    • First observedget_project_info
    • First observedget_uid
    • First observedlaunch_editor
    • First observedlist_projects
    • First observedload_sprite
    • First observedrun_project
    • First observedsave_scene
    • First observedstop_project
    • First observedupdate_project_uids

TDQS

A3.5/5.0
Disambiguation5/5

All 16 tools have clearly distinct purposes, covering scene creation, node manipulation, scripting, project management, debugging, UID handling, and export. No overlapping functionality.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    44
    24
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An 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.
    33
    21
    2
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An 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.
    14
    MIT

Latest Blog Posts

MCP directory API

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

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

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