by HaD0Yun
GoPeak — The most comprehensive MCP server for Godot Engine. 95+ tools: scene management, GDScript LSP, DAP debugger, screenshot capture, input injection, ClassDB introspection, CC0 asset library. npx gopeak
# Add to your Claude Code skills
git clone https://github.com/HaD0Yun/Gopeak-godot-mcpGuides for using mcp servers skills like Gopeak-godot-mcp.
🌐 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.
npx -y gopeak
or install globally:
npm install -g gopeak
gopeak
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["-y", "gopeak"],
"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.
/your/projects and show project info."scenes/Player.tscn with a CharacterBody2D root and a movement script."tool.catalog to find animation tools, then activate the right group."| Workflow | What GoPeak can do |
|---|---|
| Project control | Find projects, launch the editor, run/stop the game, collect debug output. |
| Scene + script editing | Create scenes, add nodes, edit typed properties, create/modify GDScript. |
| Resource workflows | Work with resources, materials, shaders, imports, and export-related checks. |
| Debugging | Use logs, Godot LSP diagnostics, DAP breakpoints/stack traces, and runtime inspection when configured. |
| Runtime testing | Capture screenshots, inspect live trees, inject input, and call runtime methods through the addon. |
| Tool discovery | Keep the default surface compact, then activate capability groups with tool.catalog or tool.groups. |
Some capabilities require extra Godot-side services. GoPeak labels these instead of pretending everything is always available:
| Capability | Requires |
|---|---|
| Editor bridge scene/resource edits | godot_mcp_editor plugin enabled in the Godot project. |
| Runtime inspection, screenshots, input injection | Runtime addon/socket, default port 7777. |
| GDScript LSP tools | Godot LSP enabled on port 6005. |
| DAP debugging tools | Godot DAP enabled on port 6006. |
| Asset store/provider tools | Network access and provider availability. |
Install from your Godot project folder:
curl -sL https://raw.githubusercontent.com/HaD0Yun/Gopeak-godot-mcp/main/install-addon.sh | bash
PowerShell:
iwr https://raw.githubusercontent.com/HaD0Yun/Gopeak-godot-mcp/main/install-addon.ps1 -UseBasicParsing | iex
Then enable plugins in Project Settings → Plugins:
godot_mcp_editor for bridge-backed scene/resource toolsgodot_mcp_runtime for runtime inspection, screenshots, and input workflowsOptional shell hooks for update notifications are opt-in:
gopeak setup
gopeak setup only modifies supported bash/zsh rc files when you run it explicitly. npm install does not install shell hooks automatically.
GoPeak supports three exposure profiles:
| Profile | Use when |
|---|---|
| compact | Default. Trusted core tools plus dynamic groups activated on demand. |
| full | Compatibility/audit mode for the full legacy surface. |
| legacy | Older config alias with the same exposed behavior as full. |
Set either GOPEAK_TOOL_PROFILE or the fallback alias MCP_TOOL_PROFILE.
In compact mode, search with tool.catalog; matching groups auto-activate. You can also manage groups directly with tool.groups.
Common groups:
| Group | Status | Notes |
|---|---|---|
| runtime | optional-runtime | Live scene tree, properties, method calls, metrics. Requires runtime addon/socket. |
| testing | optional-runtime | Screenshots, viewport capture, input injection. Requires runtime/editor setup. |
| lsp | optional-lsp | Diagnostics, completion, hover, symbols. Requires Godot LSP on port 6005. |
| dap | optional-dap | Breakpoints, stepping, stack traces. Requires Godot DAP on port 6006. |
| asset_store | optional-network | External CC0 asset search/download. Network/provider dependent. |
| class_advanced | trusted-static | ClassDB/inheritance discovery backed by static engine metadata. |
| tilemap | audit-required | Must account for Godot 4.3+ TileMapLayer behavior before promotion. |
| mutation groups | audit-required | Scene/resource/script/settings/signal/autoload/import/audio/navigation/theme/animation groups need fixture evidence before being marketed as fully trusted. |
| intent_tracking | workflow-layer | Workflow 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.
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.
# run from npm
npx -y gopeak
# install globally
npm install -g gopeak
# run from source
git clone https://github.com/HaD0Yun/Gopeak-godot-mcp.git
cd Gopeak-godot-mcp
npm install
npm run build
node build/index.js
# local verification
npm run ci
npm run test:dynamic-groups
npm run test:metadata
npm run test:packaging
CLI bin names:
gopeakgodot-mcp| Name | Purpose | Default |
|---|---|---|
| GOPEAK_TOOL_PROFILE | Tool exposure profile: compact, full, legacy | compact |
| MCP_TOOL_PROFILE | Fallback profile env alias | compact |
| GODOT_PATH | Explicit Godot executable path | auto-detect |
| GODOT_BRIDGE_PORT | Bridge/Visualizer HTTP+WS port override | 6505 |
| GOPEAK_BRIDGE_HOST | Bridge/Visualizer bind host | 127.0.0.1 |
| GOPEAK_TOOLS_PAGE_SIZE | Number of tools per tools/list page | 33 |
| DEBUG | Enable server debug logs | false |
| LOG_MODE | Recording mode: lite or full | lite |
| Port | Service |
|---|---|
| 6505 | Unified Godot Bridge + Visualizer server on loopback by default. |
| 6005 | Godot LSP. |
| 6006 | Godot DAP. |
| 7777 | Runtime addon command socket. |
GODOT_PATH.tool.catalog or activate a group with tool.groups.project.godot exists.7777.gopeak/MCP servers that may already own bridge port 6505; get_editor_status reports bridge startup errors such as EADDRINUSE.GoPeak treats compact as the safe default and full/legacy as compatibility profiles. Future hide, remove, rename, or API-contract changes must include:
compact, full, legacy, or opt-in group);tools/list exposure and alias behavior;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.
MIT — see LICENSE.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars