gdharness

Make the engine answer.

Your agent can see the editor you have open, the game that is running, and the project on disk, and it can change all three.

Inside Godot

Three addons

They make the open editor and the running game answerable, and reload the editor when files change on disk.

How it works
The server

30 tools

Named domain_verb, with four godot:// resources. An unknown op is refused with the valid set listed.

Tool reference
The CLI

One command

Addons in, plugins on, class list rebuilt, the skill written, and the server registered with your harness.

Install

Hand it to your agent

paste this
Install gdharness into this project by following
https://aureliolo.github.io/gdharness/agent.md, then tell me what it asked you to
recommend back to me.

It reads the guide, installs the addons, writes the config for the harness it is running in, and reports the two things it cannot do for itself.

Or do it yourself

npx -y gdharness@0.5.3 setup --amazon-q
bunx gdharness@0.5.3 setup --amazon-q

Writes .amazonq/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --amp
bunx gdharness@0.5.3 setup --amp

Writes .amp/settings.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --autohand
bunx gdharness@0.5.3 setup --autohand

Autohand has no project-level config, so this writes ~/.autohand/config.json and affects every project you open with it. Its file is documented but the key it holds servers under is not, so this prints the block rather than guessing. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --claude-code
bunx gdharness@0.5.3 setup --claude-code

Writes .mcp.json inside the project. The skill goes to .claude/skills.

npx -y gdharness@0.5.3 setup --claude-desktop
bunx gdharness@0.5.3 setup --claude-desktop

Claude Desktop has no project-level config, so this writes ~/.config/Claude/claude_desktop_config.json and affects every project you open with it. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --cline
bunx gdharness@0.5.3 setup --cline

Cline has no project-level config, so this writes ~/.cline/data/settings/cline_mcp_settings.json and affects every project you open with it. The skill goes to .cline/skills.

npx -y gdharness@0.5.3 setup --codex
bunx gdharness@0.5.3 setup --codex

Codex CLI has no project-level config, so this writes ~/.codex/config.toml and affects every project you open with it. The skill goes to .agents/skills. Codex reads its config at startup, so restart it.

npx -y gdharness@0.5.3 setup --command-code
bunx gdharness@0.5.3 setup --command-code

Writes .mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --copilot-cli
bunx gdharness@0.5.3 setup --copilot-cli

Writes .mcp.json inside the project. The skill goes to .github/skills. Trust the folder when Copilot CLI first asks, or it reads no config here.

npx -y gdharness@0.5.3 setup --cursor
bunx gdharness@0.5.3 setup --cursor

Writes .cursor/mcp.json inside the project. The skill goes to .cursor/skills. Cursor asks before each tool call by default, and the server can be toggled off.

npx -y gdharness@0.5.3 setup --deepcode
bunx gdharness@0.5.3 setup --deepcode

Deep Code has no project-level config, so this writes ~/.deepcode/settings.json and affects every project you open with it. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --factory
bunx gdharness@0.5.3 setup --factory

Writes .factory/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --fast-agent
bunx gdharness@0.5.3 setup --fast-agent

Writes fastagent.config.yaml inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --firebender
bunx gdharness@0.5.3 setup --firebender

Writes firebender.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --gemini
bunx gdharness@0.5.3 setup --gemini

Writes .gemini/settings.json inside the project. The skill goes to .gemini/skills.

npx -y gdharness@0.5.3 setup --goose
bunx gdharness@0.5.3 setup --goose

Goose has no project-level config, so this writes ~/.config/goose/config.yaml and affects every project you open with it. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --hermes
bunx gdharness@0.5.3 setup --hermes

Hermes has no project-level config, so this writes ~/.hermes/config.yaml and affects every project you open with it. The skill goes to .hermes/skills.

npx -y gdharness@0.5.3 setup --junie
bunx gdharness@0.5.3 setup --junie

Writes .junie/mcp/mcp.json inside the project. The skill goes to .junie/skills.

npx -y gdharness@0.5.3 setup --kilo
bunx gdharness@0.5.3 setup --kilo

Writes .kilocode/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --kiro
bunx gdharness@0.5.3 setup --kiro

Writes .kiro/settings/mcp.json inside the project. The skill goes to .kiro/skills.

npx -y gdharness@0.5.3 setup --mistral-vibe
bunx gdharness@0.5.3 setup --mistral-vibe

Writes .vibe/config.toml inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --nanobot
bunx gdharness@0.5.3 setup --nanobot

nanobot has no project-level config, so this writes ~/.nanobot/config.json and affects every project you open with it. Its file is documented but the key it holds servers under is not, so this prints the block rather than guessing. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --openclaw
bunx gdharness@0.5.3 setup --openclaw

OpenClaw has no project-level config, so this writes ~/.openclaw/openclaw.json and affects every project you open with it. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --opencode
bunx gdharness@0.5.3 setup --opencode

Writes opencode.json inside the project. The skill goes to .opencode/skills.

npx -y gdharness@0.5.3 setup --pi
bunx gdharness@0.5.3 setup --pi

Writes .pi/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --qoder
bunx gdharness@0.5.3 setup --qoder

Writes .mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --roo
bunx gdharness@0.5.3 setup --roo

Writes .roo/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --tabnine
bunx gdharness@0.5.3 setup --tabnine

Writes .tabnine/mcp_servers.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --trae
bunx gdharness@0.5.3 setup --trae

Writes .trae/mcp.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --vscode
bunx gdharness@0.5.3 setup --vscode

Writes .vscode/mcp.json inside the project. The skill goes to .github/skills. VS Code asks you to trust a server the first time it starts one.

npx -y gdharness@0.5.3 setup --vtcode
bunx gdharness@0.5.3 setup --vtcode

Writes vtcode.toml inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --warp
bunx gdharness@0.5.3 setup --warp

Writes .warp/.mcp.json inside the project. The skill goes to .agents/skills. Warp starts a project server only once you toggle it on, on its MCP servers page.

npx -y gdharness@0.5.3 setup --windsurf
bunx gdharness@0.5.3 setup --windsurf

Windsurf has no project-level config, so this writes ~/.codeium/windsurf/mcp_config.json and affects every project you open with it. The skill goes to .windsurf/skills.

npx -y gdharness@0.5.3 setup --zed
bunx gdharness@0.5.3 setup --zed

Writes .zed/settings.json inside the project. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup --zeroclaw
bunx gdharness@0.5.3 setup --zeroclaw

ZeroClaw has no project-level config, so this writes ~/.zeroclaw/config.toml and affects every project you open with it. The skill goes to .agents/skills.

npx -y gdharness@0.5.3 setup
bunx gdharness@0.5.3 setup

Any MCP client that can spawn a local stdio server will do. With no harness named it asks about the ones it finds, and the entry it writes is the same everywhere. How it works has every file and key, and says which ones it cannot write for you.

With no harness named it asks about each one it finds, here or on this machine, and writes nothing outside the project directory without a flag or a typed yes. How it works has every harness it knows.

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 GoPeak or the Godot Foundation.