MCP server for Godot game engine integration
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
generate_2d_assetRender 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 th…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 th…
No input schema was published for this tool.
batch_executeRun an ordered list of MCP tool calls as a single composite operation.Run an ordered list of MCP tool calls as a single composite operation.
No input schema was published for this tool.
list_dirList files and folders under a Godot project path (e.g., res://). Returns arrays of files and folders in the specified directory.List files and folders under a Godot project path (e.g., res://). Returns arrays of files and folders in the specified directory.
No input schema was published for this tool.
read_fileRead a text file from the Godot project, optionally a specific line range. Useful for reading GDScript files, scene files, or any text-based content.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.
No input schema was published for this tool.
search_projectSearch the Godot project for a substring and return file hits with line numbers. Useful for finding usages of functions, variables, or any text pattern.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.
No input schema was published for this tool.
create_scriptCreate a NEW GDScript file (.gd) that does not exist yet. STRICTLY for .gd files — non-.gd extensions (.json, .gdignore, .md, etc.) are rejected with a pointer at write_file. A missing extension is auto-completed to .gd. Use edit_script for changes to an existing file. Use classdb_query to verify u…Create a NEW GDScript file (.gd) that does not exist yet. STRICTLY for .gd files — non-.gd extensions (.json, .gdignore, .md, etc.) are rejected with a pointer at write_file. A missing extension is auto-completed to .gd. Use edit_script for changes to an existing file. Use classdb_query to verify u…
No input schema was published for this tool.
get_godot_statusCheck if Godot editor is connected to the MCP server.Check if Godot editor is connected to the MCP server.
No input schema was published for this tool.
get_guideNo description publishedThis tool published no description. Forge does not invent one.
get_project_settingsConcise project settings summary: main_scene, window size/stretch, physics tick rate, and render basics.Concise project settings summary: main_scene, window size/stretch, physics tick rate, and render basics.
No input schema was published for this tool.
get_input_mapReturn 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 deadz…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 deadz…
No input schema was published for this tool.
get_collision_layersReturn named 2D/3D physics collision layers from ProjectSettings.Return named 2D/3D physics collision layers from ProjectSettings.
No input schema was published for this tool.
get_node_propertiesGet 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).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).
No input schema was published for this tool.
get_console_logNo description publishedThis tool published no description. Forge does not invent one.
get_errorsGet 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. Debugger rows can appear a few frames after run_scene returns; pass wait_ms:300 when checking immediately after la…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. Debugger rows can appear a few frames after run_scene returns; pass wait_ms:300 when checking immediately after la…
No input schema was published for this tool.
clear_console_logMark the current position in the Godot editor log. Subsequent get_console_log and get_errors calls will only return output after this point.Mark the current position in the Godot editor log. Subsequent get_console_log and get_errors calls will only return output after this point.
No input schema was published for this tool.
open_in_godotOpen a file in the Godot editor at a specific line (side-effect only).Open a file in the Godot editor at a specific line (side-effect only).
No input schema was published for this tool.
scene_tree_dumpNo description publishedThis tool published no description. Forge does not invent one.
get_editor_selectionNo description publishedThis tool published no description. Forge does not invent one.
set_editor_selectionNo description publishedThis tool published no description. Forge does not invent one.
close_editor_tabsNo description publishedThis tool published no description. Forge does not invent one.
list_settingsBrowse 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…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…
No input schema was published for this tool.
update_project_settingsUpdate one or more Godot project settings. Pass a dictionary of setting paths to their new values. Use list_settings first to discover available setting paths, current values, and valid options for a category. For input action bindings, prefer configure_input_map — if you do pass input/* keys here,…Update one or more Godot project settings. Pass a dictionary of setting paths to their new values. Use list_settings first to discover available setting paths, current values, and valid options for a category. For input action bindings, prefer configure_input_map — if you do pass input/* keys here,…
No input schema was published for this tool.
configure_input_mapAdd, remove, or replace input actions and their key/button bindings. Use get_input_map to see current actions before modifying.Add, remove, or replace input actions and their key/button bindings. Use get_input_map to see current actions before modifying.
No input schema was published for this tool.
run_sceneNo description publishedThis tool published no description. Forge does not invent one.
stop_sceneStop the currently running scene in the Godot editor. Always stop the scene before editing code to avoid errors repeating every frame.Stop the currently running scene in the Godot editor. Always stop the scene before editing code to avoid errors repeating every frame.
No input schema was published for this tool.
is_playingCompatibility shim: returns {playing, scene}. For richer info (uptime, runtime helper connectivity, last-launched target) prefer get_runtime_status.Compatibility shim: returns {playing, scene}. For richer info (uptime, runtime helper connectivity, last-launched target) prefer get_runtime_status.
No input schema was published for this tool.
get_runtime_statusCombined editor + runtime status snapshot. Returns `playing`, `playing_scene`, `last_launched` ("current"|"main"|res-path), `uptime_ms` since the most recent run_scene, `runtime_helper_connected` (true once the in-game MCPRuntime autoload is talking to the MCP server), `godot_version` (e.g. "4.5.0.…Combined editor + runtime status snapshot. Returns `playing`, `playing_scene`, `last_launched` ("current"|"main"|res-path), `uptime_ms` since the most recent run_scene, `runtime_helper_connected` (true once the in-game MCPRuntime autoload is talking to the MCP server), `godot_version` (e.g. "4.5.0.…
No input schema was published for this tool.
waitSleep server-side. Useful between input events to let the game process them. Capped at 30000ms / 30s. Pass either ms or seconds (ms wins if both given).Sleep server-side. Useful between input events to let the game process them. Capped at 30000ms / 30s. Pass either ms or seconds (ms wins if both given).
No input schema was published for this tool.
take_screenshotCapture the current viewport of the running game and save it as a PNG. REQUIRES the game to be running with the MCPRuntime autoload connected (run_scene with wait_for_runtime=true first). Returns resource_path, absolute_path, width, height, and (optionally) base64_png. Default save location is res:…Capture the current viewport of the running game and save it as a PNG. REQUIRES the game to be running with the MCPRuntime autoload connected (run_scene with wait_for_runtime=true first). Returns resource_path, absolute_path, width, height, and (optionally) base64_png. Default save location is res:…
No input schema was published for this tool.
send_inputSynthesize an InputEvent and dispatch it to the running game via Input.parse_input_event. REQUIRES the game to be running with the MCPRuntime autoload connected. Use this to drive automated tests: click buttons, press keys, fire input actions. For multi-step interactions, alternate send_input → wai…Synthesize an InputEvent and dispatch it to the running game via Input.parse_input_event. REQUIRES the game to be running with the MCPRuntime autoload connected. Use this to drive automated tests: click buttons, press keys, fire input actions. For multi-step interactions, alternate send_input → wai…
No input schema was published for this tool.
query_runtime_nodeQuery 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 over…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 over…
No input schema was published for this tool.
get_performance_monitorsNo description publishedThis tool published no description. Forge does not invent one.
get_runtime_logReturn 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 script prints/stdout use get_console_log; for runtime push_error / script errors use get_errors (it…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 script prints/stdout use get_console_log; for runtime push_error / script errors use get_errors (it…
No input schema was published for this tool.
classdb_queryQuery 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.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.
No input schema was published for this tool.
rescan_filesystemTrigger 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. If a scan is already in progress (often happens right after a batch of mutations), the call r…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. If a scan is already in progress (often happens right after a batch of mutations), the call r…
No input schema was published for this tool.
setup_autoloadRegister, unregister, or list autoload singletons. Autoloads are scripts/scenes loaded automatically at project start.Register, unregister, or list autoload singletons. Autoloads are scripts/scenes loaded automatically at project start.
No input schema was published for this tool.
create_sceneNo description publishedThis tool published no description. Forge does not invent one.
read_sceneRead and parse a scene file to get its full node structure and properties. Use this to understand a scene before editing. NOTE: `include_properties: true` returns a hand-picked subset (position, rotation, scale, size, offset, visible, modulate, z_index, text, collision_layer, collision_mask, mass)…Read and parse a scene file to get its full node structure and properties. Use this to understand a scene before editing. NOTE: `include_properties: true` returns a hand-picked subset (position, rotation, scale, size, offset, visible, modulate, z_index, text, collision_layer, collision_mask, mass)…
No input schema was published for this tool.
get_scene_node_propertiesNo description publishedThis tool published no description. Forge does not invent one.
add_nodeNo description publishedThis tool published no description. Forge does not invent one.
29 of 40 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
MCP server for Godot game engine integration
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the depth-4 limit. Anything below that level was never resolved.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
45 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+33 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.