MCP server for Godot game engine integration β control the Godot editor with AI
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Every Godot MCP server lets an AI drive the editor. This one also tells the AI what you just did β the scene you opened, the node you selected, the file you saved β so you can both work in the same project at the same time without stepping on each other. Add a real step-debugger, scope-aware refactoring through Godot's language server, live-tree edits that never clobber your unsaved work, and 231 tools that were each verified against a running editor rather than just written.
Started as a fork of tomyud1/godot-mcp (MIT
licensed) and has since diverged substantially β see CHANGELOG.md.
"The player falls through the floor sometimes. Set a breakpoint in
_physics_processand tell me whatvelocityis when it happens."
"Build me an enemy: CharacterBody2D, circle collider, sprite, patrol script, and put it in the
enemiesgroup."
"Run the game, press jump, screenshot it, and tell me if the animation played."
"Which of my resources aren't referenced by anything anymore?"
"Export a Windows debug build and tell me when it's done."
Under the hood that's a breakpoint hit read from a paused frame, a scaffolded scene tree, a runtime input + screenshot loop, a dependency sweep, and an async headless build β but you don't have to know which tool does which.
Real output from the test project β delta is exactly 1/60, matching its 60 Hz
physics tick.
It's bidirectional. The AI can poll get_editor_activity to see what you just did
in the editor β selection, scene open/close/save, script focus, resource saves, asset
reimports, undo/redo, which screen you're on β tagged human vs its own actions. It finds
out you moved something without having to ask. Every other Godot MCP is one-directional:
the AI drives, and is blind to you. (Checked by reading the source of 12 competing
servers in July 2026, not their READMEs.)
It doesn't clobber your work. Many Godot MCP servers edit your .tscn files on disk.
If you have that scene open with unsaved changes, they silently overwrite it. Here, when
a scene is open, every mutating tool edits the live editor tree instead β your
unsaved edits survive and every change goes through Godot's undo system (Ctrl+Z
works). Closed scenes still edit on disk as usual.
The claims are tested, not asserted. 526 GDScript checks against the tool handlers, 147 Node tests for the bridge and the tool registry, and 43 that drive a real Godot editor β creating scenes, mutating one that is open, launching an actual game β on every push, on both Godot 4.5 and 4.7. Every one of the tools that writes to your project has automated coverage.
That suite is not decoration; it is where the bugs came from. It caught close_scene_tab
being broken on 4.5 (the minimum this README promises), a run_scene that froze the
whole editor for its entire timeout on every single call, and a res:// texture path
that five different tools accepted and silently threw away. Each of those was found by a
test that failed, not by reading the code β and each is in
CHANGELOG.md with what it cost.
See Limitations for what it still can't do.
More of what it does:
print() output.export_project β get_export_status).run_gut_tests executes your GUT unit suite (sync or async)
and reports pass/fail, so the AI acts on real results instead of guessing.await signals, game_eval
a snippet, record/replay input, snapshot the live tree, even a multiplayer peer-spawn
harness (spawn_headless_peers) β deterministic playtesting without screenshots.wire_signal connects a signal and generates
the correctly-typed handler; generate_onready_refs emits typed @onready vars for a
subtree; scaffold_entity builds a character (body + collision shape resource + sprite
scaffold_state_machine lays out a working FSM.
Physics layers can be set by name instead of bit indices.find_unused_resources, detect_circular_dependencies,
analyze_scene_complexity, and analyze_signal_flow (which catches connections whose
handler doesn't exist β a bug that otherwise only shows up at runtime).scene_diff takes a snapshot id
and then returns only the added, removed and modified nodes (with before/after
values), so the agent stops paying for a full read_scene every time it looks back.
It catches your edits too, not just its own.mp_diagnose flags an .rpc()
call to a method with no @rpc annotation, a synchronizer replicating nothing, and
a spawner whose spawn_path goes nowhere. None of those error when you write them;
all of them look like "the client is broken" when a second peer joins.compare_screenshots diffs two frames and reports the changed
percentage and region, so "did my change actually alter the screen?" has an answer.click_control_runtime({text: "Start"}), which refuses and lists candidates if the
text is ambiguous), then assert what's on screen with assert_screen_text β reading the
live Control tree, so it works headless with no OCR.sync_localization registers the
.translation files Godot generated from your CSV (the manual step that silently makes
a language never load) and reports every key you haven't translated yet, per locale.npx godot-mcp-bridge install installs and enables the
addon in one command; doctor diagnoses a broken setup; diagnose_connection tells the
AI exactly why the editor isn't connecting.batch_execute / batch_scene_edit cut N calls to one; heavy reads
(read_scene, scene_tree_dump, classdb_query) take max_depth/filter to stay
token-cheap; only 37 tools load by default so the agent stays focused. Measured, not
claimed β see below.gd_rename and gd_references go through Godot's
language server, so they understand scope: renaming a local speed won't touch an
unrelated class's speed the way a text search would. gd_diagnostics surfaces type
errors without running the game.mp_add_spawner / mp_add_synchronizer build Godot 4's
replication nodes (including the SceneReplicationConfig sub-resource that makes them
tedious by hand), mp_wire_rpc writes correctly-annotated @rpc methods, and
mp_scaffold_lobby generates the host/join plumbing.create_csharp_script scaffolds the boilerplate, and csharp_status
tells you up front whether C# can work here at all. The standard Godot build has no C#
support: a .cs file saves fine, attaches to nothing, and fails silently. Better to
find that out before writing any.GODOT_MCP_TOOLSETS=runtime,debug (or all) puts those tools in the FIRST tool list. Enabling one mid-session relies on the client re-fetching list_tools, and several clients cache it for the session; presetting sidesteps that entirely.GODOT_MCP_REQUIRE_CONFIRM=true and operations with
no undo path (file deletes/renames, script rewrites, mass renames, project settings)
require an explicit confirm: true. Edits to an open scene are exempt β those do
land on Godot's undo history, so Ctrl+Z (or undo_last) already covers them.validate_scripts sweeps every .gd (loading each the wayFactual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/godot-mcp-bridge)<a href="https://allmcps.com/mcp/godot-mcp-bridge"><img src="https://allmcps.com/api/badge/godot-mcp-bridge?style=directory" alt="Godot MCP Bridge on AllMCPs" /></a>