godot-mcp-bridge — live-tree editing

Started as a fork of tomyud1/godot-mcp — full credit to Tomer for the original architecture (Node ↔ WebSocket ↔ editor plugin). It’s diverged enough since then that I’m sharing it as its own project rather than a PR: godot-mcp-bridge.

What’s different:

  • Live-tree editing. Most Godot MCP servers edit your .tscn files on disk. If you have that scene open with unsaved changes, they silently overwrite your work. This one doesn’t — when a scene is open, every mutating tool edits the live editor tree instead, so unsaved edits survive and structural changes go through Godot’s own undo system (Ctrl+Z works).
  • Works alongside you, not just for you. The AI can poll get_editor_activity to see what you just did in the editor — selection, scene open/close/save, undo/redo, which screen you’re on — tagged human vs. agent. Real pair-programming instead of one-directional edits.
  • Drives the running game, not just the editor: input (keyboard/mouse/gamepad/touch), game_eval for arbitrary GDScript in a live instance, node/property inspection, signal awaiting, input record/replay, even a headless multiplayer peer-spawn harness for testing netcode.
  • Real headless export via a shadow-workspace clone — builds an actual game binary asynchronously without freezing the editor.
  • Runs your actual GUT test suite and reports pass/fail, instead of the AI guessing whether something works.
  • 185 tools, 35 loaded by default — grouped by intent (runtime, scaffolding, analysis, physics, animation, etc.) so the agent isn’t drowning in an oversized default tool list.
  • Path-sandboxing against traversal, one-command npx godot-mcp-bridge install setup, and a doctor command that tells you exactly what’s misconfigured.

Godot 4.x, MIT licensed, works with Claude Desktop, Cursor, Claude Code, or any MCP client.

Feedback and issues very welcome — still actively working on it.