Labsco
MCP SERVER

Godot-MCP

by IvanMurzak

42 tools that drive the Godot editor from an AI agent — build the scene tree, edit C# and GDScript, mutate resources, and take screenshots the model can look at.

3D, CAD & Game Engines
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 `VBoxContainer` or `HBoxContainer` — `node-find`, `node-create`, `node-modify`, `node-set-parent`, `node-reorder`, `node-duplicate`, `node-delete`
  • Scene lifecycle over `res://*.tscn` PackedScenes — `scene-open`, `scene-save`, `scene-create`, `scene-list-opened`, `scene-get-data`
  • Resource work through ResourceLoader, ResourceSaver and EditorFileSystem, keeping `.import` sidecars consistent on move and delete — `resource-find`, `resource-get-data`, `resource-modify`, `resource-create`, `resource-move`, `resource-delete`
  • Script CRUD on both `.cs` and `.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.PushWarning` and `GD.PushError` plus 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 with `builder.WithRuntimeErrorCapture()`; it returns `available:false` when 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