Enhanced MCP server for Godot 4.5-4.7: 33 tools / 199 actions, 3-layer architecture (headless + editor + game bridge), secure sandbox, recording & frame-verify, cross-version CI.
git clone https://github.com/wgt19861219/godot-mcp-enhanced{
"mcpServers": {
"godot-mcp-enhanced": {
"command": "node",
"args": ["/path/to/godot-mcp-enhanced/dist/index.js"]
}
}
}MCP Servers overview
# Godot MCP Enhanced
> 免费 · 开源 · 安全 —— 截至 2026-06-28 调研,Godot MCP 赛道里
> 少见提供「系统化安全防护 + 三层架构」的开源方案。
给 AI(Claude Code、Cursor、CodeBuddy 等 MCP 客户端)一个能真正读、写、跑、验证 Godot 项目的
工具层:33 个 MCP 工具(merged,每个含多 action;完整清单见 [capability-matrix](docs/capability-matrix.md))覆盖场景/脚本/UI/动画/物理/粒子/导航/音频/测试/导出/3D 参数化资产(asset:11 shape + 路径阵列 + batch 原子 undo),三层架构
(headless + editor + game bridge)+ 路径白名单 / 注入防御 / sandbox 安全体系。
**[English](README.en.md)** · 工具描述为简体中文,服务中文 Godot 开发者社区;欢迎 i18n PR。
## 与同类方案对比
> **本项目不追求"工具数量第一"。** 赛道里,godot-mcp-pro 有 175 个工具但闭源收 $15;
> 免费的 Coding-Solo 仅 13 个。真正稀缺的不是工具数量,而是「免费 + 开源 + 系统化安全防护」——安全维度在赛道内几乎无人设防。
> 数据截至 2026-06-27(stars / 工具数 / 价格均可能变化,详见各项目仓库)。
| 维度 | **本项目** | godot-mcp-pro | GDAI MCP | Coding-Solo/godot-mcp |
|---|:---:|:---:|:---:|:---:|
| 价格 | **免费** | $15 买断 [^p1] | $19 买断 [^p2] | 免费 [^p3] |
| 开源 | **✅ MIT** | ❌ server 预编译闭源 [^p1] | ❌ [^p2] | ✅ [^p3] |
| 工具数 | **33** ([matrix](docs/capability-matrix.md)) | 175 [^p1] | ~30 [^p1] | 13 [^p1] |
| 安全特性 | **✅ 路径白名单 / 注入防御 / sandbox / 确认令牌 / 输出防伪** | — | — | — |
| 架构 | **三层 headless + editor + bridge** | 单 editor WS [^p1] | stdio [^p1] | headless CLI [^p1] |
| Godot 4.5–4.7 兼容矩阵 | **✅** | — | — | — |
| 中文工具描述 | **✅** | — | — | ❌ |
[^p1]: https://github.com/youichi-uda/godot-mcp-pro README(含其自带竞品对比表),抓取 2026-06-27
[^p2]: GDAI MCP,数据转引自 godot-mcp-pro 对比表,2026-06-27
[^p3]: https://github.com/Coding-Solo/godot-mcp,抓取 2026-06-27
_"—" 表示该项目公开 README 未披露相应能力,不代表必然缺失;欢迎 PR 修正。_
> **从 [Coding-Solo/godot-mcp](https://github.com/Coding-Solo/godot-mcp) 升级?** 见 **[迁移指南](docs/migration-from-coding-solo.md)** —— 核心能力零丢失,获得三层架构 / 安全 / 验证门禁 / 跨版本矩阵增强。
## 安全体系
截至 2026-06-27 调研,Godot MCP 赛道内少见提供系统化安全特性的方案。本项目内置多层防护,
适合对可信边界有要求的开发场景:
- **路径访问控制** — `ALLOWED_PROJECT_PATHS` 白名单(deny-by-default),防 junction / 符号链接绕过
- **GDScript 注入防御** — 危险 API 模式扫描 + 字符串拼接绕过检测
- **危险操作确认令牌** — 删节点等操作需显式确认
- **输出标记防伪造** — 每次执行随机标记,防 GDScript 伪造 MCP 输出
- **本地运行** — 无远程暴露,无第三方数据上传
<details>
<summary><b>⚠️ 诚实的边界(展开必读)</b></summary>
以上是**防误操作层**,不是不可绕过的安全边界。GDScript 拥有完整系统访问权限,
沙箱可被间接方式绕过(`call()` 动态分派、多步变量构造 API 名、字符串拼接构造 API 名(如 `"cu"+"rl"`、`str("OS")+".execute()"`)等)。
- 需真正隔离:容器 / VM + `GODOT_MCP_ALLOW_UNSAFE=false`
- 关闭扫描:`GODOT_MCP_SANDBOX=disabled`(仅开发)
- 本工具**仅限本地可信环境**,不提供远程认证或加密
</details>
## Blender 建模(execute_bpy)安全模型
`execute_bpy` 通过 headless `blender --background` 跑 AI 写的 bpy 片段。**bpy 是全功能 Python,
无语言层沙箱,威胁面 = 宿主 RCE**(读/删任意文件、执行任意命令、网络)——**高于 `execute_gdscript`
的 GDScript 沙箱一个量级**(GDScript 语言层有约束,逃逸才到宿主)。
诚实边界:
1. **glb 导出落点硬约束**:`export_path` 经 `resolveWithinRoot`,仅约束 godot-mcp 注入的 export 行
filepath,**不约束 bpy 代码内部的 `open()`/`os.remove()`/`os.system()`**。
2. **本地单用户信任模型** + 响应附 `[SECURITY]` warning。
3. 不做 bpy 语法沙箱(正则防不住动态构造 = 假绿),列 backlog。
对比 BlenderMCP:不是"我们防住了它们没防住的",而是"我们显式声明 fail-model + glb 落点硬约束 +
本地信任模型,BlenderMCP 既无约束也无声明"。
## 核心能力
### 三层架构 — 静态编辑 / 实时调试 / 运行时验证
不是单一连接,而是按场景分工的三层(自动检测,互不冲突):
| 层 | 连接方式 | 适用场景 |
|---|---|---|
| **Headless CLI** | 独立 Godot 进程 | 文件读写、批量创建、一次性验证(默认) |
| **Editor WebSocket** | 连接运行中的编辑器 | 实时操作当前场景、Undo、场景树同步 |
| **Game Bridge** | TCP 连接运行中的游戏 | E2E 测试、运行时调试、输入模拟、状态验证 |
### 动态 GDScript 执行
`execute_gdscript` 让 AI 在 headless 模式执行任意 GDScript:代码片段模式(自动包装 `extends SceneTree`)、结构化输出(`_mcp_output`)、超时控制、Autoload 上下文(`load_autoloads=true`)、结构化错误(类型/文件/行号/修复建议)。
### AI 开发闭环 — 不只是工具堆砌
```
read_scene / read_script → 理解结构 → write_script / edit_script
→ run_and_verify(错误分析)→ validate_scripts → verify_delivery(交付门禁)
```
- **`verify_delivery`** — 端到端交付门禁:场景树完整性 + 脚本健康 + 性能 + 自定义断言
- **`validate_scripts`** — 触发 Godot 完整编译(含跨文件依赖),捕获 headless 遗漏的 Parse Error
- **`dev_loop`** — 执行 → 验证 → 截图一体化,支持 acceptance 验收标准
闭环示例:AI 用 `read_scene` 理解 → `write_script` 改 → `run_and_verify(capture_tree=true)` 跑+分析 → `validate_project` 查资源 → `batch_add_nodes` 批建 → `import_resources` 注册 → 有问题回到改脚本。
### 批量操作与资源管理
- **`batch_add_nodes`** — 一次调用添加多个节点,只在最后做一次 pack+save,避免每个节点启停 headless Godot
- **`validate_project`** — 静态扫描缺失资源、无效 `preload()`/`load()` 路径、孤立 `.import` 文件
- **`import_resources`** — 扫描目录批量注册资源(图片/音频/字体/3D 模型),自动生成 `.import`
## 工具一览
> 共 28 个 MCP 工具(merged tool definition),以下按 action 逐项展开全部操作;权威清单见 [capability-matrix](docs/capability-matrix.md)。
### 执行工具
| 工具 | 说明 |
|------|------|
| `launch_editor` | 启动 Godot 编辑器 GUI |
| `run_project` | 以调试模式运行项目(自动超时) |
| `stop_project` | 停止运行中的项目,返回结构化输出 |
| `get_debug_output` | 获取分类调试输出(错误/警告/打印) |
| `capture_screenshot` | 截取游戏画面(Windows 默认窗口模式,Linux/macOS 自动降级) |
| `analyze_screenshot` | AI 分析截图内容(元素识别、缺陷检测) |
| `run_tests` | 运行 GUT 单元测试并解析结果 |
| `get_godot_version` | 获取 Godot 引擎版本 |
### 验证工具
| 工具 | 说明 |
|------|------|
| `run_and_verify` | 一键 headless 运行并返回结构化错误/警告分析。支持 `capture_tree` 选项同时获取场景树快照。自动检测版本不一致和脚本语法错误。 |
| `analyze_error` | 重新分析 Godot 输出文本,提供修复建议 |
| `validate_scripts` | 对每个脚本执行 Godot `load()` 编译验证(触发完整编译,含跨文件依赖解析),检测 headless 运行可能遗漏的 Parse Error |
### 动态执行工具
| 工具 | 说明 |
|------|------|
| `execute_gdscript` | 在 headless 模式下执行任意 GDScript 代码。支持代码片段模式(自动包装)和完整类模式。设置 `load_autoloads=true` 可在完整 Autoload 上下文中运行(DataRegistry、PlayerData 等)。 |
| `query_scene_tree` | 加载场景并查询运行时节点树,返回解析后的实际属性值。 |
| `inspect_node` | 深度检查节点:所有属性、信号连接、子节点,支持递归深度控制。 |
### 项目工具
| 工具 | 说明 |
|------|------|
| `list_projects` | 搜索目录中的 Godot 项目 |
| `get_project_info` | 项目元数据 + 文件统计 |
| `list_files` | 列出文件(支持扩展名/子目录过滤) |
| `read_project_config` | 解析 project.godot 为结构化 JSON |
| `create_project` | 创建完整 Godot 项目结构 |
| `setup_project_rules` | 一键配置项目规则(hooks + CLAUDE.md),建议首次使用时运行 |
| `validate_project` | 检查缺失资源、无效脚本引用、孤立 .import 文件 |
| `import_resources` | 扫描目录批量生成 .import 文件(图片/音频/字体/3D模型) |
### 场景工具
| 工具 | 说明 |
|------|------|
| `read_scene` | 解析 .tscn 为节点树 JSON,含属性类型解析(ExtResource/Color/Vector2/Vector3/NodePath/数组/字典/数字/字符串) |
| `create_scene` | 创建新场景 |
| `add_node` | 向场景添加节点 |
| `batch_add_nodes` | 一次调用添加多个节点(比重复 `add_node` 快得多) |
| `save_scene` | 保存场景更改 |
| `load_sprite` | 加载纹理到精灵节点 |
| `edit_node` | 编辑节点属性(位置/缩放/旋转/自定义属性) |
| `remove_node` | 从场景移除节点(需确认令牌) |
| `quick_scene` | 快速创建场景 + 可选脚本(一步到位) |
| `instance_scene` | 实例化 .tscn 场景到目标父节点 |
| `detach_instance` | 从场景树分离实例节点 |
| `diff_scenes` | 比较两个 .tscn 场景文件差异 |
| `merge_scene` | .tscn 冲突解决(三方合并,ExtResource/SubResource ID 重映射) |
### 脚本工具
| 工具 | 说明 |
|------|------|
| `read_script` | 读取 .gd/.cs 文件(含元数据) |
| `write_script` | 写入/覆盖 .gd 文件 |
| `edit_script` | 按行范围编辑 .gd 文件。支持 `raw`/`smart` 缩进模式、内容验证、变更前后对比。 |
| `generate_test` | 分析 .gd 文件并生成 GUT 测试脚本 |
| `create_test_scene` | 创建 GUT 测试运行器场景 |
| `project_replace` | 全项目批量搜索替换(CRLF 安全) |
### 运行时操作工具
> **注意:** 运行时操作仅在 headless 执行上下文中生效,不持久化到 .tscn 文件。如需持久化场景修改,请使用 `add_node` + `save_scene`。
| 工具 | 说明 |
|------|------|
| `signal_connect` | 连接两个节点的信号。仅影响当前执行上下文。 |
| `signal_disconnect` | 断开信号连接。仅影响当前执行上下文。 |
| `signal_emit` | 发射节点信号,参数仅支持基础类型(string/number/bool/null)。仅影响当前执行上下文。 |
| `signal_list` | 列出节点上可用的信号。 |
| `physics_raycast` | 执行 3D 射线检测,返回碰撞点、法线、碰撞体信息。 |
| `physics_body_info` | 获取物理体的碰撞形状、AABB、碰撞层/掩码信息。 |
| `node_create_3d` | 运行时创建 3D 节点(支持 16 种白名单类型)。headless 创建不持久化。 |
| `nav_query_path` | 查询 3D 导航路径,支持指定 NavigationRegion3D 或自动回退。 |
### 音频播放控制工具(运行时)
> **注意:** 运行时操作仅在 headless 执行上下文中生效,不持久化到 .tscn 文件。
| 工具 | 说明 |
|------|------|
| `audio_play` | 播放音频资源。支持 AudioStreamPlayer、AudioStreamPlayer2D、AudioStreamPlayer3D 三种节点类型。 |
| `audio_stop` | 停止指定音频播放器的播放。 |
| `audio_set_param` | 设置音频参数:音量 dB、音调缩放、总线路由。 |
| `audio_query` | 查询播放状态(播放中/暂停/停止)、当前播放位置、总线信息。 |
| `diagnose_physics` | 诊断物理体碰撞状态(含 ConcavePolygonShape3D 陷阱检测)。 |
| `query_spatial` | 空间区域查询:碰撞体距离排序,支持碰撞掩码过滤。 |
| `collision_overlay` | 创建碰撞形状彩色线框叠加(StaticBody=蓝/CharacterBody=绿/RigidBody=红/Area=黄)。 |
### TileMap 编辑工具(运行时)
> **注意:** 运行时操作仅在 headless 执行上下文中生效,不持久化到 .tscn 文件。如需持久化 TileMap 修改,请使用 `execute_gdscript` 写入 .tscn 或在编辑器中操作。同时支持 TileMap(旧版)和 TileMapLayer(Godot 4.3+ 新版)两种节点类型。
| 工具 | 说明 |
|------|------|
| `tilemap_read` | 读取 TileMap/TileMapLayer 的 cell 数据,返回指定区域内的 tile 坐标、source_id、atlas_coords、alternative_tile。 |
| `tilemap_set_cell` | 设置单个 tile 的源图集和坐标。 |
| `tilemap_erase_cell` | 擦除单个 tile(设为空)。 |
| `tilemap_fill_rect` | 批量填充矩形区域内的所有 tile。 |
| `tilemap_clear` | 清空 TileMap/TileMapLayer 的所有 tile。 |
| `tilemap_copy` | 复制指定区域为模板(内部缓存),用于后续粘贴。 |
| `tilemap_paste` | 将已复制的模板粘贴到目标位置。 |
| `tilemap_set_transform` | 设置 tile 的翻转/旋转变换(水平翻转、垂直翻转、Transpose)。 |
所有运行时工具支持可选 `load_autoloads` 参数(默认 `true`),可在完整 Autoload 上下文中执行。
### API 文档工具
| 工具 | 说明 |
|------|------|
| `get_class_info` | 获取类的方法、属性、信号、常量 |
| `search_classes` | 按名称/描述搜索类 |
| `find_method` | 查找方法详情(含继承链) |
| `get_inheritance` | 获取完整继承链 |
### 材质与着色器工具(运行时)
> **注意:** 运行时操作仅在 headless 执行上下文中生效,不持久化到 .tscn 文件。
| 工具 | 说明 |
|------|------|
| `material_read` | 读取节点材质属性和 shader uniform 列表 |
| `material_write` | 设置材质参数、创建/附加/保存材质(.tres) |
| `shader_edit` | 读写着色器代码、加载 .gdshader、应用模板、编译诊断 |
### Game Bridge 工具
| 工具 | 说明 |
|------|------|
| `game_bridge_install` | 安装 MCP Bridge autoload 到项目(WebSocket 服务端) |
| `game_bridge_uninstall` | 卸载 MCP Bridge autoload |
| `game_query` | 查询运行中游戏状态(场景树/节点属性/性能/视口) |
| `game_input` | 向运行中游戏发送输入事件(键盘/鼠标/文本) |
| `game_wait` | 在 timeout 窗口内轮询等待游戏状态条件(节点出现/属性值变化),支持 `interval_ms` 探测间隔。条件成立立即返回,超时返回 `timed_out` |
### 工作流工具
| 工具 | 说明 |
|------|------|
| `dev_loop` | 开发循环:执行 GDScript → 验证 → 捕获输出,支持 save_state 文件即记忆 |
| `scene_snapshot` | 场景树快照,用于前后对比检测变更 |
| `batch_validate` | 批量验证多个 GDScript 文件 |
### 动画工具(运行时)
| 工具 | 说明 |
|------|------|
| `animation` | 查询、播放、编辑动画。支持 list_players、get_info、get_details、get_keyframes、play、stop、seek、create、delete、update_props、add/remove_track、add/remove/update_keyframe 等子操作 |
### 性能分析工具(运行时)
| 工具 | 说明 |
|------|------|
| `profiler` | 性能分析:快照(FPS/内存/绘制调用/物理统计)、采样分析、活跃进程检测、信号连接审计 |
### 3D 空间工具
| 工具 | 说明 |
|------|------|
| `spatial_info` | 获取 Node3D 空间信息:transform、AABB、bounds、区域查找 |
### 测试与导出工具
| 工具 | 说明 |
|------|------|
| `test_assert` | 断言场景树状态:node_exists、property_equals、signal_connected、node_count |
| `test_stress` | 压力测试:重复创建/销毁节点检测内存泄漏 |
| `export_list_presets` | 列出项目导出预设 |
| `export_get_preset` | 获取导出预设详情 |
| `export_build`What people ask about godot-mcp-enhanced
What is wgt19861219/godot-mcp-enhanced?
+
wgt19861219/godot-mcp-enhanced is mcp servers for the Claude AI ecosystem. Enhanced MCP server for Godot 4.5-4.7: 33 tools / 199 actions, 3-layer architecture (headless + editor + game bridge), secure sandbox, recording & frame-verify, cross-version CI. It has 75 GitHub stars and was last updated today.
How do I install godot-mcp-enhanced?
+
You can install godot-mcp-enhanced by cloning the repository (https://github.com/wgt19861219/godot-mcp-enhanced) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is wgt19861219/godot-mcp-enhanced safe to use?
+
wgt19861219/godot-mcp-enhanced has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains wgt19861219/godot-mcp-enhanced?
+
wgt19861219/godot-mcp-enhanced is maintained by wgt19861219. The last recorded GitHub activity is from today, with 1 open issues.
Are there alternatives to godot-mcp-enhanced?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy godot-mcp-enhanced to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/wgt19861219-godot-mcp-enhanced)<a href="https://claudewave.com/repo/wgt19861219-godot-mcp-enhanced"><img src="https://claudewave.com/api/badge/wgt19861219-godot-mcp-enhanced" alt="Featured on ClaudeWave: wgt19861219/godot-mcp-enhanced" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!