使用说明
Godot MCP
一 MCP(模型上下文协议) 将Claude等AI助手连接到Godot 4.6+编辑器的服务器。控制场景、节点、脚本,甚至运行你的游戏——所有这些都可以通过你的AI编码工具完成。
专为 戈多。NET(C#).
入门指南
先决条件
1.安装Godot插件
复制 godot-mcp/ 将文件夹放入Godot项目的 addons/ 目录:
your-project/
addons/
godot-mcp/
MCPPlugin.cs
WebSocketServer.cs
CommandRouter.cs
Handlers/
plugin.cfg
然后在中启用插件 项目>项目设置>插件 --检查 Godot MCP.
2.构建MCP服务器
cd mcp-server
npm install
npm run build
3.配置您的AI工具
将服务器添加到MCP客户端配置中。对于 克劳德代码,添加到您的 .claude/settings.json:
{
"mcpServers": {
"godot": {
"command": "node",
"args": ["<path-to>/mcp-server/build/index.js"]
}
}
}
4.打开Godot并开始使用
在编辑器中打开您的Godot项目。该插件在端口上启动WebSocket服务器 6550 自动。当您的AI工具发出第一个请求时,MCP服务器会连接到它。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
GODOT_MCP_PORT |
6550 |
MCP服务器连接到的WebSocket端口 |
GODOT_MCP_TIMEOUT |
15000 |
请求超时(毫秒) |
建筑
AI Tool (Claude Code, etc.)
↕ stdio (MCP protocol)
MCP Server (Node.js / TypeScript)
↕ WebSocket (localhost:6550)
Godot Editor Plugin (C# EditorPlugin)
↕ Godot API
Your Game Project
两个组成部分:
mcp-server/--使用stdio传输的TypeScript MCP服务器。使用Zod验证输入,通过WebSocket转发命令。godot-mcp/--在Godot编辑器内运行的C#EditorPlugin。通过WebSocket接收命令,根据Godot API执行命令,返回结果。
工具
7个类别的45个工具。
项目
| 工具 | 说明 |
|---|---|
project_get_settings |
读取project.godot设置。如果未指定节/键,则返回所有设置。 |
project_list_files |
列出目录中的文件。支持球形过滤和递归扫描。 |
project_read_file |
读取项目文件的内容。 |
project_write_file |
在项目中写入或创建文件。 |
project_get_uid |
将资源路径转换为其UID。 |
project_get_path_from_uid |
将UID转换回资源路径。 |
场景
| 工具 | 说明 |
|---|---|
scene_create |
使用指定类型的根节点创建新的场景文件。 |
scene_open |
在编辑器中打开一个场景。 |
scene_get_current |
获取有关当前打开的场景的信息。 |
scene_save |
保存当前或指定的场景。 |
scene_delete |
从项目中删除场景文件。 |
scene_instance |
将PackedScene作为当前场景中节点的子节点进行实例化。 |
scene_get_tree |
获取JSON格式的完整场景树结构。 |
scene_play |
运行项目或特定场景。 |
scene_stop |
停止当前正在运行的游戏。 |
节点
| 工具 | 说明 |
|---|---|
node_add |
将新节点添加到场景树中。 |
node_delete |
从场景树中删除节点。 |
node_rename |
重命名节点。 |
node_duplicate |
复制一个节点及其所有子节点。 |
node_move |
将节点修复为新的父节点。 |
node_get_properties |
获取节点的所有属性。 |
node_set_property |
在节点上设置属性。 |
node_get_signals |
列出节点上定义的所有信号。 |
node_connect_signal |
将信号连接到另一个节点上的方法。 |
node_disconnect_signal |
断开信号连接。 |
node_get_children |
列出节点的直接子节点。 |
脚本
| 工具 | 说明 |
|---|---|
script_list |
列出项目中的所有脚本。按语言筛选(C#、GDScript或两者)。 |
script_read |
读取脚本文件的源代码。 |
script_create |
创建新的脚本文件。 |
script_edit |
替换现有脚本文件的内容。 |
script_attach |
将脚本附加到当前场景中的节点。 |
script_detach |
将脚本与节点分离。 |
编辑
| 工具 | 说明 |
|---|---|
editor_screenshot |
截取编辑器视口的屏幕截图(2D、3D或完整)。 |
editor_game_screenshot |
截取正在运行的游戏视口的屏幕截图。 |
editor_get_errors |
从Godot输出日志中获取最近的错误和警告。 |
editor_execute_gdscript |
在编辑器上下文中执行GDScript表达式。 |
editor_execute_csharp |
在编辑器上下文中执行C#表达式。 |
editor_reload_project |
在编辑器中重新加载当前项目。 |
editor_get_open_files |
列出脚本编辑器中当前打开的所有文件。 |
editor_open_file |
在脚本编辑器中的可选行号处打开文件。 |
输入
| 工具 | 说明 |
|---|---|
input_key |
在跑步游戏中模拟键盘按键的按下/释放。 |
input_mouse |
在运行游戏中模拟鼠标事件(点击、按下、释放、移动)。 |
input_action |
触发Godot输入操作(例如。 move_up, jump). |
input_text |
逐个字符键入文本字符串。 |
input_sequence |
执行一系列定时输入操作。 |
运行时
| 工具 | 说明 |
|---|---|
runtime_get_scene_tree |
获取跑步游戏的实时场景树。 |
runtime_get_node_properties |
获取正在运行的游戏中节点的属性。 |
runtime_capture_frame |
捕获一帧性能数据:FPS、帧时间、对象计数、绘制调用。 |
runtime_monitor_property |
随时间监控属性值。 |
许可证
麻省理工学院