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
🌐 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
- Node.js 18+
- MCP-compatible client such as Claude Desktop, Cursor, Cline, or OpenCode
1) Run GoPeak
npx -y gopeak
or install globally:
npm install -g gopeak
gopeak
2) Add MCP client config
{
"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.
3) Try these prompts
- "List Godot projects in
/your/projectsand show project info." - "Create
scenes/Player.tscnwith aCharacterBody2Droot and a movement script." - "Run the project, read the debug output, and fix the top error."
- "Use
tool.catalogto find animation tools, then activate the right group."
What You Get
| 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. |
Setup gates
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. |
Add the Godot Plugins
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_editorfor bridge-backed scene/resource toolsgodot_mcp_runtimefor 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. npm install does not install shell hooks automatically.
Tool Profiles
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.
Dynamic groups
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.
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 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
Environment & Ports
| 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 |
GOPEAK_RUNTIME_TIMEOUT_MS | Runtime addon command timeout in milliseconds | 10000 |
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. |
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.catalogor activate a group withtool.groups. - Project path invalid → confirm
project.godotexists. - 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_pathflow. For slow runtime responses, raiseGOPEAK_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 port6505;get_editor_statusreports bridge startup errors such asEADDRINUSE.
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/listexposure 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.
- Original MCP server by Coding-Solo
- GoPeak enhancements by HaD0Yun
- Project visualizer inspired by tomyud1/godot-mcp
常见问题
io.github.HaD0Yun/gopeak 是什么?
面向 Godot Engine 的高完整度 MCP server,内置 95+ tools、LSP、DAP 和截图功能。
相关 Skills
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。