Godot MCP
NPM · @SHIN2344234/GODOT-MCP
Edit Godot 4 scenes, nodes and scripts; run, test and debug games live in the editor or headless.
Available components
Last scanned (3 hours ago)
Scores higher than 66% of npm servers
Category Developer Tools
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 → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 2 of 13 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 19 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
- 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
- Tool/resource definitions use about 11717 tokens (~81/item across 143 items; 91 tools + 52 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage88
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 65% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 93 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
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.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
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 5 Nov 2026 · Analysed npm/@shin2344234/godot-mcp@0.1.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 13 packages
| Packages resolved | 13 |
|---|---|
| Stale | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
godot_addon_install Install the editor addon ~52
Godot addon: install or update addons/godot_mcp (the editor bridge and game runtime this server needs) from the copy bundled with the server, and enable it in project.godot.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
godot_anim_edit Edit animations ~114
Godot animation: create/remove/rename animations and add tracks and keys on an AnimationPlayer. ops run in order as one undo step; track paths are "Node:property" relative to the player's root_node.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_missing | boolean | – | Skip existence checks. |
| animation | string | – | Default animation for ops that omit it. |
| ops | array | yes | – |
| player | string | – | AnimationPlayer path; optional if the scene has one. |
| scene | string | – | Scene; required headless. |
No output schema declared.
No examples provided.
godot_anim_frames Edit SpriteFrames ~114
Godot animation: read or edit the SpriteFrames of an AnimatedSprite2D/3D (or a .tres): add/rename/remove animations, speed/loop, frames cut from a sprite sheet. No ops = summary.
| Name | Type | Req | Description |
|---|---|---|---|
| node | string | – | AnimatedSprite2D/3D; optional if the scene has one. |
| ops | array | – | – |
| path | string | – | SpriteFrames .tres instead of a node. |
| scene | string | – | Scene; required headless. |
No output schema declared.
No examples provided.
godot_anim_read Read animations ~131
Godot animation: list an AnimationPlayer's libraries and animations, or with animation the tracks and keys of one. Pass library (a .tres) instead of a scene player to read an AnimationLibrary file.
| Name | Type | Req | Description |
|---|---|---|---|
| animation | string | – | "name" or "library/name": include its tracks. |
| library | string | – | AnimationLibrary .tres instead of a player. |
| max_keys | number | – | Keys per track (default 50). |
| player | string | – | AnimationPlayer path; optional if the scene has one. |
| scene | string | – | Scene; required headless. |
No output schema declared.
No examples provided.
godot_anim_tree Edit AnimationTree ~112
Godot animation: build an AnimationTree state machine, blend space or blend tree (states, transitions, start/end, blend points). ops run in order as one undo step.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_missing | boolean | – | Skip existence checks. |
| nested | string | – | Edit a nested graph, e.g. "Locomotion". |
| ops | array | yes | – |
| scene | string | – | Scene; required headless. |
| tree | string | – | AnimationTree path; optional if the scene has one. |
No output schema declared.
No examples provided.
godot_anim_tree_read Read AnimationTree ~73
Godot animation: show an AnimationTree's graph (states, transitions, blend points, blend tree nodes) and its parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| parameters | boolean | – | – |
| scene | string | – | Scene; required headless. |
| tree | string | – | AnimationTree path; optional if the scene has one. |
No output schema declared.
No examples provided.
godot_audio_buses Read audio buses ~37
Godot audio: list the audio buses (volume, mute, solo, send) and their effects from the project's bus layout.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
godot_audio_edit Edit audio buses ~49
Godot audio: add, remove, rename, move and set buses (volume, mute, solo, send) and their effects; saves the bus layout.
| Name | Type | Req | Description |
|---|---|---|---|
| ops | array | yes | – |
No output schema declared.
No examples provided.
godot_autoload_edit Edit autoloads ~110
Godot project: add, remove or reorder autoloads (global singletons loaded at startup).
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Load position (0 = first); required for move. |
| name | string | yes | Autoload name, e.g. "GameState". |
| op | string | yes | – |
| path | string | – | add: script or scene, e.g. "res://game_state.gd". |
| singleton | boolean | – | Register as a global name (default true). |
No output schema declared.
No examples provided.
godot_batch_apply Batch scene edits ~90
Godot scene: apply up to 100 scene edits (node.add, node.set, signal.connect, ...) to one scene in order, all-or-nothing; one undo step in the editor.
| Name | Type | Req | Description |
|---|---|---|---|
| ops | array | yes | Later ops see earlier ones (add a node, then set it). |
| scene | string | – | Scene file; defaults to the edited scene, required without the editor. |
No output schema declared.
No examples provided.
godot_code_diagnostics GDScript diagnostics ~49
Godot code: GDScript errors and warnings for .gd files or a folder, from the language server.
| Name | Type | Req | Description |
|---|---|---|---|
| paths | array | yes | .gd files or folders (res://). |
No output schema declared.
No examples provided.
godot_code_lookup GDScript lookup ~107
Godot code: hover docs, definition, references, signature, completion or highlights at a position in a .gd file.
| Name | Type | Req | Description |
|---|---|---|---|
| column | integer | – | 1-based column; or give symbol. |
| kind | string | – | – |
| limit | integer | – | Max completion items. |
| line | integer | yes | 1-based line. |
| path | string | yes | .gd file (res://). |
| symbol | string | – | Identifier text on that line (instead of column). |
No output schema declared.
No examples provided.
godot_code_rename Rename GDScript symbol ~127
Godot code: rename a GDScript symbol across the project via the language server (skips comments/strings). dry_run previews.
| Name | Type | Req | Description |
|---|---|---|---|
| column | integer | – | 1-based column; or give symbol. |
| dry_run | boolean | – | – |
| include_comments | boolean | – | Also rename matches in comments/strings. |
| line | integer | yes | 1-based line. |
| new_name | string | yes | New identifier. |
| path | string | yes | .gd file (res://). |
| symbol | string | – | Identifier text on that line (instead of column). |
No output schema declared.
No examples provided.
godot_code_symbols GDScript symbols ~76
Godot code: outline of a .gd file (funcs, signals, vars, consts, classes with lines), or find symbols by name with query.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | – | .gd file to outline, or folder to search with query. |
| query | string | – | Name substring to search for across scripts. |
No output schema declared.
No examples provided.
godot_debug_breakpoints Breakpoints ~83
Godot debug: list, add, remove or clear breakpoints of a game started with godot_run_start (process mode), running or stopped.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| breakpoints | array | – | "res://player.gd:42" or {file, line}. |
| run_id | string | – | Default: newest process run. |
No output schema declared.
No examples provided.
godot_debug_control Debug control ~134
Godot debug: continue, pause, step_into/over/out (returns the new location and locals), or evaluate an expression in a stopped game (process runs).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| expression | string | – | evaluate: a Godot Expression; sees locals, self's members/methods, autoloads. Can have side effects. |
| frame | integer | – | evaluate: stack frame (0 = innermost). |
| run_id | string | – | Default: newest process run. |
| wait | number | – | Seconds to wait for the next stop (default 10; continue 0). |
No output schema declared.
No examples provided.
godot_debug_state Debug state ~122
Godot debug: is the game stopped (breakpoint, error, pause)? Call stack and variables (locals, members, globals) of a frame.
| Name | Type | Req | Description |
|---|---|---|---|
| expand | array | – | Object variables to open, e.g. ["self","body"]. |
| frame | integer | – | Frame for variables (0 = innermost). |
| globals | boolean | – | Also globals (autoloads). |
| run_id | string | – | Default: newest process run. |
| variables | boolean | – | – |
| wait | number | – | Seconds to wait for a stop. |
No output schema declared.
No examples provided.
godot_docs_class Godot class docs ~116
Godot docs: class reference for an engine or project class, or one member ("Class.member"), as markdown.
| Name | Type | Req | Description |
|---|---|---|---|
| inherited | boolean | – | Also list inherited member names. |
| max_chars | integer | – | Cap on the whole result; default 4000, 12000 with members/inherited. |
| members | boolean | – | List members with one-line briefs. |
| name | string | yes | e.g. "CharacterBody2D", "Node.add_child", "@GDScript.preload", a project class_name. |
No output schema declared.
No examples provided.
godot_docs_search Search Godot docs ~73
Godot docs: search the offline class reference (engine + project classes) by class/member name or words.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | – |
| limit | integer | – | – |
| query | string | yes | e.g. "move_and_slide", "Timer", "Node2D.rot", "play sound". |
No output schema declared.
No examples provided.
godot_editor_launch Launch editor ~65
Godot editor: open this project in the Godot editor and wait until the MCP plugin connects (the plugin must be enabled in the project).
| Name | Type | Req | Description |
|---|---|---|---|
| headless | boolean | – | Run the editor without a window (automation, CI). |
| wait_seconds | integer | – | – |
No output schema declared.
No examples provided.
godot_editor_logs Editor log ~75
Godot editor: read messages, warnings and errors printed by the editor process (plugin and tool scripts, import errors; not a running game's prints). Repeats are merged with a count. Page with "since".
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | – |
| limit | integer | – | – |
| since | integer | – | – |
No output schema declared.
No examples provided.
godot_editor_ui Editor UI ~116
Godot editor: get/set the selected nodes, open a script at a line, save all scenes and scripts, or show a toast.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| column | integer | – | – |
| line | integer | – | – |
| message | string | – | toast text. |
| paths | array | – | select: node paths ([] clears). |
| scene | string | – | select/get_selection: scene to open first. |
| script | string | – | open_script: res:// path. |
| severity | string | – | – |
No output schema declared.
No examples provided.
godot_export_preset_set Edit export preset ~97
Godot export: change an export preset's fields/options, or create a preset, in export_presets.cfg.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_new_keys | boolean | – | – |
| allow_secrets | boolean | – | – |
| create | object | – | – |
| preset | – | – | Preset name or index. |
| set | object | – | e.g. {"export_path": "build/game.exe", "binary_format/embed_pck": true}. |
No output schema declared.
No examples provided.
godot_export_presets Export presets ~50
Godot export: list export presets (platform, path, filters, options; secrets redacted) and whether export templates are installed.
| Name | Type | Req | Description |
|---|---|---|---|
| preset | – | – | Show one preset with all its options. |
No output schema declared.
No examples provided.
godot_export_run Export project ~133
Godot export: build the game with an export preset (release, debug, pack-only .pck/.zip, or patch); long-running.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_outside_project | boolean | – | Allow an absolute output path outside the project. |
| mode | string | – | – |
| output | string | – | Output file; default the preset's export_path. Relative = inside the project. |
| patches | array | – | patch: base .pck files (default: the preset's patches). |
| preset | string | yes | Preset name (see godot_export_presets). |
| timeout_s | integer | – | – |
No output schema declared.
No examples provided.
godot_files_delete Delete file ~55
Godot files: delete a file (and its .uid/.import sidecars). Deleting a folder requires recursive: true. This cannot be undone.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | – |
| recursive | boolean | – | – |
No output schema declared.
No examples provided.
godot_files_edit Edit file ~105
Godot files: replace an exact snippet in a text file (old_text -> new_text). old_text must match exactly once unless replace_all. GDScript files are then checked for parse and type errors (as godot_script_validate).
| Name | Type | Req | Description |
|---|---|---|---|
| new_text | string | yes | – |
| old_text | string | yes | Exact text to find, including indentation (tabs vs spaces matter in GDScript). |
| path | string | yes | – |
| replace_all | boolean | – | – |
No output schema declared.
No examples provided.
godot_files_list List files ~135
Godot files: list a project folder (res://...). Skips .godot/ and .git/; hides .uid/.import sidecars and, when recursive, addons/ contents unless all. Use recursive with a glob-like "pattern" (e.g. "*.tscn") to find files by type.
| Name | Type | Req | Description |
|---|---|---|---|
| all | boolean | – | – |
| max | integer | – | – |
| path | string | – | Folder to list, e.g. "res://scenes". |
| pattern | string | – | Filter file names, e.g. "*.gd" or "*player*". |
| recursive | boolean | – | – |
No output schema declared.
No examples provided.
godot_files_move Move or rename file ~64
Godot files: move or rename a file or folder, carrying its .uid/.import sidecar files. References by uid:// keep working; plain res:// references in other files are NOT updated.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | – |
| to | string | yes | – |
No output schema declared.
No examples provided.
godot_files_read Read file ~91
Godot files: read a text file (script, scene .tscn, resource .tres, shader, config) with line numbers. Use offset/limit for long files.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of lines. |
| offset | integer | – | First line to return (1-based). |
| path | string | yes | File path, e.g. "res://player.gd". |
No output schema declared.
No examples provided.
godot_files_search Search files ~98
Godot files: search text across project files (scripts, scenes, resources, shaders). Literal by default; set regex for a regular expression.
| Name | Type | Req | Description |
|---|---|---|---|
| case_sensitive | boolean | – | – |
| max_results | integer | – | – |
| path | string | – | Folder to search in. |
| pattern | string | – | Only files whose name matches, e.g. "*.gd". |
| query | string | yes | – |
| regex | boolean | – | – |
No output schema declared.
No examples provided.
godot_files_write Write file ~109
Godot files: create or overwrite a text file (e.g. a .gd script or .gdshader). GDScript files are then checked for parse and type errors (as godot_script_validate). Prefer godot_files_edit for small changes to existing files.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | – |
| overwrite | boolean | – | Set false to fail instead of replacing an existing file. |
| path | string | yes | File path, e.g. "res://scripts/enemy.gd". |
No output schema declared.
No examples provided.
godot_game_edit Change live game ~84
Godot game: change the running game with ops in order: set properties, call a method (returns its value, awaits coroutines), spawn, remove, change/reload scene. Stops at the first failing op; earlier ops stay (no undo, nothing saved).
| Name | Type | Req | Description |
|---|---|---|---|
| ops | array | yes | – |
| run_id | string | – | Default: newest running game. |
No output schema declared.
No examples provided.
godot_game_eval Evaluate code in game ~131
Godot game: evaluate code in the running game: an Expression with self = node (default; autoloads and singletons by name), or a GDScript body of func run(node, tree, inputs) (use return). Off unless the server runs with --allow-eval.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| inputs | object | – | Named values for the code. |
| mode | string | – | – |
| path | string | – | Node path: relative to the current scene (default ".") or /root/.... |
| run_id | string | – | Default: newest running game. |
No output schema declared.
No examples provided.
godot_game_get Read live node ~124
Godot game: current values of a live node: script variables and non-default properties (or listed ones, "prop:sub" ok), groups; optionally signal connections and script methods.
| Name | Type | Req | Description |
|---|---|---|---|
| methods | boolean | – | – |
| path | string | – | Node path: relative to the current scene (default ".") or /root/.... |
| properties | array | – | Only these; "get_x()" calls a getter; ["*"] = all incl. defaults. |
| run_id | string | – | Default: newest running game. |
| signals | boolean | – | – |
No output schema declared.
No examples provided.
godot_game_input Send input to game ~73
Godot game: send input steps in order (keys, actions, clicks on positions or nodes, drags, scroll, typing, joypad, touch, waits). Reports the Control and physics object under each click.
| Name | Type | Req | Description |
|---|---|---|---|
| run_id | string | – | Default: newest game. |
| steps | array | yes | – |
No output schema declared.
No examples provided.
godot_game_perf Game performance ~134
Godot game: performance monitors of the running game (fps, frame times, memory, objects, draw calls...); optionally sample frames (stats, spikes) and profile script functions.
| Name | Type | Req | Description |
|---|---|---|---|
| monitors | boolean | – | Full monitor snapshot. Default: only when no sample/profile is asked for. |
| profile_scripts_seconds | number | – | Top script functions by self time (process runs). |
| run_id | string | – | Default: newest run, else the editor's game. |
| sample_seconds | number | – | Record every frame: min/avg/p95/max, spikes. |
| top | integer | – | Functions to list. |
No output schema declared.
No examples provided.
godot_game_record Record/replay game input ~118
Godot game: record the game's input events (real and injected) with timestamps, stop to get them as compact JSON (or save to a file), and replay them with the original timing.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| path | string | – | stop: save JSON here (user:// or res://); replay: load from here. |
| recording | object | – | replay: the object stop returned. |
| run_id | string | – | Default: newest game. |
| speed | number | – | replay speed (default 1). |
No output schema declared.
No examples provided.
godot_game_screenshot Game screenshot ~205
Godot game: screenshot the running game (window, a node's viewport, or a region) or the editor's 2D/3D view, scaled down. Can save it and diff against a saved image.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_to | string | – | Saved image to diff with (full resolution; changed_rect in viewport px). |
| format | string | – | – |
| max_size | integer | – | Longest side, px. |
| node | string | – | Node to frame (crop to its screen rect), or a viewport. |
| quality | number | – | JPEG; default 0.85. |
| region | object | – | Crop, in image px (window px with stretch). |
| run_id | string | – | Default: newest run, else the editor's game. |
| save_to | string | – | user:// or res:// .png/.jpg (full size). |
| source | string | – | – |
| tolerance | integer | – | Per-channel diff threshold. |
No output schema declared.
No examples provided.
godot_game_time Game time control ~193
Godot game: pause/resume the whole game (Godot's suspend: no node processes; SceneTree.paused untouched), step frames or physics ticks, set speed, or wait for a node, signal, condition, frames or seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| condition | string | – | Expression on node, e.g. "position.x > 300". |
| frames | integer | – | step: frames to advance (default 1); wait_for: frames. |
| node | string | – | wait_for: node to appear; signal emitter; condition base. |
| physics_ticks | integer | – | step: exactly N physics ticks instead. |
| run_id | string | – | Default: newest game. |
| scale | number | – | speed: 1 = normal. |
| seconds | number | – | wait_for: game seconds. |
| signal | string | – | – |
| timeout_ms | integer | – | – |
No output schema declared.
No examples provided.
godot_game_tree Live game tree ~146
Godot game: the running game's live nodes as a flat list (path, class, script, rect/pos, visible text). Filters list matches only; text "Start" finds the button to click.
| Name | Type | Req | Description |
|---|---|---|---|
| class | string | – | Incl. subclasses. |
| depth | integer | – | – |
| group | string | – | – |
| max_nodes | integer | – | Default 150. |
| name | string | – | Name contains. |
| root | string | – | Default: current scene; "/root" adds autoloads. |
| run_id | string | – | Default: newest running game. |
| text | string | – | Visible text contains (Label, Button, LineEdit...). |
No output schema declared.
No examples provided.
godot_grid_edit Edit tile/grid map ~89
Godot world: paint a TileMapLayer/GridMap with ordered ops (set, erase, fill_rect, terrain; clear wipes all cells). One undo step.
| Name | Type | Req | Description |
|---|---|---|---|
| ops | array | yes | set/erase/terrain take cells and/or rect. Max 10000 cells. |
| path | string | yes | – |
| scene | string | – | Scene; default edited one (required headless) |
No output schema declared.
No examples provided.
godot_grid_read Read tile/grid map ~97
Godot world: read a TileMapLayer/GridMap: cells, bounds and the TileSet tiles/terrains or MeshLibrary items to paint with.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| path | string | yes | – |
| region | object | – | {x,y,w,h}; GridMap +z,d |
| scene | string | – | Scene; default edited one (required headless) |
| summary_only | boolean | – | – |
No output schema declared.
No examples provided.
godot_import_get Get import settings ~66
Godot import: show an asset's importer, non-default options (full: all), uid and whether its imported files exist (imports new assets first).
| Name | Type | Req | Description |
|---|---|---|---|
| full | boolean | – | – |
| path | string | yes | Imported asset, e.g. "res://icon.svg". |
No output schema declared.
No examples provided.
godot_import_set Change import settings ~90
Godot import: change an asset's import options (or importer) and reimport it.
| Name | Type | Req | Description |
|---|---|---|---|
| importer | string | – | Switch importer, e.g. "image", "keep". |
| options | object | – | Option keys from import.get (full), e.g. {"compress/mode": 2}. |
| path | string | yes | Imported asset, e.g. "res://icon.svg". |
No output schema declared.
No examples provided.
godot_input_edit Edit input map ~47
Godot project: edit the input map (actions and their key/mouse/gamepad bindings), applied in order and saved to project.godot.
| Name | Type | Req | Description |
|---|---|---|---|
| ops | array | yes | – |
No output schema declared.
No examples provided.
godot_navigation_bake Bake navigation ~89
Godot world: bake a NavigationRegion2D/3D from its child colliders, meshes, GridMaps and TileMapLayers.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_radius | number | – | – |
| outline | array | – | 2D walkable polygon |
| path | string | – | Region; default the only one |
| scene | string | – | Scene; default edited one (required headless) |
No output schema declared.
No examples provided.
godot_navigation_path Navigation path ~87
Godot world: shortest path between two points over the scene's baked navigation regions.
| Name | Type | Req | Description |
|---|---|---|---|
| from | array | yes | [x,y] or [x,y,z] |
| layers | number | – | – |
| optimize | boolean | – | – |
| path | string | – | – |
| scene | string | – | Scene; default edited one (required headless) |
| to | array | yes | – |
No output schema declared.
No examples provided.
godot_node_add Add node ~235
Godot node: add a node of a built-in type (e.g. Sprite2D, CollisionShape2D, Label) or an instance of a .tscn scene, with optional initial properties. Undoable in the editor.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Child position; omit to append. |
| instance | string | – | Scene to instance, e.g. "res://enemy.tscn". |
| name | string | – | – |
| parent | string | – | Parent node path; "." for the scene root. |
| properties | object | – | Property values. Godot types accept literals ("Vector2(10, 20)"), arrays ([10, 20]), "#ff0000" colors, "res://" paths to load resources, or {"new": "CircleShape2D", "properties": {...}}. |
| scene | string | – | Scene file, e.g. "res://main.tscn". Defaults to the scene open in the editor; required when the editor is closed. |
| type | string | – | Node class, e.g. "Sprite2D". Give type or instance. |
No output schema declared.
No examples provided.
godot_node_duplicate Duplicate node ~102
Godot node: duplicate a node (with children, script and properties) next to the original.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | – |
| path | string | yes | Node path relative to the scene root ("." is the root), e.g. "Player/Sprite2D". |
| scene | string | – | Scene file, e.g. "res://main.tscn". Defaults to the scene open in the editor; required when the editor is closed. |
No output schema declared.
No examples provided.
How do I install the Godot MCP server?
Godot MCP runs locally as an npm package, launched with npx -y @shin2344234/godot-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @shin2344234/godot-mcp
claude mcp add shin2344234-godot-mcp -- npx -y @shin2344234/godot-mcp
What is the Godot MCP server?
Godot MCP is listed in the public MCP registry as io.github.shin2344234/godot-mcp. Edit Godot 4 scenes, nodes and scripts; run, test and debug games live in the editor or headless. This page covers its npm package (@shin2344234/godot-mcp).
Is the Godot MCP server safe to use?
Godot MCP scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Godot MCP server expose?
Godot MCP exposes 91 tools: godot_status, godot_addon_install, godot_project_info, godot_project_settings, godot_files_list, and 86 more. Their descriptions and schemas cost roughly 9,099 tokens of context every time the server is loaded.
Is the Godot MCP server still maintained?
Godot MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Godot MCP server under?
Godot MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.