Skip to main content
Glama

Godot MCP

Github-sponsors

MCP Server Made with Godot Node.js TypeScript

Last Commit Stars Forks MIT License

                           (((((((             (((((((
                        (((((((((((           (((((((((((
                        (((((((((((((       (((((((((((((
                        (((((((((((((((((((((((((((((((((
                        (((((((((((((((((((((((((((((((((
         (((((      (((((((((((((((((((((((((((((((((((((((((      (((((
       (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
     ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
    ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
      (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
        (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
         (((((((((((@@@@@@@(((((((((((((((((((((((((((@@@@@@@(((((((((((
         (((((((((@@@@,,,,,@@@(((((((((((((((((((((@@@,,,,,@@@@(((((((((
         ((((((((@@@,,,,,,,,,@@(((((((@@@@@(((((((@@,,,,,,,,,@@@((((((((
         ((((((((@@@,,,,,,,,,@@(((((((@@@@@(((((((@@,,,,,,,,,@@@((((((((
         (((((((((@@@,,,,,,,@@((((((((@@@@@((((((((@@,,,,,,,@@@(((((((((
         ((((((((((((@@@@@@(((((((((((@@@@@(((((((((((@@@@@@((((((((((((
         (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
         (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
         @@@@@@@@@@@@@((((((((((((@@@@@@@@@@@@@((((((((((((@@@@@@@@@@@@@
         ((((((((( @@@(((((((((((@@(((((((((((@@(((((((((((@@@ (((((((((
         (((((((((( @@((((((((((@@@(((((((((((@@@((((((((((@@ ((((((((((
          (((((((((((@@@@@@@@@@@@@@(((((((((((@@@@@@@@@@@@@@(((((((((((
           (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
              (((((((((((((((((((((((((((((((((((((((((((((((((((((
                 (((((((((((((((((((((((((((((((((((((((((((((((
                        (((((((((((((((((((((((((((((((((

                          /$$      /$$  /$$$$$$  /$$$$$$$
                         | $$$    /$$$ /$$__  $$| $$__  $$
                         | $$$$  /$$$$| $$  \__/| $$  \ $$
                         | $$ $$/$$ $$| $$      | $$$$$$$/
                         | $$  $$$| $$| $$      | $$____/
                         | $$\  $ | $$| $$    $$| $$
                         | $$ \/  | $$|  $$$$$$/| $$
                         |__/     |__/ \______/ |__/

A Model Context Protocol (MCP) server for interacting with the Godot game engine.

Introduction

Godot MCP enables AI agents to launch the Godot editor, run projects, capture debug output, and control project execution. This direct feedback loop helps agents understand what works and what doesn't in real Godot projects, leading to better code generation and debugging assistance.

Related MCP server: Godot MCP

Features

  • Launch Godot Editor: Open the Godot editor for a specific project

  • Run Godot Projects: Execute Godot projects in debug mode

  • Capture Debug Output: Retrieve console output and error messages

  • 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 new scenes with specified root node types

    • Add nodes to existing scenes with customizable properties

    • Load sprites and textures into Sprite2D nodes

    • Export 3D scenes as MeshLibrary resources for GridMap

    • Save scenes with options for creating variants

  • UID Management (for Godot 4.4+):

    • Get UID for specific files

    • Update UID references by resaving resources

Requirements

  • Godot Engine installed on your system

  • Node.js (>=18.0.0) and npm

  • An AI agent that supports MCP

Quick Start

Claude Code

claude mcp add godot -- npx @coding-solo/godot-mcp

That's it. Restart Claude Code and your Godot MCP tools are available.

With environment variables:

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

Cline

Add to your Cline MCP settings file:

{
  "mcpServers": {
    "godot": {
      "command": "npx",
      "args": ["@coding-solo/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",
        "export_mesh_library",
        "save_scene",
        "get_uid",
        "update_project_uids"
      ]
    }
  }
}

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 @coding-solo/godot-mcp

  4. Click "Add"

  5. You may need to press the refresh button in the top right corner of the MCP server card 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": ["@coding-solo/godot-mcp"],
      "env": {
        "DEBUG": "true"
      }
    }
  }
}

Other MCP Clients

For any MCP-compatible client, use this configuration:

{
  "mcpServers": {
    "godot": {
      "command": "npx",
      "args": ["@coding-solo/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/Coding-Solo/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 single, 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.

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

14 tools
add_nodeB

Add a node to an existing scene

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

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose side effects, but it only says 'Add a node.' It does not state whether the scene file is modified in place, whether saving is required, whether the operation is reversible, or any permissions needed. This is a significant gap for a mutation tool.

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 without redundancy. It is appropriately concise, though it sacrifices content for brevity. The structure is fine, and the main purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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

Given the tool has 6 parameters, nested objects, no output schema, and no annotations, the description is far from complete. It does not explain the return value, whether the scene is saved automatically, or the relationship between parameters (e.g., parentNodePath). The agent lacks essential context to use the tool correctly.

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 all parameters have descriptions in the input schema. The description adds no additional semantic value beyond the schema, which is acceptable given the high coverage. The baseline of 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?

The description clearly states the action (Add) and the resource (a node to an existing scene). It distinguishes itself from sibling tools like create_scene and save_scene by focusing on modifying an existing scene rather than creating or saving one.

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 given on when to use this tool versus alternatives. It does not mention that it modifies an existing scene and might require save_scene afterward, nor does it contrast with create_scene. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_sceneA

Create a new Godot scene file

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

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description alone must communicate side effects. It only says 'create' without disclosing whether it overwrites an existing file, what happens on failure, or what the return value is. This is minimal and leaves important behavioral details unknown.

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, succinct sentence that conveys the core functionality without extraneous words. It is appropriately sized for the tool's simplicity.

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?

The description covers the primary action but lacks details about return values or error behavior, and it does not clarify whether the scene is saved immediately or merely created in memory. Given the simplicity of the operation, it is adequate but not fully complete.

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 schema provides descriptions for all three parameters (projectPath, scenePath, rootNodeType), giving full coverage. The tool description itself adds no extra clarity, so it stays at the baseline expected for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('a new Godot scene file'), making the purpose unambiguous. It also implicitly distinguishes itself from siblings like 'save_scene' (which saves an existing scene) and 'add_node' (which adds nodes to a scene).

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 creating new scene files but does not explicitly state when to use this over alternatives like save_scene. No exclusions or conditions are given, leaving the agent to infer the appropriate context.

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
scenePathYesPath to the scene file (.tscn) to export
outputPathYesPath where the mesh library (.res) will be saved
projectPathYesPath to the Godot project directory
meshItemNamesNoOptional: Names of specific mesh items to include (defaults to all)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states the action without mentioning side effects such as file creation, overwriting behavior, or read-only implications. The burden falls on the description, which is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words, effectively 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?

The tool has no output schema and no annotations, yet the description omits details about return values, error handling, or overwrite semantics. While acceptable for a simple export operation, these gaps prevent a higher score.

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 covers all parameters with clear descriptions, including file extensions and the default behavior of meshItemNames. The description adds no additional context beyond the schema, so a 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 resource 'a scene as a MeshLibrary resource', precisely distinguishing it from sibling tools like create_scene or 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 explicit guidance on when to use this tool versus alternatives. It does not mention scenarios where export_mesh_library is preferred over save_scene or other scene-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_debug_outputB

Get the current debug output and errors

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for disclosing behavior. It merely states the action without mentioning side effects, requirements (e.g., running project), return format, or error behavior. The word 'Get' implies a read operation, but this is not explicit and no other behavioral traits are disclosed.

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, direct sentence that efficiently communicates the core function with no filler. It is appropriately sized for a zero-parameter tool, though it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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

Despite the tool's simplicity, the description omits important context such as when debug output is available, whether a project must be running, and the format of the returned output. With no annotations or output schema, these gaps make the description incomplete for an agent deciding to invoke it.

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 tool has zero parameters, so the input schema already fully covers parameter semantics. The description adds no parameter information, but none is needed; baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('current debug output and errors'), clearly identifying the tool's function. It does not explicitly differentiate from sibling getters like get_project_info or get_uid, but the resource is unique enough that an agent can infer its purpose. However, 'current' is ambiguous (current project? current session?), so not a 5.

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. It does not mention prerequisites (e.g., project running) or exclusion cases, and there is no reference to sibling tools like run_project or stop_project. An agent is left without context on when this tool is appropriate.

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 bears full responsibility for behavioral disclosure. It only states what it does, without mentioning side effects, error handling (e.g., if Godot is not installed), or whether any configuration is modified. For a simple getter this is a gap, but the lack of side effects is implicit.

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, clear sentence with no redundancy. The information is front-loaded and every word earns its place. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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

For a zero-parameter getter with no output schema, the description is largely sufficient. It identifies what is retrieved, but does not explicitly describe the return format (e.g., version string) or behavior if Godot is absent. Given the simplicity, this is a minor omission.

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 tool has zero parameters, and the input schema confirms this with an empty properties object. Per the rubric, 0 parameters warrants a baseline of 4. The description does not need to add parameter details, and it correctly does not.

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 ('Get') and the resource ('installed Godot version'). It is specific and distinguishes itself from sibling tools like add_node or launch_editor, which are about different operations. No ambiguity.

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 does not explicitly mention when to use this tool versus alternatives. However, given its singular purpose and the lack of overlapping sibling getters, the usage is implied. There is no guidance on prerequisites or conditions, which could be added but is not critical.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_infoB

Retrieve metadata about a Godot project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'retrieve' implies a read-only operation, but the description does not explicitly state that it has no side effects or what permissions it requires. Since there are no annotations, the description carries the full burden and only partially covers the behavior.

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 or repetition. It is well-structured and easy to parse quickly.

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?

There is no output schema or description of what metadata is returned. The term 'metadata' is vague and does not specify whether it returns project configuration, version info, or something else, leaving the agent without enough context to know what to expect.

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 parameter 'projectPath' is described as 'Path to the Godot project directory', which is clear and covers the basic meaning. However, since the schema already provides this description, the tool description adds no additional detail about path format, required existence, or edge cases.

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 'retrieve' and the target 'metadata about a Godot project', making the tool's basic purpose easy to understand. However, it does not explicitly differentiate itself from sibling tools like get_godot_version or get_uid, which could also be considered metadata retrieval.

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 gives no guidance on when to use this tool versus the sibling tools. There is no mention of scenarios, prerequisites, or exclusions, so an agent has little context for choosing this over more specific retrieval tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_uidB

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

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

TDQS

B3.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, permissions required, or side effects. The tool could be assumed to be a simple getter, but this is not explicitly stated, leaving the behavior opaque.

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. It efficiently conveys the tool's purpose and relevant version constraint.

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?

The tool is simple, and the description covers its basic purpose. However, it does not mention the return format, potential errors, or edge cases. While acceptable for a straightforward getter, it leaves some context incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers both parameters with clear descriptions, achieving 100% coverage. The tool description itself adds no extra 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's function: getting the UID for a specific file in a Godot project. It also specifies the Godot version constraint (4.4+), making it unambiguous and distinct from sibling tools like update_project_uids.

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 lacks explicit guidance on when to use this tool versus alternatives. While the purpose is obvious, there is no mention of scenarios where this tool is preferred or where other tools (e.g., update_project_uids) should be used instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

launch_editorC

Launch Godot editor for a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the Godot project directory

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without any side effects, blocking behavior, or requirements (e.g., whether it opens a new window, requires an existing project, or modifies any files). This is insufficient for an agent to predict the tool's impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—a single sentence with no filler. However, it is under-specified rather than efficiently comprehensive. It lacks necessary details about behavior and usage, so while it is short, it doesn't earn its place by providing full value. A 3 reflects the balance between brevity and adequacy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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

Given the tool has one parameter, no output schema, and no annotations, the description should provide enough context to call it correctly. It states the action but omits critical information such as whether the editor must be installed, whether the path must point to a valid project, and whether the call is blocking or returns immediately. This is incomplete for an agent to use confidently.

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 the parameter projectPath is fully documented in the schema. The description adds no additional semantics beyond the action, but the schema already explains the parameter. Baseline 3 is appropriate; the description doesn't harm, but it also doesn't enhance the parameter meaning.

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 (launch) and the resource (Godot editor) for a specific project. It distinguishes implicitly from siblings like run_project (which runs the project rather than opening the editor) and list_projects (which lists projects). However, it doesn't explicitly name the alternative or the selection criteria, so it's clear but not maximally differentiating.

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 such as run_project. The description does not mention any prerequisites, use cases, or conditions that would lead an agent to select this tool over its siblings. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsA

List Godot projects in a directory

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

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only restates the basic listing action and adds no details about whether the operation is read-only, how Godot projects are identified, what the return format is, or how the recursive parameter behaves in practice.

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, front-loaded sentence with no filler or redundant wording. Every word earns its place, and the core action and scope are immediately visible.

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 listing tool with two parameters, the description is minimally adequate: the schema covers parameter meanings. However, with no output schema and no annotations, the description does not clarify what the returned list contains (e.g., project names, paths) or whether directories without project.godot are ignored, leaving some contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters are already documented clearly in the schema ('Directory to search for Godot projects' and 'Whether to search recursively (default: false)'). The description adds no additional parameter semantics beyond what the schema already provides, 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 uses a specific verb ('List') with a clear resource ('Godot projects') and a scoping location ('in a directory'). It is unambiguous and easily distinguished from sibling tools like get_project_info or run_project, which target a single project or perform an action.

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 phrase 'in a directory' implies the tool is for project discovery in a filesystem location, which gives some usage context. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention any exclusions or follow-up tools like get_project_info for inspecting a specific project.

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
nodePathYesPath to the Sprite2D node (e.g., "root/Player/Sprite2D")
scenePathYesPath to the scene file (relative to project)
projectPathYesPath to the Godot project directory
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?

With no annotations, the description carries full responsibility for disclosing side effects. It only states that a sprite is loaded into a node, without mentioning whether this modifies the scene file, requires a saved scene, returns a value, or has any persistent effects. This lack of detail leaves significant ambiguity about the tool's actual behavior.

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, focused sentence with no redundant words or unnecessary details. It is concise and front-loaded, clearly stating the core action without distraction.

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 an output schema and the mutation-like nature of the action, the description is insufficiently contextual. It does not explain what 'load' means operationally (e.g., sets a texture property, replaces an existing asset), whether the scene must be saved, or what the expected result is. This leaves gaps for an agent attempting to use the tool correctly.

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%—all four parameters have individual descriptions explaining their meaning (e.g., 'Path to the texture file (relative to project)'). The tool description itself adds no extra parameter information, so the baseline score of 3 applies.

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 (load) and the target resource (a sprite into a Sprite2D node), making the tool's primary purpose understandable. It does not explicitly contrast with sibling tools like add_node, but the specific action is distinct enough for basic identification.

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 add_node or other scene modification tools. It omits any contextual conditions or prerequisites, leaving the agent to infer appropriate usage solely from the action description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_projectC

Run the Godot project and capture output

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

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must carry the behavioral burden. It mentions 'capture output' but does not disclose side effects, blocking behavior, or whether the process continues running after invocation. The name 'run_project' implies execution but lacks specifics about what the user will observe.

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 filler or redundant information. It efficiently conveys the primary purpose without unnecessary words.

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 is present, and the description does not clarify what 'capture output' means—whether it returns logs, exit codes, or streams. It also omits whether the tool blocks until the project closes or returns immediately. This leaves the agent uncertain about the expected behavior and return format.

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 schema already provides full coverage for both parameters with their descriptions. The tool description adds no extra semantic detail beyond the schema, so it neither enhances nor detracts from the schema's clarity. The baseline of 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 states a clear action ('Run') and object ('the Godot project'), plus a specific outcome ('capture output'). It is distinct from siblings like `launch_editor` or `stop_project`, though the phrase 'capture output' could be more detailed about what output is captured.

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 about when to use this tool versus alternatives. It does not mention prerequisites, like whether the project must exist or if the Godot editor must be closed, nor does it explain the effect of the optional 'scene' parameter in context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_sceneC

Save changes to a scene file

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

TDQS

C2.9/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 of behavioral disclosure. It only states that the tool mutates/saves a scene file, not whether it overwrites the existing file, how newPath behaves beyond the schema's variant hint, or what happens on failure.

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?

One short sentence with no filler or redundant content; the core action is front-loaded. It is appropriately concise, even though it sacrifices detail that is captured in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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

With no annotations and no output schema, the description should compensate but does not; it omits overwrite behavior, success/failure signaling, and any preconditions. The schema covers parameters, so the tool is not wholly underspecified, but the description alone is insufficient for confident invocation.

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%: projectPath and scenePath are described as paths, and newPath is explicitly documented as an optional path for creating variants. The description adds no additional parameter meaning, so the baseline 3 applies.

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 uses the specific verb 'save' with the resource 'scene file,' clearly indicating a persistence operation. It does not explicitly differentiate from create_scene, though 'save changes' implies an existing scene, so it stops short of full sibling distinction.

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 given on when to use this tool versus create_scene or other scene tools, and no prerequisites or exclusions are provided. The word 'changes' implies use after modifications, but that is not actionable enough to help an agent choose correctly.

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.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 of behavioral disclosure. It only states the action 'Stop' without explaining side effects (e.g., unsaved changes, process termination), error conditions (no running project), or whether it's reversible. For a destructive action, this is a significant gap.

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, succinct sentence that directly states the action and target. It's front-loaded with the verb and resource, with zero redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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

For a simple tool with no parameters and no output schema, the description adequately covers the core action. However, it doesn't mention what happens if no project is running or whether the tool returns any feedback, which would be useful but not critical for a stop action. The description is mostly complete given its simplicity.

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 tool has zero parameters, and the schema is empty (100% coverage). The description doesn't need to explain any parameters, and the baseline for 0-parameter tools is 4. It adds no extra parameter meaning because none exist.

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 states a specific action ('Stop') and a specific resource ('the currently running Godot project'). It clearly distinguishes from siblings like run_project (which starts) and get_debug_output (which retrieves output), so an agent can easily infer its purpose.

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 (when you need to stop a running project) but does not explicitly mention when not to use it or alternatives. Since it's a simple action with no parameters, the context is clear, but it doesn't provide explicit routing like naming run_project as the counterpart.

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.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions resaving resources, implying file modifications, but does not disclose potential side effects, reversibility, permissions needed, or whether it may alter many files. The version requirement is useful but insufficient for a mutation tool.

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, compact sentence that front-loads the primary action and resource. It avoids extraneous detail and is appropriately sized for a simple tool.

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 one parameter, no output schema, and no annotations, the description is minimally adequate. It explains what it does and the version constraint, but omits guidance on when to use it and potential side effects. Given the simplicity, it is not severely incomplete but lacks context an agent might need to decide correctly.

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 single parameter has 100% schema coverage with a clear description ('Path to the Godot project directory'). The tool description adds no additional meaning beyond the schema, so it meets the baseline for a fully documented parameter but does not enhance understanding further.

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 states a specific verb ('Update'), a resource ('UID references in a Godot project'), and a method ('by resaving resources'). It clearly identifies the tool's function and includes a version constraint (Godot 4.4+), distinguishing it from sibling tools like get_uid that retrieve UIDs.

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 explicit guidance on when to use this tool versus alternatives. It only mentions a version requirement, but does not explain scenarios (e.g., after moving or renaming files) or when to prefer other project tools. The intended use is implied but not stated.

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.

  1. 14 tool updatesv0.1.1
    • First observedadd_node
    • First observedcreate_scene
    • 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

Scored across 14 tools

Disambiguation5/5

Each tool has a distinct purpose: scene management, project control, UID handling, and version checks are clearly separated. No overlapping or ambiguous tool names.

Naming Consistency5/5

All tools follow a consistent snake_case verb-noun pattern (e.g., add_node, get_uid, create_scene), making them predictable and easy to understand.

Tool Count5/5

14 tools is well within the typical 3-15 range and covers a reasonable breadth of Godot editor functionality without being overwhelming or sparse.

Completeness4/5

The toolset covers core project management, scene editing, and resource operations. Missing advanced editing (e.g., property modification or node deletion) but sufficient for common workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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
    F
    maintenance
    Enables AI assistants to interact with the Godot game engine by launching the editor, running projects, capturing debug output, managing scenes and nodes, and controlling project execution through a standardized interface.
    18
    147
    11
    MIT
  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with the Godot game engine by launching the editor, running projects, capturing debug output, managing scenes and nodes, and controlling project execution through a standardized interface.
    14
    147
    1
    -
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI assistants to interact with the Godot game engine, including launching the editor, running projects, capturing debug output, and managing scenes.
    84
    1
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to interact with and manipulate Godot game engine projects, including creating projects, launching editor, managing scenes and nodes.
    12
    332
    1
    MIT