Godot MCP服务器(Rust实现)
  
一个MCP服务器,用于对来自AI(LLM)的Godot游戏引擎项目进行高度高级的操作和分析。 它提供了一个强大的GraphQL API,将静态项目分析与实时编辑器交互无缝集成。
🛠️ 核心工具集(GraphQL API)
所有Godot操作都整合到 3个GraphQL工具 通过MCP暴露。此最小接口允许LLM使用单一、一致的API执行任何操作:
| 工具 | 说明 |
|---|---|
godot_query | 只读查询(项目信息、场景结构) |
godot_mutate | 修改操作(添加节点、设置属性) |
godot_introspect | 获取API架构(SDL或内省) |
备注:个人操作(如addNode,setProperty)是GraphQL 领域,而不是单独的MCP工具。 使用godot_introspect以发现所有可用的操作。
你能做什么
godot_query:只读操作。
- 项目分析:获取项目元数据、统计信息和验证状态。 - 结构发现:分析场景层次结构、脚本定义和资源依赖关系(依赖关系图)。 - 实时监控:在运行的编辑器中捕获日志并检查节点/变量状态。
godot_mutate:修改项目的操作。
- 项目编辑:添加/删除节点、更改属性和修改脚本。 - 现场互动:操纵活动编辑器UI、播放动画和连接信号。 - 安全变更流程:在应用更改之前验证和预览更改(通过Diff)。
godot_introspect:自我描述API发现。
- API架构:以SDL格式获取可用查询、突变和类型的完整列表。
🚀 主要特点
- 自主TDD支持:通过GQL运行GdUnit4测试并检索结构化错误报告。促进AI驱动的测试修复循环。
- 编辑现场互动:在编辑器UI中立即反映更改。所有操作都记录在编辑器的 撤消/恢复历史记录.
- 深度静态分析:直接解析
.tscn,.gd,以及.tres即使在编辑器关闭时,也可以通过文件来理解项目结构。
🏗️ 建筑
该项目使用混合方法来平衡高性能分析和深度引擎集成:
- Rust端(核心服务器):
- 负责项目文件的高速解析,提供GraphQL模式和MCP通信。 - 由于独立于编辑器,它在CI环境中或在编辑器启动之前都能完美工作。
- GDScript端(编辑器插件):
- 访问内部Godot编辑器API,以进行实时节点操作和执行控制。 - 通过本地高速协议(SSE/HTTP)与Rust服务器通信。
🔧 入门指南
1.建造
cargo build --release2.启用Godot插件
复制 addons/godot_mcp 到你的项目 addons/ 目录,并在项目设置中启用插件。
3.克劳德桌面配置
%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"godot": {
"command": "C:\\path\\to\\godot-mcp-rs.exe",
"env": {
"GODOT_PATH": "C:\\path\\to\\godot.exe"
}
}
}
}💻 命令行接口命令模式
直接从终端使用GraphQL进行自动化脚本和管道。
# Query project statistics
godot-mcp-rs tool gql-query --project ./my_game --query "{ project { stats { sceneCount } } }"
# Introspect schema
godot-mcp-rs tool gql-introspect --project ./my_game --format SDL许可证
麻省理工学院
