Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GODOT_BINNoPath to a pre-installed Godot editor binary; skips downloads.
GODOT_MCP_MONONoSet to 1 to use the .NET/Mono build.
GODOT_PROJECT_ROOTNoDefault project root (folder with project.godot).
GODOT_MCP_CACHE_DIRNoWhere to cache editors/templates/docs (default ~/.cache/godot-mcp).
GODOT_MCP_LOG_LEVELNodebug / info / warn / error.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
godot_project_infoA

Summarise a Godot project: name, target engine version, main scene, autoloads, input actions, enabled features and a resource-type breakdown.

godot_get_settingsB

List project.godot settings as section/key/value entries, optionally filtered to one section.

godot_set_settingA

Set or add a setting in project.godot. The section is created if missing. Use type="raw" to write a Godot literal verbatim (e.g. a Vector2 or PackedStringArray).

godot_list_addonsA

List installed editor addons under addons/, with their plugin.cfg metadata and enabled state.

godot_list_resourcesA

List project resources as res:// paths, optionally filtered by extension (e.g. ".tscn", ".gd"). Skips .godot/ and .gdignore-marked folders.

godot_parse_resourceA

Parse a resource into structured JSON-ish output. Scenes (.tscn) and resources (.tres) yield their node tree, ext/sub resources and connections; scripts (.gd/.cs) yield an outline of classes, functions, signals, exports and variables.

godot_create_resourceB

Create a new resource from a template: a GDScript (gdscript) or C# (csharp) script, a scene (scene) or a generic resource (resource). Fails if the target exists unless overwrite=true.

godot_find_referencesA

Find resources that reference a given resource, by scanning scenes, resources and scripts for its res:// path, filename, UID, or preload/load usage.

godot_setupA

Provision the Godot toolchain for a project: resolve the target version, download/locate the editor binary, install matching export templates, and (by default) install the godot_mcp live-control bridge addon. Safe to run repeatedly.

godot_buildA

Import/reimport the project headlessly, compiling scripts and generating the .godot cache. Surfaces script and scene errors. This is the Godot equivalent of a compile check.

godot_exportA

Export a project using a preset from export_presets.cfg. Mode "release"/"debug" produce a runnable bundle; "pack" produces a .pck/.zip data pack. With no preset, lists the available presets.

godot_cleanA

Remove generated artifacts: the .godot cache, legacy .import folder, and optionally the export/ output.

godot_doctorA

Run diagnostics: confirm a usable editor binary, version alignment with the project, export template availability, and whether the project imports cleanly.

godot_runB

Launch the project (or a specific scene) as a child process and return a handle. With live=true the godot_mcp bridge is enabled (auto-installed if needed) so you can inspect the scene tree, eval expressions, hot reload and screenshot the running game.

godot_stopA

Terminate a running game by handle (or the only running game). Attempts a clean bridge quit before SIGTERM/SIGKILL.

godot_game_logsB

Return recent stdout/stderr from a running or finished game.

godot_list_gamesA

List all launched games this session, running and exited, with their handles and status.

godot_engine_infoA

Query a running game via its bridge: engine version, FPS, frame count, current scene and node count.

godot_scene_treeA

Dump the live scene tree of a running game (node names, types and attached scripts).

godot_evalA

Run GDScript in the running game and return the result as a string. The code is compiled as a real script, so autoload singletons (e.g. GameState), method calls and await all work. A bare expression is auto-wrapped to return its value; multi-line code should return explicitly. The locals tree (SceneTree), root (Window) and scene (current scene) are provided. Examples: "GameState.last_health", "scene.get_node("Player").position", "return await some_node.some_async()".

godot_set_node_propertyC

Set a property on a node in the running scene by node path (e.g. "Player", "Player/Sprite2D").

godot_hot_reloadA

Reload GDScript files and/or the current scene in the running game without restarting it. Pass script res:// paths to reload, and/or reload_scene=true to reinstantiate the current scene.

godot_engine_commandA

Send a raw JSON command to the godot_mcp bridge (advanced). Supported commands: ping, info, scene_tree, eval, set_property, reload, screenshot, quit. Payload is merged into the request.

godot_validate_scriptA

Parse a GDScript file headlessly with --check-only and report any parse/compile errors without running the game.

godot_install_bridgeA

Install (or refresh) the godot_mcp live-control bridge addon and its autoload in the project. Normally handled by godot_setup or godot_run, but available explicitly.

godot_screenshotB

Capture the current frame of a running game (launched with godot_run live=true, non-headless) and return it as an image. Optionally also saves a PNG to disk.

godot_api_searchC

Search the Godot class reference for the target version: matches class names, brief descriptions, and method/member/signal names. Returns ranked hits.

godot_api_docA

Return the reference documentation for a Godot class: inheritance, description, methods, properties, signals and constants.

launch_editorB

Launch Godot editor for a specific project

run_projectB

Run the Godot project and capture output

get_debug_outputA

Get the current debug output and errors

stop_projectB

Stop the currently running Godot project

get_godot_versionA

Get the installed Godot version

list_projectsB

List Godot projects in a directory

get_project_infoB

Retrieve metadata about a Godot project

create_sceneB

Create a new Godot scene file

add_nodeC

Add a node to an existing scene

load_spriteC

Load a sprite into a Sprite2D node

export_mesh_libraryB

Export a scene as a MeshLibrary resource

save_sceneB

Save changes to a scene file

get_uidB

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

update_project_uidsB

Update UID references by resaving resources (4.4+)

game_screenshotA

Screenshot the running game (returns base64 PNG)

game_clickB

Click at a position in the running Godot game window

game_key_pressC

Send a key press or input action to the running game

game_mouse_moveC

Move the mouse in the running Godot game

game_get_uiB

Get visible UI elements from the running game

game_get_scene_treeB

Get scene tree structure of the running game

game_evalC

Execute GDScript in the running game. Use "return" for values.

game_get_propertyA

Get a property value from any node in the running game by its path

game_set_propertyB

Set a property on a node in the running game

game_call_methodC

Call a method on any node in the running game with optional arguments

game_get_node_infoB

Get node info: class, properties, signals, methods, children

game_instantiate_sceneA

Load a PackedScene and add it as a child of a node in the running game

game_remove_nodeB

Remove and free a node from the running game's scene tree

game_change_sceneA

Switch to a different scene file in the running game

game_pauseB

Pause or unpause the running game

game_performanceB

Get performance metrics (FPS, memory, draw calls)

game_waitB

Wait N frames in the running game

read_sceneA

Read scene file as JSON node tree (headless)

modify_scene_nodeC

Modify node properties in a scene file (headless)

remove_scene_nodeC

Remove a node from a scene file (headless)

read_project_settingsA

Read project.godot as structured JSON

modify_project_settingsC

Modify a project.godot setting

list_project_filesB

List project files, optionally filtered by extension

game_connect_signalB

Connect a signal from one node to a method on another node in the running game

game_disconnect_signalB

Disconnect a signal connection in the running game

game_emit_signalA

Emit a signal on a node in the running game, optionally with arguments

game_play_animationB

Control an AnimationPlayer node: play, stop, pause, or list animations

game_tween_propertyC

Tween a node property in the running game

game_get_nodes_in_groupB

Get all nodes belonging to a specific group in the running game

game_find_nodes_by_classB

Find all nodes of a specific class type in the running game

game_reparent_nodeA

Move a node to a new parent in the running game's scene tree

attach_scriptC

Attach a GDScript to a scene node (headless)

create_resourceC

Create a .tres resource file (headless)

read_fileB

Read a text file from a Godot project

write_fileB

Create or overwrite a text file in a Godot project

delete_fileB

Delete a file from a Godot project

create_directoryB

Create a directory inside a Godot project

game_get_errorsA

Get new push_error/push_warning messages since last call

game_get_logsA

Get new print output from the running game since last call

game_key_holdA

Hold a key down without auto-releasing

game_key_releaseC

Release a previously held key

game_scrollB

Send mouse scroll wheel event at position

game_mouse_dragB

Drag mouse between two points over N frames

game_gamepadB

Send gamepad button or axis input event

create_projectB

Create a new Godot project from scratch

manage_autoloadsA

Add, remove, or list autoloads in a Godot project

manage_input_mapB

Add, remove, or list input actions and bindings

manage_export_presetsB

Create or modify export preset configuration

game_get_cameraA

Get active camera position, rotation, and size

game_set_cameraB

Move or rotate the active camera

game_raycastB

Cast a ray and return collision results

game_get_audioB

Get audio bus layout and playing streams

game_spawn_nodeC

Create a new node of any type at runtime

game_set_shader_paramB

Set a shader parameter on a node's material

game_audio_playB

Play, stop, or pause an AudioStreamPlayer node

game_audio_busB

Set volume, mute, or solo on an audio bus

game_navigate_pathC

Query a navigation path between two points

game_tilemapC

Get or set cells in a TileMapLayer node

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

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

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

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