Premium MCP server for AI-powered Godot game development.
Godot MCP Pro
Premium MCP (Model Context Protocol) server for AI-powered Godot game development. Connects AI assistants like Claude directly to your Godot editor with 163 powerful tools.
Architecture
AI Assistant ←—stdio/MCP—→ Node.js Server ←—WebSocket:6505—→ Godot Editor Plugin
- Real-time: WebSocket connection means instant feedback, no file polling
- Editor Integration: Full access to Godot's editor API, UndoRedo system, and scene tree
- JSON-RPC 2.0: Standard protocol with proper error codes and suggestions
Quick Start
1. Install the Godot Plugin
Copy the addons/godot_mcp/ folder into your Godot project's addons/ directory.
Enable the plugin: Project → Project Settings → Plugins → Godot MCP Pro → Enable
2. Install the MCP Server
cd server
npm install
npm run build
3. Configure Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"godot-mcp-pro": {
"command": "node",
"args": ["D:/dev/godot-mcp-pro/server/build/index.js"],
"env": {
"GODOT_MCP_PORT": "6505"
}
}
}
}
4. Auto-Approve Tool Permissions (Recommended)
Claude Code asks for permission each time a tool is called. To skip these prompts, copy one of the included permission presets to your Claude Code settings:
Option A: Conservative (default — blocks destructive tools)
cp settings.local.json ~/.claude/settings.local.json
Allows 152 of 163 tools automatically. The following 11 tools will still require manual approval each time:
| Blocked Tool | Reason |
|---|---|
delete_node |
Deletes a node from the scene |
delete_scene |
Deletes a scene file from disk |
remove_animation |
Removes an animation |
remove_autoload |
Removes an autoload singleton |
remove_state_machine_state |
Removes a state machine state |
remove_state_machine_transition |
Removes a state machine transition |
execute_editor_script |
Runs arbitrary code in the editor |
execute_game_script |
Runs arbitrary code in the running game |
export_project |
Triggers a project export |
tilemap_clear |
Clears all cells in a TileMapLayer |
Option B: Permissive (allows everything, denies dangerous commands)
cp settings.local.permissive.json ~/.claude/settings.local.json
Allows all 163 tools and all Bash commands. Explicitly denies destructive shell commands (rm -rf, git push --force, git reset --hard, etc.) and the same destructive MCP tools listed above.
Note: If you already have a
settings.local.json, merge thepermissionssection manually instead of overwriting.
5. Lite Mode (Optional)
If your MCP client has a tool count limit (e.g., Windsurf: 100, Cursor: ~40), use Lite mode which registers 76 core tools instead of 162:
{
"mcpServers": {
"godot-mcp-pro": {
"command": "node",
"args": ["D:/dev/godot-mcp-pro/server/build/index.js", "--lite"]
}
}
}
Lite mode includes: project, scene, node, script, editor, input, runtime, and input_map tools.
6. Use It
Open your Godot project with the plugin enabled, then use Claude Code to interact with the editor.
All 162 Tools
Project Tools (7)
| Tool | Description |
|---|---|
get_project_info |
Project metadata, version, viewport, autoloads |
get_filesystem_tree |
Recursive file tree with filtering |
search_files |
Fuzzy/glob file search |
get_project_settings |
Read project.godot settings |
set_project_setting |
Set project settings via editor API |
uid_to_project_path |
UID → res:// conversion |
project_path_to_uid |
res:// → UID conversion |
Scene Tools (9)
| Tool | Description |
|---|---|
get_scene_tree |
Live scene tree with hierarchy |
get_scene_file_content |
Raw .tscn file content |
create_scene |
Create new scene files |
open_scene |
Open scene in editor |
delete_scene |
Delete scene file |
add_scene_instance |
Instance scene as child node |
play_scene |
Run scene (main/current/custom) |
stop_scene |
Stop running scene |
save_scene |
Save current scene to disk |
Node Tools (14)
| Tool | Description |
|---|---|
add_node |
Add node with type and properties |
delete_node |
Delete node (with undo support) |
duplicate_node |
Duplicate node and children |
move_node |
Move/reparent node |
update_property |
Set any property (auto type parsing) |
get_node_properties |
Get all node properties |
add_resource |
Add Shape/Material/etc to node |
set_anchor_preset |
Set Control anchor preset |
rename_node |
Rename a node in the scene |
connect_signal |
Connect signal between nodes |
disconnect_signal |
Disconnect signal connection |
get_node_groups |
Get groups a node belongs to |
set_node_groups |
Set node group membership |
find_nodes_in_group |
Find all nodes in a group |
Script Tools (8)
| Tool | Descrip
Tools (5)
get_project_infoRetrieves project metadata, version, viewport, and autoloads.get_scene_treeRetrieves the live scene tree with hierarchy.add_nodeAdds a node with specified type and properties.update_propertySets any property on a node with auto type parsing.play_sceneRuns the current, main, or custom scene.Environment Variables
GODOT_MCP_PORTrequiredThe port used for the WebSocket connection to the Godot Editor plugin.Configuration
{"mcpServers": {"godot-mcp-pro": {"command": "node", "args": ["D:/dev/godot-mcp-pro/server/build/index.js"], "env": {"GODOT_MCP_PORT": "6505"}}}}