Skip to main content
Glama

Godot Engine MCP (godot-engine-mcp)

A modern Model Context Protocol (MCP) server and Live Editor Bridge for the Godot Engine 4.7+.

Built with the official Python MCP SDK v2.0+ (mcp>=2.0.0, FastMCP, 2026-07-28 stateless protocol), strict Pydantic v2 schemas, type safety via Astral ty, and a robust dual-tier hybrid bridge architecture.


Architecture Overview

Godot Engine MCP operates across three complementary layers:

  1. Live Editor Bridge (addons/godot_mcp/): A modular GDScript EditorPlugin running inside Godot that hosts a local WebSocket IPC server (ws://127.0.0.1:3118/ws). It provides live access to:

    • EditorInterface and active scene tree hierarchy

    • Interactive node creation and modification with full EditorUndoRedoManager support

    • Signal wiring, script attachment, and hot reloading

    • 3D Physics geometric queries (intersect_ray, intersect_shape, cast_motion)

    • High-fidelity 2D/3D viewport screenshot capture for multimodal AI models

  2. Headless CLI Fallback (godot --headless): When the Godot Editor is not open, the server seamlessly executes offline operations via the Godot binary:

    • GDScript syntax validation and compilation diagnostics (godot --check-only)

    • project.godot settings reading and modification

    • Project file and resource discovery (res:// asset queries)

    • Subprocess project execution and headless test suite running (including GUT unit tests)

  3. Semantic GDScript Language Server (LSP): Connects directly to Godot's built-in Language Server (tcp://127.0.0.1:6005) with offline AST fallback for symbol definition queries, references, hover documentation, and cross-file semantic renames.

┌────────────────────────────────────────────────────────┐
│                      AI Client                         │
│         (Cursor / Claude / Gemini / Antigravity)       │
└───────────────────────────┬────────────────────────────┘
                            │ MCP (stdio / SSE)
┌───────────────────────────▼────────────────────────────┐
│              Python MCP Server (godot_mcp)             │
│   FastMCP 4 / MCP SDK v2 + Pydantic v2 + ty + ruff     │
└─────────────┬────────────────────────────┬─────────────┘
              │ Live IPC (WebSocket)       │ Headless CLI (`godot --headless`)
┌─────────────▼─────────────┐ ┌────────────▼─────────────┐
│ Godot Editor (Active)     │ │ Godot CLI Runner         │
│ - addons/godot_mcp plugin │ │ - Offline script checks  │
│ - Live SceneTree & Editor │ │ - Headless test runner   │
│ - Undo/Redo & Viewports   │ │ - project.godot edits    │
└───────────────────────────┘ └──────────────────────────┘
```text

---

## Tool Catalog

All tools adhere to MCP best practices, providing clear docstrings, Pydantic v2 validation, dual formatting (`markdown` and `json`), and explicit tool annotations (`read_only_hint`, `destructive_hint`, `idempotent_hint`, `open_world_hint`).

### Project & Version Management

- `godot_get_version`: Probes engine version, build type, active project, and connection mode.
- `godot_get_project_settings`: Queries configuration settings from `project.godot`.
- `godot_set_project_setting`: Writes or updates configuration values in `project.godot`.
- `godot_list_project_files`: Searches project assets, scenes (`.tscn`), scripts (`.gd`), and textures.
- `godot_get_autoloads`: Queries all registered Autoload singletons in `project.godot`.
- `godot_set_autoload`: Adds, removes, or reorders Autoload singletons.
- `godot_get_plugins`: Discovers installed editor plugins in `res://addons/`.
- `godot_set_plugin_status`: Dynamically enables or disables editor addons.
- `godot_get_uid`: Converts a resource path into a persistent Godot 4 `uid://...` identifier.
- `godot_resolve_uid`: Resolves `uid://...` identifiers back into filesystem resource paths.
- `godot_get_dependencies`: Queries the dependency list for a scene, resource, or script.
- `godot_get_translations`: Queries registered localization files (`.translation` / `.csv`).
- `godot_add_translation`: Registers localization translation tables into `project.godot`.
- `godot_get_export_presets`: Queries export targets configured in `export_presets.cfg`.
- `godot_export_project`: Triggers automated headless project builds via Godot CLI.

### Official Godot Asset Library Integration

- `godot_search_asset_library`: Searches the official Godot Asset Library for plugins, shaders, templates, and tools.
- `godot_get_asset_details`: Retrieves full metadata, descriptions, previews, and download links for an asset ID.
- `godot_install_asset_package`: Downloads and extracts community ZIP packages into `res://addons/` with automated plugin activation in `project.godot`.

### Scene Graph, Nodes & Hierarchy Mutation

- `godot_list_nodes`: Traverses the active scene tree with configurable depth and property filtering.
- `godot_get_node`: Inspects node properties, attached scripts, transforms, groups, and signals.
- `godot_create_node`: Adds a node of any Godot class with initial properties and script binding.
- `godot_modify_node`: Updates properties on existing nodes with Undo/Redo history.
- `godot_delete_node`: Safely removes a node from the active scene tree.
- `godot_reparent_node`: Moves a node to a new parent in the active scene tree.
- `godot_duplicate_node`: Deep duplicates a node with signal and script flags.
- `godot_set_node_owner`: Sets or synchronizes the owner property of a node.
- `godot_connect_signal`: Connects signals between nodes and target handler methods.
- `godot_get_node_signals`: Inspects all signals declared or inherited on a node.
- `godot_get_signal_connections`: Queries all incoming and outgoing signal connections for a node.
- `godot_instantiate_scene`: Instantiates `.tscn` packed scene files into the active scene.
- `godot_save_scene`: Saves the active scene or exports to a target `.tscn` file.
- `godot_open_scene`: Opens a scene file in the Godot Editor workspace.
- `godot_create_scene`: Creates a new scene file with root node and saves to disk.
- `godot_diff_scene`: Compares two scene files (`.tscn`) and generates structural diffs.

### Scripting, Reflection & Semantic LSP

- `godot_validate_script`: Checks GDScript code or files for syntax errors and compilation diagnostics.
- `godot_create_script`: Generates GDScript files with template code and class inheritance.
- `godot_attach_script`: Attaches or detaches a GDScript to/from an active node.
- `godot_reload_scripts`: Force-reloads modified GDScript resources in engine memory.
- `godot_get_node_script_info`: Inspects exported properties, methods, constants, and signals on a node.
- `godot_get_class_info`: Queries class inheritance, properties, methods, and signals from `ClassDB`.
- `godot_get_documentation`: Fetches built-in documentation for classes, methods, and properties.
- `godot_evaluate_expression`: Safely evaluates GDScript expressions at runtime.
- `godot_lsp_query`: Queries symbol definitions, references, or hover docs via GDScript LSP.
- `godot_lsp_rename`: Performs cross-file semantic symbol renaming.

### 3D Physics, Collisions, Skeletons & Constraints

- `godot_cast_ray_3d`: Performs 3D raycast queries against `PhysicsDirectSpaceState3D`.
- `godot_cast_shape_3d`: Performs 3D shapecasts (sweep tests) in physics space.
- `godot_get_body_physics_state_3d`: Inspects transform, linear/angular velocity, and contact telemetry.
- `godot_set_physics_debug_mode`: Enables or disables visual physics collision shape wireframes.
- `godot_create_collision_polygon`: Generates 2D/3D collision polygons from vertices or alpha masks.
- `godot_inspect_skeleton`: Queries bone hierarchies, rest poses, transforms, and socket names on `Skeleton3D`.
- `godot_configure_bone_attachment`: Attaches props or collision nodes to named bones.
- `godot_setup_inverse_kinematics`: Configures `SkeletonIK3D` chains with target nodes and magnet vectors.
- `godot_configure_physics_joint`: Configures 3D physics joints (Pin, Hinge, Slider, ConeTwist, 6DOF).
- `godot_generate_ragdoll`: Automatically constructs `PhysicalBone3D` hierarchies from `Skeleton3D`.

### Materials, VFX & Spatial Rendering

- `godot_validate_shader`: Compiles and checks Godot Shader Language code for errors.
- `godot_create_material`: Instantiates `StandardMaterial3D`, `ORMMaterial3D`, or `ShaderMaterial`.
- `godot_create_shader`: Generates custom shaders (`.gdshader`) with starter boilerplate.
- `godot_set_shader_param`: Sets uniform parameter values on a `ShaderMaterial`.
- `godot_configure_particles`: Tunes `GPUParticles2D/3D` and `CPUParticles` emission parameters.
- `godot_configure_environment`: Adjusts `WorldEnvironment` background, glow, tonemap, and ambient light.
- `godot_configure_camera`: Creates and tunes `Camera2D` or `Camera3D` viewports and FOV.
- `godot_configure_render_settings`: Configures anti-aliasing, shadow quality, V-Sync, and upscaling.
- `godot_capture_viewport`: Captures high-resolution viewport frames for AI vision inspection.
- `godot_configure_lightmap_gi`: Configures 3D GI pipelines (`LightmapGI`, `VoxelGI`, `ReflectionProbe`).
- `godot_bake_lightmaps`: Triggers lightmap or voxel GI baking for the active scene.
- `godot_setup_xr_rig`: Scaffolds `XROrigin3D`, `XRCamera3D`, and `XRController3D` tracking rigs.
- `godot_configure_xr_passthrough`: Configures OpenXR passthrough modes and foveated rendering.
- `godot_dispatch_compute_shader`: Dispatches compute shaders on GPU via `RenderingDevice`.
- `godot_inspect_rendering_device`: Queries GPU `RenderingDevice` limits, vendor, and device capabilities.
- `godot_scatter_multimesh`: High-performance GPU-instanced scattering across a 3D bounding area.
- `godot_configure_lod_manager`: Configures visibility ranges, distance thresholds, and cross-fade modes.

### World Building, TileMaps, GridMaps & Navigation

- `godot_create_tilemap_layer`: Adds a `TileMapLayer` node with `TileSet` binding.
- `godot_set_tilemap_cells`: Places or clears tiles on a `TileMapLayer` coordinate grid.
- `godot_get_tilemap_cells`: Reads placed cell coordinates and atlas coordinates from `TileMapLayer`.
- `godot_configure_tileset_terrain`: Configures `TileSet` terrain sets, terrain modes, and autotiling peering bits.
- `godot_create_navigation_region`: Creates `NavigationRegion2D` or `NavigationRegion3D` with `NavigationMesh`.
- `godot_bake_navmesh`: Triggers navigation mesh baking on a `NavigationRegion`.
- `godot_configure_navigation_obstacle`: Configures `NavigationObstacle2D/3D` dynamic avoidance.
- `godot_configure_gridmap`: Assigns `MeshLibrary`, cell sizes, and places 3D grid tiles.
- `godot_create_curve_path`: Constructs `Path2D` or `Path3D` curves with control points.

### UI Automation & E2E Testing ("Playwright for Godot")

- `godot_find_elements`: Locates UI elements by text, name, class, group, or accessibility role.
- `godot_interact_node`: Performs `click`, `type_text`, `drag_to`, or `scroll` on a located node.
- `godot_wait_for_condition`: Auto-waits for node appearance, property thresholds, or signal emissions.
- `godot_assert_node_state`: Asserts properties, visibility, disabled state, or bounding rectangles.
- `godot_simulate_input`: Injects simulated mouse, keyboard, or joypad input events.
- `godot_draw_debug_shapes`: Renders temporary 2D/3D debug shapes with colors and durations.
- `godot_clear_debug_shapes`: Removes all active runtime debug drawing shapes.

### Audio, Diagnostics & Profiling

- `godot_configure_audio_bus`: Adds, renames, mutes, solos, or routes `AudioServer` buses.
- `godot_set_bus_effect`: Adds or adjusts real-time audio effects on an audio bus.
- `godot_get_audio_layout`: Queries complete `AudioServer` bus hierarchy and effect chains.
- `godot_get_performance_metrics`: Queries real-time FPS, memory, draw calls, and physics monitors.
- `godot_audit_orphan_nodes`: Detects memory leaks from unparented orphan nodes in `SceneTree`.
- `godot_inspect_vram_usage`: Queries VRAM texture, buffer, and render target allocations.
- `godot_capture_profiler_trace`: Records engine frame timeline trace slices for bottleneck analysis.
- `godot_audit_assets`: Scans project for unused assets, missing dependencies, or broken paths.
- `godot_clean_orphans`: Removes or quarantines unreferenced and orphaned asset files.
- `godot_get_texture_info`: Queries dimensions, format, VRAM compression, and mipmaps.

### Gameplay Scaffolding & Testing

- `godot_scaffold_state_machine`: Constructs modular hierarchical finite state machine nodes.
- `godot_create_dialogue_resource`: Generates branching dialogue JSON / Resource files.
- `godot_create_csg_shape`: Constructs Constructive Solid Geometry (`CSGBox`, `CSGSphere`, etc.).
- `godot_generate_procedural_mesh`: Generates custom procedural 3D meshes using `SurfaceTool`.
- `godot_configure_multiplayer_spawner`: Configures automated network node spawning paths.
- `godot_configure_multiplayer_synchronizer`: Configures synced properties and replication intervals.
- `godot_simulate_network_conditions`: Injects simulated latency, jitter, and packet loss.
- `godot_generate_gut_test`: Scaffolds GUT test scripts for target classes or scripts.
- `godot_run_gut_tests`: Executes GUT test suites headlessly and parses test outcomes.

---

## Dynamic MCP Resources (`godot://`)

Godot MCP provides dynamic, self-updating URI resources for live AI context:

| Resource URI | Description |
| --- | --- |
| `godot://project/settings` | Complete `project.godot` configuration key-value dictionary JSON. |
| `godot://scene/active/tree` | Live scene tree hierarchy of the active editor scene. |
| `godot://performance/metrics` | Real-time performance telemetry (FPS, process times, VRAM, draw calls). |
| `godot://audio/layout` | `AudioServer` bus hierarchy and active audio effect chains. |
| `godot://editor/selection` | Paths of all nodes currently selected in the Godot Editor. |
| `godot://editor/layout` | Active editor docks and main screen workspace configuration. |
| `godot://vram/usage` | VRAM texture, buffer, and render target allocation breakdown. |
| `godot://project/autoloads` | All registered Autoload singletons in the project. |
| `godot://project/plugins` | Installed editor plugins in `res://addons/`. |
| `godot://project/input_map` | All configured project input actions and key bindings. |
| `godot://project/export_presets` | Export presets defined in `export_presets.cfg`. |
| `godot://logs/editor.log` | Recent Godot engine and editor log output. |
| `godot://engine/classes/{class_name}` | Dynamic template for `ClassDB` property, method, signal, and enum reflection. |

---

## Workflow Prompts (`prompt://`)

Pre-engineered guided workflows for common game development tasks:

- `prompt://fix_scene_warnings`: Inspects active nodes and guides automated resolution of configuration warnings.
- `prompt://create_rich_ui`: Guided workflow for constructing responsive, themed Godot 4 GUI layouts.
- `prompt://scaffold_character`: Guided workflow for setting up complete 2D/3D character controllers with movement scripts.

---

## Quick Start

### 1. Requirements

- Python 3.14+ managed with [uv](https://docs.astral.sh/uv/)
- Godot Engine 4.7+ (or 4.7.1+)

### 2. Setup a Godot Project

You can install the `godot_mcp` editor addon directly using `uvx` without needing to clone the repository:

```bash
# Install and auto-enable the addon in your Godot project:
uvx --from git+https://github.com/mcintalmo/godot-engine-mcp godot-engine-mcp install-addon /path/to/your/godot/project

# Check connection status:
uvx --from git+https://github.com/mcintalmo/godot-engine-mcp godot-engine-mcp probe
```text

Or if developing locally from source:

```bash
# Clone repository
git clone https://github.com/mcintalmo/godot-engine-mcp.git
cd godot-engine-mcp

# Sync dependencies with uv
uv sync

# Install addon to project
uv run godot-engine-mcp install-addon /path/to/your/godot/project
```text

---

## Client Configuration

### Claude Desktop

Add to `claude_desktop_config.json`:

#### Option A: Direct via GitHub (Recommended)

```json
{
  "mcpServers": {
    "godot-engine": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mcintalmo/godot-engine-mcp",
        "godot-engine-mcp"
      ],
      "env": {
        "GODOT_PATH": "/Applications/Godot.app/Contents/MacOS/Godot",
        "GODOT_PROJECT_PATH": "/path/to/your/godot/project"
      }
    }
  }
}
```text

#### Option B: From Local Clone

```json
{
  "mcpServers": {
    "godot-engine": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/godot-engine-mcp",
        "run",
        "godot-engine-mcp"
      ],
      "env": {
        "GODOT_PATH": "/Applications/Godot.app/Contents/MacOS/Godot",
        "GODOT_PROJECT_PATH": "/path/to/your/godot/project"
      }
    }
  }
}
```text

### Cursor / Windsurf

Add to `.cursor/mcp.json` or `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "godot-engine": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mcintalmo/godot-engine-mcp",
        "godot-engine-mcp"
      ],
      "env": {
        "GODOT_PATH": "/Applications/Godot.app/Contents/MacOS/Godot",
        "GODOT_PROJECT_PATH": "/path/to/your/godot/project"
      }
    }
  }
}
```text

### Gemini Antigravity IDE

Add to `.gemini/antigravity-ide/mcp_config.json`:

```json
{
  "mcpServers": {
    "godot-engine": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/mcintalmo/godot-engine-mcp",
        "godot-engine-mcp"
      ],
      "env": {
        "GODOT_PATH": "/Applications/Godot.app/Contents/MacOS/Godot",
        "GODOT_PROJECT_PATH": "/path/to/your/godot/project"
      }
    }
  }
}
```text

---

## Development & Verification

```bash
# Run unit & integration test suite
uv run pytest

# Check strict static typing
uv run ty check

# Check linting and formatting
uv run ruff check
uv run ruff format --check
```text

---

## License

MIT License. See [LICENSE](LICENSE) for details.

Available Tools

126 tools
godot_add_translationB

Register a localization translation file in project.godot.

Inputs: params (required). Returns: result

godot_apply_theme_overrideB

Apply theme override directly to a Control node in active scene.

Inputs: params (required). Returns: result

godot_assert_node_stateB
Read-only

Assert properties, visibility, disabled state, or bounds.

Inputs: params (required). Returns: result

godot_attach_scriptA

Attach or detach a GDScript to/from an active node.

Inputs: params (required). Returns: result

godot_audit_assetsB
Read-only

Scan project for unused assets, missing dependencies, or broken paths.

Inputs: params (required). Returns: result

godot_audit_orphan_nodesB
Read-only

Detect memory leaks from unparented orphan nodes in SceneTree.

Inputs: params (required). Returns: result

godot_bake_lightmapsC

Trigger lightmap or voxel GI baking for the active scene.

Inputs: params (required). Returns: result

godot_bake_navmeshC

Trigger navigation mesh baking on a NavigationRegion.

Inputs: params (required). Returns: result

godot_capture_profiler_traceA
Read-only

Record engine frame timeline trace slices for performance bottleneck analysis.

Inputs: params (required). Returns: result

godot_capture_viewportA
Read-only

Capture high-resolution viewport frame for AI Vision inspection.

Inputs: params (required). Returns: result

godot_cast_ray_3dA
Read-only

Perform 3D raycast query against PhysicsDirectSpaceState3D.

Inputs: params (required). Returns: result

godot_cast_shape_3dC
Read-only

Perform 3D shapecast (sweep test) in physics space.

Inputs: params (required). Returns: result

godot_clean_orphansB
Destructive

Remove or quarantine unreferenced and orphaned asset files.

Inputs: params (required). Returns: result

godot_clear_debug_shapesB

Remove all active runtime debug drawing shapes.

Inputs: params (required). Returns: result

godot_configure_animation_treeC

Setup state machines, blend spaces, and transitions in AnimationTree.

Inputs: params (required). Returns: result

godot_configure_audio_busC

Add, rename, mute, solo, or route AudioServer buses.

Inputs: params (required). Returns: result

godot_configure_bone_attachmentC

Attach props, weapons, or collision nodes to named Skeleton3D bones.

Inputs: params (required). Returns: result

godot_configure_cameraC

Create and configure Camera2D or Camera3D viewports and FOV.

Inputs: params (required). Returns: result

godot_configure_environmentB

Adjust WorldEnvironment background, glow, tonemap, and ambient light.

Inputs: params (required). Returns: result

godot_configure_gltf_importA

Configure GLTF/GLB 3D model import presets.

Inputs: params (required). Returns: result

godot_configure_gridmapA

Assign MeshLibrary, set cell sizes, and place 3D grid tiles.

Inputs: params (required). Returns: result

godot_configure_input_actionC

Add, remove, or modify input actions and event bindings.

Inputs: params (required). Returns: result

godot_configure_lightmap_giC

Configure 3D GI pipelines (LightmapGI, VoxelGI, ReflectionProbe).

Inputs: params (required). Returns: result

godot_configure_lod_managerC

Configure visibility ranges, LOD distance thresholds, and cross-fade modes.

Inputs: params (required). Returns: result

godot_configure_multiplayer_spawnerD

Setup automated network node spawning paths.

Inputs: params (required). Returns: result

godot_configure_multiplayer_synchronizerB

Configure synced properties and replication intervals.

Inputs: params (required). Returns: result

godot_configure_navigation_obstacleC

Configure NavigationObstacle2D or NavigationObstacle3D dynamic avoidance.

Inputs: params (required). Returns: result

godot_configure_particlesC

Configure GPUParticles2D/3D or CPUParticles2D/3D node emission.

Inputs: params (required). Returns: result

godot_configure_physics_jointC

Create and configure 3D physics joints (Pin, Hinge, Slider, ConeTwist, 6DOF).

Inputs: params (required). Returns: result

godot_configure_render_settingsA

Tune anti-aliasing, shadow quality, V-Sync, and upscaling.

Inputs: params (required). Returns: result

godot_configure_tileset_terrainC

Configure TileSet terrain sets, terrain modes, and auto-tiling.

Inputs: params (required). Returns: result

godot_configure_xr_passthroughC

Configure OpenXR passthrough mode and foveated rendering.

Inputs: params (required). Returns: result

godot_connect_signalC

Connect a signal from a source node to a target node method.

Inputs: params (required). Returns: result

godot_create_animationC

Create or modify tracks and keyframes in an AnimationPlayer.

Inputs: params (required). Returns: result

godot_create_collision_polygonC

Generate CollisionPolygon2D/3D shapes from sprite alpha or mesh.

Inputs: params (required). Returns: result

godot_create_csg_shapeB

Construct Constructive Solid Geometry (CSGBox, CSGSphere, etc).

Inputs: params (required). Returns: result

godot_create_curve_pathB

Construct Path2D or Path3D curves with control points.

Inputs: params (required). Returns: result

godot_create_dialogue_resourceA

Generate branching dialogue JSON / Resource files.

Inputs: params (required). Returns: result

godot_create_materialC

Create StandardMaterial3D, ORMMaterial3D, ShaderMaterial, or CanvasItemMaterial.

Inputs: params (required). Returns: result

godot_create_navigation_regionB

Create NavigationRegion2D or NavigationRegion3D with NavigationMesh.

Inputs: params (required). Returns: result

godot_create_nodeB

Create and add a new node of any Godot class to the active scene.

Inputs: params (required). Returns: result

godot_create_sceneC

Create a brand new scene file with root node and save to disk.

Inputs: params (required). Returns: result

godot_create_scriptA

Create a new GDScript file with template code and class extends.

Inputs: params (required). Returns: result

godot_create_shaderB

Create custom Godot shader (.gdshader) with matching material.

Inputs: params (required). Returns: result

godot_create_themeC

Create Theme resource with color, font, and stylebox overrides.

Inputs: params (required). Returns: result

godot_create_tilemap_layerC

Add a TileMapLayer node with TileSet binding.

Inputs: params (required). Returns: result

godot_delete_nodeA
Destructive

Remove a node from the active scene tree.

Inputs: params (required). Returns: result

godot_diff_sceneB
Read-only

Compare two scene files (.tscn) and generate structural diffs.

Inputs: params (required). Returns: result

godot_dispatch_compute_shaderB

Execute compute shader on GPU via low-level RenderingDevice API.

Inputs: params (required). Returns: result

godot_draw_debug_shapesB

Render temporary 2D/3D debug shapes with colors and durations.

Inputs: params (required). Returns: result

godot_duplicate_nodeB

Deep duplicate a node with signal and script flags.

Inputs: params (required). Returns: result

godot_evaluate_expressionC

Evaluate arbitrary GDScript expression safely at runtime.

Inputs: params (required). Returns: result

godot_export_projectC

Export project binary for target preset via CLI.

Inputs: params (required). Returns: result

godot_find_elementsB
Read-only

Locate UI elements by text, name, class, group, or role.

Inputs: params (required). Returns: result

godot_focus_nodeA

Select node in scene tree and focus in Inspector dock.

Inputs: params (required). Returns: result

godot_generate_gut_testB

Scaffold GUT test script for a target class or script.

Inputs: params (required). Returns: result

godot_generate_procedural_meshA

Generate custom procedural 3D meshes using SurfaceTool.

Inputs: params (required). Returns: result

godot_generate_ragdollB

Automatically construct PhysicalBone3D hierarchies from Skeleton3D.

Inputs: params (required). Returns: result

godot_get_asset_detailsA
Read-only

Retrieve full details, previews, description, and download metadata for an asset from the Godot Asset Library.

Inputs: params (required). Returns: result

godot_get_audio_layoutA
Read-onlyIdempotent

Query complete AudioServer bus hierarchy and effect chains.

Inputs: params (required). Returns: result

godot_get_autoloadsA
Read-only

Query all registered Autoload singletons.

Inputs: params (required). Returns: result

godot_get_body_physics_state_3dB
Read-only

Inspect transform, linear/angular velocity, and contacts.

Inputs: params (required). Returns: result

godot_get_class_infoB
Read-onlyIdempotent

Query class inheritance, properties, methods, and signals from ClassDB.

Inputs: params (required). Returns: result

godot_get_dependenciesB
Read-only

Query dependency list for a scene, resource, or script.

Inputs: params (required). Returns: result

godot_get_documentationA
Read-onlyIdempotent

Fetch built-in documentation for classes, methods, and properties.

Inputs: params (required). Returns: result

godot_get_editor_layoutA
Read-only

Query active editor dock positions and open main screens.

Inputs: params (required). Returns: result

godot_get_export_presetsA
Read-only

Query export presets defined in export_presets.cfg.

Inputs: params (required). Returns: result

godot_get_input_actionsB
Read-only

Query all configured project input actions and key bindings.

Inputs: params (required). Returns: result

godot_get_nodeA
Read-only

Inspect a specific node's type, script, groups, signals, and properties.

Inputs: params (required). Returns: result

godot_get_node_script_infoB
Read-only

Inspect exported properties, methods, constants, and signals.

Inputs: params (required). Returns: result

godot_get_node_signalsA
Read-only

Query all signals declared or inherited on a live node.

Inputs: params (required). Returns: result

godot_get_performance_metricsA
Read-only

Query FPS, memory, draw calls, and physics monitors.

Inputs: params (required). Returns: result

godot_get_pluginsA
Read-only

Discover installed editor plugins in res://addons/.

Inputs: params (required). Returns: result

godot_get_project_settingsB
Read-onlyIdempotent

Query settings from project.godot (application name, display, physics, etc).

Inputs: params (required). Returns: result

godot_get_selected_nodesA
Read-only

Query paths of all nodes currently selected in Editor.

Inputs: params (required). Returns: result

godot_get_signal_connectionsB
Read-only

Query all incoming and outgoing signal connections.

Inputs: params (required). Returns: result

godot_get_texture_infoB
Read-only

Query dimensions, format, VRAM compression, and mipmaps.

Inputs: params (required). Returns: result

godot_get_tilemap_cellsA
Read-only

Read placed cell coordinates and atlas coords from TileMapLayer.

Inputs: params (required). Returns: result

godot_get_translationsA
Read-only

Query registered localization files (.translation / .csv).

Inputs: params (required). Returns: result

godot_get_uidB
Read-only

Convert resource path to native Godot uid:// identifier.

Inputs: params (required). Returns: result

godot_get_versionB
Read-onlyIdempotent

Get current Godot Engine version, build info, mode, and project path.

Inputs: params (required). Returns: result

godot_inspect_rendering_deviceA
Read-onlyIdempotent

Query GPU RenderingDevice device name, vendor, limits, and capabilities.

Inputs: params (required). Returns: result

godot_inspect_skeletonA
Read-only

Query bone hierarchies, rest poses, transforms, and socket names.

Inputs: params (required). Returns: result

godot_inspect_vram_usageB
Read-only

Query VRAM texture, buffer, and render target allocations.

Inputs: params (required). Returns: result

godot_install_asset_packageA
Idempotent

Download and install a community asset or plugin package into the active project, with auto-plugin registration.

Inputs: params (required). Returns: result

godot_instantiate_modelC

Instantiate a 3D model asset into the active scene.

Inputs: params (required). Returns: result

godot_instantiate_sceneA

Instantiate a packed scene (.tscn / .scn) as a child node.

Inputs: params (required). Returns: result

godot_interact_nodeC

Perform click, type_text, drag_to, or scroll on a located node.

Inputs: params (required). Returns: result

godot_list_nodesA
Read-only

List all nodes in the active scene tree with hierarchy, types, and properties.

Inputs: params (required). Returns: result

godot_list_project_filesA
Read-onlyIdempotent

List files in the Godot project tree matching patterns and extensions.

Inputs: params (required). Returns: result

godot_lsp_queryC
Read-only

Query symbols, definitions, references, or hover documentation.

Inputs: params (required). Returns: result

godot_lsp_renameA

Perform cross-file semantic symbol rename.

Inputs: params (required). Returns: result

godot_modify_nodeA

Update properties on an existing node in the active scene.

Inputs: params (required). Returns: result

godot_open_sceneC

Open a scene file (.tscn) in the Godot Editor workspace.

Inputs: params (required). Returns: result

godot_redoB

Trigger redo on the active Godot Editor undo/redo manager.

Inputs: params (required). Returns: result

godot_reimport_assetC

Trigger reimport of asset files with custom import parameters.

Inputs: params (required). Returns: result

godot_reload_scriptsB

Force reload modified GDScript resources in memory.

Inputs: params (required). Returns: result

godot_reparent_nodeB

Move a node to a new parent in the active scene tree.

Inputs: params (required). Returns: result

godot_resolve_uidA
Read-only

Resolve uid:// identifier back into its file path.

Inputs: params (required). Returns: result

godot_run_gut_testsC

Execute GUT test suites and capture test results.

Inputs: params (required). Returns: result

godot_run_projectB

Launch project or scene in debug mode via CLI.

Inputs: params (required). Returns: result

godot_run_testsC

Execute test scenes or unit test runners headlessly.

Inputs: params (required). Returns: result

godot_save_sceneA

Save the currently edited scene to disk.

Inputs: params (required). Returns: result

godot_scaffold_state_machineC

Construct modular hierarchical finite state machine nodes.

Inputs: params (required). Returns: result

godot_scatter_multimeshB

High-performance GPU instanced scattering across a 3D bounding area.

Inputs: params (required). Returns: result

godot_search_asset_libraryA
Read-only

Search the official Godot Asset Library for plugins, shaders, templates, and tools.

Inputs: params (required). Returns: result

godot_set_autoloadB

Add, remove, or reorder Autoload singletons in project.godot.

Inputs: params (required). Returns: result

godot_set_bus_effectB

Add or adjust real-time audio effects on an audio bus.

Inputs: params (required). Returns: result

godot_set_editor_layoutB

Switch editor main screen or dock arrangements.

Inputs: params (required). Returns: result

godot_set_editor_selectionC

Set selected nodes in the 2D/3D editor viewport.

Inputs: params (required). Returns: result

godot_set_node_ownerB

Set or synchronize the owner property of a node.

Inputs: params (required). Returns: result

godot_set_physics_debug_modeB

Enable/disable visual physics collision shape debugging.

Inputs: params (required). Returns: result

godot_set_plugin_statusA

Enable or disable an editor plugin.

Inputs: params (required). Returns: result

godot_set_project_settingA
Idempotent

Write or update a configuration setting in project.godot.

Inputs: params (required). Returns: result

godot_set_selected_nodesA

Replace current editor node selection.

Inputs: params (required). Returns: result

godot_set_shader_paramB

Set shader parameter uniform values on a ShaderMaterial.

Inputs: params (required). Returns: result

godot_set_tilemap_cellsB

Place or clear tiles on a TileMapLayer coordinate grid.

Inputs: params (required). Returns: result

godot_setup_inverse_kinematicsC

Configure SkeletonIK3D chains with target nodes and magnet vectors.

Inputs: params (required). Returns: result

godot_setup_xr_rigB

Scaffold XROrigin3D, XRCamera3D, and XRController3D tracking rig.

Inputs: params (required). Returns: result

godot_simulate_inputC

Inject simulated mouse, keyboard, or joypad events.

Inputs: params (required). Returns: result

godot_simulate_network_conditionsC

Inject simulated latency, jitter, and packet loss.

Inputs: params (required). Returns: result

godot_take_screenshotB
Read-only

Capture full screenshot of active game or editor viewport.

Inputs: params (required). Returns: result

godot_undoC

Trigger undo on the active Godot Editor undo/redo manager.

Inputs: params (required). Returns: result

godot_validate_scriptB
Read-onlyIdempotent

Parse and validate GDScript code for syntax and type errors.

Inputs: params (required). Returns: result

godot_validate_shaderA
Read-onlyIdempotent

Compile and check Godot Shader Language code for errors.

Inputs: params (required). Returns: result

godot_wait_for_conditionB

Auto-wait for node appearance, property thresholds, or signals.

Inputs: params (required). Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 126 tools

    Disambiguation4/5

    Most tools target a distinct subsystem and action, making selection fairly clear even at this scale. A few near-overlaps exist, such as set_editor_selection vs set_selected_nodes and get_node_signals vs get_signal_connections, but the descriptions generally prevent serious confusion.

    Naming Consistency5/5

    All tools follow a consistent godot_ prefix with snake_case verb_noun naming, such as create_node, modify_node, and bake_navmesh. Minor exceptions like godot_undo and godot_lsp_query still fit a predictable pattern and do not break overall consistency.

    Tool Count1/5

    126 tools is an extreme count that far exceeds reasonable agent-facing surface area, even for a large domain like Godot. The sheer number will bloat context, increase selection overhead, and likely deserves splitting into focused sub-servers.

    Completeness4/5

    The tool surface covers an unusually broad range of Godot workflows: scene editing, scripting, rendering, physics, audio, UI testing, multiplayer, assets, and export. Minor gaps exist, such as no direct script/scene file deletion or renaming and no generic method invocation, but most workflows have workable paths.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • 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
      775 npm
      1
      MIT
    • A
      license
      C
      quality
      C
      maintenance
      Enables AI agents to interact with the Godot game engine, including project inspection, scene/script parsing, headless exports, runtime control with live scene-tree inspection and evaluation, and API documentation search.
      100
      775 npm
      5
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI assistants to automate the Godot Engine editor, including scene authoring, node transforms, tilemap editing, animation, shaders, and live GDScript execution via MCP.
      100
      30
      MIT