使用说明
Godot MCP(模型上下文协议)
项目概述
Godot MCP在大型语言模型(LLM)和Godot引擎(4.x版本)之间提供了全面的、可用于生产的集成。它创建了一个统一的模型上下文协议接口,允许AI助手智能地读取、写入和操纵Godot项目文件,与实时Godot编辑器交互,并在运行的游戏上执行端到端(E2E)测试。通过将多个AI到Godot功能整合到一个强大的工具包中,Godot MCP大大降低了AI辅助游戏开发的难度。
安装与使用
1.先决条件
- Node.js(v18或更高版本)
- Godot引擎4.x
- 支持的MCP客户端(例如Claude Desktop)
2.添加Godot插件
导航到终端中特定Godot项目的根文件夹并运行:
npx -y @xianlee/godot-mcp install
这将自动复制 addons/godot_mcp 将文件夹放入您的项目中。启用 godot_mcp 插件通过 项目>项目设置>插件 在Godot编辑器中。
3.配置MCP客户端(克劳德桌面示例)
将以下配置添加到您的 mcp config json:
{
"mcpServers": {
"godot-mcp": {
"command": "npx",
"args": ["-y", "@xianlee/godot-mcp"],
"env": {
"GODOT_PATH": "<OPTIONAL_ABSOLUTE_PATH_TO_GODOT_EXECUTABLE>"
}
}
}
}
4.运行完整的工具链
- 确保您的Godot编辑器已打开
godot_mcp插件已启用。 - 启动您的MCP客户端(如Claude Desktop)。服务器将动态下载并无缝跳转到Godot WebSocket。
功能列表
- 实时编辑操作:在Godot编辑器中实时修改节点、属性和场景。
- 深层项目背景:阅读和分析脚本、场景结构(
.tscn),并动态生成项目文件。 - 版本感知Godot文档:自动查询与您的特定引擎版本匹配的Godot文档。
- 端到端游戏桥接测试:通过模拟输入和状态查询在实时运行的游戏中播放、测试和断言逻辑。
- 高级诊断:自动查看诊断、验证场景和调试实时错误。
- 整合架构:工具占用空间最小,大量使用
action参数以保存AI上下文窗口。 - 自动截图循环:定期捕获编辑器或正在运行的游戏状态的视觉截图,为AI提供连续的视觉背景。
- Bug修复循环:自动从Godot引擎收集堆栈跟踪,分析运行时错误,并迭代地提出代码修复。
- 场景树查看器:交互式基于web的可视化工具,用于通过浏览器检查实时Godot场景树和节点属性。
- 智能路径检测:即使通过外部IDE加载,也能无缝检测正确的Godot项目路径和环境变量。
- 强大的连接处理:企业级WebSocket连接,具有命令队列、指数退避和大负载缓冲功能。
- 通用资产处置:解析内部Godot UUID(
uid://...或.uid文件)动态转换为绝对文件路径,确保无缝的AI上下文映射。
MCP工具参考
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
manage_project |
项目级操作 | action (信息、树、统计数据), directory |
manage_project_config |
修改project.godot或导出设置 | action (读、写), section, key, value |
manage_asset |
解析或检查资产路径和UUID | action (resolve,get_uid), file_path, uid |
manage_script |
创建、读取、更新或分析GDScripts | action (创建、阅读、编辑), file_path, content |
manage_scene |
场景级操作 | action (打开、保存、运行、构造), scene_path |
manage_node |
实时编辑器中的节点级编辑 | action (创建、删除、更新、获取), node_path, properties |
manage_physics |
检查或编辑物理图形和图层 | action (get_layer、set_layer), node_path |
manage_animation |
在编辑器中控制动画播放器 | action (get_list、play、stop), node_path, anim_name |
manage_ui |
检查或修改控制节点 | action (get_theme、set_anchors), node_path |
manage_audio |
审核或操纵音频流 | action (get_bus、set_volume), bus_name |
manage_signal |
连接或断开Godot信号 | action (连接、断开), source_node, signal_name, target_node, method_name |
manage_game_bridge |
连接或配置实时跑步游戏 | action (状态、重置、ping) |
game_scene |
从正在运行的游戏中获取节点树 | action (get_tree、get_node), node_path |
game_input |
模拟跑步游戏中的输入事件 | action (按下、释放、鼠标移动), input_name |
game_state |
查询属性和执行状态 | action (get_property,call_method), node_path, property |
game_wait |
暂停执行以等待视觉更新 | action (等待帧、等待秒), amount |
godot_docs |
查询Godot引擎文档 | action (搜索,获取类), query |
execute_editor_script |
在编辑器中运行任意GDScript | script_code |
visualize_project |
启动基于web的项目可视化工具 | port |
capture_vision |
捕获编辑器的屏幕截图(如果支持) | format, quality |
inspect_project |
深度扫描关系和用法 | action (find_usage), target |
debug_project |
获取日志和堆栈跟踪 | action (获取错误,清除日志) |
validate_scene |
检查是否存在损坏的依赖关系 | scene_path |
run_and_verify |
用于执行和断言正确性的工作流工具 | scene_path, assertions |
get_project_diagnostics |
整个生态系统的综合警告 | include_warnings |
search_project |
跨脚本的全文或正则表达式搜索 | query, use_regex, file_pattern |
semantic_search |
按语义搜索代码 | query, threshold |
get_project_assets |
获取全面的资产列表 | resource_type |
get_project_context |
检索汇总的当前工作上下文 | depth |
致谢
该项目建立在Godot引擎的几个现有模型上下文协议(MCP)实现的基础上。我们要向这些存储库背后的原始维护者和社区表示感谢:
- godot-mcp插件: (tomyud1/godot mcp)
- 戈多特·麦克普场景: (Derfirm/godot mcp)
- 戈多特·麦克普医生: (Nihilantropy/godot mcp文档)
- godot-mcp-solo: (编程独奏/godot mcp)
- godot_mcp_uid: (布雷迪普/戈多特·麦克普)
我们衷心感谢为这些工具奠定基础的原始维护者、贡献者以及更广泛的Godot和开源社区。他们的专业原型证明了通过MCP将大型语言模型连接到Godot的可行性,并提供了使这个统一的、生产就绪的工具链成为可能的重要见解。
