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-mcp
GoPeak is an MCP server for Godot that lets AI assistants run, inspect, modify, and debug real projects end-to-end.
Discord community chat is temporarily unavailable while the invite link is refreshed. Please use GitHub Discussions in the meantime: https://github.com/HaD0Yun/Gopeak-godot-mcp/discussions
npx -y gopeak
or install globally:
npm install -g gopeak
gopeak
Optional shell hooks for update notifications are now opt-in:
gopeak setup
gopeak setuponly modifies supported bash/zsh rc files when you run it explicitly.npm installno longer installs shell hooks automatically.
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["-y", "gopeak"],
"env": {
"GODOT_PATH": "/path/to/godot",
"GOPEAK_TOOL_PROFILE": "compact"
}
}
}
}
GOPEAK_TOOL_PROFILE=compactis the default. It exposes 33 core tools with 22 dynamic tool groups (78 additional tools) that activate on demand — keeping token usage low while preserving full capability.
/your/projects and show project info."scenes/Player.tscn with CharacterBody2D root and add a movement script."tool.catalog and matching groups auto-activate. Or manually activate with tool.groups.GoPeak supports three exposure profiles:
compact (default): 33 core tools + 22 dynamic tool groups (78 additional tools activated on demand)full: exposes full legacy tool list (110+)legacy: same exposed behavior as fullConfigure with either:
GOPEAK_TOOL_PROFILEMCP_TOOL_PROFILE (fallback alias)In compact mode, 78 additional tools are organized into 22 groups that activate automatically when needed:
| Group | Tools | Description |
|---|---|---|
| scene_advanced | 3 | Duplicate, reparent nodes, load sprites |
| uid | 2 | UID management for resources |
| import_export | 5 | Import pipeline, reimport, validate project |
| autoload | 4 | Autoload singletons, main scene |
| signal | 2 | Disconnect signals, list connections |
| runtime | 4 | Live scene inspection, runtime properties, metrics |
| resource | 4 | Create/modify materials, shaders, resources |
| animation | 5 | Animations, tracks, animation tree, state machine |
| plugin | 3 | Enable/disable/list editor plugins |
| input | 1 | Input action mapping |
| tilemap | 2 | TileSet and TileMap cell painting |
| audio | 4 | Audio buses, effects, volume |
| navigation | 2 | Navigation regions and agents |
| theme_ui | 3 | Theme colors, font sizes, shaders |
| asset_store | 3 | Search/download CC0 assets |
| testing | 6 | Screenshots, viewport capture, input injection |
| dx_tools | 4 | Error log, project health, find usages, scaffold |
| intent_tracking | 9 | Intent capture, decision logs, handoff briefs |
| class_advanced | 1 | Class inheritance inspection |
| lsp | 3 | GDScript completions, hover, symbols |
| dap | 6 | Breakpoints, stepping, stack traces |
| version_gate | 2 | Version validation, patch verification |
How it works:
Auto-activation via catalog: Search with tool.catalog and matching groups activate automatically.
"Use
tool.catalogwith queryanimationand show relevant tools."
Manual activation: Directly activate a group with tool.groups.
"Use
tool.groupsto activate thedapgroup for debugging."
Deactivation: Remove groups when done to reduce context.
"Use
tool.groupsto reset all active groups."
The server sends notifications/tools/list_changed so MCP clients (Claude Code, Claude Desktop) automatically refresh the tool list.
GoPeak uses cursor-based pagination for tools/list — even in full profile, tools are delivered in pages (default 33) instead of dumping all 110+ definitions at once. Your AI client fetches the next page only when it needs more.
Set page size with GOPEAK_TOOLS_PAGE_SIZE:
{
"env": {
"GOPEAK_TOOLS_PAGE_SIZE": "25"
}
}
npx -y gopeak
npm install -g gopeak
gopeak
Optional shell hooks for update notifications remain available via:
gopeak setup
git clone https://github.com/HaD0Yun/Gopeak-godot-mcp.git
cd godot-mcp
npm install
npm run build
node build/index.js
GoPeak also exposes two CLI bin names:
gopeakgodot-mcpGitHub Actions runs on push/PR and executes:
npm run buildnpx tsc --noEmitnpm run smokeRun the same checks locally before opening a PR:
npm run ci
npm run test:dynamic-groups
npm run test:integration
Use the built-in bump script to keep package.json and server.json in sync:
node scripts/bump-version.mjs patch
node scripts/bump-version.mjs minor --dry-run
Full release checklist: docs/release-process.md.
Install in 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 (especially godot_mcp_editor for bridge-backed scene/resource tools).
| Area | Examples |
|---|---|
| Project | project.list, project.info, editor.run |
| Scene/Node | scene.create, scene.node.add, set_node_properties |
| Script | script.create, script.modify, script.info |
| Runtime | runtime.status, inspect_runtime_tree, call_runtime_method |
| LSP/DAP | lsp.diagnostics, lsp_get_hover, dap_set_breakpoint, dap.output |
| Input/Visual | inject_key, inject_mouse_click, capture_screenshot |
Visualize your entire project architecture with visualizer.map (map_project legacy). Scripts are grouped by folder structure into color-coded categories.

scripts/player.gd:42, continue execution, and show stack trace whNo comments yet. Be the first to share your thoughts!