Beckett: zero-sidecar MCP server for Godot 4.2+ (the AI sees, and optionally playtests, your game)

Hi all. I built Beckett, an MCP server that lives inside the Godot 4 editor as a single GDScript
EditorPlugin. Full disclosure up front: I made this, the free Lite edition is MIT, and there is a paid Full edition ($15 one-time). I am posting it here because I think the architecture is worth a
look even if you never buy anything.

What it is. An AI assistant (Claude Code, Cursor, VS Code with Cline or Copilot, Windsurf, Claude
Desktop, or any Streamable-HTTP MCP client) connects to your editor over local HTTP and works on your project. There is no Node.js, no Python, no second process, and no cloud. The editor plugin is the
server: a TCPServer polled on the main thread. It is for your own project workflow, not for engine
contributions.

Who it is for. Solo devs and small teams who want an assistant that can actually inspect, author,
run, and observe a Godot project instead of guessing at it blind.

What Lite does, free (MIT). The complete inspect, author, run, and see loop. The AI can run your
game and then see it: screenshot the running game, read its live remote scene tree and live node
state, read performance monitors, and tail game logs. It also does validate-before-write (it refuses to write GDScript that does not compile), a C# dev loop (a compile-check with structured diagnostics, plus reflection over your C# [GlobalClass] types), undo and batch rollback, and one-step install.

What Full adds ($15, one-time, lifetime updates, no subscription). The AI drives the game
(simulate input, click 2D and 3D UI, scroll, drag, record and replay) and verifies it (assert node
state, assert on-screen text, scene-structure asserts, screenshot diff), plus deterministic playtest
control (freeze the game, step exact physics frames, or run until a live-state condition is true),
an in-editor test runner, animation authoring, mass placement, background export jobs, Asset Library install tools, project-wide analysis, and 37 skill knowledge packs. 81 tools total.

Install (about a minute). Copy addons/beckett/ into a Godot 4.2+ project and enable the plugin,
or install Lite from inside the editor: open the AssetLib tab and search “Beckett”. Enabling the
plugin auto-starts the server and writes .mcp.json, so claude (or Cursor) connects with no hand editing.

On safety and staying in control. This matters to me, so it is built in. The AI proposes; gates
verify. It is localhost-only with an Origin check, an optional bearer token, and read-only / allowlist / confirm-destructive modes. Every scene edit is undoable, and the last 200 tool calls are
in an audit log you can read. Nothing here touches engine core or contribution workflows; it edits
your project, and you can see and undo everything it does.

Links: itch Beckett — MCP for Godot by beckettlabs | GitHub
GitHub - beckettlab/beckett-godot-mcp: Zero-sidecar MCP server inside the Godot editor. AI agents (Claude Code, Cursor) inspect, author, run and SEE your game. GDScript + C#, validate-before-write, no Node.js. Godot 4.2+. Free Lite; Full adds autonomous playtesting. · GitHub | Asset Library
Beckett (AI MCP for Godot) - Godot Asset Library | Discord BeckettLabs | Demo

I will keep this thread updated with each release. Feedback and bug reports very welcome.

v1.7.0 is out. The Full edition’s simulate_input now injects gamepad input (joy_button and joy_axis, analog values included, so Input.get_vector movement works) and touchscreen input (touch and touch_drag, multitouch via the index field), and record_input / replay_input round-trip them, so a recorded controller session replays exactly. Captured-mouse look is verified as well, for games reading event.relative in _input. One honest limit, stated in the tool description: injected events drive the action system and _input callbacks, not raw polling APIs like Input.get_joy_axis. Tool count intentionally stays 81; everything landed inside existing tools. On the free side, the public repo now runs a cross-platform CI matrix (Ubuntu on Godot 4.4.1 and 4.6.2, macOS and Windows on 4.6.2) that parse-checks, boots a headless editor, and probes the live MCP surface on every push, so Windows / Linux / macOS support is a tested claim. Also 3 new skill packs (input-devices, profiling, http-networking; 40 total). Same human-in-control design as always: the AI proposes, the gates verify, and every edit stays undoable and audited.

v1.8.0 is out: playtest suites. The Full edition gains a playtest tool that saves a recorded
input run plus asserts as a file in your project and replays it deterministically, frame-exact,
into the running game, then checks node state / a GDScript expression / on-screen text / a
screenshot and reports pass/fail. record_input now stamps each event’s physics frame and replay
injects at that frame while the game runs unpaused, so both _input callbacks and polled Input
(get_vector, is_action_pressed) reproduce the run identically - a real regression test. A headless
runner plays every saved suite in your own CI and exits non-zero on failure, so the playtests keep
verifying. Honest limits, stated in the tool: record with key/mouse/gamepad/touch events (not
synthetic actions), rerun from a fresh play session, and replayed input drives the action system
and _input, not raw hardware polling. This is the first tool added since 1.5 (82 total); a durable
rerunnable suite is a new capability class. The free Lite edition is unchanged at 50 tools. Same
human-in-control design: the AI proposes, the asserts verify, and every edit stays undoable and
audited.