Godot DAP MCP服务器
状态: 🚧 主动开发-第8阶段完成✅ | 文档⏳
MCP(模型上下文协议)服务器,使AI代理能够通过调试适配器协议(DAP)执行Godot游戏的交互式运行时调试。
当前能力
第1-3阶段:核心调试 (完整):
- ✅ 通过DAP连接到Godot编辑器
- ✅ 设置、验证和清除断点
- ✅ 控制执行(继续、跳过、进入)
- ✅ 会话管理
第4阶段:运行时检查 (完整):
- ✅ 获取具有源位置的堆栈跟踪
- ✅ 检查变量作用域(局部、成员、全局)
- ✅ 浏览复杂对象(数组、字典、节点)
- ✅ 在运行时评估GDScript表达式
- ✅ Godot特定类型格式(Vector2、Color等)
第五阶段:场景启动 (完整):
- ✅ 启动主场景、特定场景或当前编辑器场景
- ✅ 配置调试选项(分析、冲突、导航)
- ✅ 验证项目路径
第6-8阶段:高级和波兰语 (完整):
- ✅
godot_pause:暂停跑步游戏 - ✅
godot_set_variable: *可用,但由于上游Godot限制,当前已禁用* - ✅ 稳健的错误处理:问题/上下文/解决方案错误消息
- ✅ 路径解析:自动转换
res://通往绝对路径的路径 - ✅ 超时保护:防止DAP服务器无响应挂起
- ✅ 事件驱动架构:处理复杂的交错DAP事件
计划的功能
- 上游改进:
- stepOut 支持(PR提交: 戈多滕发动机/戈多特#112875) - setVariable 支持(计划公关)
- 文档:完整的工具参考和示例
建筑
MCP Client (Claude Code) → stdio → MCP Server → TCP/DAP → Godot Editor → Game Instance此服务器将Claude Code(或任何MCP客户端)连接到Godot的内置DAP服务器,从而启用AI辅助调试工作流。
架构:
- MCP层 (
internal/mcp/):基于stdio的JSONRPC 2.0通信 - DAP客户端 (
internal/dap/):Godot DAP服务器的事件驱动TCP客户端 - 工具层 (
internal/tools/):具有错误处理和路径解析功能的Godot特定MCP工具
文档
综合文档可在 docs/ 目录:
- docs/PLAN.md -项目状态和路线图
- docs/TOOLS.md -完整的工具参考(即将推出)
- docs/EXAMPLES.md -使用示例(即将推出)
- docs/ARCHITECTURE.md -系统设计
- docs/TEST.md -测试指南
安装
用于测试/开发:
# Build from source
go build -o godot-dap-mcp-server cmd/godot-dap-mcp-server/main.go
# Run all tests
go test ./...
# Run integration tests (requires Godot 4.2.2+)
./scripts/automated-integration-test.sh快速开始
- 启动Godot编辑器 与你的项目。
- 运行MCP服务器 (通过克劳德代码或手动)。
- 连接:
godot_connect(project="/path/to/your/project") - 设置断点:
godot_set_breakpoint(file="res://player.gd", line=10) - 发射:
godot_launch_main_scene(project="/path/to/your/project") - 调试:使用
godot_step_over,godot_get_stack_trace,godot_evaluate等等。
许可证
MIT许可证-请参阅 许可证
