Godot模型上下文协议工具

Godot MCP是一个将大型语言模型与Godot引擎集成的工具包,提供实时编辑器操作、项目文件分析、版本感知文档查询等功能,适用于AI辅助游戏开发。

  • by sc-lacanlale
  • TypeScript
  • 本地部署
  • 26 星标
  • 更新于
在 GitHub 查看 6NineLives/godot-mcp

使用说明

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.运行完整的工具链

  1. 确保您的Godot编辑器已打开 godot_mcp 插件已启用。
  2. 启动您的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将大型语言模型连接到Godot的可行性,并提供了使这个统一的、生产就绪的工具链成为可能的重要见解。