Defold游戏引擎自动化工具

defold-mcp是一个开源的Model Context Protocol (MCP)服务器,旨在将Defold游戏引擎与现代开发者工具和AI驱动的工作流程连接起来,提供自动化、检查和程序化管理Defold项目的功能。

  • by ChadAragorn
  • JavaScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 ChadAragorn/defold-mcp

使用说明

defold mcp

注: 这是我第一次尝试创建MCP(模型上下文协议)服务器。它并不完美,事实上它缺少了很多功能,但我希望比我聪明的人能接受我已经开始的东西,并真正使用它!


🚀 什么是defold mcp?

defold mcp是一个开源的模型上下文协议(mcp)服务器,旨在桥接 Defold 游戏引擎,配备现代开发工具和人工智能驱动的工作流程。它提供了一套强大的工具,可以以编程方式自动化、检查和管理Defold项目,使开发人员更容易:

  • 启动和调试Defold项目
  • 生成和编辑Lua脚本和模块
  • 创建收藏、精灵、瓷砖贴图等
  • 管理项目设置和依赖关系
  • 启用热重新加载和实时分析
  • 与以下工具集成 光标 用于人工智能辅助游戏开发

✨ 特性

  • 综合工具集: 将广泛的Defold项目操作作为MCP工具公开(完整列表见下文)。
  • Apple Silicon&Dotenv技术支持: 可在Apple Silicon Mac上开箱即用,并支持通过以下方式进行环境配置 .env 文件夹。
  • 自动化项目管理: 从命令行或通过兼容的客户端轻松创建、列出和配置Defold项目。
  • 脚本和资产自动化: 以编程方式生成脚本、集合、精灵等。
  • 调试和分析: 在调试模式下运行项目,捕获控制台输出,并检索项目修改的分析。
  • 可扩展: 为其他人改进、扩展和适应新的工作流程而构建。

🛠️ 提供的工具

defold mcp公开了以下mcp工具:

  • launch_defold:启动项目的Defold编辑器
  • run_project:在调试模式下运行Defold项目并捕获输出
  • create_project:创建一个具有基本结构的新Defold项目
  • list_projects:列出目录中的所有Defold项目
  • get_project_settings:从读取设置 game.project
  • update_project_settings:更新中的设置 game.project
  • create_script:创建新的Lua脚本
  • edit_script:编辑现有的Lua脚本
  • create_lua_module:创建可重用的Lua模块
  • create_collection:创建新收藏
  • add_game_object:将游戏对象添加到集合中
  • add_component:向游戏对象添加组件(角色、脚本等)
  • create_sprite:创建并添加角色资源
  • create_tilemap:创建并添加tilemap资源
  • create_particlefx:创建和添加粒子效果
  • create_camera:创建并添加相机组件
  • create_factory:创建用于生成游戏对象的工厂组件
  • create_gui:创建GUI场景和脚本
  • setup_physics:配置碰撞对象的物理特性
  • build_project:为目标平台构建项目
  • enable_hot_reload:通过查看项目文件启用热重新加载
  • add_native_extension:添加本机扩展名
  • get_project_analytics:检索项目修改的分析

…还有更多!看 index.js 查看完整列表和详细信息。

⚡️ 入门指南

  1. 克隆存储库:
    git clone https://github.com/yourusername/defold-mcp.git
    cd defold-mcp
    
  2. 安装依赖项:
    npm install
    
  3. 配置环境(可选): 创建一个 .env 文件以覆盖默认值(请参见 index.js 对于以下变量 DEFOLD_PATH, MCP_PORT等等)。
  4. 运行服务器:
    node index.js
    
  5. 连接您最喜欢的MCP兼容客户端 (例如 光标).

🛠️ 与光标或风帆一起使用

如果您正在使用 光标 或 帆板运动,你 不需要手动运行服务器。相反,请在以下位置将配置文件添加到您的项目中 .cursor/mcp.json 让您的客户端自动启动并为您管理服务器。

以下是一个配置示例:

{
  "mcpServers": {
    "defold-mcp": {
      "command": "/path/to/your/node/binary", // e.g., ~/.nvm/versions/node/v22.14.0/bin/node
      "args": ["/path/to/where/you/cloned/defold-mcp/index.js"], // e.g., ~/git/defold-mcp/index.js
      "env": {
        "MCP_TRANSPORT": "stdio",
        "DEFOLD_PATH": "/Applications/Defold.app/Contents/MacOS/Defold",
        "MCP_PORT": "3000",
        "MCP_HOST": "localhost",
        "BOB_PATH": "/desired/path/for/bob.jar" // e.g., ~/defold/bob-1.9.6.jar
      }
    }
  }
}
  • command:Node.js二进制文件的路径。你可以通过运行找到它 which node 在你的终端。
  • args:通往 index.js 这个项目的文件,无论你在哪里克隆它。
  • BOB_PATH:你想要森林的路 bob.jar 要安装或查找的文件。

这允许Cursor或Windsurf自动启动、停止和连接到 defold-mcp 每当您打开项目时,都可以使用服务器。只需根据设置需要调整路径和环境变量。

💡 为什么是这个项目?

我创建了defold mcp,作为我构建mcp服务器并将其与defold游戏引擎集成的第一个实验。我的目标是让Defold更容易实现自动化和人工智能驱动的工作流程。我知道有一些粗糙的边缘和可以做得更好的事情,但我希望这个项目能激励其他人做出贡献、改进,并走得更远!

如果你看到了让它变得更好的方法,请分叉、贡献或伸出援手。让我们一起为Defold社区打造一些很棒的东西。

🤝 贡献

欢迎投稿、bug报告和功能请求!请打开问题或提交拉取请求。

📄 许可证

这个项目是 麻省理工学院许可.


出于好奇心和对游戏开发的热爱而创建。