返回市场
默认-mcp

默认-mcp

作者:ChadAragorn8 星标更新:2025-04-27

项目介绍

defold-mcp

注意: 这是我第一次尝试创建一个MCP(模型上下文协议)服务器。它并不完美,实际上还缺少很多功能,但我希望比我聪明的人可以在此基础上继续开发和完善!


🚀 defold-mcp 是什么?

defold-mcp 是一个开源的模型上下文协议(MCP)服务器,旨在连接Defold游戏引擎与现代开发工具及AI驱动的工作流程。它提供了一套强大的工具,用于自动化、检查和管理Defold项目,使开发者更容易:

  • 启动并调试Defold项目
  • 生成和编辑Lua脚本和模块
  • 创建集合、精灵、瓦片地图等
  • 管理项目设置和依赖项
  • 启用热重载和实时分析
  • 集成如Cursor等工具以实现AI辅助的游戏开发

✨ 特性

  • 全面的工具集: 将广泛的Defold项目操作暴露为MCP工具(详见下文的完整列表)。
  • 苹果硅芯片及Dotenv支持: 在苹果硅芯片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: 创建并添加瓦片地图资源
  • 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_PATHMCP_PORT等)。
  4. 运行服务器:
    node index.js
    
  5. 使用您喜欢的MCP兼容客户端(如Cursor)进行连接。

🛠️ 使用Cursor或Windsurf

如果您正在使用CursorWindsurf,则无需手动运行服务器。相反,在您的项目中添加一个配置文件.cursor/mcp.json,让客户端自动启动和管理服务器。

这是一个示例配置:

{
  "mcpServers": {
    "defold-mcp": {
      "command": "/path/to/your/node/binary", // 例如,~/.nvm/versions/node/v22.14.0/bin/node
      "args": ["/path/to/where/you/cloned/defold-mcp/index.js"], // 例如,~/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" // 例如,~/defold/bob-1.9.6.jar
      }
    }
  }
}
  • command: 您的Node.js二进制文件路径。您可以通过在终端中运行which node找到此路径。
  • args: 此项目index.js文件的路径,无论您将其克隆到何处。
  • BOB_PATH: 您希望安装或找到Defold bob.jar文件的位置。

这允许Cursor或Windsurf在您打开项目时自动启动、停止并连接到defold-mcp服务器。只需根据您的设置调整路径和环境变量即可。

💡 为什么这个项目?

我创建defold-mcp作为我首次尝试构建MCP服务器并与Defold游戏引擎集成的实验。我的目标是使Defold更易于自动化和AI驱动的工作流程。我知道还有粗糙的边缘和可以做得更好的地方,但我希望这个项目能激发其他人贡献、改进,并将其发展得更远!

如果您看到改进的方法,请分叉、贡献或联系我们。让我们一起为Defold社区打造一些伟大的东西。

🤝 贡献

欢迎提交问题报告、功能请求和贡献!请打开一个issue或提交pull request。

📄 许可证

本项目采用MIT许可证


由好奇心和对游戏开发的热爱所创造。