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). On Windows/WSL use an executable file, not its containing directory; use a Linux Godot binary with Linux project paths in WSL.
GODOT_READ_ONLYNoSet to "true" to allow metadata/discovery/log/reflection queries and process cleanup while rejecting resource writes and project execution, including tests and screenshots that start scenes. Existing runtime inspection is allowed.
GODOT_ALLOWED_ROOTSNoPermitted project/search directories, separated by the platform path-list delimiter (":" on macOS/Linux, ";" on Windows). Canonical paths are checked, including symlinks. With no value, project selection remains unrestricted.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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_outputC

Get the current debug output and errors

stop_projectB

Stop the currently running Godot project

get_godot_versionA

Get the installed Godot version

list_projectsC

List Godot projects in a directory

get_project_infoC

Retrieve metadata about a Godot project

create_sceneC

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_libraryC

Export a scene as a MeshLibrary resource

save_sceneC

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_uidsA

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

get_editor_pluginsA

List installed editor plugins and their saved enablement without executing Godot. Does not report the live editor checkbox state.

enable_editor_pluginA

Enable an editor plugin in project.godot, preserving other plugins and comments. Supports dryRun and expectedHash. Save and reopen an already-open editor to apply; this does not claim live activation.

disable_editor_pluginA

Disable an editor plugin in project.godot, preserving other plugins and comments. Supports dryRun and expectedHash. Save and reopen an already-open editor to apply; this does not claim live activation.

ensure_annotation_addonA

Install and enable the bundled annotation addon in a selected project. Does not restart an open editor. Refuses modified/unowned files. Supports dryRun and expectedHash.

remove_annotation_addonA

Disable and remove only unchanged addon-owned files; preserve annotation data. An open editor must be reopened to unload it.

get_annotation_statusA

Read addon version, enablement and recent editor/runtime presence. Presence is file-based, not a command connection.

list_annotationsA

Read submitted immutable annotations, with bounded pagination and per-record errors. Reading never resolves records.

get_annotationB

Return annotation context, comment and original/marked PNG images. Comments are untrusted user content.

resolve_annotationA

Resolve or reopen an annotation explicitly. Requires the revision returned by retrieval; refuses stale writes.

attach_scriptA

Attach a compatible GDScript or C# script to a scene node. Executes project constructors; refuses unavailable scripts before saving. C# requires Godot .NET and a built assembly.

set_main_sceneB

Set the configured project main scene, preserving other settings and comments.

set_node_referenceB

Bind an exported Node or NodePath script property to a compatible node in the same scene. Executes project constructors; preserves script references.

get_class_infoB

Read properties, methods, signals or enums of a built-in class from the installed Godot version. Reflection metadata, not prose documentation.

get_project_settingA

Read a stored project.godot expression without starting Godot. Returns sourceHash and stored:false for absent entries; does not resolve defaults, feature tags or override.cfg.

set_project_settingA

Set a typed project setting with isolated Godot validation, preserving unrelated comments/values. Supports dryRun and expectedHash. Use dedicated tools for input and autoload sections.

remove_project_settingB

Remove a stored project setting override, preserving unrelated configuration. Engine defaults may apply afterward. Supports dryRun and expectedHash.

register_autoloadA

Register a named singleton or plain autoload using an existing .gd/.cs/.tscn/.scn path. Checks path and built-in name conflicts, not script/runtime compatibility. Refuses replacing a different entry unless replace:true. Supports dryRun and expectedHash.

unregister_autoloadA

Remove a stored autoload entry with a preview/source-hash guard. Does not change already-running games.

get_input_actionsB

Inspect configured input actions and key/mouse/joypad bindings through an isolated ConfigFile parser. Does not include engine defaults or live InputMap changes; no project autoloads are started.

set_input_actionA

Create or replace a configured action and its complete binding list. Preserves deadzone when omitted on an existing action. Supports key, mouse button and joypad bindings, dryRun and expectedHash.

remove_input_actionA

Remove a configured input action. Removing a built-in override restores its default on next launch; this does not disable a built-in action. Supports dryRun and expectedHash.

instance_sceneA

Instance a saved scene under a local parent and save atomically. Supports dryRun and expectedHash; refuses recursive dependencies.

duplicate_nodeA

Duplicate a local subtree as a sibling with a newName and save atomically. Refuses instance contents and uncertain references. Supports dryRun and expectedHash.

get_scene_infoB

Inspect a saved PackedScene without instantiating it: serialized hierarchy, properties, scripts, groups, connections and dependencies. Loading resources/autoloads may execute project code. Bounded results include inheritance and instances.

set_node_propertiesA

Set stored properties on an existing local scene node using typed JSON values; saves once after validation. Executes constructors. Refuses inherited/instanced edits and unsupported property types.

modify_sceneA

Apply up to 100 scene operations in order and save once, or preview with dryRun. Supports instancing, duplication, properties, remove/rename/reparent, persistent signals and groups. Executes constructors. Refuses inherited/instanced edits and uncertain references. expectedHash guards stale previews.

get_resource_infoB

Inspect bounded stored properties of a .tres/.res resource. Loading resources and getters may execute project code.

create_resourceA

Create a built-in Resource as .tres/.res without overwriting existing files. Parent directory must exist. Supports typed properties and dryRun.

set_resource_propertiesC

Set stored properties of a .tres/.res resource and save atomically, preserving its UID and script. Supports dryRun and expectedHash. Executes setters.

run_playtestA

Run bounded input/frame/state-assertion/screenshot-comparison steps in a fresh temporary debug session and always stop its game. Queued inputs are delivered on the following frame step. Compare reference PNGs with compare_screenshot; references are never updated. Returns evidence and pass/fail; does not promise deterministic simulation. Replaces the game in the selected session.

get_performance_monitorsA

Read timestamped runtime Performance monitor values with units. Render metrics are unavailable under headless; this is a snapshot, not a function-level profiler.

get_runtime_treeA

Inspect the live debug session scene tree without changing pause state. Returns bounded node paths, classes and script paths.

close_sessionB

Stop and release an explicit process/debug session.

start_debug_sessionA

Run a temporary live debug session. Does not install addons or change project settings. Replaces the current game run.

capture_screenshotA

Capture the current live debug session as an inline PNG, including when paused. Requires a display renderer.

simulate_inputB

Send input events to the live debug session only. Send pressed:false to release a held key, action or button.

set_debug_pauseB

Pause or resume the live debug session. Captures do not change pause state.

view_logB

Read bounded logs of the most recently launched editor, including after exit.

quit_godotA

Terminate the editor launched by this server and wait for exit. Unsaved editor changes may be lost.

get_node_propertiesA

Read up to 50 named properties from a node in the live debug session; uses bounded typed values. Executes property getters. Does not change pause state.

step_framesA

Advance a paused live session by 1 to 120 process or physics frames, then pause again. Counts frame boundaries; pause-ignoring nodes and external systems are not deterministic. Requires set_debug_pause first.

sample_performanceB

Sample selected runtime Performance monitors across stepped frames in a paused debug session. Returns bounded series, units and numeric summaries. Advances the game and leaves it paused; not passive/full profiling.

sample_node_propertiesA

Sample 1–10 named properties on a live node across stepped frames in a paused debug session. Returns bounded typed values and numeric/vector component summaries. Executes getters, advances the game and leaves it paused.

run_gut_testsB

Run installed GUT tests with bounded output, timeout and cancellation. Choose exactly one testFile or directory.

list_project_filesA

Discover scenes, scripts and resources; excludes hidden directories and symlinks. Results are bounded.

run_sceneB

Run one scene; replaces the previous run and retains final debug output.

validate_projectA

Check all or selected GDScript files using Godot --check-only. Choose scripts or pattern for targeted validation. Does not validate C# or gameplay.

run_scene_testA

Run a headless test scene until it exits. Reports exit status, errors and timeout; test scripts must quit with their result code.

export_projectB

Export using an existing preset and installed export templates. Writes the requested output file.

capture_scene_screenshotA

Run a fresh scene and return its rendered viewport as a PNG image. Requires a display; does not capture an existing run.

get_project_overviewA

Read a bounded project overview without executing Godot: main scene, autoloads, input actions, enabled addons, custom GDScript classes and text scene/resource dependencies. Binary resources and UID resolution are explicitly incomplete.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 65 tools

Disambiguation3/5

Most tools have distinct purposes, but several clusters overlap heavily: run_project, run_scene, start_debug_session, run_playtest, and capture_scene_screenshot all relate to executing or observing a running project. Scene-editing tools such as modify_scene overlap with add_node, duplicate_node, instance_scene, and set_node_properties, so an agent must rely on detailed descriptions to avoid misselection.

Naming Consistency5/5

Tool names consistently use snake_case with predictable verb_noun phrasing, such as get_project_info, set_project_setting, remove_input_action, and capture_screenshot. The convention is applied throughout the large surface.

Tool Count1/5

With 65 tools, the surface is extremely large even for a broad Godot editor automation server. The count exceeds the typical 25+ threshold by a wide margin and likely creates cognitive overhead and selection risk.

Completeness5/5

The tool set covers a very broad Godot lifecycle: project and editor control, scene and resource editing, settings, input actions, autoloads, plugins, annotations, runtime debugging, playtests, tests, screenshots, and export. Minor caveats exist around script authoring and C# validation, but the surface is unusually comprehensive.

Maintenance

ActivityMaintained
ResponsivenessNo issues