内容
# Godot MCP 服务器
一个模型上下文协议(MCP)服务器,允许像Gemini和Claude这样的AI模型与Godot引擎项目进行交互。
## 功能
- **项目洞察**: 读取`project.godot`配置。
- **场景检查**: 解析`.tscn`文件以了解节点层次结构。
- **脚本访问**: 读取和分析`.gd`(GDScript)文件。
- **资产管理**: 在`res://`目录中列出和定位资产。
## 设置
### 先决条件
- 安装[pnpm](https://pnpm.io/)。
- Node.js(v18或更高版本)。
### 安装
1. 克隆此仓库。
2. 安装依赖项:
```bash
pnpm install
```
3. 构建服务器:
```bash
pnpm build
```
## 使用
### Claude 桌面版
在您的`claude_desktop_config.json`中添加以下内容:
```json
{
"mcpServers": {
"godot": {
"command": "node",
"args": ["/path/to/godot-mcp/packages/server/dist/index.js"],
"env": {
"GODOT_PROJECT_PATH": "/path/to/your/godot/project"
}
}
}
}
```
### 环境变量
- `GODOT_PROJECT_PATH`: 指向您的Godot项目根目录的绝对路径,或包含多个Godot项目的workspace文件夹。
## 工作空间模式
如果您将`GODOT_PROJECT_PATH`指向包含多个Godot项目的目录,则服务器进入**工作空间模式**。
1. AI可以使用`list_projects`发现工作空间中的所有游戏。
2. AI可以通过提供相对路径(例如`get_project_info(projectPath: "my-rpg")`)来针对特定项目。
3. 通过在工作空间根目录中限制所有操作来保持安全。
## 工具
### 检查
- `list_projects`: 在工作空间中找到所有Godot项目(扫描`project.godot`)。
- `get_project_info`: 返回有关Godot项目的基本信息。
- `list_res_files`: 递归列出`res://`目录中的所有文件。
- `inspect_scene`: 解析场景文件(.tscn)并返回其节点结构。
- `read_script`: 返回GDScript文件(.gd)的内容。
### 创建和修改
- `create_script`: 使用基本模板创建新的GDScript。
- `edit_script`: 用新内容覆盖GDScript。
- `create_character_scene`: 生成具有必要子节点的2D或3D CharacterBody 场景。
- `add_node_to_scene`: 将新节点追加到现有的场景文件。
## 开发
该项目使用pnpm工作空间。所有依赖项都固定为特定版本,并且必须至少有5天历史(由`pnpm-workspace.yaml`强制执行)。