# Godot — MCP Tools Catalog

The complete catalog of the 94 MCP tools the Godot plugin exposes, grouped into 20 families. Nodes & scenes, resources, C# / GDScript files, and the editor run-and-play lifecycle — driven through EditorInterface.

_Last updated: 2026-06-17_

## Node — Inspect & edit the active scene tree

| Tool | Kind | Description |
| --- | --- | --- |
| node-find | read | Find nodes in the active scene tree by path, type, or name. |
| node-create | create | Create a new node under a parent, optionally instancing a .tscn sub-scene. |
| node-modify | write | Set fields and properties on one or more nodes. |
| node-set-parent | write | Reparent nodes within the scene tree. |
| node-duplicate | create | Duplicate nodes together with their subtrees. |
| node-delete | destroy | Delete nodes from the active scene. |

## Scene — Open, save, create & inspect scenes

| Tool | Kind | Description |
| --- | --- | --- |
| scene-open | action | Open a res://*.tscn PackedScene in the editor. |
| scene-save | action | Save an open scene back to its .tscn file. |
| scene-create | create | Create a new scene asset in the project. |
| scene-list-opened | read | List the scenes currently open in the editor. |
| scene-get-data | read | Retrieve the root nodes and structure of a scene. |

## Resource — Find & mutate .tres / .res resources

| Tool | Kind | Description |
| --- | --- | --- |
| resource-find | read | Search the project for resources (.tres / .res). |
| resource-get-data | read | Read a resource's serialized fields and properties. |
| resource-modify | write | Modify a resource's properties. |
| resource-create | create | Create a new resource asset. |
| resource-move | write | Move or rename a resource, keeping .import sidecars consistent. |
| resource-delete | destroy | Delete a resource from the project. |

## Script — CRUD on C# / GDScript · attach to nodes

| Tool | Kind | Description |
| --- | --- | --- |
| script-read | read | Read a .cs or .gd script file. |
| script-create | create | Create a new script file. |
| script-update | write | Update an existing script file's contents. |
| script-delete | destroy | Delete a script file. |
| script-attach-to-node | write | Attach a script to a node. |

## Filesystem — Browse & reimport the res:// tree

| Tool | Kind | Description |
| --- | --- | --- |
| filesystem-list | read | Browse the res:// tree — file types and uids — via the editor file index, without loading resources. |
| filesystem-reimport | action | Reimport files in the project. |

## Editor — Run/play lifecycle · selection

| Tool | Kind | Description |
| --- | --- | --- |
| editor-application-get-state | read | Read the editor application and run state. |
| editor-application-set-state | action | Start or stop the running game (Godot launches it in a separate process). |
| editor-selection-get | read | Get the current editor selection. |
| editor-selection-set | write | Set the current editor selection. |

## Screenshot — Viewport · camera · isolated renders

| Tool | Kind | Description |
| --- | --- | --- |
| screenshot-viewport | action | Capture the editor viewport as a PNG. |
| screenshot-camera | action | Capture from a specific camera. |
| screenshot-isolated | action | Render a node in isolation from a chosen angle. |

## Console — Read & clear editor log collector

| Tool | Kind | Description |
| --- | --- | --- |
| console-get-logs | read | Read the plugin's collected editor logs, with filtering. |
| console-clear-logs | action | Clear the collected log cache. |

## Reflection — Find & call C# methods via ReflectorNet

| Tool | Kind | Description |
| --- | --- | --- |
| reflection-method-find | read | Find C# methods, including private, across every loaded assembly. |
| reflection-method-call | action | Call any C# method with input parameters and get the result. |

## Ping — Lightweight readiness probe

| Tool | Kind | Description |
| --- | --- | --- |
| ping | action | Lightweight readiness probe — echoes a message back, or returns pong. Verifies the end-to-end MCP path. |

## Animation — AnimationPlayer · libraries · tracks · keys

| Tool | Kind | Description |
| --- | --- | --- |
| animation-defaults | read | Return the recommended starter config (length, loop mode, suggested track types) for a new animation. |
| animation-player-create | create | Create an AnimationPlayer node in the edited scene; optional parent and name. |
| animation-library-add | create | Add an AnimationLibrary to an AnimationPlayer (by library name). |
| animation-create | create | Create an Animation in a library (name, length, loop mode). |
| animation-add-track | create | Add a track to an animation (track type value / position-3d / rotation-3d / scale-3d; node path; sub-property for value tracks). |
| animation-insert-key | write | Insert a keyframe into a track (animation, track index, time, value). |
| animation-get | read | Read an AnimationPlayer's animation list, or a single animation's config (read-only). |

## Beehave — Behaviour trees · composites · leaves

| Tool | Kind | Description |
| --- | --- | --- |
| beehave-defaults | read | Return a recommended behaviour-tree skeleton description (composite/leaf taxonomy + wiring tips); needs no addon. |
| beehave-create-tree | create | Instantiate a BeehaveTree node under an actor node in the edited scene and wire its actor / blackboard. |
| beehave-add-composite | create | Add a SelectorComposite / SequenceComposite (chosen by arg) under a tree or composite node. |
| beehave-add-leaf | create | Add an ActionLeaf / ConditionLeaf placeholder under a composite (a scaffold — you attach the behaviour script). |
| beehave-get-tree | read | Dump the structure (node types + parent/child) under a named BeehaveTree (read-only). |

## CSG — Boolean solids — box/sphere/cylinder/combine

| Tool | Kind | Description |
| --- | --- | --- |
| csg-box-create | create | Create a CSGBox3D in the edited scene; size (x, y, z); optional parent, name. |
| csg-sphere-create | create | Create a CSGSphere3D; radius, radial_segments; optional parent, name. |
| csg-cylinder-create | create | Create a CSGCylinder3D; radius, height; optional parent, name. |
| csg-combiner-create | create | Create a CSGCombiner3D — the root container that boolean-combines its CSG children. |
| csg-set-operation | write | Set a CSG node's boolean operation (Union / Intersection / Subtraction). |
| csg-get | read | Read a CSG node's scalar config (read-only). |

## Dialogic — Characters, timelines & dialogue events

| Tool | Kind | Description |
| --- | --- | --- |
| dialogic-defaults | read | Return a recommended starter timeline + character description (no addon needed). |
| dialogic-create-character | create | Create + save a DialogicCharacter resource (.dch) at a res:// path. |
| dialogic-create-timeline | create | Create + save a DialogicTimeline resource (.dtl) with a few starter text events. |
| dialogic-add-event | write | Append an event (text / character / choice) to an existing timeline resource. |
| dialogic-get-timeline | read | Read back the events in a timeline resource (read-only). |

## GridMap — 3D grid · mesh library · cells

| Tool | Kind | Description |
| --- | --- | --- |
| gridmap-defaults | read | Return the recommended starter config (cell size, default item id) for a new GridMap. |
| gridmap-create | create | Create a GridMap node in the edited scene; optional parent, name, cell_size (x, y, z). |
| gridmap-set-mesh-library | write | Assign a MeshLibrary resource (by res:// path) to a GridMap. |
| gridmap-set-cell | write | Set a cell at (x, y, z) to a MeshLibrary item id, with optional orientation. |
| gridmap-clear-cell | destroy | Clear a single cell at (x, y, z). |
| gridmap-clear | destroy | Clear every cell in a GridMap. |
| gridmap-get | read | Read a GridMap's scalar config (read-only). |

## Navigation — Regions · agents · links · nav config

| Tool | Kind | Description |
| --- | --- | --- |
| navigation-region-create | create | Create a NavigationRegion2D / NavigationRegion3D node in the edited scene; optional parent, name, dimension (2D/3D). |
| navigation-region-set-mesh | write | Assign a NavigationPolygon (2D) / NavigationMesh (3D) resource to a region by res:// path. |
| navigation-agent-create | create | Create a NavigationAgent2D / NavigationAgent3D under a parent node. |
| navigation-agent-configure | write | Update an agent's scalar properties — radius, path_desired_distance, target_desired_distance, max_speed, avoidance_enabled; each clamped/validated. |
| navigation-link-create | create | Create a NavigationLink2D / NavigationLink3D with start/end positions. |
| navigation-get | read | Read a navigation node's scalar config (read-only). |

## Particles — GPU emitters · configure · emit

| Tool | Kind | Description |
| --- | --- | --- |
| particles-defaults | read | Return the recommended starter config (amount, lifetime, explosiveness, …) for a 2D/3D emitter. |
| particles-create | create | Create a GpuParticles2D / GpuParticles3D node in the edited scene; optional parent, name, amount, lifetime. |
| particles-configure | write | Update an emitter's scalar properties; each clamped to a valid range. |
| particles-set-emitting | action | Start/stop emission, optionally restarting first. |
| particles-get | read | Read an emitter's scalar config (read-only). |

## Phantom Camera — Virtual cameras · follow · look-at · priority

| Tool | Kind | Description |
| --- | --- | --- |
| phantomcamera-defaults | read | Return the recommended follow-mode + damping starter config (no addon needed). |
| phantomcamera-host-create | create | Ensure/create the required PhantomCameraHost on a scene Camera3D (the host is what actually drives the real camera). |
| phantomcamera-create | create | Instantiate a PhantomCamera3D node in the edited scene; optional parent, name, priority. |
| phantomcamera-set-follow | write | Set a PhantomCamera's follow_mode + follow_target (node path). |
| phantomcamera-set-look-at | write | Set a PhantomCamera's look_at_mode + look_at_target. |
| phantomcamera-set-priority | write | Set a PhantomCamera's priority (higher wins). |
| phantomcamera-get | read | Read a PhantomCamera's scalar config (read-only). |

## Terrain3D — Terrain3D nodes · sculpt height · inspect

| Tool | Kind | Description |
| --- | --- | --- |
| terrain3d-defaults | read | Return the recommended region size / clipmap / LOD starter config (no addon needed). |
| terrain3d-create | create | Instantiate a Terrain3D node in the edited scene; set its data directory + region size. |
| terrain3d-set-height | write | Sculpt/set terrain height at a world position via the terrain's data API. |
| terrain3d-get-info | read | Read a Terrain3D node's region count / size / extents (read-only). |

## Tilemap — 2D TileMapLayer · tileset · cells

| Tool | Kind | Description |
| --- | --- | --- |
| tilemap-create | create | Create a TileMapLayer node in the edited scene; optional parent and name. |
| tilemap-set-tileset | write | Assign a TileSet resource (by res:// path) to a TileMapLayer. |
| tilemap-set-cell | write | Set a cell at coords (x, y) from a tileset source_id + atlas coords (x, y). |
| tilemap-erase-cell | destroy | Erase the cell at coords (x, y). |
| tilemap-get-used-cells | read | List the coordinates of all used (non-empty) cells. |
| tilemap-clear | destroy | Clear all cells in a TileMapLayer. |

---

Source (HTML): https://ai-game.dev/docs/tools/godot
