Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GODOT_MCP_DEBUGNoSet to any value to enable debug logging in the server

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_project_infoB

Get project metadata including name, version, engine version, and main scene

get_filesystem_treeC

Get the project filesystem tree structure

search_filesC

Search for files in the project by name pattern or content

get_project_settingsC

Get all project settings (project.godot values)

set_project_settingC

Set a project setting value

uid_to_project_pathB

Convert a Godot UID to a project file path

project_path_to_uidB

Convert a project file path to its UID

get_scene_treeC

Get the node tree of the specified or currently open scene

get_scene_file_contentB

Read the raw .tscn/.scn file content of a scene

create_sceneB

Create a new empty scene with a specified root node type

open_sceneB

Open a scene file in the editor

delete_sceneC

Delete a scene file from the project

add_scene_instanceB

Add an instance of a scene as a child of a node in the current scene

play_sceneA

Start playing the current or specified scene. Required before using any runtime tools (get_game_*, capture_frames, etc.)

stop_sceneA

Stop the currently playing scene

save_sceneC

Save the current scene or save it to a new path

get_loaded_scenesB

Get a list of all currently loaded scenes in the editor

set_main_sceneB

Set the project's main scene

add_nodeB

Add a new node to the scene tree

delete_nodeB

Delete a node from the scene tree

duplicate_nodeC

Duplicate a node in the scene tree

move_nodeB

Move a node to a new parent in the scene tree

update_propertyC

Update a property value on a node

get_node_propertiesB

Get all properties of a node

add_resourceC

Add a resource (material, texture, etc.) to a node property

set_anchor_presetC

Set anchor preset on a Control node

rename_nodeB

Rename a node in the scene tree

connect_signalB

Connect a signal from one node to another node's method

disconnect_signalB

Disconnect a signal connection

get_node_groupsB

Get all groups a node belongs to

set_node_groupsB

Set the groups a node belongs to (replaces existing groups)

find_nodes_in_groupA

Find all nodes belonging to a specific group

get_editor_selectionA

Get the currently selected nodes in the editor

select_nodesC

Select nodes in the editor

clear_editor_selectionA

Clear the current editor selection

list_scriptsB

List all GDScript files in the project with class info

read_scriptA

Read the contents of a GDScript file

create_scriptC

Create a new GDScript file

delete_scriptB

Delete a GDScript file from the project

edit_scriptB

Edit an existing GDScript file by replacing a text segment

attach_scriptB

Attach a GDScript to a node in the scene

get_open_scriptsA

Get list of scripts currently open in the script editor

validate_scriptB

Validate a GDScript file for syntax errors

search_in_filesC

Search for text across project files

get_editor_errorsA

Validate all GDScripts in the current scene tree and return compilation errors

get_editor_screenshotB

Take a screenshot of the Godot editor window

get_game_screenshotC

Take a screenshot of the running game viewport

execute_editor_scriptB

Execute a GDScript snippet in the editor context (EditorScript)

clear_outputA

Clear the editor output log

get_signalsC

Get all signals and their connections for a node

reload_pluginA

Reload editor plugins (triggers plugin re-initialization)

reload_projectA

Rescan the project filesystem for new or changed files

get_output_logB

Get the contents of the editor output log

simulate_keyB

Simulate a keyboard key press/release in the running game

simulate_mouse_clickB

Simulate a mouse click at a screen position

simulate_mouse_moveB

Simulate mouse movement to a screen position

simulate_actionA

Simulate an input action (from InputMap) being pressed/released

simulate_sequenceA

Simulate a sequence of input events with timing

get_input_actionsA

Get all input actions defined in the InputMap

set_input_actionB

Add or modify an input action and its event mappings

get_game_scene_treeA

🔴 Game must be running. Get the scene tree of the running game (runtime state)

get_game_node_propertiesB

🔴 Game must be running. Get all properties of a node in the running game

set_game_node_propertyA

🔴 Game must be running. Set a property on a node in the running game

execute_game_scriptA

🔴 Game must be running. Execute a GDScript snippet in the running game context

capture_framesA

🔴 Game must be running. Capture frames from the running game viewport as PNG files

monitor_propertiesA

🔴 Game must be running. Monitor specific properties on a game node for changes over time

start_recordingA

🔴 Game must be running. Start recording game state changes

stop_recordingA

🔴 Game must be running. Stop recording and return the recorded game state data

replay_recordingC

🔴 Game must be running. Replay a previously recorded game session

find_nodes_by_scriptB

🔴 Game must be running. Find all nodes in the game that use a specific script

get_autoloadA

🔴 Game must be running. Get properties of an autoload singleton from the running game

batch_get_propertiesB

🔴 Game must be running. Get multiple properties from multiple nodes in one call

find_ui_elementsB

🔴 Game must be running. Find UI elements in the running game by type, text, or name

click_button_by_textB

🔴 Game must be running. Find and click a button by its text content

wait_for_nodeB

🔴 Game must be running. Wait for a node to appear in the running game tree

find_nearby_nodesB

🔴 Game must be running. Find nodes within a radius of a world position

navigate_toB

🔴 Game must be running. Navigate a node to a target position using pathfinding

move_toC

🔴 Game must be running. Directly move a node to a target position

watch_signalsA

🔴 Game must be running. Watch for signal emissions from a game node

list_animationsA

List all animations on an AnimationPlayer

create_animationB

Create a new animation on an AnimationPlayer

add_animation_trackC

Add a track to an animation

set_animation_keyframeC

Set a keyframe in an animation track

get_animation_infoB

Get detailed information about an animation including tracks and keyframes

remove_animationB

Remove an animation from an AnimationPlayer

create_animation_treeC

Create an AnimationTree node on a given path

get_animation_tree_structureB

Get the structure of an AnimationTree including state machines and blend trees

set_tree_parameterB

Set a parameter on an AnimationTree (e.g. blend amount, state)

add_state_machine_stateC

Add a state to an AnimationNodeStateMachine

tilemap_set_cellB

Set a single cell in a TileMap

tilemap_fill_rectB

Fill a rectangular area of a TileMap with a tile

tilemap_get_cellB

Get the tile data at a specific cell

tilemap_clearB

Clear cells in a TileMap area or the entire map

tilemap_get_infoA

Get TileMap configuration and TileSet information

tilemap_get_used_cellsB

Get all used cell coordinates in a TileMap

create_themeC

Create a new Theme resource

delete_themeC

Delete a theme resource file from the project

set_theme_colorB

Set a color in a theme for a specific control type

set_theme_constantC

Set a constant value in a theme

set_theme_font_sizeC

Set a font size in a theme

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

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