Skip to content

Erodenn/godot-mcp-runtime

MCP Developer Tools

A lightweight MCP server that provides headless editing and runtime control for Godot 4.x projects without requiring any addon or project changes

TypeScript Latest v3.1.2 · 14d ago Security brief →

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 →
No immediate action
v3.1.2 Bug fix

Emit structuredContent

Config change
v3.1.1 Bug fix

GODOT_PATH misconfiguration handling

No immediate action
v3.1.0 New feature

Multi‑runtime bridge support

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_screenshot gets responseMode: preview (new default, 960×540 inline + full PNG saved), full, path_only.
  • Property tools batched. set_node_property / *_batch collapse into set_node_properties; same for get_node_properties. Always-array input — one-element for one-off, many for batched.
  • delete_nodedelete_nodes. Always-array, batched delete.
  • manage_uids removed. validate covers 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_project send a shutdown first 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_signal serializes with CONNECT_PERSIST — connections survive save/reload.
  • validate treats stderr noise as failure; the GDScript flag alone was unreliable.
  • load_sprite errors explicitly on non-Texture2D or unimported assets instead of silently no-op'ing.
  • Path resolution accepts "", ".", "root", the scene root's name, and root/... prefixes.
  • simulate_input auto-derives unicode for ASCII so LineEdit / TextEdit receive typed text; pass explicitly for symbols/non-ASCII.
  • Bridge inject always overwrites the script — fixes stale-script issues across upgrades.
  • Internal: BridgeManager, autoload-ini, executeSceneOp extracted; project-tools.ts split. 704 unit tests.

Full Changelog: https://github.com/Erodenn/godot-mcp-runtime/compare/v2.3.0...v3.0.0

No immediate action
v2.3.0 New feature

Annotations, output schemas, descriptions

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

Alternative to

Playwright MCP

Beta — feedback welcome: [email protected]