io.github.HaD0Yun/gopeak

编码与调试

by had0yun

面向 Godot Engine 的高完整度 MCP server,内置 95+ tools、LSP、DAP 和截图功能。

什么是 io.github.HaD0Yun/gopeak?

面向 Godot Engine 的高完整度 MCP server,内置 95+ tools、LSP、DAP 和截图功能。

README

GoPeak

Made with Godot npm

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

GoPeak Hero

GoPeak is an MCP server for Godot that lets AI assistants run, inspect, modify, and debug real projects end-to-end.

English is the canonical source of truth. Localized READMEs are concise overviews and may lag behind README.md.

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


Quick Start (3 Minutes)

Requirements

  • Godot 4.x
  • Node.js 18+
  • MCP-compatible client (Claude Desktop, Cursor, Cline, OpenCode, etc.)

1) Run GoPeak

bash
npx -y gopeak

or install globally:

bash
npm install -g gopeak
gopeak

Optional shell hooks for update notifications are now opt-in:

bash
gopeak setup

gopeak setup only modifies supported bash/zsh rc files when you run it explicitly. npm install no longer installs shell hooks automatically.

2) Add MCP client config

json
{
  "mcpServers": {
    "godot": {
      "command": "npx",
      "args": ["-y", "gopeak"],
      "env": {
        "GODOT_PATH": "/path/to/godot",
        "GOPEAK_TOOL_PROFILE": "compact"
      }
    }
  }
}

GOPEAK_TOOL_PROFILE=compact is the default. It exposes a trusted core surface with dynamic tool groups that activate on demand — keeping token usage low while making experimental or environment-dependent capabilities explicit.

3) First prompts to try

  • "List Godot projects in /your/projects and show project info."
  • "Create scenes/Player.tscn with CharacterBody2D root and add a movement script."
  • "Run project, get debug output, then fix top error."

Why GoPeak

  • Real project feedback loop: run the game, inspect logs, and fix in-context.
  • Trusted Godot 4 workflow tools across project discovery, scene/script/resource editing, runtime/LSP/DAP integrations, testing, and asset workflows.
  • Token-efficient by default: compact core surface + dynamic tool groups. Activate only the capability family you need instead of loading the full legacy surface.
  • Dynamic tool groups with explicit maturity labels: search with tool.catalog and matching groups auto-activate, or manually activate with tool.groups.
  • Deep Godot integration with setup gates: ClassDB queries, runtime inspection, debugger hooks, and bridge-based scene/resource edits clearly state addon, editor, LSP, DAP, or runtime requirements.

Best For

  • Solo/indie developers moving quickly with AI assistance
  • Teams that need AI grounded in actual project/runtime state
  • Debug-heavy workflows (breakpoints, stack traces, live runtime checks)

Tool Surface Model (Important)

GoPeak supports three exposure profiles:

  • compact (default): trusted core tools plus dynamic tool groups activated on demand.
  • full: exposes the full legacy tool list for compatibility and audit work.
  • legacy: same exposed behavior as full for older configurations.

Configure with either:

  • GOPEAK_TOOL_PROFILE
  • MCP_TOOL_PROFILE (fallback alias)

Dynamic Tool Groups (compact mode)

In compact mode, additional tools are organized into dynamic groups that activate automatically when needed. Maturity labels are intentionally conservative until each group has Godot 4 fixture evidence:

GroupMaturityDescription / setup gate
scene_advancedaudit-requiredDuplicate, reparent nodes, load sprites; verify scene ownership/persistence in a Godot 4 fixture before treating as trusted.
uidaudit-requiredUID management for resources; gate behavior by Godot version and resource save/load evidence.
import_exportaudit-requiredImport pipeline, reimport, validate project; requires fixture checks for import settings and export command construction.
autoloadaudit-requiredAutoload singletons, main scene; requires project settings round-trip verification.
signalaudit-requiredDisconnect signals, list connections; requires signal round-trip verification.
runtimeoptional-runtimeLive scene inspection, runtime properties, metrics; requires the runtime addon/socket.
resourceaudit-requiredCreate/modify materials, shaders, resources; requires resource save/load fixture checks.
animationaudit-requiredAnimations, tracks, animation tree, state machine; requires saved scene/resource fixture checks.
pluginoptional-editorEnable/disable/list editor plugins; requires editor plugin availability.
inputaudit-requiredInput action mapping; requires project settings round-trip verification.
tilemapaudit-requiredTileSet and TileMap cell painting; must account for Godot 4.3+ TileMapLayer behavior before being promoted.
audioaudit-requiredAudio buses, effects, volume; requires bus layout fixture checks.
navigationaudit-requiredNavigation regions and agents; requires saved scene/resource fixture checks.
theme_uiaudit-requiredTheme colors, font sizes, shaders; requires resource save/load fixture checks.
asset_storeoptional-networkSearch/download external CC0 assets; requires network/provider availability and should remain optional.
testingoptional-runtimeScreenshots, viewport capture, input injection; requires runtime addon/editor availability.
dx_toolsaudit-requiredError log, project health, find usages, scaffold; requires deterministic static fixture checks.
intent_trackingworkflow-layerIntent capture, decision logs, handoff briefs; not a Godot engine primitive and should stay opt-in/workflow-scoped.
class_advancedtrusted-staticClass inheritance inspection; validate against ClassDB/static evidence.
lspoptional-lspGDScript completions, hover, symbols; requires Godot LSP on port 6005.
dapoptional-dapBreakpoints, stepping, stack traces; requires Godot DAP on port 6006.
version_gateaudit-requiredVersion validation and patch verification; requires explicit version fixture evidence.

How it works:

  1. Auto-activation via catalog: Search with tool.catalog and matching groups activate automatically.

    "Use tool.catalog with query animation and show relevant tools."

  2. Manual activation: Directly activate a group with tool.groups.

    "Use tool.groups to activate the dap group for debugging."

  3. Deactivation: Remove groups when done to reduce context.

    "Use tool.groups to reset all active groups."

The server sends notifications/tools/list_changed so MCP clients (Claude Code, Claude Desktop) automatically refresh the tool list. If your MCP client caches tools aggressively and does not refresh after activation, reconnect the client or call the newly activated tool directly once to force a fresh tools/list round-trip.

Typed property values for scene tools

Bridge-backed scene tools (add_node, set_node_properties) now coerce common vector payloads such as { "x": 100, "y": 200 } and [100, 200] for typed properties like position and scale. Tagged values are still the safest cross-tool form:

json
{
  "position": { "type": "Vector2", "x": 100, "y": 200 },
  "scale": { "type": "Vector2", "x": 2, "y": 2 }
}

The internal headless serializer uses _type, but MCP callers should prefer type when they need an explicit cross-tool Godot value tag.

Don't worry about tokens

GoPeak uses cursor-based pagination for tools/list — even in full profile, tools are delivered in pages (default 33) instead of dumping the entire legacy definition set at once. Your AI client fetches the next page only when it needs more.

Set page size with GOPEAK_TOOLS_PAGE_SIZE:

json
{
  "env": {
    "GOPEAK_TOOLS_PAGE_SIZE": "25"
  }
}

Installation Options

A) Recommended: npx

bash
npx -y gopeak

B) Global install

bash
npm install -g gopeak
gopeak

Optional shell hooks for update notifications remain available via:

bash
gopeak setup

C) From source

bash
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:

  • gopeak
  • godot-mcp

Documentation

CI

GitHub Actions runs on push/PR and executes:

  1. npm run build
  2. npx tsc --noEmit
  3. npm run smoke

Run the same checks locally before opening a PR:

bash
npm run ci
npm run test:dynamic-groups
npm run test:integration

Versioning & Release

Use the built-in bump script to keep package.json and server.json in sync:

bash
node scripts/bump-version.mjs patch
node scripts/bump-version.mjs minor --dry-run

Full release checklist: docs/release-process.md.


Addons (Recommended)

Auto Reload + Editor Bridge + Runtime Addon installer

Install in your Godot project folder:

bash
curl -sL https://raw.githubusercontent.com/HaD0Yun/Gopeak-godot-mcp/main/install-addon.sh | bash

PowerShell:

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).


Core Capabilities

These capabilities are grouped by workflow value. Optional-runtime/LSP/DAP/network groups require their setup gates before use; audit-required groups should be promoted only after fixture evidence.

  • Project control: launch editor, run/stop project, capture debug output
  • Scene editing: create scenes, add/delete/reparent nodes, edit properties
  • Script workflows: create/modify scripts, inspect script structure
  • Resources: create/modify resources, materials, shaders, tilesets
  • Signals/animation: connect signals, build animations/tracks/state machines
  • Runtime tools: inspect live tree, set properties, call methods, metrics (requires runtime addon/socket)
  • LSP + DAP: diagnostics/completion/hover + breakpoints/step/stack trace (requires Godot LSP/DAP ports)
  • Input + screenshots: keyboard/mouse/action injection and viewport capture (requires runtime/editor bridge setup)
  • Asset library: search/fetch CC0 assets (optional network/provider workflow)

Tool families (examples)

AreaExamples
Projectproject.list, project.info, editor.run
Scene/Nodescene.create, scene.node.add, set_node_properties
Scriptscript.create, script.modify, script.info
Runtimeruntime.status, inspect_runtime_tree, call_runtime_method
LSP/DAPlsp.diagnostics, lsp_get_hover, dap_set_breakpoint, dap.output
Input/Visualinject_key, inject_mouse_click, capture_screenshot

Project Visualizer

Visualize your entire project architecture with visualizer.map (map_project legacy). Scripts are grouped by folder structure into color-coded categories.

Project Visualizer — AI-generated architecture map


Quick Prompt Examples

Build

  • "Create a Player scene with CharacterBody2D, Sprite2D, CollisionShape2D, and a basic movement script."
  • "Add an enemy spawner scene and wire spawn signals to GameManager."

Debug

  • "Run the project, collect errors, and fix the top 3 issues automatically."
  • "Set a breakpoint at scripts/player.gd:42, continue execution, and show stack trace when hit."

Runtime testing

  • "Press ui_accept, move mouse to (400, 300), click, then capture a screenshot."
  • "Inspect live scene tree and report nodes with missing scripts or invalid references."

Discovery & dynamic groups

  • "Use tool.catalog with query tilemap and list the most relevant tools."
  • "Activate the dap tool group for breakpoint debugging with tool.groups."
  • "Find import pipeline tools with tool.catalog query import and run the best one for texture settings."
  • "Reset all active tool groups with tool.groups to reduce context."

Migration & Deprecation Policy

GoPeak treats compact as the safe default and full/legacy as compatibility profiles. Any future hide, remove, rename, or API-contract change must include:

  1. an old → new mapping or an explicit no-replacement note;
  2. the profile impact (compact, full, legacy, or opt-in group);
  3. whether an alias remains and the planned removal window;
  4. README/docs and release-note updates;
  5. a verification command proving tools/list exposure and alias behavior;
  6. a migration prompt example for common Godot workflows.

Current compatibility stance: legacy tool names and compact aliases remain supported. Dynamic groups with optional external requirements (runtime, testing, lsp, dap, asset_store) should be documented as opt-in/setup-gated rather than marketed as always-available core behavior.

Technical Reference

Environment variables

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 override (aliases: MCP_BRIDGE_PORT, GOPEAK_BRIDGE_PORT)6505
DEBUGEnable server debug logs (true/false)false
LOG_MODERecording mode: lite or fulllite
GOPEAK_TOOLS_PAGE_SIZENumber of tools per tools/list page (pagination)33
GOPEAK_BRIDGE_PORTPort for unified bridge/visualizer server6505
GOPEAK_BRIDGE_HOSTBind host for bridge/visualizer server127.0.0.1

Ports

PortService
6505 (default)Unified Godot Bridge + Visualizer server (+ /health, /mcp) on loopback by default
6005Godot LSP
6006Godot DAP
7777Runtime addon command socket (only needed for runtime tools)

Minimal port profiles

  • Core editing only: bridge port (GODOT_BRIDGE_PORT, default 6505)
  • Core + runtime actions (screenshots/input/runtime inspect): bridge port + 7777
  • Full debugging + diagnostics: bridge port + 6005 + 6006 + 7777

Troubleshooting

  • Godot not found → set GODOT_PATH
  • No MCP tools visible → restart your MCP client
  • Project path invalid → confirm project.godot exists
  • Runtime tools not working → install/enable runtime addon plugin
  • Need a tool that is not visible → run tool.catalog to search and auto-activate matching groups, or use tool.groups to activate a specific group
  • get_editor_status says disconnected while the Godot editor shows connected → check whether another gopeak/MCP server instance already owns bridge port 6505; the status payload now reports the startup error and suggests stopping duplicate servers

Docs & Project Links


License

MIT — see LICENSE.

Credits

常见问题

io.github.HaD0Yun/gopeak 是什么?

面向 Godot Engine 的高完整度 MCP server,内置 95+ tools、LSP、DAP 和截图功能。

相关 Skills

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描176.4k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描176.4k

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描176.4k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
89.7k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
60.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
49.9k

评论