The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Gdharness listing page.
An agent cannot see a running game. It reads your scripts and guesses at the rest: whether the button is on screen, whether the panel updated, whether that error mattered.
gdharness makes the engine answerable instead. What the screen says, where a control is, what a property reads right now, what the console printed, what broke and on which line.
Hand this to your agent:
Or do it yourself, and pick your harness: aureliolo.github.io/gdharness.
The open editor plays the game, so its debugger holds it, which is what lets you set a breakpoint and read the variables in scope when it stops.
Every answer is read back out of the engine after the fact, never echoed from the request. A tool that cannot answer says which state it is in and what would change it, rather than answering emptily, so a call that succeeded is a call that was understood.
| Needs | Godot 4.7 or newer, Node 22 or newer. Runs under Bun 1.4 too. |
| Surface | 30 tools named domain_verb, and 4 godot:// resources |
| Reaches | The editor that is open, a game it is playing, and the project on disk |
| Harnesses | 35, written inside the project wherever the harness has a project config |
| Skill | Written to .agents/skills, which every major harness reads |
| Install | npm, or a Sigstore-signed archive with an SBOM, SLSA Build Level 3 |
| Proven | Every tool driven against Godot 4.7.2 in CI, on Windows, Linux and macOS |
| Status | 1.0: every release is a patch. What a bump means |
Older 4.x is likely to work and is not tested.
aureliolo.github.io/gdharness: installing it, how the parts connect, and every tool, op and argument.
SECURITY.md is how to report something. CONTRIBUTING.md is what a change has to clear.
Fork of GoPeak v2.3.9, September 2026, MIT: the original MCP server godot-mcp by Solomon Elias, GoPeak by HaD0Yun, and completely reworked since to be hardened, condensed and more streamlined.
Not affiliated with the Godot Foundation.