Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.tomyud1/godot-mcp

NPM · GODOT-MCP-SERVER · SCANNED AUG 3

MCP server for Godot game engine integration — control the Godot editor with AI

Available components

+9 this week 61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security70
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 1.25.3, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (93 of 97), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 8537 tokens (~121/item across 70 items; 65 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 93% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · godot-mcp-server

# add to Claude Code
claude mcp add tomyud1-godot-mcp -- npx -y godot-mcp-server
# add to Codex CLI
codex mcp add tomyud1-godot-mcp -- npx -y godot-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tomyud1-godot-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "godot-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tomyud1-godot-mcp --command npx --arg -y --arg godot-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  tomyud1-godot-mcp:
    command: "npx"
    args: ["-y", "godot-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "tomyud1-godot-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "godot-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +36
    • CVE-2026-25536 affects this package: high security
    • GHSA-frvp-7c67-39w9 affects this package: high security
    • Provenance: unverified → fail security
    • Known CVEs: unverified → fail security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → good functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Licence: MIT functional
  • 31 Jul 26 −27
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 52

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Vulnerabilities 2 findings
ID CVE Severity Vector Fix available
GHSA-frvp-7c67-39w9 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
GHSA-345p-7cg4-v4c7 CVE-2026-25536 high CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N yes
Dependencies 93 packages

93 packages in the resolved dependency tree · 93 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 65 exposed · ~8,385 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_node ~313

Add a node to an existing scene file. Supports an optional script attachment, group memberships, and a tree of children created in the same call (1 tool call instead of N). Children format: {name|node_name, type|node_type, properties?, script?, groups?, children?}. Both key styles are accepted so children can reuse the same keys you use at the top level (node_name, node_type) or the shorter form (name, type). Unknown child keys are rejected with a clear error.

NameTypeReqDescription
childrenarrayOptional tree of children to create under the new node. Each entry has the same shape as add_node's args (minus parent_path). Use this to build sub-trees in one call.
groupsarrayOptional list of node groups this node should belong to. Persisted to the .tscn file.
node_namestringyesName for the new node
node_typestringyesType of node (e.g., Sprite2D, Camera2D, RigidBody2D, CollisionShape2D)
parent_pathstringPath to parent node (. for root, or relative path like Sprite2D)
propertiesobjectOptional dictionary of properties to set on the node
scene_pathstringyesPath to the scene file (res://path/to/scene.tscn)
scriptstringOptional script path to attach to the new node (res://path/to/script.gd)

No output schema declared.

No examples provided.

attach_script ~73

Attach or change a script on a node in a scene.

NameTypeReqDescription
node_pathstringPath to the node (. for root, or relative path)
scene_pathstringyesPath to the scene file
script_pathstringyesPath to the script file (res://path/to/script.gd)

No output schema declared.

No examples provided.

classdb_query ~165

Query Godot's ClassDB for class information: properties, methods, signals, and inheritance. Use this to verify that a class, method, or property actually exists in the running Godot engine before writing code. Prevents using wrong method names, outdated Godot 3 API, or incorrect signatures.

NameTypeReqDescription
class_namestringyesGodot class name to query (e.g., "CharacterBody2D", "Sprite2D", "Control")
include_virtualbooleanInclude well-known virtual methods like _ready, _process, _input (default: true). Set to false to see only public non-virtual methods.
querystringWhat to return: "all" (default), "properties", "methods", or "signals"

No output schema declared.

No examples provided.

clear_console_log ~37

Mark the current position in the Godot editor log. Subsequent get_console_log and get_errors calls will only return output after this point.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

configure_input_map ~214

Add, remove, or replace input actions and their key/button bindings. Use get_input_map to see current actions before modifying.

NameTypeReqDescription
actionstringyesInput action name (e.g., "move_left", "jump", "attack")
deadzonenumberAction deadzone (default: 0.5)
eventsarrayInput events to bind. Each object needs a "type" field: {"type":"key","key":"Space"} for keyboard, {"type":"mouse_button","button_index":1} for mouse (1=left,2=right,3=middle), {"type":"joypad_button…
operationstringyes"add" to create action and/or append events, "remove" to delete the action entirely, "set" to replace all events on an action (creates it if needed)

No output schema declared.

No examples provided.

connect_signal ~188

Connect a signal between two nodes inside a .tscn scene file. The target script must define the method (will refuse otherwise). Equivalent to clicking the "+" in the editor's Node > Signals panel and persists the connection to the .tscn. NOTE: scripts must be attached via attach_script (NOT via modify_node_property), otherwise the editor's in-memory node will not see the script and this tool will reject the connection.

NameTypeReqDescription
flagsnumberConnection flags (CONNECT_DEFERRED=1, CONNECT_PERSIST=2, CONNECT_ONE_SHOT=4). Default 0.
from_nodestringyesPath to the emitting node
methodstringyesMethod name on the receiving node's script
scene_pathstringyes
signalstringyesSignal name on the emitting node
to_nodestringyesPath to the receiving node

No output schema declared.

No examples provided.

create_folder ~34

Create a directory (with parent directories if needed).

NameTypeReqDescription
pathstringyesDirectory path (res://path/to/folder)

No output schema declared.

No examples provided.

create_scene ~225

Create a new Godot scene (.tscn) file with nodes. Use this to create player scenes, UI screens, game objects, etc.

NameTypeReqDescription
attach_scriptstringOptional script path to attach to root node (res://path/to/script.gd)
nodesarrayArray of child nodes to add. Each node spec: {name|node_name, type|node_type, properties?, script?, groups?, children?}. Use either {name, type} or the same {node_name, node_type} keys used at the to…
root_node_namestringName of root node (default: derived from filename)
root_node_typestringyesType of root node (e.g., Node2D, CharacterBody2D, Control, Node3D). REQUIRED.
scene_pathstringyesScene file path (e.g., res://Scenes/player.tscn)

No output schema declared.

No examples provided.

create_script ~114

Create a NEW GDScript file (.gd) that does not exist yet. Use this for creating new scripts, NOT for editing existing files (use edit_script for edits). Use classdb_query to verify unfamiliar Godot class methods. After creating a script, consider using run_scene to test and get_errors to check for issues.

NameTypeReqDescription
contentstringyesFull GDScript content to write to the file
pathstringyesScript file path (res://scripts/player.gd) - must not exist yet

No output schema declared.

No examples provided.

delete_file ~281

Permanently delete a file from the project. REQUIRES confirm=true as an explicit safety gate — omitting confirm returns an error. Creates a .bak backup alongside the original by default (disable with create_backup=false). REFUSES if the file is currently open in the editor (any scene tab or script editor tab); close the tab first, or pass force=true to bypass the check (not recommended — deleting the active scene out from under the editor can crash Godot). Use ONLY when deletion is explicitly requested; NEVER as a way to "edit" or "reset" a file (use edit_script instead). Does not delete directories.

NameTypeReqDescription
confirmbooleanyesREQUIRED. Must be explicitly set to true — safety gate to prevent accidental deletes. Calls without confirm=true fail with an error.
create_backupbooleanIf true (default), saves a .bak copy next to the original before deletion so the file can be recovered. Set false to delete without backup.
forcebooleanIf true, bypass the "file is open in editor" guard. Use ONLY if you know the file is not the active scene. The guard exists because deleting the active scene tab from under the editor can crash Godot.
pathstringyesPath to the file to delete (e.g. res://scenes/old.tscn)

No output schema declared.

No examples provided.

detach_script ~46

Remove a script from a node in a scene.

NameTypeReqDescription
node_pathstringyesPath to the node (. for root)
scene_pathstringyesPath to the scene file

No output schema declared.

No examples provided.

disconnect_signal ~66

Remove a signal connection from a .tscn scene file. No-op if the connection doesn't exist.

NameTypeReqDescription
from_nodestringyes
methodstringyes
scene_pathstringyes
signalstringyes
to_nodestringyes

No output schema declared.

No examples provided.

edit_script ~153

Apply a SMALL, SURGICAL code edit (1-10 lines) to GDScript files. Auto-applies changes. For large changes, call multiple times. ONLY for .gd files - NEVER for .tscn scene files. Use classdb_query to verify unfamiliar Godot class methods. After making changes, consider using run_scene to test and get_errors to check for issues.

NameTypeReqDescription
editobjectyesEdit spec: {type: "snippet_replace", file: "res://path.gd", old_snippet: "old code", new_snippet: "new code", context_before: "line above", context_after: "line below"}. Keep old_snippet SMALL (1-10…

No output schema declared.

No examples provided.

find_nodes_in_group ~76

Find every node in a .tscn that belongs to a given group. Returns paths, names, and types. Useful for verifying that level.gd will actually pick up the right nodes via get_tree().get_nodes_in_group().

NameTypeReqDescription
groupstringyesGroup name to search for
scene_pathstringyes

No output schema declared.

No examples provided.

generate_2d_asset ~245

Render an SVG to a PNG asset on disk via Image.load_svg_from_buffer. The SVG is rendered directly from bytes — no temp file is created, so concurrent calls are safe and project-rename quirks (user:// rebinding) cannot break it. Returns resource_path, absolute_path, dimensions {width,height}, and the render_scale used.

NameTypeReqDescription
filenamestringyesOutput filename. ".png" appended if missing.
heightnumberOptional desired output height in pixels. Same as width but matched on the height axis. If both width and height are provided, width takes precedence for scale derivation.
save_pathstringDestination directory (default: res://assets/generated/). Created if it does not exist.
scalenumberOptional explicit render scale (e.g. 2.0 = 2x). Overrides width/height-derived scaling. Default: 1.0.
svg_codestringyesComplete SVG markup. Either single or double quotes are accepted in attributes.
widthnumberOptional desired output width in pixels. Combined with the SVG's intrinsic width to derive a uniform render_scale.

No output schema declared.

No examples provided.

get_collision_layers ~24

Return named 2D/3D physics collision layers from ProjectSettings.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_console_log ~40

Return the latest lines from the Godot editor output log.

NameTypeReqDescription
max_linesnumberMaximum number of lines to include (default: 50)

No output schema declared.

No examples provided.

get_errors ~106

Get errors and warnings from both the Godot Output panel and the Debugger > Errors tab. Returns file paths, line numbers, severity, stack traces, and which source each error came from. If errors mention a missing method or property, use classdb_query to verify the correct API before fixing.

NameTypeReqDescription
include_warningsbooleanInclude warnings in addition to errors (default: true)
max_errorsnumberMaximum number of errors to return (default: 50)

No output schema declared.

No examples provided.

get_godot_status ~23

Check if Godot editor is connected to the MCP server.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_guide ~155

Read a short markdown guide from the server. Same content as the MCP resources/read protocol, exposed as a tool so it works in MCP clients that do not support resources (e.g. Claude Desktop, Cursor chat). Call with no args to list available guides: testing-loop, scene-editing, asset-generation, troubleshooting, tool-index. Call with {slug: "..."} to get the full markdown. Useful when a workflow is non-obvious (testing a running game, choosing between scene-editing tools, troubleshooting "Runtime helper not connected", etc.).

NameTypeReqDescription
slugstringGuide slug. Omit to list all available guides. Known slugs: testing-loop, scene-editing, asset-generation, troubleshooting, tool-index.

No output schema declared.

No examples provided.

get_input_map ~136

Return the full InputMap: built-in actions (ui_*, spatial_editor/*) plus all project-defined actions from project.godot. Each action maps to an object with "events" (array of key/mouse/gamepad bindings) and optionally "deadzone". Use this before configure_input_map to see current bindings and deadzones.

NameTypeReqDescription
include_deadzonesbooleanInclude the per-action "deadzone" field in each action object (default: true). When true, each action is {"deadzone": 0.5, "events": [...]}. When false, each action is {"events": [...]}.

No output schema declared.

No examples provided.

get_node_groups ~42

Read the list of groups a node belongs to in a .tscn scene file.

NameTypeReqDescription
node_pathstring
scene_pathstringyes

No output schema declared.

No examples provided.

get_node_properties ~74

Get available properties for a Godot node type. Use this to discover what properties exist on a node type (e.g., anchors_preset for Control, position for Node2D).

NameTypeReqDescription
node_typestringyesNode class name (e.g., "Sprite2D", "Control", "Label", "Button")

No output schema declared.

No examples provided.

get_node_spatial_info ~128

Query computed 3D spatial data for a Node3D in a scene file. Returns local/global positions, scales, rotation quaternions, and subtree bounding boxes (AABB) when available. Use this before making precise 3D placement decisions.

NameTypeReqDescription
include_boundsbooleanInclude computed subtree AABBs when visual descendants exist (default: true)
node_pathstringPath to the Node3D (. for root, or relative path like Level/Props/Crate)
scene_pathstringyesPath to the .tscn scene file

No output schema declared.

No examples provided.

get_project_settings ~53

Concise project settings summary: main_scene, window size/stretch, physics tick rate, and render basics.

NameTypeReqDescription
include_physicsbooleanInclude physics settings
include_renderbooleanInclude render settings

No output schema declared.

No examples provided.

get_resource_info ~272

Inspect ANY Godot Resource. Two modes: • path mode: pass {path: "res://foo.png"} for a resource on disk (.tres / .res / image / .glb / .ogg / .tscn / etc.) • node mode: pass {scene_path, node_path, resource_property} to inspect a resource attached to a node WITHOUT having to save it as .tres first (e.g. the shape on a CollisionShape2D, the material on a MeshInstance3D, the stream on an AudioStreamPlayer). Returns class, file size (path mode), and type-specific info: width/height for textures, vertex/surface counts and AABB for meshes, length for AudioStream/Animation, node count for PackedScene, common Material properties, Shape extents, and the resource's dependencies.

NameTypeReqDescription
node_pathstringNode mode: path to the node within the scene.
pathstringPath mode: resource path on disk (res://...).
resource_propertystringNode mode: property name on the node holding the resource (e.g. "shape", "material", "stream", "texture").
scene_pathstringNode mode: path to the .tscn that owns the node.

No output schema declared.

No examples provided.

get_runtime_log ~143

Return entries from the MCPRuntime in-game ring buffer. The buffer holds the last ~500 lines pushed via MCPRuntime.push_runtime_log(level, text) from your scripts plus internal connection events. For full engine stdout (script prints, errors, warnings) use get_console_log — the editor already captures the running game's stdout. Returns entries with ts_ms, level, and text plus started_at_ms (when the helper started) and now_ms.

NameTypeReqDescription
limitnumberMaximum entries to return (default: 200, max 500)
since_msnumberOnly return entries with ts_ms >= since_ms. Use 0 (default) for all.

No output schema declared.

No examples provided.

get_runtime_status ~64

Combined editor + runtime status snapshot. Returns playing, playing_scene, last_launched ("current"|"main"|res-path), uptime_ms since the most recent run_scene, and runtime_helper_connected (true once the in-game MCPRuntime autoload is talking to the MCP server).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

instance_scene ~200

Add an instance of another scene (.tscn) as a child node. This is how you compose scenes from reusable parts (like prefabs). The instance maintains a live reference to the source scene. Use this instead of add_node when you want to reuse an existing scene.

NameTypeReqDescription
instance_pathstringyesPath to the .tscn scene to instance (the child/prefab scene)
node_namestringOptional name for the instance. If omitted, uses the instanced scene's root node name.
parent_pathstringPath to parent node within the scene (. for root, or relative path like Level/Enemies)
propertiesobjectOptional property overrides on the instance root (e.g., {position: {type: "Vector3", x: 5, y: 0, z: 10}})
scene_pathstringyesPath to the scene file being edited (the parent scene)

No output schema declared.

No examples provided.

is_playing ~39

Compatibility shim: returns {playing, scene}. For richer info (uptime, runtime helper connectivity, last-launched target) prefer get_runtime_status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_dir ~56

List files and folders under a Godot project path (e.g., res://). Returns arrays of files and folders in the specified directory.

NameTypeReqDescription
rootstringyesStarting path like res://addons/ai_assistant or res://

No output schema declared.

No examples provided.

list_scripts ~21

List all GDScript files in the project with basic metadata.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_settings ~132

Browse Godot project settings by category. Returns values from the editor's in-memory state — this matches project.godot after a normal Godot save, but direct edits to project.godot on disk are not reflected until the editor restarts (rescan_filesystem does not help). Call without a category to see all available categories. Call with a category to see all settings with their current values, types, and valid options.

NameTypeReqDescription
categorystringSettings category prefix (e.g., "display", "physics", "rendering", "application", "audio"). Omit to list all available categories.

No output schema declared.

No examples provided.

list_signal_connections ~193

List signal connections involving a node. source="scene_file" (default) reads connections persisted to a .tscn. source="runtime" requires the game to be running and reads live connections from the SceneTree. Use the runtime mode to verify dynamically-connected signals (those connected from code in _ready, not in the editor).

NameTypeReqDescription
include_incomingbooleanInclude signals from other nodes whose handler is on this node (default: true). Only honored for scene_file source.
include_outgoingbooleanInclude signals that this node emits (default: true)
node_pathstringyesPath to the node. For source="runtime" use absolute (/root/Main/Player) or relative to current_scene.
scene_pathstringFor source="scene_file": path to the .tscn
sourcestringWhere to read connections from. Default: scene_file

No output schema declared.

No examples provided.

map_project ~93

Crawl the entire Godot project and build an interactive visual map of all scripts showing their structure (variables, functions, signals), connections (extends, preloads, signal connections), and descriptions. Opens an interactive browser-based visualization.

NameTypeReqDescription
include_addonsbooleanWhether to include scripts in the addons/ folder (default: false)
rootstringRoot path to start crawling from (default: res://)

No output schema declared.

No examples provided.

measure_node_distance ~88

Measure the world-space distance between two Node3D nodes in a scene file. Returns both the full 3D delta and the horizontal XZ distance.

NameTypeReqDescription
from_node_pathstringyesPath to the first Node3D
scene_pathstringyesPath to the .tscn scene file
to_node_pathstringyesPath to the second Node3D

No output schema declared.

No examples provided.

modify_node_property ~404

Modify a single property on a node in a .tscn scene file. For multiple properties at once use set_node_properties. ALWAYS use a tool to modify .tscn files — NEVER edit them as text. To attach or change a script, use attach_script (NOT modify_node_property with property="script") — modify_node_property only rewrites the .tscn on disk, leaving the editor's in-memory node without the script, which makes connect_signal fail.

NameTypeReqDescription
node_pathstringPath to the node (. for root, or relative path like "Sprite2D")
property_namestringyesName of the property to modify (position, scale, rotation, modulate, visible, etc.)
scene_pathstringyesPath to the .tscn scene file
valueyesNew value for the property. ANY JSON value accepted: primitives (numbers, strings, booleans, null), arrays, or objects. Use the {type, ...} discriminated form for Godot variant types. Common forms: n…

No output schema declared.

No examples provided.

move_node ~96

Move a node to a different parent in a scene and optionally control its position among siblings.

NameTypeReqDescription
new_parent_pathstringyesPath to the new parent node (. for root)
node_pathstringyesPath to the node to move
scene_pathstringyesPath to the scene file
sibling_indexnumberOptional position among siblings (0 = first child). Omit or -1 to append.

No output schema declared.

No examples provided.

open_in_godot ~52

Open a file in the Godot editor at a specific line (side-effect only).

NameTypeReqDescription
linenumber1-based line number
pathstringyesres:// path to open

No output schema declared.

No examples provided.

query_runtime_node ~178

Query a live node in the running scene tree. REQUIRES the game to be running with the MCPRuntime autoload connected. Returns class, path, valid, groups, and a map of property values. By default returns position, global_position, rotation, scale, visible, modulate — pass `properties:["..."]` to override. Set include_children=true to also list direct child nodes.

NameTypeReqDescription
include_childrenbooleanList direct children {name, class}. Default: false.
include_groupsbooleanInclude the node's group memberships. Default: true.
node_pathstringyesAbsolute path (e.g. /root/Main/Player) or relative to current_scene.
propertiesarrayProperty names to read. Default: position, global_position, rotation, scale, visible, modulate.

No output schema declared.

No examples provided.

read_file ~103

Read a text file from the Godot project, optionally a specific line range. Useful for reading GDScript files, scene files, or any text-based content.

NameTypeReqDescription
end_linenumberInclusive end line; 0 or missing means to end of file (optional)
pathstringyesres:// path to the file (e.g., res://scripts/player.gd)
start_linenumber1-based inclusive start line (optional)

No output schema declared.

No examples provided.

read_scene ~73

Read and parse a scene file to get its full node structure and properties. Use this to understand a scene before editing.

NameTypeReqDescription
include_propertiesbooleanInclude node properties in the output (default: false)
scene_pathstringyesPath to the scene file (res://path/to/scene.tscn)

No output schema declared.

No examples provided.

remove_node ~52

Remove a node from an existing scene file.

NameTypeReqDescription
node_pathstringyesPath to the node to remove (cannot be root, use relative path)
scene_pathstringyesPath to the scene file

No output schema declared.

No examples provided.

rename_file ~61

Rename or move a file, optionally updating references in other files.

NameTypeReqDescription
new_pathstringyesNew file path
old_pathstringyesCurrent file path
update_referencesbooleanUpdate references in other files (default: true)

No output schema declared.

No examples provided.

rename_node ~55

Rename a node in a scene.

NameTypeReqDescription
new_namestringyesNew name for the node
node_pathstringyesPath to the node to rename
scene_pathstringyesPath to the scene file

No output schema declared.

No examples provided.

rescan_filesystem ~51

Trigger a full filesystem rescan in the Godot editor. Use after creating, deleting, or modifying files externally (e.g. from the terminal or another tool). The scan is asynchronous and returns immediately.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

run_scene ~312

Launch a scene in the Godot editor. By default the call BLOCKS until the editor flips to playing state (so the next get_errors / take_screenshot / send_input call sees a real game). The response includes started, runtime_connected, wait_for_started_ms, wait_for_runtime_ms, scene_path, and runtime_root. Use runtime_root (e.g. "/root/Main") as the prefix for query_runtime_node node_path arguments — it is computed from the actual root node name in the .tscn, NOT from the file name. Set wait_for_runtime=true to additionally wait for the in-game MCPRuntime helper to connect (required before take_screenshot / send_input will work). Recommended testing loop: run_scene({wait_for_runtime:true}) → query_runtime_node / send_input / take_screenshot → get_errors → stop_scene.

NameTypeReqDescription
block_until_startedbooleanWait until the editor reports playing=true before returning (default: true). Up to startup_timeout_ms.
scenestringScene to run: omit for main scene, "current" for the currently open scene, or a res:// path for a specific scene
startup_timeout_msnumberMax time in ms to wait for the above signals. Default: 10000. Bump to 15000–20000 on slower machines or autoload-heavy projects.
wait_for_runtimebooleanWait until the MCPRuntime in-game helper connects back (required for take_screenshot/send_input). Default: false.

No output schema declared.

No examples provided.

save_resource_to_file ~147

Save a Resource currently held by a node (or sub-resource) to a standalone .tres file so it can be referenced by other scenes / shared / committed. The node's property is then re-pointed to the loaded-from-disk version, so future set_resource_property calls write through to that file. Works for any Resource subclass: Material, Mesh, Shape, Curve, Gradient, etc.

NameTypeReqDescription
node_pathstring
resource_pathstringyesPath from node to the resource (e.g. "shape", "material")
save_tostringyesDestination path (res://.../foo.tres)
scene_pathstringyes

No output schema declared.

No examples provided.

scene_tree_dump ~33

Dump the scene tree of the scene currently open in the Godot editor (node names, types, and attached scripts).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

search_project ~72

Search the Godot project for a substring and return file hits with line numbers. Useful for finding usages of functions, variables, or any text pattern.

NameTypeReqDescription
globstringOptional glob filter like **/*.gd to search only GDScript files
querystringyesCase-insensitive substring to find

No output schema declared.

No examples provided.