Skip to content

Tool catalog

Tools

268 tools, organized by what they do and kept up to date with every build.

read inspect onlywrite creates / editsdestructive Full Control onlyexecute runs code, Full Control onlylive needs editor open

Project

2 tools

Metadata and settings from project.godot.

  • get_project_info

    Get Godot project metadata (name, Godot version, main scene, autoloads, feature tags).

    read
  • get_project_settings

    Get all project.godot settings as structured JSON (sections and keys).

    read

Files

9 tools

Read, search, and edit files, sandboxed to the project.

  • list_project_files

    List files in the Godot project (excludes the .godot cache and .import sidecars by default).

    read
  • read_file

    Read a UTF-8 text file inside the Godot project.

    read
  • write_file

    Create or edit a file in the project. Requires Safe Edit or Full Control mode; protected files (project.godot, .godot cache, the Godot MCP Studio addon) require Full Control.

    write
  • delete_file

    Delete a file in the project. Destructive: requires Full Control mode.

    destructive
  • copy_file

    Copy a file within the project (sidecars are regenerated by the editor). Requires Safe Edit or Full Control.

    write
  • create_directory

    Create a directory (and any missing parents) inside the project. Requires Safe Edit or Full Control.

    write
  • move_file

    Move or rename a file within the project, carrying its .import and .uid sidecars so Godot keeps import settings and UID references. Requires Safe Edit or Full Control.

    write
  • search_in_files

    Search the text contents of project files (grep-like). Skips the .godot cache and, by default, the addons folder.

    read
  • find_files

    Find project files by filename (case-insensitive substring match).

    read

Scenes on disk

2 tools

Inspect scenes and their dependencies without opening the editor.

  • list_scenes

    List scene (.tscn) files with their root node name and type. Works with the editor closed.

    read
  • get_scene_dependencies

    Get the resource dependencies (ext_resource paths) referenced by a scene file.

    read

Scripts on disk

1 tools

List scripts with their class_name and extends.

  • list_scripts

    List GDScript/C# scripts with their class_name and extends. Works with the editor closed.

    read

Analysis

3 tools

Project statistics at a glance.

  • get_project_statistics

    Get project statistics: file counts by kind and total script lines.

    read
  • find_unused_resources

    Find assets, resources, scenes, and shaders that nothing in the project references (no res:// path or uid:// use anywhere), so dead files can be reviewed and removed. Works with the editor closed.

    read
  • detect_circular_dependencies

    Detect dependency cycles between scenes and resources (ext_resource references). Cycles make scenes hard to reason about and can break preloading. Works with the editor closed.

    read

Editor

5 tools

See what the editor is doing.

  • get_scene_tree

    Get the tree of the scene currently open in the Godot editor (requires the editor to be open with the Godot MCP Studio addon enabled).

    liveread
  • get_editor_log

    Get recent editor bridge log lines (Phase 1 subset of editor output).

    liveread
  • get_editor_screenshot

    Capture a screenshot of the Godot editor's main viewport so you can see the current editor state.

    liveread
  • get_selection

    Get the nodes the user currently has selected in the editor's scene tree. The way to see what the user is pointing at.

    liveread
  • select_node

    Select a node in the editor's scene tree and focus the inspector on it, so the user can see the node being discussed. Requires Safe Edit or Full Control.

    livewrite

Scene editing

21 tools

Build and restructure the scene open in the editor.

  • replace_node_type

    Replace a node with a new class (the editor's Change Type), keeping the name, children, groups, and compatible properties. Requires Safe Edit or Full Control.

    livewrite
  • set_unique_name

    Toggle a node's scene-unique name so scripts can reference it as %Name. Requires Safe Edit or Full Control.

    livewrite
  • set_node_properties

    Set several properties on a node in one call and one undo step. `properties` maps property names to values (arrays for vectors/colors). Requires Safe Edit or Full Control.

    livewrite
  • add_timer

    Add a Timer with wait_time, autostart, and one_shot in one call, optionally connecting its timeout signal to a method on another node. Requires Safe Edit or Full Control.

    livewrite
  • batch_set_property

    Set the same property on many nodes in one call and one undo step, e.g. hide every enemy at once. Requires Safe Edit or Full Control.

    livewrite
  • batch_get_properties

    Read the same properties from many nodes in one call, a row per node, for auditing scene state without a request per node.

    liveread
  • set_property_across_scenes

    Set a property on every node of a class across every saved scene in the project (a cross-scene refactor). Open scenes are skipped and reported; changes save to disk and are not undoable. Requires Full Control.

    liveexecute
  • get_node_properties

    Get the editor properties of a node in the open scene (path relative to the scene root).

    liveread
  • find_nodes

    Search the open scene for nodes by class (with inheritance) and/or name substring. The fast way to navigate a large scene.

    liveread
  • open_scene

    Open a scene (.tscn) in the editor so live scene tools act on it.

    livewrite
  • create_scene

    Create a new scene file with a root node and open it. Requires Safe Edit or Full Control.

    livewrite
  • add_node

    Add a node of the given class under a parent in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • instance_scene

    Instance a scene (.tscn) as a child node in the open scene, the way reusable game objects are composed. Requires Safe Edit or Full Control.

    livewrite
  • duplicate_node

    Duplicate a node (and its children) within the open scene. Requires Safe Edit or Full Control.

    livewrite
  • delete_node

    Delete a node from the open scene. Destructive: requires Full Control mode.

    livedestructive
  • rename_node

    Rename a node in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • reparent_node

    Move a node to a new parent in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • set_node_property

    Set a property on a node in the open scene. Vector/color values accept arrays like [x, y]. Requires Safe Edit or Full Control.

    livewrite
  • connect_signal

    Connect a signal from one node to a method on another. Requires Safe Edit or Full Control.

    livewrite
  • save_scene

    Save the scene currently open in the editor to disk. Requires Safe Edit or Full Control.

    livewrite
  • save_branch_as_scene

    Turn a node's subtree into a reusable .tscn (Godot's Save Branch as Scene) and replace the branch with an instance of it, the way prefabs are built. Requires Safe Edit or Full Control.

    livewrite

Script editing

6 tools

Read, write, and validate GDScript live.

  • read_script

    Read a script file's source via the editor.

    liveread
  • create_script

    Create a new script file. Requires Safe Edit or Full Control.

    livewrite
  • edit_script

    Replace the source of an existing script file. Requires Safe Edit or Full Control.

    livewrite
  • validate_script

    Compile-check GDScript source (or an existing script) without running it; reports whether it is valid.

    liveread
  • attach_script

    Attach a script resource to a node in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • add_state_machine_script

    Scaffold a minimal finite-state-machine script (enter/exit/update stubs per state) and attach it to a node, the backbone for enemy and player behaviour. Requires Safe Edit or Full Control.

    livewrite

Signals & groups

7 tools

Wire up gameplay: inspect signals, manage connections and groups.

  • list_signals

    List the signals a node can emit (built-in and script-defined), with their argument names.

    liveread
  • list_connections

    List the existing signal connections coming out of a node (signal, target node, method).

    liveread
  • disconnect_signal

    Disconnect a signal connection between two nodes in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • list_groups

    List groups: a node's groups when `path` is given, otherwise every group used in the open scene.

    liveread
  • add_to_group

    Add a node to a group (persisted into the scene). Requires Safe Edit or Full Control.

    livewrite
  • remove_from_group

    Remove a node from a group in the open scene. Requires Safe Edit or Full Control.

    livewrite
  • list_nodes_in_group

    List the node paths in a given group within the open scene.

    liveread

Run & test

5 tools

Run the game and write self-verifying tests.

  • play_project

    Run the project's main scene. Requires Safe Edit or Full Control.

    livewrite
  • play_scene

    Run a specific scene. Requires Safe Edit or Full Control.

    livewrite
  • stop_playing

    Stop the running game.

    liveread
  • is_playing

    Report whether a scene is currently running in the editor.

    liveread
  • run_gdscript_test

    Write and run a game test: provide `body` with check(cond, msg) assertions (or a full `source`). Runs in a headless Godot subprocess and reports pass/fail and output. Executes code; requires Full Control mode.

    liveexecute

Running game

25 tools

Watch and poke the game while it plays.

  • game_get_scene_tree

    Get the live scene tree of the RUNNING game (start it with play_project/play_scene first).

    liveread
  • game_get_errors

    Get the errors, script errors, and warnings the RUNNING game has raised (push_error, crashes in scripts). The way to find out why the game is misbehaving.

    liveread
  • game_get_output

    Get the print() output the RUNNING game has produced, for reading debug logs live.

    liveread
  • game_monitor_property

    Sample a node property in the RUNNING game over time (up to 8 seconds) and return the series. The way to verify motion, physics, and animation actually happen.

    liveread
  • game_reload_scene

    Restart the RUNNING game's current scene, for fast iteration without stopping and replaying. Requires Safe Edit or Full Control.

    livewrite
  • game_get_node_properties

    Get a node's live property values in the RUNNING game.

    liveread
  • game_set_node_property

    Set a property on a node in the RUNNING game (does not persist to the scene file). Requires Safe Edit or Full Control.

    livewrite
  • game_call_method

    Call a method on a node in the RUNNING game and return its result. Executes game code; requires Full Control mode.

    liveexecute
  • game_raycast_3d

    Cast a native Godot 3D physics ray in the RUNNING game. Use world-space from/to points, or camera_path plus an optional screen position for FPS hitscan and line-of-sight verification. Returns collider, hit position, normal, shape and face indices.

    liveread
  • game_simulate_input

    Simulate player input in the RUNNING game: an input action, key press, mouse click, or mouse motion. Requires Safe Edit or Full Control.

    livewrite
  • game_simulate_sequence

    Run a timed multi-step input sequence in the RUNNING game (combos, move-then-jump, menu flows): steps of action/key/mouse events with hold and delay timing, plus wait steps. Requires Safe Edit or Full Control.

    livewrite
  • game_wait_for_node

    Wait until a node exists in the RUNNING game (spawns, scene changes, opening UI) or a timeout passes, then report which. Use before asserting on nodes that appear asynchronously.

    liveread
  • game_find_ui

    List interactive UI in the RUNNING game (buttons, inputs, sliders) with text, screen rect, and disabled/focus state, optionally filtered by text. The map of what is clickable right now.

    liveread
  • game_click_ui

    Click a button/control in the RUNNING game by its visible text (or exact path), via real simulated mouse press and release at its center. Requires Safe Edit or Full Control.

    livewrite
  • game_start_input_recording

    Start recording the player's real input (keys, mouse) with timestamps in the RUNNING game, for building regression replays from an actual session. Requires Safe Edit or Full Control.

    livewrite
  • game_stop_input_recording

    Stop the input recording in the RUNNING game and return the captured events (also kept in the game for game_replay_input).

    liveread
  • game_replay_input

    Replay recorded input events with their original timing in the RUNNING game (background playback; observe with screenshots or monitors). Omit events to replay the last recording. Requires Safe Edit or Full Control.

    livewrite
  • game_assert_property

    Assert a node property in the RUNNING game against an expected value (eq, ne, gt, lt, ge, le, contains) and get a pass/fail with the actual value. The building block for automated play-test checks.

    liveread
  • game_screenshot

    Capture a screenshot of the RUNNING game's viewport so you can see what the player sees.

    liveread
  • game_get_performance

    Get live performance metrics of the RUNNING game: FPS, frame times, memory, node count, draw calls.

    liveread
  • game_set_time_scale

    Set the RUNNING game's engine time scale (slow motion / fast forward). Requires Safe Edit or Full Control.

    livewrite
  • game_set_paused

    Pause or unpause the RUNNING game's scene tree. Requires Safe Edit or Full Control.

    livewrite
  • game_get_collision_report

    Report physics contacts in the RUNNING game: floor/wall/ceiling and slide collisions for character bodies, overlaps for areas, colliding bodies for rigid bodies. Empty path walks the whole scene. The way to debug why something is (not) colliding.

    liveread
  • game_capture_gif

    Capture a short sequence of viewport frames from the RUNNING game as PNGs (motion the agent can review), spaced over time. Returns the saved frame paths.

    liveread
  • game_set_debug_draw

    Set the RUNNING game viewport's debug draw mode (disabled, unshaded, wireframe, overdraw, normal_buffer) to inspect rendering. Requires Safe Edit or Full Control.

    livewrite

Assets

6 tools

Browse the project's assets by kind.

  • set_import_options

    Set import parameters for an asset and reimport it, e.g. {"edit/loop_mode": 1} to make a WAV loop. Requires Safe Edit or Full Control.

    livewrite
  • list_assets

    List project asset files, optionally filtered by kind (texture, audio, scene, script, model, font, resource).

    liveread
  • get_resource_info

    Get a resource's class, name, and stored properties.

    liveread
  • get_image_info

    Get an image asset's pixel dimensions; check this before slicing a sprite sheet or sizing a tileset.

    liveread
  • diff_images

    Compare two images pixel by pixel (before/after screenshots, texture revisions): changed-pixel ratio, changed-region bounding box, and an optional saved red-mask diff image.

    liveread
  • resolve_uid

    Translate between uid:// identifiers and res:// paths, in either direction. Scenes and scripts reference resources by uid.

    liveread

Resources

5 tools

Author .tres/.res resources of any class.

  • create_resource

    Create a Resource (.tres/.res) of any Resource subclass with initial properties. Requires Safe Edit or Full Control.

    livewrite
  • edit_resource

    Set properties on an existing Resource file. Requires Safe Edit or Full Control.

    livewrite
  • read_resource

    Read a Resource file's class and stored properties.

    liveread
  • add_curve

    Create a Curve resource (.tres) from [[x, y], ...] control points, for particle scale/alpha curves and easing. Requires Safe Edit or Full Control.

    livewrite
  • add_gradient

    Create a Gradient resource (.tres) from colors and optional offsets, for particle color ramps and shader ramps. Requires Safe Edit or Full Control.

    livewrite

Animation

13 tools

Author AnimationPlayer animations and keyframes.

  • add_sprite_frames

    Add an AnimatedSprite2D with SpriteFrames cut from a sprite-sheet grid: hframes x vframes, animations mapped to frame indices with fps and loop. Requires Safe Edit or Full Control.

    livewrite
  • rename_animation

    Rename an animation inside an AnimationPlayer's library. Requires Safe Edit or Full Control.

    livewrite
  • list_animations

    List the animations on an AnimationPlayer node.

    liveread
  • create_animation

    Create an animation on an AnimationPlayer node. Requires Safe Edit or Full Control.

    livewrite
  • add_animation_track

    Add a value track to an animation targeting a node's property. Requires Safe Edit or Full Control.

    livewrite
  • set_animation_keyframe

    Insert a keyframe on an animation track. Values coerce to the property's type. Requires Safe Edit or Full Control.

    livewrite
  • get_animation_info

    Get an animation's length, loop flag, and tracks.

    liveread
  • create_animation_tree

    Add an AnimationTree with a state-machine root, wired to an AnimationPlayer and active. The base for blend/state animation. Requires Safe Edit or Full Control.

    livewrite
  • add_animation_state

    Add a state (an animation) to an AnimationTree's state machine. Requires Safe Edit or Full Control.

    livewrite
  • add_animation_transition

    Connect two states in an AnimationTree's state machine, optionally auto-advancing. Requires Safe Edit or Full Control.

    livewrite
  • get_animation_tree_info

    The states and transitions of an AnimationTree's state machine.

    liveread
  • remove_animation

    Remove an animation from an AnimationPlayer's library. Requires Safe Edit or Full Control.

    livewrite
  • add_tween_animation

    Author a simple property tween (move/fade/scale over time) as an AnimationPlayer animation with two keyframes, without writing GDScript; the player is created under the target when none is given. Requires Safe Edit or Full Control.

    livewrite

Audio

8 tools

Manage the audio bus layout.

  • add_bus_effect

    Add an audio effect (reverb, delay, chorus, distortion, compressor, limiter, phaser, eq, lowpass, highpass, amplify, pitch_shift) to a bus with property overrides. Requires Safe Edit or Full Control.

    livewrite
  • create_audio_randomizer

    Create an AudioStreamRandomizer from audio files with pitch and volume variation, saved as .tres and optionally assigned to a player, for non-repetitive sound effects. Requires Safe Edit or Full Control.

    livewrite
  • add_audio_player

    Add an AudioStreamPlayer (plain, 2d, or 3d) with its stream, bus, and autoplay set in one call. Requires Safe Edit or Full Control.

    livewrite
  • get_audio_info

    Audit every audio player in a subtree (default: whole scene): stream, bus (and whether it exists), volume, autoplay; plus the bus list.

    liveread
  • get_audio_buses

    List the audio buses and their volumes.

    liveread
  • add_audio_bus

    Add an audio bus. Requires Safe Edit or Full Control.

    livewrite
  • set_audio_bus

    Set an audio bus's volume/mute/send. Requires Safe Edit or Full Control.

    livewrite
  • save_bus_layout

    Persist the current audio bus layout to res://default_bus_layout.tres. Requires Safe Edit or Full Control.

    livewrite

Input

5 tools

Manage the project's input map.

  • get_input_actions

    List the project's input actions.

    liveread
  • add_input_action

    Add an input action. Requires Safe Edit or Full Control.

    livewrite
  • add_key_to_action

    Bind a physical key to an input action. Requires Safe Edit or Full Control.

    livewrite
  • remove_input_action

    Remove an input action. Destructive: requires Full Control mode.

    livedestructive
  • add_input_event_to_action

    Bind an input event to an action: key, mouse_button, joy_button, or joy_axis. Covers keyboard, mouse, and gamepad. Requires Safe Edit or Full Control.

    livewrite

TileMaps

8 tools

Paint and read TileMapLayer cells.

  • tilemap_set_cell

    Paint a single cell on a TileMapLayer. Requires Safe Edit or Full Control.

    livewrite
  • tilemap_fill_rect

    Fill a rectangle of cells on a TileMapLayer. Requires Safe Edit or Full Control.

    livewrite
  • tilemap_get_cell

    Read a TileMapLayer cell's source and atlas coords.

    liveread
  • tilemap_clear

    Clear all cells on a TileMapLayer. Destructive: requires Full Control mode.

    livedestructive
  • tilemap_get_used_cells

    List the used cells of a TileMapLayer.

    liveread
  • tilemap_set_cells

    Paint many TileMapLayer cells in one call: `cells` is [[x, y], ...] sharing one source/atlas tile. The bulk way to lay out a level. Requires Safe Edit or Full Control.

    livewrite
  • create_tileset

    Create a TileSet resource from an atlas texture (grid of tile_width x tile_height tiles), save it as .tres, and optionally assign it to a TileMapLayer. Requires Safe Edit or Full Control.

    livewrite
  • tilemap_get_info

    A TileMapLayer's tileset summary: tile size, atlas sources with their textures and grids, and used cell count. Check this before painting.

    liveread

2D

12 tools

Place nodes, generate placeholder art, assign textures.

  • add_line2d

    Add a Line2D from [[x, y], ...] points with width, color, and closed flag, for trails, lasers, and drawn shapes. Requires Safe Edit or Full Control.

    livewrite
  • add_canvas_modulate

    Add a CanvasModulate that tints every node on the canvas, for day/night and mood. Requires Safe Edit or Full Control.

    livewrite
  • add_light_2d

    Add a PointLight2D or DirectionalLight2D with color, energy, and (for point lights) a texture. Requires Safe Edit or Full Control.

    livewrite
  • add_light_occluder_2d

    Add a LightOccluder2D with an occluder polygon from [[x, y], ...] points, so 2D lights cast shadows. Requires Safe Edit or Full Control.

    livewrite
  • add_parallax

    Add a Parallax2D layer with a scroll scale and repeat size, for scrolling layered backgrounds. Requires Safe Edit or Full Control.

    livewrite
  • add_polygon_2d

    Add a Polygon2D from [[x, y], ...] points with a fill color, for flat shapes without art. Requires Safe Edit or Full Control.

    livewrite
  • set_node_transform_2d

    Set position, rotation_degrees, and/or scale on a Node2D or Control in one call. Vectors are [x, y] arrays. Requires Safe Edit or Full Control.

    livewrite
  • create_placeholder_texture

    Generate a solid or checkerboard placeholder PNG inside the project, so scenes are visible and playable before real art exists. Requires Safe Edit or Full Control.

    livewrite
  • set_sprite_texture

    Assign a Texture2D to a node's texture property (Sprite2D, TextureRect, ...). Requires Safe Edit or Full Control.

    livewrite
  • add_sprite

    Add a Sprite2D with its texture and position in one call. Requires Safe Edit or Full Control.

    livewrite
  • add_animated_sprite

    Add an AnimatedSprite2D with SpriteFrames sliced from a sprite-sheet texture grid (h_frames x v_frames), ready to play. Requires Safe Edit or Full Control.

    livewrite
  • add_camera_2d

    Add a Camera2D, optionally enabled (the one the game uses) with position and zoom. Requires Safe Edit or Full Control.

    livewrite

3D

24 tools

Meshes, lights, cameras, and materials.

  • add_decal

    Add a Decal that projects a texture onto surfaces (bullet holes, blob shadows, signage) with a size and position. Requires Safe Edit or Full Control.

    livewrite
  • add_reflection_probe

    Add a ReflectionProbe for local reflections, with a size and box projection. Requires Safe Edit or Full Control.

    livewrite
  • add_subviewport

    Add a SubViewport with a render size, for minimaps, render targets, and 3D-in-2D. Requires Safe Edit or Full Control.

    livewrite
  • add_bone_attachment_3d

    Add a BoneAttachment3D under a Skeleton3D, bound to a named bone, for attaching weapons and props. Requires Safe Edit or Full Control.

    livewrite
  • add_gridmap

    Add a GridMap with an optional MeshLibrary and cell size, for 3D tile-based levels. Requires Safe Edit or Full Control.

    livewrite
  • gridmap_set_cell

    Set a GridMap cell to a MeshLibrary item (item -1 clears the cell). Requires Safe Edit or Full Control.

    livewrite
  • create_material_preset

    Create a StandardMaterial3D from a named preset (metal, chrome, plastic, rubber, glass, emissive, toon, unshaded) with an optional tint, save it as .tres, and optionally assign it. Requires Safe Edit or Full Control.

    livewrite
  • add_text_mesh

    Add 3D text: a MeshInstance3D with a TextMesh, with font size, extrusion depth, and color. Requires Safe Edit or Full Control.

    livewrite
  • create_terrain

    Generate a terrain: a noise-displaced mesh from size, resolution, height, seed, and frequency, with optional trimesh collision. Requires Safe Edit or Full Control.

    livewrite
  • set_csg_operation

    Set the boolean operation (union, subtraction, intersection) on a CSG shape, for carving and combining level geometry. Requires Safe Edit or Full Control.

    livewrite
  • scatter_multimesh

    Scatter instances of a mesh over an area with one MultiMeshInstance3D: seeded random positions, rotations, and scales, for trees, rocks, and props. Requires Safe Edit or Full Control.

    livewrite
  • add_spring_arm

    Add a SpringArm3D camera boom that keeps its child camera out of walls, with length and an optional Camera3D child, for third-person cameras. Requires Safe Edit or Full Control.

    livewrite
  • add_global_illumination

    Add global illumination: a VoxelGI probe (realtime) or LightmapGI (baked), for bounced light. Requires Safe Edit or Full Control.

    livewrite
  • add_mesh_instance

    Add a 3D primitive mesh (box, sphere, cylinder, capsule, plane, prism, torus). Requires Safe Edit or Full Control.

    livewrite
  • add_light_3d

    Add a 3D light (directional, omni, spot). Requires Safe Edit or Full Control.

    livewrite
  • add_camera_3d

    Add a Camera3D. Requires Safe Edit or Full Control.

    livewrite
  • set_mesh_material

    Set a StandardMaterial3D (albedo color, metallic, roughness) on a MeshInstance3D. Requires Safe Edit or Full Control.

    livewrite
  • add_csg_shape

    Add a CSG shape (box, sphere, cylinder, torus) with a boolean operation (union to build, subtraction to carve) for 3D level blockout. Collision on by default. Requires Safe Edit or Full Control.

    livewrite
  • create_material

    Create a real Godot StandardMaterial3D resource (color, metallic, roughness, emission, albedo/normal textures, transparency, cull mode), save it as .tres, and optionally assign it in the edited scene. Generates no gameplay script. Requires Safe Edit or Full Control.

    livewrite
  • set_material_property

    Edit a MeshInstance3D material as an undoable serialized editor resource, including res:// texture properties; shared materials are duplicated into a scene-local override first. Generates no gameplay script. Requires Safe Edit or Full Control.

    livewrite
  • set_environment_effects

    Tune an existing WorldEnvironment: glow/bloom, fog, tonemap (linear/reinhard/filmic/aces), and ambient energy, beyond the initial add_environment. Requires Safe Edit or Full Control.

    livewrite
  • look_at_node

    Orient a Node3D to look at a target node or along a direction vector, for cameras, turrets, and AI. Requires Safe Edit or Full Control.

    livewrite
  • set_node_transform_3d

    Set position, rotation_degrees, and/or scale on a Node3D in one call. Vectors are [x, y, z] arrays. Requires Safe Edit or Full Control.

    livewrite
  • add_environment

    Add a WorldEnvironment with a procedural sky, sky ambient light, and optionally a shadowed sun. One call makes an empty 3D scene look lit. Requires Safe Edit or Full Control.

    livewrite

UI layout

10 tools

Anchor presets, the sane way to lay out Controls.

  • add_ui_control

    Add a Control node (Label, Button, Panel, ...) with its text and anchors preset in one call. The quick way to build UI. Requires Safe Edit or Full Control.

    livewrite
  • set_anchors_preset

    Apply a Control anchors preset (center, full_rect, top_wide, ...) like the editor's Layout menu, the sane way to lay out UI. Requires Safe Edit or Full Control.

    livewrite
  • add_ui_container

    Add a layout container (vbox, hbox, grid, margin, center, panel, scroll, ...) with grid columns, child sizing flags, separation, and an anchors preset, so responsive layouts are one call instead of manual anchor math. Requires Safe Edit or Full Control.

    livewrite
  • set_control_style

    Style one Control through undoable, serialized theme overrides (font size, font color, outline, minimum size, modulate). Visible before Play and generates no gameplay script. Requires Safe Edit or Full Control.

    livewrite
  • set_texture_rect

    Assign an imported Godot Texture2D resource to a TextureRect/TextureButton through undoable editor history, with stretch and expand settings serialized in the scene. Generates no gameplay script. Requires Safe Edit or Full Control.

    livewrite
  • set_control_icon

    Assign an imported Texture2D as a Button or other Control icon through editor undo, with optional expansion and alignment. The resource reference is serialized in the scene and no gameplay script is generated. Requires Safe Edit or Full Control.

    livewrite
  • add_progress_bar

    Add a ProgressBar (health/mana/stamina) with min, max, value, and optional fill and background colors, styled through theme overrides in one call. Requires Safe Edit or Full Control.

    livewrite
  • wire_button

    Connect a button's pressed signal (or toggled/button_down) to a method on a target node in one call, the most common UI wiring. Requires Safe Edit or Full Control.

    livewrite
  • load_font

    Import a .ttf/.otf/.woff font and assign it as a per-node override, a Theme's default font, or both, so text uses a real typeface. Requires Safe Edit or Full Control.

    livewrite
  • set_camera_limits

    Set a Camera2D's scroll limits and optional position smoothing, so the camera stops at level edges and eases toward its target. Requires Safe Edit or Full Control.

    livewrite

Composition

5 tools

Paths, markers, remote transforms, and visibility notifiers.

  • add_marker

    Add a Marker2D/Marker3D (auto-detected from the parent) at an optional position, for spawn points and reference transforms. Requires Safe Edit or Full Control.

    livewrite
  • add_remote_transform

    Add a RemoteTransform2D/3D (auto-detected) that drives a target node's transform, for camera rigs and followers. Requires Safe Edit or Full Control.

    livewrite
  • add_path

    Add a Path2D/Path3D (auto-detected) with a curve built from points, for patrol routes and rails. Requires Safe Edit or Full Control.

    livewrite
  • add_path_follow

    Add a PathFollow2D/3D under a Path node, with progress and loop, so a node moves along the path. Requires Safe Edit or Full Control.

    livewrite
  • add_visibility_notifier

    Add a VisibleOnScreenNotifier2D/3D (auto-detected) for on-screen detection, spawn/despawn, and culling. Requires Safe Edit or Full Control.

    livewrite

Multiplayer

2 tools

Spawners and synchronizers for networked games.

  • add_multiplayer_spawner

    Add a MultiplayerSpawner that replicates spawned scenes under a path, for networked games. Requires Safe Edit or Full Control.

    livewrite
  • add_multiplayer_synchronizer

    Add a MultiplayerSynchronizer that replicates a node's properties across the network. Requires Safe Edit or Full Control.

    livewrite

3D models

14 tools

Skeletons, bones, blend shapes, and imported model animations.

  • get_skeleton_info

    List every bone of a Skeleton3D (index, name, parent, rest position). Point at the skeleton or any ancestor of an imported model.

    liveread
  • set_bone_pose

    Pose one bone of a Skeleton3D by name or index: position, rotation_degrees, scale. Requires Safe Edit or Full Control.

    livewrite
  • reset_bone_poses

    Reset every bone of a Skeleton3D back to its rest pose. Requires Safe Edit or Full Control.

    livewrite
  • get_mesh_info

    Describe a MeshInstance3D: surfaces with materials and vertex counts, blend shapes with values, AABB, and skeleton path.

    liveread
  • set_blend_shape

    Set a blend-shape weight on a MeshInstance3D by shape name, for facial expressions and morphs. Requires Safe Edit or Full Control.

    livewrite
  • list_model_animations

    List animations inside a scene file, including imported .glb/.gltf/.fbx models: every AnimationPlayer with animation names, lengths, and loop modes.

    liveread
  • create_skeleton

    Create a Skeleton3D from a bone list ({name, parent, position, rotation_degrees} each), for custom rigs. Requires Safe Edit or Full Control.

    livewrite
  • add_bone

    Append a bone to a Skeleton3D with a parent bone, rest position, and rotation. Requires Safe Edit or Full Control.

    livewrite
  • set_bone_rest

    Set a bone's rest transform (position, rotation_degrees, scale) by name or index, and pose it there. Requires Safe Edit or Full Control.

    livewrite
  • create_skeleton_2d

    Create a Skeleton2D with a hierarchy of Bone2D nodes for cutout animation. Requires Safe Edit or Full Control.

    livewrite
  • create_bone_map

    Create a BoneMap resource for animation retargeting, optionally using SkeletonProfileHumanoid. Requires Safe Edit or Full Control.

    livewrite
  • add_look_at_modifier

    Add a LookAtModifier3D under a Skeleton3D to drive a bone toward a target. Requires Safe Edit or Full Control.

    livewrite
  • add_csg_polygon

    Add a CSGPolygon3D extruded from a 2D outline for fast level geometry. Requires Safe Edit or Full Control.

    livewrite
  • add_occluder_3d

    Add an OccluderInstance3D with a BoxOccluder3D resource for occlusion culling. Requires Safe Edit or Full Control.

    livewrite

Physics

11 tools

Collision shapes and layer masks.

  • set_physics_material

    Set a body's PhysicsMaterial: friction, bounce, rough, absorbent, for ice, rubber, and game feel. Requires Safe Edit or Full Control.

    livewrite
  • add_collision_polygon

    Add a CollisionPolygon2D/3D (auto-detected) from [[x, y], ...] points; the 3D polygon extrudes by depth. Requires Safe Edit or Full Control.

    livewrite
  • add_shape_cast

    Add a ShapeCast2D/3D (auto-detected) with a sphere or box shape and cast vector, for thick raycasts like melee sweeps and ground checks. Requires Safe Edit or Full Control.

    livewrite
  • add_mesh_collision

    Generate collision for a MeshInstance3D (e.g. an imported model): a static trimesh for level geometry or a convex hull for dynamic bodies. Requires Safe Edit or Full Control.

    livewrite
  • add_body_3d

    Add a complete 3D physics body in one call: body (character, static, rigid, or area), a fitted collision shape (box, sphere, capsule), and a matching visible mesh. Requires Safe Edit or Full Control.

    livewrite
  • add_collision_shape

    Add a CollisionShape2D/3D (auto-detected) with a shape under a physics body/area. Requires Safe Edit or Full Control.

    livewrite
  • set_collision_layers

    Set collision_layer/collision_mask bitmasks on a physics body/area. Requires Safe Edit or Full Control.

    livewrite
  • get_collision_info

    Get a node's collision type, dimension, layer, and mask.

    liveread
  • add_raycast

    Add a RayCast2D/RayCast3D (auto-detected from the parent) with target vector, collision mask, and enabled flag in one call. Requires Safe Edit or Full Control.

    livewrite
  • set_collision_layers_by_name

    Set collision_layer/collision_mask by their project-settings layer names instead of raw bitmasks, so intent survives renumbering. Requires Safe Edit or Full Control.

    livewrite
  • add_body_2d

    Add a complete 2D physics body in one call: body (character, static, rigid, or area), a fitted collision shape, and optionally a sprite. The building block for players, platforms, enemies, and pickups. Requires Safe Edit or Full Control.

    livewrite

Theming

7 tools

Author UI Theme resources.

  • create_theme

    Create a Theme resource (.tres). Requires Safe Edit or Full Control.

    livewrite
  • set_theme_color

    Set a theme color (item name + control type). Requires Safe Edit or Full Control.

    livewrite
  • set_theme_constant

    Set a theme constant. Requires Safe Edit or Full Control.

    livewrite
  • set_theme_font_size

    Set a theme font size. Requires Safe Edit or Full Control.

    livewrite
  • get_theme_info

    Get a theme's default font size and defined color/constant types.

    liveread
  • assign_theme

    Assign an external Godot Theme .tres resource to a Control through editor undo so the UI style is serialized and visible before Play. Generates no gameplay script. Requires Safe Edit or Full Control.

    livewrite
  • set_theme_stylebox

    Set a flat StyleBox (background color, corner radius, border, content margin) on a theme entry, e.g. a Button's normal state or a Panel's panel. Requires Safe Edit or Full Control.

    livewrite

Shaders

7 tools

Write .gdshader files and assign them.

  • add_shader_preset

    Write a ready-made 2D shader preset (outline, flash, dissolve, scroll, grayscale, wave) as a .gdshader and optionally assign it to a node. Requires Safe Edit or Full Control.

    livewrite
  • create_shader

    Create a .gdshader file. Requires Safe Edit or Full Control.

    livewrite
  • read_shader

    Read a shader's source.

    liveread
  • edit_shader

    Replace a shader's source. Requires Safe Edit or Full Control.

    livewrite
  • assign_shader

    Assign a shader to a node as a ShaderMaterial. Requires Safe Edit or Full Control.

    livewrite
  • set_shader_parameter

    Set a uniform on a node's ShaderMaterial (assign_shader first). Requires Safe Edit or Full Control.

    livewrite
  • get_shader_parameters

    List the uniforms a node's shader exposes, with current values.

    liveread

Navigation

7 tools

Pathfinding regions and agents, 2D and 3D.

  • add_navigation_link

    Add a NavigationLink2D/3D (auto-detected) connecting two positions, for jumps, ladders, and teleports across the navmesh. Requires Safe Edit or Full Control.

    livewrite
  • add_navigation_obstacle

    Add a NavigationObstacle2D/3D (auto-detected) with a radius that agents route around. Requires Safe Edit or Full Control.

    livewrite
  • add_navigation_region

    Add a NavigationRegion (2D/3D auto-detected) under a parent. Requires Safe Edit or Full Control.

    livewrite
  • add_navigation_agent

    Add a NavigationAgent (2D/3D auto-detected) under a parent. Requires Safe Edit or Full Control.

    livewrite
  • get_navigation_info

    Get a navigation node's type and layers.

    liveread
  • bake_navigation

    Bake a NavigationRegion2D/3D from the geometry under it, so agents can path immediately. Requires Safe Edit or Full Control.

    livewrite
  • set_navigation_layers

    Set navigation/avoidance layer bitmasks on a navigation region, agent, link, or obstacle. Each accepts a bitmask int or an array of layer numbers (1-32). Requires Safe Edit or Full Control.

    livewrite

Particles

6 tools

GPU particles and emission tuning.

  • add_particle_collision

    Add a GPUParticlesCollisionBox3D/Sphere3D so 3D particles collide with it. Requires Safe Edit or Full Control.

    livewrite
  • add_particles

    Add a GPUParticles node (2D/3D auto-detected) with a process material. Requires Safe Edit or Full Control.

    livewrite
  • set_particle_process

    Set particle process properties: amount, lifetime, gravity, velocity (single or min/max range), scale, color, direction, spread, emission shape (point/sphere/sphere_surface/box/ring with radius or extents), one_shot, explosiveness, preprocess. Requires Safe Edit or Full Control.

    livewrite
  • set_particle_color_ramp

    Give particles a color-over-lifetime ramp from [r,g,b,a] stops, serialized into the process material. Requires Safe Edit or Full Control.

    livewrite
  • get_particle_info

    Inspect a GPUParticles node's full configuration: emission state, one_shot, explosiveness, and the process material's direction, spread, velocity range, gravity, color, scale range, emission shape, and color ramp.

    liveread
  • add_gpu_particles_preset

    Add a ready-made VFX particle node (muzzle_flash, explosion, sparks, smoke, fire, rain, snow) with a tuned ParticleProcessMaterial, instead of configuring one by hand. Requires Safe Edit or Full Control.

    livewrite

Project settings

6 tools

Settings and autoload singletons, live.

  • set_window_settings

    Configure the game window in one call: resolution, fullscreen, stretch mode/aspect, and title. Requires Safe Edit or Full Control.

    livewrite
  • set_main_scene

    Set the scene the game starts with (application/run/main_scene), validating the scene exists. The last step that makes a project runnable. Requires Safe Edit or Full Control.

    livewrite
  • get_project_setting

    Read a project setting value.

    liveread
  • set_project_setting

    Set a project setting value and save. Requires Safe Edit or Full Control.

    livewrite
  • add_autoload

    Register an autoload singleton. Requires Safe Edit or Full Control.

    livewrite
  • remove_autoload

    Remove an autoload singleton. Destructive: requires Full Control mode.

    livedestructive

Debugging

4 tools

Find what's broken before you run it.

  • check_all_scripts

    Compile-check every GDScript in the project and report which ones fail to parse. Great for finding what's broken.

    liveread
  • get_node_warnings

    List the editor configuration warnings (the yellow triangles) on nodes in the open scene.

    liveread
  • get_editor_errors

    The errors and warnings the editor process has raised since the addon started (script errors, import problems). Pass clear to reset the buffer.

    liveread
  • get_debugger_errors

    Read captured Godot debugger errors and warnings with sequence filtering and script backtraces. Reports whether capture is supported (Godot 4.5+). Pass after_sequence to poll only new errors, or clear to reset the buffer.

    liveread

Class reference

3 tools

Discover the Godot API so the AI builds without guessing.

  • list_tools

    List every tool currently registered by this MCP server. Optionally search names/descriptions or include full input schemas. Use this instead of guessing which Godot tools are available.

    read
  • list_classes

    List instantiable Godot classes, optionally filtered. Defaults to Node types. Discover what nodes exist before adding them.

    liveread
  • describe_class

    Describe a Godot class: its properties, methods, and signals from ClassDB. The way to learn a node's API without guessing.

    liveread

Editor scripting

1 tools

The escape hatch: automate anything the fixed tools don't cover.

  • run_editor_script

    Run an arbitrary GDScript snippet inside the editor. The snippet must define `func run():` and may return a value. Has full access to the editor API for automation the fixed tools don't cover. Executes code; requires Full Control mode.

    liveexecute

Export & build

2 tools

Ship it: list export presets and produce a build.

  • list_export_presets

    List the project's export presets (name, platform, runnable, output path).

    liveread
  • export_project

    Export/build the project with a preset to an output path. Needs the matching export templates installed. Executes a build; requires Full Control mode.

    liveexecute

More tools

6 tools

Tools that don't fit another category yet.

  • create_main_menu

    Create a complete main-menu scene with title, Play, and Quit buttons, wired to a script. Requires Safe Edit or Full Control.

    livewrite
  • create_pause_menu

    Create a pause-menu scene that toggles with ui_cancel and provides Resume and Quit buttons. Requires Safe Edit or Full Control.

    livewrite
  • create_settings_menu

    Create a settings-menu scene with master volume, fullscreen, and Back controls persisted through ConfigFile. Requires Safe Edit or Full Control.

    livewrite
  • create_save_system

    Create and register a ConfigFile-based save-system autoload with typed save/load/delete helpers. Requires Safe Edit or Full Control.

    livewrite
  • play_multiplayer

    Launch 2-8 independent game instances for live multiplayer testing. Requires Full Control and confirmation.

    liveexecute
  • record_game_video

    Launch Godot Movie Maker mode to record a scene to a movie file for trailers or bug reports. Requires Full Control and confirmation.

    liveexecute

More tools

10 tools

Tools that don't fit another category yet.

  • tilemap_paint_terrain

    Paint connected autotile terrain across TileMapLayer cells using the TileSet terrain rules. Requires Safe Edit or Full Control.

    livewrite
  • paint_gridmap_region

    Fill a box, shell, floor, or line of GridMap cells in one call. Requires Safe Edit or Full Control.

    livewrite
  • add_day_night_cycle

    Author a script-free day/night cycle as a serialized looping AnimationPlayer track that rotates a DirectionalLight3D. Visible and editable in Godot before Play. Requires Safe Edit or Full Control.

    livewrite
  • add_minimap

    Author a script-free minimap rig from serialized SubViewport, orthographic Camera3D, and RemoteTransform3D nodes. Visible and editable in Godot before Play. Requires Safe Edit or Full Control.

    livewrite
  • create_export_preset

    Create or replace an export preset in export_presets.cfg for a target platform. Requires Safe Edit or Full Control.

    livewrite
  • add_translation

    Create a Translation resource from key/value messages and register it with the project. Requires Safe Edit or Full Control.

    livewrite
  • set_locale

    Set the locale used for editor preview and the next game run. Requires Safe Edit or Full Control.

    livewrite
  • align_nodes

    Align Node2D or Control nodes along the x or y axis using the first node as the reference. Requires Safe Edit or Full Control.

    livewrite
  • distribute_nodes

    Distribute Node2D or Control nodes evenly along x or y with explicit spacing. Requires Safe Edit or Full Control.

    livewrite
  • import_external_asset

    Copy an external local asset into res://, trigger import, and optionally apply import settings. Requires Full Control and confirmation.

    liveexecute

End to end

From an empty project to a running, playable game: build scenes and scripts, wire input and audio, author animations, shaders, tilemaps and 3D, then run it, watch it play, and have the AI write tests that verify its own logic. Every call is gated by the permission mode you choose.

What's next

New tools land continuously. See what's shipped, in progress, and planned.

View the roadmap →