Sandbox
@HaD0Yun/Doyunha-Gopeak

MCP server for Godot 4 project tools

GoPeak connects an MCP client to a Godot 4 project so an agent can edit scenes and scripts, inspect diagnostics, and interact with the running game. It includes optional setup-gated tools for the editor bridge, runtime addon, GDScript LSP, DAP debugging, screenshots, and input injection.

250 stars26 forksTypeScriptUpdated 2mo ago
Who it's for

Builders who want their agent to edit and debug Godot projects through an MCP client.

What it delivers

You can move from prompts to scene edits, runtime checks, and fixes without leaving the Godot workflow.

What it does

Scene and script tools

Creates and edits scenes, nodes, typed properties, resources, and GDScript files through the editor bridge.

Debug and language-server access

Connects to Godot LSP for diagnostics and completion, and to DAP for breakpoints, stepping, and stack traces.

Runtime inspection and testing

Captures screenshots, reads live scene state, injects input, and calls runtime methods when the runtime addon is enabled.

Tool profiles and dynamic groups

Starts with a compact tool set, then activates groups like runtime, testing, lsp, and dap on demand.

Asset and ClassDB lookup

Includes class introspection and CC0 asset library tools for finding engine classes and external assets.

How to get it

  1. 1Run
    bun add -g https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.3.9/gopeak-2.3.9.tgz
  2. 2That is the quickest installation path. It installs the bundled runtime directly from…
    curl -fLO https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.3.9/gopeak-2.3.9.tgz
    curl -fLO https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.3.9/gopeak-2.3.9.tgz.sha256
    if command -v sha256sum >/dev/null 2>&1; then
      sha256sum -c gopeak-2.3.9.tgz.sha256
    else
      shasum -a 256 -c gopeak-2.3.9.tgz.sha256
    fi
    bun add -g "$PWD/gopeak-2.3.9.tgz"
  3. 3The verified path checks the downloaded release before Bun installs it globally. The…
    git clone https://github.com/HaD0Yun/Doyunha-Gopeak.git
    cd Doyunha-Gopeak
    ./install.sh

README

GoPeak

Made with Godot Bun GitHub Release

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

GoPeak Hero

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.3.9/gopeak-2.3.9.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.3.9/gopeak-2.3.9.tgz
curl -fLO https://github.com/HaD0Yun/Doyunha-Gopeak/releases/download/v2.3.9/gopeak-2.3.9.tgz.sha256
if command -v sha256sum >/dev/null 2>&1; then
  sha256sum -c gopeak-2.3.9.tgz.sha256
else
  shasum -a 256 -c gopeak-2.3.9.tgz.sha256
fi
bun add -g "$PWD/gopeak-2.3.9.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

WorkflowWhat GoPeak can do
Project controlFind projects, launch the editor, run/stop the game, collect debug output.
Scene + script editingCreate scenes, add nodes, edit typed properties, create/modify GDScript.
Resource workflowsWork with resources, materials, shaders, imports, and export-related checks.
DebuggingUse logs, Godot LSP diagnostics, DAP breakpoints/stack traces, and runtime inspection when configured.
Runtime testingCapture screenshots, inspect live trees, inject input, and call runtime methods through the addon.
Tool discoveryKeep the default surface compact, then activate capability groups with tool.catalog or tool.groups.

Setup gates

Some capabilities require extra Godot-side services. GoPeak labels these instead of pretending everything is always available:

CapabilityRequires
Editor bridge scene/resource editsgodot_mcp_editor plugin enabled in the Godot project.
Runtime inspection, screenshots, input injectionRuntime addon/socket, default port 7777.
GDScript LSP toolsGodot LSP enabled on port 6005.
DAP debugging toolsGodot DAP enabled on port 6006.
Asset store/provider toolsNetwork access and provider availability.

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.


Tool Profiles

GoPeak supports three exposure profiles:

ProfileUse when
compactDefault. Trusted core tools plus dynamic groups activated on demand.
fullCompatibility/audit mode for the full legacy surface.
legacyOlder config alias with the same exposed behavior as full.

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:

GroupStatusNotes
runtimeoptional-runtimeLive scene tree, properties, method calls, metrics. Requires runtime addon/socket.
testingoptional-runtimeScreenshots, viewport capture, input injection. Requires runtime/editor setup.
lspoptional-lspDiagnostics, completion, hover, symbols. Requires Godot LSP on port 6005.
dapoptional-dapBreakpoints, stepping, stack traces. Requires Godot DAP on port 6006.
asset_storeoptional-networkExternal CC0 asset search/download. Network/provider dependent.
class_advancedtrusted-staticClassDB/inheritance discovery backed by static engine metadata.
tilemapaudit-requiredMust account for Godot 4.3+ TileMapLayer behavior before promotion.
mutation groupsaudit-requiredScene/resource/script/settings/signal/autoload/import/audio/navigation/theme/animation groups need fixture evidence before being marketed as fully trusted.
intent_trackingworkflow-layerWorkflow memory/handoff helpers, not a Godot engine primitive. Keep opt-in.

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:

  • gopeak
  • godot-mcp

Environment & Ports

NamePurposeDefault
GOPEAK_TOOL_PROFILETool exposure profile: compact, full, legacycompact
MCP_TOOL_PROFILEFallback profile env aliascompact
GODOT_PATHExplicit Godot executable pathauto-detect
GODOT_BRIDGE_PORTBridge/Visualizer HTTP+WS port override6505
GOPEAK_BRIDGE_HOSTBridge/Visualizer bind host127.0.0.1
GOPEAK_TOOLS_PAGE_SIZENumber of tools per tools/list page33
GOPEAK_RUNTIME_TIMEOUT_MSRuntime addon command timeout in milliseconds10000
DEBUGEnable server debug logsfalse
LOG_MODERecording mode: lite or fulllite
PortService
6505Unified Godot Bridge + Visualizer server on loopback by default.
6005Godot LSP.
6006Godot DAP.
7777Runtime addon command socket.

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:

  1. old → new mapping or an explicit no-replacement note;
  2. profile impact (compact, full, legacy, or opt-in group);
  3. alias window and planned removal timing;
  4. README/docs and release-note updates;
  5. verification proving tools/list exposure and alias behavior;
  6. 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.

Files in the repo

Repository payload45 top-level entries
  • .github
  • .sisyphus
  • assets
  • docs
  • scripts
  • src
  • test-support
  • .gitignore
  • .nojekyll
  • ANALYSIS.md
  • AUDIT-MCP-RESOURCES-PROMPTS-DYNAMIC.md
  • bun.lock
  • CHANGELOG.md
  • CONTRIBUTING.md
  • googlea5470a5951e300a5.html
  • IMPROVEMENT_SPECS.md
  • index.html
  • install-addon.ps1
  • install-addon.sh
  • install.sh
  • LICENSE
  • package.json
  • README-de.md
  • README-ja.md
  • README-ko.md
  • README-pt_BR.md
  • README-zh.md
  • README.md
  • ROADMAP.md
  • server.json
  • test-bridge.mjs
  • test-bun-installer.mjs
  • test-docs-package-policy.mjs
  • test-dynamic-groups.mjs
  • test-e2e-dynamic-groups.mjs
  • test-github-update.mjs
  • test-godot-detection.mjs
  • test-metadata-consistency.mjs
  • test-offline-release-install.mjs
  • test-packaging-consistency.mjs
  • test-readme-localization-consistency.mjs
  • test-regressions.mjs
  • test-setup-hooks.mjs
  • test-version-bump.mjs
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k