GoPeak

🌐 Languages: English | 한국어 | 日本語 | Deutsch | Português | 简体中文

GoPeak is an MCP server for Godot 4 that gives AI assistants a real edit → run → inspect → fix loop.
It is designed for trusted Godot 4 workflows: small default tool surface, setup-gated advanced capabilities, and explicit compatibility rules for older/legacy tool names.
English is the canonical source of truth. Localized READMEs are concise overviews and may lag behind README.md.
Discord is temporarily unavailable while the invite link is refreshed. Use GitHub Discussions for now.
Quick Start
Requirements
- Godot 4.x
- Bun 1.3.3+
- MCP-compatible client such as Claude Desktop, Cursor, Cline, or OpenCode
1) Install GoPeak
bun add -g https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.4.0/gopeak-2.4.0.tgz
That is the quickest installation path. It installs the bundled runtime directly from GitHub Releases without npm. For a checksum-verified installation, use:
curl -fLO https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.4.0/gopeak-2.4.0.tgz
curl -fLO https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.4.0/gopeak-2.4.0.tgz.sha256
if command -v sha256sum >/dev/null 2>&1; then
sha256sum -c gopeak-2.4.0.tgz.sha256
else
shasum -a 256 -c gopeak-2.4.0.tgz.sha256
fi
bun add -g "$PWD/gopeak-2.4.0.tgz"
The verified path checks the downloaded release before Bun installs it globally. The absolute tarball path avoids a relative-path bug in Bun 1.3.3. The checksum command works on Linux (sha256sum) and macOS (shasum). To use the supported installer instead, download or clone the repository and run it locally—do not pipe a remote script into a shell:
git clone https://github.com/HaD0Yun/Doyunha-Gopeak.git
cd Doyunha-Gopeak
./install.sh
The release archive contains the bundled runtime. Installation and execution do not contact the npm registry or require npm credentials. For stronger provenance checking, release reviewers can also verify the GitHub artifact attestation as described in the release process.
If you used the old installer, --dir, --godot, and --configure remain accepted with warnings through the 2.3.x line and are planned for removal in 3.0.0. The new mappings are: use Bun's global home (BUN_INSTALL) instead of a source checkout directory, put GODOT_PATH in the MCP client env, and use the configuration below instead of relying on installer output. During the compatibility window, --godot and --configure still print a client snippet but never write client files. See the migration policy for the exact contract.
2) Add MCP client config
{
"mcpServers": {
"godot": {
"command": "gopeak",
"args": [],
"env": {
"GODOT_PATH": "/path/to/godot",
"GOPEAK_TOOL_PROFILE": "compact"
}
}
}
}
compact is the default profile. It keeps the initial MCP context small and exposes additional setup-gated groups only when requested.
3) Try these prompts
- "List Godot projects in
/your/projects and show project info."
- "Create
scenes/Player.tscn with a CharacterBody2D root and a movement script."
- "Run the project, read the debug output, and fix the top error."
- "Use
tool.catalog to find animation tools, then activate the right group."
What You Get
Setup gates
Some capabilities require extra Godot-side services. GoPeak labels these instead of pretending everything is always available:
Add the Godot Plugins
Install from your Godot project folder:
curl -sL https://raw.githubusercontent.com/HaD0Yun/Doyunha-Gopeak/main/install-addon.sh | bash
PowerShell:
iwr https://raw.githubusercontent.com/HaD0Yun/Doyunha-Gopeak/main/install-addon.ps1 -UseBasicParsing | iex
Then enable plugins in Project Settings → Plugins:
godot_mcp_editor for bridge-backed scene/resource tools
godot_mcp_runtime for runtime inspection, screenshots, and input workflows
Optional shell hooks for update notifications are opt-in:
gopeak setup
gopeak setup only modifies supported bash/zsh rc files when you run it explicitly. Installing the release asset does not add shell hooks automatically.
GoPeak supports three exposure profiles:
Set either GOPEAK_TOOL_PROFILE or the fallback alias MCP_TOOL_PROFILE.
Dynamic groups
In compact mode, search with tool.catalog; matching groups auto-activate. You can also manage groups directly with tool.groups.
Common groups:
If your MCP client does not refresh after activation, reconnect the client or call the newly activated tool once to force a fresh tools/list round-trip.
GoPeak also uses cursor-based pagination for tools/list so large profiles are not dumped into context at once. Tune it with GOPEAK_TOOLS_PAGE_SIZE when needed.
Typed Godot Values
Bridge-backed scene tools such as add_node and set_node_properties accept common vector payloads for typed properties:
{
"position": { "type": "Vector2", "x": 100, "y": 200 },
"scale": { "type": "Vector2", "x": 2, "y": 2 }
}
Plain { "x": 100, "y": 200 } and [100, 200] are also coerced for common Vector2 fields, but tagged values are safest across tools.
Useful Commands
# run the globally installed CLI
gopeak
# run from source
git clone https://github.com/HaD0Yun/Doyunha-Gopeak.git
cd Doyunha-Gopeak
bun ci
bun run build
bun run ./build/index.js
# local verification
bun run ci
bun run test:dynamic-groups
bun run test:metadata
bun run test:packaging
CLI bin names:
Environment & Ports
Runtime screenshot tools (capture_screenshot, capture_viewport) use a GoPeak-managed temporary PNG file when the runtime addon supports output_path, then return normal MCP image content. Older runtime addons that do not receive an output_path continue to return inline base64 screenshots.
Troubleshooting
- Godot not found → set
GODOT_PATH.
- No MCP tools visible → restart your MCP client.
- Need a hidden tool → search with
tool.catalog or activate a group with tool.groups.
- Project path invalid → confirm
project.godot exists.
- Runtime tools not working → install/enable the runtime addon and check port
7777.
- Runtime screenshots time out → update the runtime addon so screenshot commands support the managed
output_path flow. For slow runtime responses, raise GOPEAK_RUNTIME_TIMEOUT_MS; older addons may still time out on large inline base64 screenshots.
- Editor bridge disconnected → stop duplicate
gopeak/MCP servers that may already own bridge port 6505; get_editor_status reports bridge startup errors such as EADDRINUSE.
Migration & Deprecation Policy
GoPeak treats compact as the safe default and full/legacy as compatibility profiles. Future hide, remove, rename, or API-contract changes must include:
- old → new mapping or an explicit no-replacement note;
- profile impact (
compact, full, legacy, or opt-in group);
- alias window and planned removal timing;
- README/docs and release-note updates;
- verification proving
tools/list exposure and alias behavior;
- migration prompt examples for common Godot workflows.
Current stance: legacy tool names and compact aliases remain supported. Optional external groups (runtime, testing, lsp, dap, asset_store) are setup-gated, not always-available core behavior.
Full policy: docs/migration-policy.md.
More Docs
License & Credits
MIT — see LICENSE.