Beckett — MCP for Godot
Beckett is a zero-sidecar MCP server embedded in the Godot 4 editor that lets AI agents inspect, author, run, and visually observe your game over HTTP — supporting both GDScript and C#.
Reflection & Discovery — Get the Godot version, search engine/project classes (including GDScript class_name and C# [GlobalClass]), describe class properties/methods, find methods by name, inspect live object properties, and retrieve project statistics.
Scene Authoring (Undoable) — Create, delete, rename, reparent, duplicate, reorder, and instantiate nodes; open, save, and switch scenes; set properties and call methods on any node/object.
Script Development
GDScript: Validate (compile-check without saving), write (with compile validation), patch existing scripts surgically, read scripts, and attach scripts to nodes.
C#: Compile-check projects via
dotnet buildwith structuredfile:line:coldiagnostics;[GlobalClass]types are reflected.
Signals & Resources — Connect, disconnect, and list node signals; create and save Resources to .tres files; assign resources or inline sub-resources to node properties.
File System & Project Settings — Read/write files, list directories, search file contents by substring or regex, and get/set project settings.
Run Loop — Play/stop scenes, check play state, wait for conditions (game connected, file exists, etc.), and tail Godot's log file.
Runtime Observation — Capture screenshots of the running game or editor viewport; dump the live remote scene tree; find, monitor, and read properties of live nodes across frames; poll performance metrics (FPS, memory, draw calls, physics); stream real-time logs, errors, and stack traces from the running game.
Automation & Templates — Execute multiple tool calls atomically with rollback on failure (batch_execute); apply bundled or custom project templates.
MCP Resources & Prompts — Access scene tree, selection, project settings, asset list, logs, and audit history as MCP resources; use pre-built prompts for common tasks (inspecting nodes, fixing script errors, setting up 2D players, etc.).
Security & Control — Localhost-only with origin validation, optional bearer token, read-only mode, destructive operation confirmation, and an AI-effort slider via the editor dock panel.
Beckett — MCP for Godot
Stop waiting for Godot.
Beckett is a zero-sidecar Model Context Protocol (MCP) server embedded directly in the Godot 4 editor as a GDScript EditorPlugin. AI agents (Claude and others) drive the editor over HTTP — no Node/Python bridge, no second process, no cloud.
This repository is the free, MIT-licensed Lite edition: the complete inspect → author → run → SEE dev loop (50 tools), for GDScript and C#. The AI can now watch your running game on the free tier: screenshot it, read the live remote scene tree and node state, poll performance monitors, and tail the game's logs. The paid Full edition makes the AI the playtester (it drives input, clicks 2D/3D and UI, and asserts the results), plus a test runner, animation tools, scatter_nodes, background exports, project-wide analysis, and 37 knowledge packs. See What Full adds.
Lite: the AI sees your game. Full: the AI playtests it.
Demo

Related MCP server: godot-forge
Why
Existing Godot MCP servers either shell out to the CLI (can't play the game, screenshot, or inspect runtime) or run a Node/Python sidecar that relays to a thin in-editor addon. This one makes the addon itself the MCP server, and exposes reflection-generic tools that work on any class via ClassDB — instead of hundreds of hand-coded per-domain wrappers (an anti-pattern: LLMs degrade past ~40 tools).
Highlights
Zero-sidecar —
TCPServerHTTP/JSON-RPC server polled on the editor main thread. No marshalling, nothing extra to install beyond the addon.The AI sees your game (free) —
screenshotthe running game, read the live remote scene tree (get_remote_tree/find_nodes/wait_for_node), read live node state (runtime_get_property/monitor_properties), pollget_performance_monitors, and tailgame_logswith stack traces. The free tier can watch and diagnose the running game; Full closes the loop by driving input and asserting the result.GDScript and C#, one addon, zero sidecar — the C#/.NET dev loop is free too:
build_csharpruns adotnet buildcompile-check that returns structuredfile:line:col+ CS-code diagnostics (safe while the editor is open, no new dependency beyond the .NET SDK a C# project already needs),write_scriptis.cs-aware, and reflection surfaces your C#[GlobalClass]types just like GDScriptclass_name.Reflection-first + discovery —
find_classes/describe_class/find_methodsmake the whole engine surface searchable;describe_object/set_property/call_methodthen drive anyNode/Resource/Object. Reaches TileMap, GPUParticles, AnimationTree, NavMesh, shaders… with no per-domain code.GDScript dev-loop with validate-before-write —
write_script/script_patchparse the code first and refuse to write what doesn't compile (closing the #1 AI-on-Godot failure: hallucinated GDScript). Godot's edge over UE: reload needs no compile step.Undoable authoring — every scene/node mutation goes through
EditorUndoRedoManager(atomic + undoable);batch_executerolls a whole batch back on failure.One-step install — enabling the plugin auto-starts the server and writes
.mcp.json, soclaude/Cursor connects with zero hand-editing (no Node.js to install — the competitor needs it just to try).Security — localhost-only with
Originvalidation (anti DNS-rebind) + optional bearer token; read-only / allowlist / confirm-destructive gates; auto-start is opt-out (beckett/autostart=false).Run → see loop —
play_scene→wait_until→logs_read→screenshot/get_remote_tree→ fix: launch the game, tail its output and errors, then look at the running frame and live scene tree to diagnose. (Full closes the loop autonomously: the AI drives the game and asserts.) Plus MCP Resources + Prompts.Dock panel — status, one-click Start/Stop, copy-client-config, and an AI-effort slider (1–4 in Lite; L4 = See) that caps how many tools are advertised: cheaper model context when you only need a slice. Applies live, no reconnect — the server pushes
notifications/tools/list_changedover its SSE stream and list-changed-aware clients (Claude Code, Cursor, …) re-fetch on the spot.Responsive even unfocused — while MCP traffic is active the server clamps the editor's low-processor sleep, so calls stay fast when you're focused on the terminal instead of the editor (the usual agent setup).
Spec-current MCP — protocol version negotiation, tool annotations (
readOnlyHint/destructiveHint/openWorldHint) on every tool, andstructuredContent(2025-06-18) alongside text results. An audit ring (audit://recent) records the last 200 tool calls — see everything the AI did.
Tools (50) · Resources (6) · Prompts (6)
Fewer tools, on purpose — that's the moat, not a limitation. Most Godot MCPs hand-code one tool per task (
create_sprite,add_collision,make_timer…) — hundreds that still miss classes and flood the model's context (LLMs measurably degrade past ~40 tools). Beckett's are reflection-generic:describe_class/set_property/call_methoddrive any of Godot's 1000+ classes throughClassDB— TileMap, GPUParticles, AnimationTree, shaders, your ownclass_nameor C#[GlobalClass]— with no per-domain code. Don't count tools, count coverage: a smaller, sharper toolset that reaches the whole engine beats a hundred narrow wrappers that don't.
The free Lite edition — the complete inspect → author → run → see loop, for GDScript and C#:
Reflection / discovery:
get_godot_version,find_classes,describe_class,find_methods,describe_object,set_property,call_method,get_scene_treeScene authoring (undoable):
create_node,delete_node,rename_node,reparent_node,duplicate_node,move_node,instance_scene,save_scene,open_sceneGDScript dev-loop:
validate_script,write_script,script_patch,read_script,attach_scriptC#/.NET dev-loop:
build_csharp(adotnet buildcompile-check returning structuredfile:line:col+ CS-code diagnostics, safe while the editor is open, zero new dependency;write_scriptis.cs-aware and C#[GlobalClass]types show up in reflection)Signals:
connect_signal,disconnect_signal,list_signalsResource assets:
create_resource,set_resourceFiles / project:
read_file,write_file,list_dir,search_files,get_project_setting,set_project_settingRun loop:
play_scene,stop_scene,get_play_state,wait_until,logs_readRuntime observation (the AI sees your game):
screenshot,get_remote_tree,find_nodes,wait_for_node,runtime_get_property,monitor_properties,get_performance_monitors,game_logsProject / authoring helpers:
get_project_statistics,apply_template,batch_executeMCP Resources:
scene://tree,scene://selection,project://settings,assets://list,log://output,audit://recentMCP Prompts:
inspect_node,audit_scene,setup_2d_player,fix_script_errors,build_test_fix,make_game
What Full adds
The Full edition is the same core plus a premium layer that makes the AI the playtester: it sees the screen, presses the buttons, and verifies the result. 80 tools, 37 skill packs total:
The AI drives:
simulate_input, UI clicks in 2D + 3D (click_button_by_text/click_control/click_node3d/click_world),scroll/drag,get_control_rect/find_ui_elements, liveruntime_call/runtime_set_property, andrecord_input/replay_input.The AI verifies:
assert_node_state,assert_screen_text,assert_scene,compare_screenshots, plus the in-editor test runner (test_run).Author + ship:
animation_manage(keys / tracks / presets),scatter_nodes(Scene-Paint mass placement), backgroundexport_project+job_status, project-wide analysis (find_unused_resources,detect_circular_dependencies), and the Godot Asset Store / Library browser-installer (asset_lib_search/asset_lib_info/asset_lib_install).37 skill knowledge packs (
list_skills/load_skill): gdscript, particles, animation, ui, physics, multiplayer, mobile, and more, so reflection reaches each domain with no per-domain tools.
Full is a one-time purchase ($15) with lifetime updates: https://beckettlabs.itch.io/beckett-godot-mcp
How it compares
Beckett is one of only a few embedded (zero-sidecar) servers in the field, and the only one that puts seeing the running game in a free tier. The other players have real strengths (raw tool count, mindshare, breadth), so here's an honest side-by-side. (Competitor figures are their own published numbers; they ship far more hand-coded per-domain tools, which is a different design choice, not strictly "more capability": see Why.)
Beckett Lite (free, MIT) | Beckett Full ($15) | CLI shell-out (e.g. Coding-Solo, free) | Sidecar (godot-mcp-pro, $15, Node 18+) | Native (free, embedded, 4.6+ only) | |
Zero sidecar (no Node/Python) | ✅ | ✅ | ❌ (Node CLI shell-out) | ❌ (Node 18+ + TS server) | ✅ (embedded) |
The AI sees the running game (screenshot, live tree, live state) | ✅ free | ✅ | ⚠️ CLI debug output only | ✅ (paid) | ✅ (free) |
The AI drives + asserts (playtest: input, clicks, asserts) | ❌ | ✅ | ❌ | ✅ (input record/replay) | ⚠️ partial |
Validate-before-write (refuses non-compiling GDScript) | ✅ | ✅ | ❌ | ❌ | ❌ |
C# + GDScript | ✅ | ✅ | ❌ (GDScript) | ❌ (GDScript) | ❌ (GDScript) |
Godot 4.2+ | ✅ | ✅ | varies | varies | ❌ (4.6+ only) |
Tool count | 50 | 80 | ~12 | ~163 | 154 |
No trash talk intended: Coding-Solo is the mindshare leader (~4,000★), godot-mcp-pro ships the broadest curated toolset (~163) with input record/replay, and Native gives away 154 tools embedded. Beckett's bet is a smaller reflection-generic surface that reaches the whole engine, validate-before-write, both languages, 4.2+ reach, and the AI seeing your game in the free tier.
Use
Install from the editor. In Godot, open the AssetLib tab, search "Beckett", and install (asset #5296). Or copy
addons/beckett/into your project manually.Enable Beckett — MCP for Godot in Project → Project Settings → Plugins (works on Godot 4.2+; verified on 4.4.1, 4.6.2 & 4.7, CI-tested on Windows, Linux & macOS). Enabling it auto-starts the server and writes
.mcp.json. (Opt out:beckett/autostart=false,beckett/auto_write_client_config=false. Other options:BECKETT_PORTdefault8770,BECKETT_TOKEN,BECKETT_READONLY=1,BECKETT_ALLOWLIST,BECKETT_CONFIRM_DESTRUCTIVE=1. Panel has Start/Stop.)Connect your client. For Claude Code, just run
claudein the project — the auto-written.mcp.jsonwires it up (/mcp→ beckett). For Cursor/others, point athttp://127.0.0.1:8770/mcp(Streamable HTTP) or use the panel's Set up … buttons. See INSTALL.md.
Status
This is the free, MIT-licensed Lite edition — the inspect → author → run → see core: reflection/discovery, scene & script authoring for GDScript and C# (with build_csharp compile-check), signals, resource create/assign, files & project settings, the play → wait → logs_read dev loop, and the runtime-observation tools that let the AI see the running game (screenshot, get_remote_tree, live node state, perf monitors, game_logs), plus Resources + Prompts + dock panel. 50 tools. Built and verified live on Godot 4.4.1, 4.6.2 and 4.7 (headless editor + a real HTTP MCP client), and CI-tested on every push across Windows, Linux, and macOS.
The Full edition adds the agent-driven play-test layer (the AI drives input, clicks 2D/3D and UI, and asserts results): the test runner (test_run), animation tools (animation_manage), scatter_nodes, background export jobs, project-wide analysis, and the 40 bundled skill packs. It playtests the running game.
License
Lite edition — MIT (this repository). Free and open-source: use it, fork it, ship it. See LICENSE.
The Full edition (the agent-driven play-test layer, background export jobs, and the skill packs) is a separate commercial product — one-time purchase with lifetime updates.
Beckett is a third-party tool, not affiliated with or endorsed by the Godot Foundation. "Godot" is a trademark of the Godot Foundation.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/beckettlab/beckett-godot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server