关于 defold-mcp
defold-mcp 是用于自动化和检查 Defold 游戏项目的 MCP 服务,面向使用 Cursor 等工具的游戏开发者。其工具涵盖项目配置、Lua 与资源创建、调试、构建和项目分析。
主要功能
- 01创建和配置项目
- 02生成并编辑 Lua 脚本
- 03创建游戏资源和组件
- 04运行项目并捕获调试输出
- 05构建项目并启用热重载
- 06获取项目修改分析
适用场景
- 01初始化 Defold 项目
- 02创建 Lua 模块和游戏资源
- 03运行项目并收集输出
- 04为目标平台构建项目
MCP 相关
它将 Defold 项目管理和开发操作作为 MCP 工具提供,Cursor 或 Windsurf 等兼容客户端可用其启动和管理该服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
defold-mcp
注意: 这是我第一次尝试创建 MCP(Model Context Protocol)服务。它并不完美,实际上还缺少很多功能,但我希望比我更聪明的人能接过我的工作,并将其发扬光大!
🚀 什么是 defold-mcp?
defold-mcp 是一个开源的 Model Context Protocol(MCP)服务,旨在将 Defold 游戏引擎与现代开发工具及 AI 驱动的工作流连接起来。它提供了一系列强大的工具,可通过编程方式自动化、检查和管理 Defold 项目,让开发者能够更轻松地:
- 启动和调试 Defold 项目
- 生成和编辑 Lua 脚本及模块
- 创建集合、精灵、图块地图等
- 管理项目设置和依赖项
- 启用热重载和实时分析
- 集成 Cursor 等工具,辅助 AI 游戏开发
✨ 功能
- 全面的工具集: 将各种 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:创建并添加图块地图资源create_particlefx:创建并添加粒子效果create_camera:创建并添加摄像机组件create_factory:创建用于生成游戏对象的工厂组件create_gui:创建 GUI 场景和脚本setup_physics:为碰撞对象配置物理属性build_project:为目标平台构建项目enable_hot_reload:通过监视项目文件启用热重载add_native_extension:添加原生扩展get_project_analytics:获取项目修改分析数据
……以及更多!完整列表和详细信息请参阅 index.js。
⚡️ 快速开始
- 克隆仓库:
git clone https://github.com/yourusername/defold-mcp.git cd defold-mcp - 安装依赖项:
npm install - 配置环境(可选):
创建
.env文件以覆盖默认值(变量包括DEFOLD_PATH、MCP_PORT等,详见index.js)。 - 运行服务:
node index.js - 连接到你喜爱的 MCP 兼容客户端(例如 Cursor)。
🛠️ 与 Cursor 或 Windsurf 搭配使用
如果你使用 Cursor 或 Windsurf,无需手动运行服务。只需在项目中添加配置文件 .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:你希望安装或查找 Defoldbob.jar文件的路径。
这样,每次打开项目时,Cursor 或 Windsurf 都会自动启动、停止并连接到 defold-mcp 服务。请根据你的设置调整路径和环境变量。
💡 为什么创建这个项目?
我创建 defold-mcp,是为了首次尝试构建 MCP 服务并将其与 Defold 游戏引擎集成。我的目标是让 Defold 更容易用于自动化和 AI 驱动的工作流。我知道项目还有一些不足之处,也有不少可以改进的地方,但我希望这个项目能激励其他人参与贡献、持续改进,并将它发展得更好!
如果你发现可以改进的地方,欢迎 Fork、贡献代码或联系我。让我们携手为 Defold 社区打造出色的成果。
🤝 参与贡献
欢迎贡献代码、报告 Bug 和提出功能请求!请创建 issue 或提交 pull request。
📄 许可证
本项目采用 MIT 许可证。
怀着好奇心与对游戏开发的热爱创建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。