Erodenn/godot-mcp-runtime
MCP Developer ToolsA lightweight MCP server that provides headless editing and runtime control for Godot 4.x projects without requiring any addon or project changes
Features
- Headless scene, node, script, and signal editing with full validation
- Runtime bridge enabling screenshots, input simulation, UI discovery, and live GDScript execution on a running game
- Zero‑footprint operation – no Godot addon needed, auto‑cleans up on shutdown
Recent releases
View all 19 releases →
v3.0.0
Breaking risk
Breaking changes
- `take_screenshot` now requires `responseMode` (default `preview`).
- `set_node_property` / `*_batch` merged into `set_node_properties`; input must be an array.
- `delete_node` renamed to `delete_nodes`; always expects an array.
Full changelog
Main v3 work: #12 @Erodenn.
Breaking changes
- Compact screenshots (#11, thanks @johanravn).
take_screenshotgetsresponseMode:preview(new default, 960×540 inline + full PNG saved),full,path_only. - Property tools batched.
set_node_property/*_batchcollapse intoset_node_properties; same forget_node_properties. Always-array input — one-element for one-off, many for batched. delete_node→delete_nodes. Always-array, batched delete.manage_uidsremoved.validatecovers it.
Changes
- Persistent TCP bridge replaces per-call UDP. Removes the silent ~65 KB payload ceiling on
run_script/get_ui_elements, sidesteps AV/EDR interference, and turns crashes into ms-level rejects instead of 10 s timeouts. stop_project/detach_projectsend ashutdownfirst so the port releases cleanly.- Vector/Color coercion.
{x,y}/{x,y,z}/{r,g,b,a}dicts now write as typed literals, not dictionaries. connect_signalserializes withCONNECT_PERSIST— connections survive save/reload.validatetreats stderr noise as failure; the GDScript flag alone was unreliable.load_spriteerrors explicitly on non-Texture2Dor unimported assets instead of silently no-op'ing.- Path resolution accepts
"",".","root", the scene root's name, androot/...prefixes. simulate_inputauto-derivesunicodefor ASCII soLineEdit/TextEditreceive typed text; pass explicitly for symbols/non-ASCII.- Bridge inject always overwrites the script — fixes stale-script issues across upgrades.
- Internal:
BridgeManager,autoload-ini,executeSceneOpextracted;project-tools.tssplit. 704 unit tests.
Full Changelog: https://github.com/Erodenn/godot-mcp-runtime/compare/v2.3.0...v3.0.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
About
Stars
30
Forks
7
Languages
TypeScript
GDScript
JavaScript
Downloads/week
280
↑346%
NPM Maintainers
1
Single npm maintainer
Contributors
3
TypeScript
Types included ✓
Install & Platforms
Install via
npm
Similar tools
Alternative to
Playwright MCP