Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEBUGNoSet to "true" to enable detailed server-side debug logging
GODOT_PATHNoPath to the Godot executable (overrides automatic detection)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
launch_editorC

Launch Godot editor for a specific project

run_projectC

Run the Godot project and capture output

get_debug_outputB

Get the current debug output and errors

stop_projectA

Stop the currently running Godot project

get_godot_versionB

Get the installed Godot version

list_projectsB

List Godot projects in a directory

get_project_infoC

Retrieve metadata about a Godot project

create_sceneB

Create a new Godot scene file

add_nodeB

Add a node to an existing scene

load_spriteB

Load a sprite into a Sprite2D node

export_mesh_libraryB

Export a scene as a MeshLibrary resource

save_sceneC

Save changes to a scene file

get_uidC

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

update_project_uidsA

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

get_scene_treeA

Inspect a scene: returns its full node tree (names, types, paths, scripts, groups) as JSON

get_node_propertiesA

Read the properties of a single node in a scene. mode "overrides" returns only non-default values, "effective" returns all stored values.

get_scene_dependenciesA

List the external resources (scripts, textures, instanced scenes) a scene references, and whether each exists

describe_classA

Introspect a Godot built-in class via ClassDB: its parent, properties, methods, and signals. Use to discover valid property/signal names before editing.

list_scriptsA

List all GDScript (.gd) files in the project (or a subdirectory)

read_scriptB

Read the source of a script file in the project

check_scriptA

Parse/compile-check a GDScript file using Godot --check-only. Returns parse errors/warnings without running the game.

validate_sceneB

Validate a scene headless: reports whether it loads/instantiates and lists any missing dependencies

run_and_capture_errorsA

Run the project (optionally a single scene) for a bounded time and return captured stdout plus structured script errors/warnings

set_node_propertyA

Set a property on an existing node in a scene. Values are coerced to the property type (e.g. [x,y] -> Vector2, "res://..." -> resource).

delete_nodeB

Delete a node (and its descendants) from a scene

rename_nodeB

Rename a node in a scene

reparent_nodeB

Move a node to a new parent within the same scene

duplicate_nodeB

Duplicate a node subtree within a scene

add_to_groupB

Add a node to a group (persistent, saved in the scene)

remove_from_groupB

Remove a node from a group

create_scriptA

Create a new GDScript file. Optionally specify extends, class_name, and body.

attach_scriptC

Attach an existing script to a node in a scene

connect_signalB

Persist a signal connection from one node to a method on another node in the same scene

disconnect_signalB

Remove a stored signal connection from a scene

list_connectionsB

List all signal connections stored within a scene

instance_sceneB

Add another scene as an instanced child inside a scene (composition / prefabs)

get_project_settingB

Read a project setting from project.godot

set_project_settingC

Set a project setting in project.godot

set_main_sceneB

Set the project main scene (application/run/main_scene)

list_autoloadsA

List the autoload singletons configured in the project

add_autoloadB

Add (or update) an autoload singleton

remove_autoloadB

Remove an autoload singleton

add_input_actionA

Add or extend an input map action with events. Each event: {type:"key", key:"Space"} | {type:"mouse_button", button_index:1} | {type:"joypad_button", button_index:0} | {type:"joypad_motion", axis:0, axis_value:1.0}.

remove_input_actionC

Remove an input map action

create_resourceB

Create a new .tres/.res resource of a given class with optional properties (e.g. StandardMaterial3D, custom Resource)

edit_resourceB

Edit properties of an existing resource file

get_resource_propertiesA

Read the stored properties of a resource file as JSON

run_scene_testA

Automated end-to-end / UAT test of a scene. Boots the scene headless (real game loop, no rendering), runs a sequence of steps, and evaluates assertions against live game state. Returns per-assertion pass/fail.

Each step is an object with an "action". Driver actions: {action:"wait_frames",frames:N} | {action:"wait_seconds",seconds:S} | {action:"press_action",name:"jump",strength:1.0} | {action:"release_action",name:"jump"} | {action:"tap_action",name:"jump",frames:2} | {action:"key",key:"Space",pressed:true} | {action:"mouse_button",button:1,position:[x,y],pressed:true} | {action:"mouse_move",position:[x,y]} | {action:"set_property",node:"Path",property:"x",value:1} | {action:"call_method",node:"Path",method:"start",args:[]} | {action:"emit_signal",node:"Path",signal_name:"hit",args:[]} | {action:"watch_signal",node:"Path",signal_name:"hit"} | {action:"wait_for_signal",node:"Path",signal_name:"hit",timeout_seconds:2}. Assertion actions: {action:"assert_property",node:"Path",property:"position",op:">",value:{x:0}} (op: ==,!=,>,<,>=,<=; for vectors/colors only the provided components are checked) | {action:"assert_node_exists",node:"Path",exists:true} | {action:"assert_in_group",node:"Path",group:"mobs",expected:true} | {action:"assert_signal_emitted",node:"Path",signal_name:"hit",min_count:1} (requires a prior watch_signal) | {action:"assert_method_returns",node:"Path",method:"get_score",args:[],op:">=",value:10} | {action:"assert_node_count",group:"mobs",op:">",value:0}. Node paths are relative to the scene root ("" or "root" = root).

run_testsA

Run a GUT or GdUnit4 test suite headless and return the pass/fail summary. Auto-detects the framework from the project addons.

capture_scene_screenshotA

EXPERIMENTAL visual UAT: boot a scene with a rendering driver and save a PNG screenshot. Requires a GPU/display or a software rasterizer; may fail in pure-headless CI. Returns the image.

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/ibnutoriq/godot-mcp-extended'

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