pingLABSCO SUMMARY
It can see what it built.
Screenshot tools are what separate this from a scene-file editor: the agent places nodes, then captures the viewport, a camera, or a single node in isolation as a PNG and looks at the result. The runtime-errors family is the other careful piece — it reports errors from the running game rather than the editor, it is off unless you turn it on, and it distinguishes "no errors" from "capture was never enabled" instead of returning an empty list either way.
What it is
A C# editor addon for Godot that exposes editor operations as MCP tools, connected to an MCP server either through the hosted ai-game.dev backend or one you run yourself. It is the Godot counterpart of Unity-MCP and shares the same MCP and reflection stack, consumed from nuget.org rather than forked.
What you get
- 42 built-in tools across 12 families, all available as soon as the addon is enabled — no per-tool configuration
- Scene tree editing driven on the main thread, including sibling ordering, which is layout order inside a
VBoxContainerorHBoxContainer—node-find,node-create,node-modify,node-set-parent,node-reorder,node-duplicate,node-delete - Scene lifecycle over
res://*.tscnPackedScenes —scene-open,scene-save,scene-create,scene-list-opened,scene-get-data - Resource work through ResourceLoader, ResourceSaver and EditorFileSystem, keeping
.importsidecars consistent on move and delete —resource-find,resource-get-data,resource-modify,resource-create,resource-move,resource-delete - Script CRUD on both
.csand.gd, attaching a script to a node, and GDScript validation returning structured parse and compile diagnostics —script-read,script-create,script-update,script-attach-to-node,script-validate - Visual feedback the model can actually inspect: the editor viewport, a chosen camera, or a node rendered in isolation, returned as PNG —
screenshot-viewport,screenshot-camera,screenshot-isolated - Editor run-and-play control and the current selection —
editor-application-get-state,editor-application-set-state,editor-selection-get,editor-selection-set - The plugin's own log collector, covering
GD.Print,GD.PushWarningandGD.PushErrorplus connection lifecycle diagnostics —console-get-logs,console-clear-logs - A reflection escape hatch that finds and calls any C# method, static or instance, public or private, across every loaded assembly —
reflection-method-find,reflection-method-call - Errors from the running game rather than the editor — GDScript runtime errors,
push_error, shader errors, C# unhandled and unobserved-Task exceptions — off by default, opted into withbuilder.WithRuntimeErrorCapture(); it returnsavailable:falsewhen capture was never enabled, so an empty list is never mistaken for health —runtime-errors-get,runtime-errors-clear - Browsing and reimporting the project tree by file type and uid without loading resources —
filesystem-list,filesystem-reimport
Requirements
Godot 4.3 or newer in the mono (C#/.NET) edition — the standard GDScript-only build cannot compile the addon — plus the .NET 8 SDK. The godot-cli npm package walks the whole setup: install the addon, add the required NuGet packages and the extension-catalog embed to your .csproj, enable the plugin in project.godot, sign in to ai-game.dev over OAuth 2.1 device login, and write the MCP config for your agent. Custom mode points at your own server instead, with GODOT_MCP_TOKEN only if that server enforces auth. Because Godot compiles every .cs in the project into one assembly, your project's .csproj must declare the same NuGet references the addon needs.
Setup effort
One command — npm install -g godot-cli
USE CASES
Building out a UI layout
Create nodes under a container at a chosen sibling index, then reorder them afterwards — the only way to rearrange an existing scene short of delete-and-recreate.
Checking a change looks right before moving on
Capture the editor viewport or render the node in isolation, and let the model inspect the PNG.
Writing a script and attaching it
Create the .cs or .gd file, attach it to the node, and validate GDScript for parse and compile diagnostics.
Debugging errors that only happen in play mode
Enable runtime error capture, start the game from the editor, and poll for new errors by sequence.
Reaching something the tools do not cover
Find the C# method by reflection across loaded assemblies and call it with parameters.
42 tools
Listed in project docs. Your client may show a different list.
node-findnode-createnode-modifynode-set-parentnode-reordernode-duplicatenode-deletescene-openscene-savescene-createscene-list-openedscene-get-dataresource-findresource-get-dataresource-modifyresource-createresource-moveresource-deletefilesystem-listfilesystem-reimportscript-readscript-createscript-updatescript-deletescript-attach-to-nodescript-validatescreenshot-viewportscreenshot-camerascreenshot-isolatededitor-application-get-stateeditor-application-set-stateeditor-selection-geteditor-selection-setconsole-get-logsconsole-clear-logsreflection-method-findreflection-method-callgodot-skill-creategodot-skill-generateruntime-errors-getruntime-errors-clearBEFORE YOU INSTALL
What to know first
Tools you get
42 tools named in the project's documentation.
Requires
- npm on PATH
- .NET 8
INSTALLATION
Connect your client
Server setup
npm
npm install -g godot-cliHosted endpoint
https://ai-game.devAdd this hosted endpoint to your MCP client.
MCP Clients
Claude Code
godot-cli setup-mcp claude-code ./MyGodotProject