Skip to main content
Glama
godot-ai-mcp

godot-ai-mcp

by morvoso

Godot AI MCP Server

An enhanced Model Context Protocol (MCP) server for the Godot game engine. Provides AI assistants with tools to launch the editor, run projects, manipulate scenes, manage scripts, and control node properties — all through a standardized MCP interface.

Based on @coding-solo/godot-mcp by Solomon Elias. That project provides the original core tools (launch editor, run project, scene management, UID tools). This fork adds script manipulation (set_script, read_script, write_script, list_scripts), scene inspection (get_scene_tree), node removal (remove_node), and property editing (set_node_property).

Original project: Coding-Solo/godot-mcp — MIT License.

Features

Core Tools

  • launch_editor — Open the Godot editor for a project

  • run_project — Run a Godot project in debug mode

  • get_debug_output — Capture stdout/stderr from running projects

  • stop_project — Stop a running project

  • get_godot_version — Check installed Godot version

  • list_projects — Find Godot projects in a directory

  • get_project_info — Get project metadata (scene count, script count, etc.)

Scene Management

  • create_scene — Create new scene files with any root node type

  • add_node — Add nodes to existing scenes with properties

  • remove_node — Remove nodes from scenes

  • get_scene_tree — Inspect the full scene tree structure

  • load_sprite — Load textures into Sprite2D/Sprite3D/TextureRect nodes

  • export_mesh_library — Export 3D scenes as MeshLibrary for GridMap

  • save_scene — Save/repack scene files

Script Tools

  • set_script — Attach a script to a node (creates the script if it doesn't exist)

  • read_script — Read .gd, .cs, or .shader file contents

  • write_script — Create or overwrite script files

  • list_scripts — List all scripts in a project

Node Properties

  • set_node_property — Set any property on a node in a scene

UID Management (Godot 4.4+)

  • get_uid — Get UID for a specific file

  • update_project_uids — Resave all resources to update UID references

Related MCP server: GoPeak

Requirements

  • Node.js >= 18.0.0

  • Godot 4.x (Mono build recommended for C# support)

Installation

npm install -g /path/to/godot-ai-mcp

Or use directly via npx:

npx /path/to/godot-ai-mcp

Configuration

MCP Config (opencode.json, claude desktop, etc.)

{
  "mcp": {
    "godot-ai": {
      "type": "local",
      "command": [
        "env",
        "GODOT_PATH=/path/to/your/godot/executable",
        "DEBUG=true",
        "npx",
        "-y",
        "godot-ai-mcp"
      ]
    }
  }
}

Environment Variables

Variable

Description

GODOT_PATH

Path to the Godot executable (auto-detected if not set)

DEBUG

Set to true for verbose debug output on stderr

Usage Examples

Create a scene with a Player node and attach a script

1. create_scene(projectPath="/path/to/project", scenePath="scenes/player.tscn", rootNodeType="CharacterBody2D")
2. add_node(projectPath="/path/to/project", scenePath="scenes/player.tscn", parentNodePath="root", nodeType="Sprite2D", nodeName="Sprite")
3. set_script(projectPath="/path/to/project", scenePath="scenes/player.tscn", nodePath="root", scriptPath="scripts/player.gd")
4. load_sprite(projectPath="/path/to/project", scenePath="scenes/player.tscn", nodePath="root/Sprite", texturePath="assets/player.png")

Inspect and modify a scene

1. get_scene_tree(projectPath="/path/to/project", scenePath="scenes/level.tscn")
2. set_node_property(projectPath="/path/to/project", scenePath="scenes/level.tscn", nodePath="root/Enemy", propertyName="position", propertyValue=[100, 200])
3. remove_node(projectPath="/path/to/project", scenePath="scenes/level.tscn", nodePath="root/DebugNode")

Script workflow

1. list_scripts(projectPath="/path/to/project")
2. read_script(projectPath="/path/to/project", scriptPath="scripts/enemy.gd")
3. write_script(projectPath="/path/to/project", scriptPath="scripts/enemy.gd", content="extends CharacterBody2D\n...")

Building from Source

npm install
npm run build

The compiled output goes to build/. The GDScript file is copied to build/scripts/.

License

MIT — see LICENSE for details.

This project is derived from @coding-solo/godot-mcp (MIT, © Solomon Elias). The original core server architecture, GDScript headless operations pattern, and scene manipulation tools are based on that project.

Available Tools

21 tools
add_nodeB

Add a node to an existing scene

Inputs: nodeName (required), nodeType (required), scenePath (required), projectPath (required), +2 more.

create_sceneA

Create a new Godot scene file

Inputs: scenePath (required), projectPath (required), rootNodeType.

export_mesh_libraryC

Export a scene as a MeshLibrary resource

Inputs: scenePath (required), outputPath (required), projectPath (required), meshItemNames.

get_debug_outputB

Get the current debug output and errors

Inputs: no named parameters.

get_godot_versionA

Get the installed Godot version

Inputs: no named parameters.

get_project_infoB

Retrieve metadata about a Godot project

Inputs: projectPath (required).

get_scene_treeB

Get the scene tree structure of a scene file

Inputs: scenePath (required), projectPath (required).

get_uidB

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

Inputs: filePath (required), projectPath (required).

launch_editorC

Launch Godot editor for a specific project

Inputs: projectPath (required).

list_projectsA

List Godot projects in a directory

Inputs: directory (required), recursive.

list_scriptsC

List all script files in a Godot project

Inputs: projectPath (required), directory, extension.

load_spriteC

Load a sprite into a Sprite2D node

Inputs: nodePath (required), scenePath (required), projectPath (required), texturePath (required).

read_scriptA

Read the contents of a script file (.gd, .cs, .shader)

Inputs: scriptPath (required), projectPath (required).

remove_nodeB

Remove a node from an existing scene

Inputs: nodePath (required), scenePath (required), projectPath (required).

run_projectC

Run the Godot project and capture output

Inputs: projectPath (required), scene.

save_sceneC

Save changes to a scene file

Inputs: scenePath (required), projectPath (required), newPath.

set_node_propertyC

Set a property on a node in a scene

Inputs: nodePath (required), scenePath (required), projectPath (required), propertyName (required), +1 more.

set_scriptB

Attach a script to a node in a scene. Creates the script file if it does not exist.

Inputs: nodePath (required), scenePath (required), scriptPath (required), projectPath (required), +2 more.

stop_projectA

Stop the currently running Godot project

Inputs: no named parameters.

update_project_uidsB

Update UID references in a Godot project by resaving resources (for Godot 4.4+)

Inputs: projectPath (required).

write_scriptA

Write or overwrite a script file. Use this to create new scripts or update existing ones.

Inputs: content (required), scriptPath (required), projectPath (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 21 tools

    Disambiguation5/5

    Each tool targets a distinct operation (e.g., add_node vs remove_node, create_scene vs save_scene, read_script vs write_script). No two tools appear to have overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case, using clear, imperative verbs like get, list, set, create, add, remove, etc. No mixing of conventions.

    Tool Count5/5

    21 tools is well-scoped for Godot game engine operations, covering scene editing, node manipulation, scripting, project management, and debugging without being overwhelming or sparse.

    Completeness4/5

    Core CRUD operations for scenes, nodes, and scripts are present, along with debugging and project management. Minor gaps exist (e.g., no scene deletion, no resource management beyond sprite loading), but the surface is largely complete.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      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 npm
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to edit, run, inspect, and fix Godot 4 projects through an MCP server with dynamic tool groups and setup-gated capabilities.
      33
      197 npm
      272
      MIT
    • A
      license
      C
      quality
      C
      maintenance
      Enables AI-driven game development by providing MCP tools to interact with the Godot editor, including scene editing, node manipulation, script attachment, and scene execution.
      28
      14 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to inspect, author, debug, simulate, and visually verify Godot 4.x projects through standard MCP tools, including scene editing, runtime control, and viewport capture.
      185 npm
      5
      MIT