
Godot MCP
io.github.satelliteoflovePublished by GitHub account satelliteoflovev4.1.11Updated Oct 25, 2026
Agent-driven Godot playtesting: editor control, input injection, game-time stepping, live state.
Overview
A local MCP server that gives an AI assistant control of the Godot editor and a running game for automated playtesting and verification.
- What you can do
- Open, save and inspect scenes, nodes, resources, animations, TileMap and GridMap cells, and 3D transforms in the editor, with edits to properties, tracks and cells where supported. Read editor state, selection, screenshots and the error log, and run, stop or restart the game and control the 2D viewport. Inject input into the running game: named actions with analog strength, joypad buttons and sticks, raw keys, mouse-look and typed text. Freeze, step and step-until on the game clock, and read live entity state, watch windows and signal timelines as JSON. Run GDScript inside the running game to set up scenarios, take profiler snapshots and time series, validate procedural meshes, and fetch God
- When to use it
- Useful when an assistant should test a Godot 4.5+ project itself: reproduce a bug, drive the game like a player, confirm a change actually works, or profile frame spikes, instead of relying on screenshots and logs passed back and forth.
- Requirements
- Runs locally via npx, so Node.js 20+ is needed, plus Godot 4.5+ with the bundled addon installed and enabled in the project. The server reaches the editor addon over a local WebSocket on port 6550, bound to 127.0.0.1 by default; GODOT_HOST overrides the host for WSL2 or remote setups. Any stdio MCP client works.
Installation
In SourceWeft
- Open Godot MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
godot-mcp
[npm version] [CI] [Godot 4.5+] [Node 20+] [License: MIT]
Give your AI assistant eyes and hands in the Godot editor — and a running game it can actually playtest.
Why this one?
There are a few Godot MCP servers out there, and most can open a scene and poke at nodes. This one is built around a harder problem: letting an agent verify its own work. Run the game, drive it like a player, observe what actually happened, and prove the change did what it claimed — without you ferrying screenshots and error logs back and forth.
The pieces that make that possible, and that you won't find elsewhere:
- Deterministic playtesting. Freeze the game clock, step exact slices of game time (or step until a condition holds), with inputs riding inside the window. Observation never races the game.
- Cheap observation. Live entity state — positions, velocities, animation state, your own custom data — as structured JSON. Most "what's happening on screen?" questions get answered without spending vision tokens on a screenshot.
- Real input. Named actions with analog strength, joypad buttons and stick vectors, raw keys with modifier combos, relative mouse-look, text typing. Sequences run with precise timing and can prove they changed game state.
- Scenario setup. Run GDScript inside the running game: grant the weapon, skip to wave 3, spawn a test bot — no debug hooks baked into your game code.
Here's what that looks like when an agent tests a boss fight:
Less copy-paste, more creating.
Quick Start
1. Configure your AI assistant
Add godot-mcp to your MCP client. See the Installation Guide for config examples (Claude Desktop, Claude Code, VSCode/Copilot, and more). The short version:
2. Install the Godot addon
Enable it in Godot: Project > Project Settings > Plugins > Godot MCP
3. Start building
Open your Godot project, restart your AI assistant, and start building. If anything refuses to connect, the Troubleshooting Guide has you covered.
What's in the box
21 tools, 86 actions. Full API docs in the Tools Reference.
A note on shape: tools split along the read/write boundary, so every godot_*_read tool (and the other read-only tools) can be safely auto-allowed in your client's permission settings while writes stay gated. Related operations still live as actions inside one tool, so your agent's context isn't flooded with definitions it won't use. Anything an agent can do by editing project files directly — creating scenes and nodes, attaching scripts, connecting signals — is deliberately not duplicated as a tool; the bridge covers what files can't: editor state, verification, binary-encoded cell data, and the running game. A --read-only flag serves the look-but-don't-touch use case.
Things to ask for
A feel for what an agent can do with this, in plain prompts:
- "Run the game and screenshot the title screen. Does the layout survive 1280x720?"
- "The player can clip through the east wall. Reproduce it, then check the collision shapes and tell me why."
- "Step the game until the second wave spawns and give me every enemy's position and velocity."
- "Hold the left stick at half deflection for two seconds — does the walk animation blend correctly?"
- "Profile ten seconds of gameplay and find what's causing the frame spikes."
- "Add a hit-flash animation to the Player: modulate to red and back over 0.2 seconds."
For richer runtime observation, add key nodes to the mcp_watch group or give them a _mcp_state() method — see the Runtime State Guide.
How it works
The server talks to an editor addon over a local WebSocket; the addon reaches into the running game over Godot's own debugger protocol, so the game process needs no extra ports or setup. The addon binds to 127.0.0.1 by default. WSL2 is fully supported (auto-detection, host IP discovery, configurable bind modes) — see the Installation Guide.
Curious about connection lifecycles, the single-client policy, or how frozen-time stepping works under the hood? The Architecture Guide goes deep.
Works well with minimal-godot-mcp
minimal-godot-mcp by @ryanmazzolini covers exactly what this server doesn't: LSP diagnostics for fast static GDScript checking, and the running game's console output over DAP. This server covers everything that needs an editor bridge. No overlap, no conflict — run both, and your agent gets static analysis and the game console alongside full editor and runtime control.
One caveat: a Godot editor serves a single godot-mcp client at a time. Extra clients (a subagent inheriting your MCP config, say) wait their turn rather than hijacking your session — details in Troubleshooting.
Documentation
- Installation Guide — MCP client configs for Claude Desktop, Claude Code, VSCode/Copilot, and more
- Migrating to v4 — renamed tools, removed actions, allowlist updates
- Troubleshooting — connection checklist, CLI smoke test, common fixes
- Claude Code Setup Guide — CLAUDE.md template for Godot projects
- Runtime State Guide — expose game state to agents via
mcp_watchand_mcp_state() - Tools Reference — all 21 tools with full API docs
- Architecture Guide — how the server, addon, and game bridge fit together
- Contributing — dev setup, adding tools, release process
- Changelog — release history
Requirements
- Godot 4.5+ (the addon uses the Logger class introduced in 4.5)
- Node.js 20+
- Any MCP client that speaks stdio
Development
There is also an agentic eval harness (npm run eval) that runs realistic
tasks through headless Claude Code against a real project — see
server/evals/README.md. It never starts Godot; you
bring the open editor.
Contributions welcome — this project favors tools that solve real, time-wasting problems. Read CONTRIBUTING.md before building something big, or open an issue and we'll figure out the right shape together.
License
Source: README.md at commit c732865
Tools
0Version history
1- v4.1.11LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts