Godot MCP
Provides tools for interacting with the Godot Engine, including live scene editing, node manipulation, script validation, physics queries, asset library integration, and headless project management.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Godot MCP Create a 2D scene with a Player node, a Camera2D, and a movement script"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Godot 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:
Live Editor Bridge (
addons/godot_mcp/): A modular GDScriptEditorPluginrunning inside Godot that hosts a local WebSocket IPC server (ws://127.0.0.1:3118/ws). It provides live access to:EditorInterfaceand active scene tree hierarchyInteractive node creation and modification with full
EditorUndoRedoManagersupportSignal 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
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.godotsettings reading and modificationProject file and resource discovery (
res://asset queries)Subprocess project execution and headless test suite running (including GUT unit tests)
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 toolsgodot_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_stateBRead-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_assetsBRead-only
Scan project for unused assets, missing dependencies, or broken paths.
Inputs: params (required). Returns: result
godot_audit_orphan_nodesBRead-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_capture_profiler_traceARead-only
Record engine frame timeline trace slices for performance bottleneck analysis.
Inputs: params (required). Returns: result
godot_capture_viewportARead-only
Capture high-resolution viewport frame for AI Vision inspection.
Inputs: params (required). Returns: result
godot_cast_ray_3dARead-only
Perform 3D raycast query against PhysicsDirectSpaceState3D.
Inputs: params (required). Returns: result
godot_cast_shape_3dCRead-only
Perform 3D shapecast (sweep test) in physics space.
Inputs: params (required). Returns: result
godot_clean_orphansBDestructive
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_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_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_nodeADestructive
Remove a node from the active scene tree.
Inputs: params (required). Returns: result
godot_diff_sceneBRead-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_elementsBRead-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_detailsARead-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_layoutARead-onlyIdempotent
Query complete AudioServer bus hierarchy and effect chains.
Inputs: params (required). Returns: result
godot_get_autoloadsARead-only
Query all registered Autoload singletons.
Inputs: params (required). Returns: result
godot_get_body_physics_state_3dBRead-only
Inspect transform, linear/angular velocity, and contacts.
Inputs: params (required). Returns: result
godot_get_class_infoBRead-onlyIdempotent
Query class inheritance, properties, methods, and signals from ClassDB.
Inputs: params (required). Returns: result
godot_get_dependenciesBRead-only
Query dependency list for a scene, resource, or script.
Inputs: params (required). Returns: result
godot_get_documentationARead-onlyIdempotent
Fetch built-in documentation for classes, methods, and properties.
Inputs: params (required). Returns: result
godot_get_editor_layoutARead-only
Query active editor dock positions and open main screens.
Inputs: params (required). Returns: result
godot_get_export_presetsARead-only
Query export presets defined in export_presets.cfg.
Inputs: params (required). Returns: result
godot_get_input_actionsBRead-only
Query all configured project input actions and key bindings.
Inputs: params (required). Returns: result
godot_get_nodeARead-only
Inspect a specific node's type, script, groups, signals, and properties.
Inputs: params (required). Returns: result
godot_get_node_script_infoBRead-only
Inspect exported properties, methods, constants, and signals.
Inputs: params (required). Returns: result
godot_get_node_signalsARead-only
Query all signals declared or inherited on a live node.
Inputs: params (required). Returns: result
godot_get_performance_metricsARead-only
Query FPS, memory, draw calls, and physics monitors.
Inputs: params (required). Returns: result
godot_get_pluginsARead-only
Discover installed editor plugins in res://addons/.
Inputs: params (required). Returns: result
godot_get_project_settingsBRead-onlyIdempotent
Query settings from project.godot (application name, display, physics, etc).
Inputs: params (required). Returns: result
godot_get_selected_nodesARead-only
Query paths of all nodes currently selected in Editor.
Inputs: params (required). Returns: result
godot_get_signal_connectionsBRead-only
Query all incoming and outgoing signal connections.
Inputs: params (required). Returns: result
godot_get_texture_infoBRead-only
Query dimensions, format, VRAM compression, and mipmaps.
Inputs: params (required). Returns: result
godot_get_tilemap_cellsARead-only
Read placed cell coordinates and atlas coords from TileMapLayer.
Inputs: params (required). Returns: result
godot_get_translationsARead-only
Query registered localization files (.translation / .csv).
Inputs: params (required). Returns: result
godot_get_uidBRead-only
Convert resource path to native Godot uid:// identifier.
Inputs: params (required). Returns: result
godot_get_versionBRead-onlyIdempotent
Get current Godot Engine version, build info, mode, and project path.
Inputs: params (required). Returns: result
godot_inspect_rendering_deviceARead-onlyIdempotent
Query GPU RenderingDevice device name, vendor, limits, and capabilities.
Inputs: params (required). Returns: result
godot_inspect_skeletonARead-only
Query bone hierarchies, rest poses, transforms, and socket names.
Inputs: params (required). Returns: result
godot_inspect_vram_usageBRead-only
Query VRAM texture, buffer, and render target allocations.
Inputs: params (required). Returns: result
godot_install_asset_packageAIdempotent
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_nodesARead-only
List all nodes in the active scene tree with hierarchy, types, and properties.
Inputs: params (required). Returns: result
godot_list_project_filesARead-onlyIdempotent
List files in the Godot project tree matching patterns and extensions.
Inputs: params (required). Returns: result
godot_lsp_queryCRead-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_uidARead-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_libraryARead-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_settingAIdempotent
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_screenshotBRead-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_scriptBRead-onlyIdempotent
Parse and validate GDScript code for syntax and type errors.
Inputs: params (required). Returns: result
godot_validate_shaderARead-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
Scored across 126 tools
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.
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.
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.
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
Related MCP Connectors
AI game maker: build, run, screenshot and play-test Godot and retro console games in a live project
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Make all the audio for your game from a single prompt. Describe your game and your AI assistant plans every sound it needs (sound effects, ambience loops, music tracks and character voice lines), then generates them all in one go. You get several AI versions of each sound and keep the ones you like. Sounds are organized per game in folders and scenes, and the free Godot plugin installs them into your project, ready to play with one line of code. Works with Claude, Claude Code, Cursor and any MCP client, with OAuth login (no API key needed). Free plan included; sounds can be used in commercial games.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to interact with and manipulate Godot game engine projects, including creating projects, launching editor, managing scenes and nodes.12775 npm1MIT
- AlicenseCqualityCmaintenanceEnables 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.100775 npm5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to fully access and manipulate Godot editor projects, including scenes, scripts, nodes, and settings, with an interactive visualizer.454MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to automate the Godot Engine editor, including scene authoring, node transforms, tilemap editing, animation, shaders, and live GDScript execution via MCP.10030MIT