Skip to main content
ClaudeWave
wgt19861219 avatar
wgt19861219

godot-mcp-enhanced

View on GitHub

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.

MCP ServersOfficial Registry75 stars7 forksTypeScriptNOASSERTIONUpdated today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/wgt19861219/godot-mcp-enhanced
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "godot-mcp-enhanced": {
      "command": "node",
      "args": ["/path/to/godot-mcp-enhanced/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/wgt19861219/godot-mcp-enhanced and follow its README for install instructions.
Use cases

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`
aiai-agentclaudeclaude-codeclosed-loopcursorgame-devgame-developmentgdscriptgodotgodot-4godot-enginemcpmcp-servermodel-context-protocol

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.

Featured on ClaudeWave: wgt19861219/godot-mcp-enhanced
[![Featured on ClaudeWave](https://claudewave.com/api/badge/wgt19861219-godot-mcp-enhanced)](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

godot-mcp-enhanced alternatives