Premium MCP (Model Context Protocol) server for AI-powered Godot game development. Connects AI assistants like Claude directly to your Godot editor with 172 powerful tools.
Architecture
hljs language-arduino
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
What's in this repo
⚠️ This public repo only contains the free Godot addon/plugin. The MCP server (Node.js, required to connect AI assistants) is distributed as part of the paid package — one-time purchase, lifetime updates:
The paid zip includes the addon, the server/ directory with pre-built JavaScript, INSTALL.md, and AI-client instructions. If you cloned this repo and don't see a server/ folder, that's expected — grab the full package from one of the links above.
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
The server/ directory is only included in the full paid package (see above). After downloading and extracting the zip, run:
For clients without MCP support, or when you want zero context overhead, use the CLI directly from a terminal/bash tool. The CLI requires the server to be built first (Step 2).
hljs language-bash
# Top-level help — shows all command groups
node /path/to/server/build/cli.js --help# Group help — shows commands in a group
node /path/to/server/build/cli.js node --help# Command help — shows options for a command
node /path/to/server/build/cli.js node add --help# Execute
node /path/to/server/build/cli.js project info
node /path/to/server/build/cli.js scene play
node /path/to/server/build/cli.js node add --type CharacterBody3D --name Player
Replace /path/to/ with the actual path where you extracted the files.
The CLI connects directly to the Godot editor plugin via WebSocket. It requires:
Godot editor running with the MCP plugin enabled
Server built (node build/setup.js install)
An available port in the 6510-6514 range
Advantage: LLMs discover capabilities progressively via --help instead of loading all tool definitions upfront. This works with any LLM client that has terminal access, regardless of tool count limits.
6. Client Compatibility
Client
Recommended Mode
Notes
Claude Code
Full (default)
Deferred tool loading — minimal context cost
VS Code Copilot
Full
Virtual Tools auto-group tools
OpenAI Codex CLI
Full
MCPSearch defers overflow
Cline
Full
No hard limit; use enabledTools to whitelist
Roo Code
Full
No hard limit
Windsurf
Lite
100 tool limit
JetBrains Junie
Lite
100 tool limit
Gemini CLI
Lite
~100 client limit; use excludeTools for finer control
Cursor
Full
Tool limit removed (Dynamic Context Discovery)
OpenCode
Minimal or CLI
Models degrade past ~40 tools
Local LLMs (LM Studio, etc.)
Minimal or CLI
Context window is the bottleneck
7. Use It
Open your Godot project with the plugin enabled, then use Claude Code to interact with the editor.
All 172 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
Description
list_scripts
List all scripts with class info
read_script
Read script content
create_script
Create new script with template
edit_script
Search/replace or full edit
attach_script
Attach script to node
get_open_scripts
List scripts open in editor
validate_script
Validate GDScript syntax
search_in_files
Search content in project files
Editor Tools (9)
Tool
Description
get_editor_errors
Get errors and stack traces
get_editor_screenshot
Capture editor viewport
get_game_screenshot
Capture running game
execute_editor_script
Run arbitrary GDScript in editor
clear_output
Clear output panel
get_signals
Get all signals of a node with connections
reload_plugin
Reload the MCP plugin (auto-reconnect)
reload_project
Rescan filesystem and reload scripts
get_output_log
Get output panel content
Input Tools (7)
Tool
Description
simulate_key
Simulate keyboard key press/release
simulate_mouse_click
Simulate mouse click at position
simulate_mouse_move
Simulate mouse movement
simulate_action
Simulate Godot Input Action
simulate_sequence
Sequence of input events with frame delays
get_input_actions
List all input actions
set_input_action
Create/modify input action
Runtime Tools (19)
Tool
Description
get_game_scene_tree
Scene tree of running game
get_game_node_properties
Node properties in running game
set_game_node_property
Set node property in running game
execute_game_script
Run GDScript in game context
capture_frames
Multi-frame screenshot capture
monitor_properties
Record property values over time
start_recording
Start input recording
stop_recording
Stop input recording
replay_recording
Replay recorded input
find_nodes_by_script
Find game nodes by script
get_autoload
Get autoload node properties
batch_get_properties
Batch get multiple node properties
find_ui_elements
Find UI elements in game
click_button_by_text
Click button by text content
wait_for_node
Wait for node to appear
find_nearby_nodes
Find nodes near position
navigate_to
Navigate to target position
move_to
Walk character to target
Animation Tools (6)
Tool
Description
list_animations
List all animations in AnimationPlayer
create_animation
Create new animation
add_animation_track
Add track (value/position/rotation/method/bezier)
set_animation_keyframe
Insert keyframe into track
get_animation_info
Detailed animation info with all tracks/keys
remove_animation
Remove an animation
TileMap Tools (6)
Tool
Description
tilemap_set_cell
Set a single tile cell
tilemap_fill_rect
Fill rectangular region with tiles
tilemap_get_cell
Get tile data at cell
tilemap_clear
Clear all cells
tilemap_get_info
TileMapLayer info and tile set sources
tilemap_get_used_cells
List of used cells
Theme & UI Tools (6)
Tool
Description
create_theme
Create Theme resource file
set_theme_color
Set theme color override
set_theme_constant
Set theme constant override
set_theme_font_size
Set theme font size override
set_theme_stylebox
Set StyleBoxFlat override
get_theme_info
Get theme overrides info
Profiling Tools (2)
Tool
Description
get_performance_monitors
All performance monitors (FPS, memory, physics, etc.)
get_editor_performance
Quick performance summary
Batch & Refactoring Tools (8)
Tool
Description
find_nodes_by_type
Find all nodes of a type
find_signal_connections
Find all signal connections in scene
batch_set_property
Set property on all nodes of a type
find_node_references
Search project files for pattern
get_scene_dependencies
Get resource dependencies
cross_scene_set_property
Set property across all scenes
find_script_references
Find where script/resource is used
detect_circular_dependencies
Find circular scene dependencies
Shader Tools (6)
Tool
Description
create_shader
Create shader with template
read_shader
Read shader file
edit_shader
Edit shader (replace/search-replace)
assign_shader_material
Assign ShaderMaterial to node
set_shader_param
Set shader parameter
get_shader_params
Get all shader parameters
Export Tools (3)
Tool
Description
list_export_presets
List export presets
export_project
Get export command for preset
get_export_info
Export-related project info
Resource Tools (6)
Tool
Description
read_resource
Read .tres resource properties
edit_resource
Edit resource properties
create_resource
Create new .tres resource
get_resource_preview
Get resource thumbnail
add_autoload
Register autoload singleton
remove_autoload
Remove autoload singleton
Physics Tools (6)
Tool
Description
setup_physics_body
Configure physics body properties
setup_collision
Add collision shapes to nodes
set_physics_layers
Set collision layer/mask
get_physics_layers
Get collision layer/mask info
get_collision_info
Get collision shape details
add_raycast
Add RayCast2D/3D node
3D Scene Tools (6)
Tool
Description
add_mesh_instance
Add MeshInstance3D with primitive mesh
setup_camera_3d
Configure Camera3D properties
setup_lighting
Add/configure light nodes
setup_environment
Configure WorldEnvironment
add_gridmap
Set up GridMap node
set_material_3d
Set StandardMaterial3D properties
Particle Tools (5)
Tool
Description
create_particles
Create GPUParticles2D/3D
set_particle_material
Configure ParticleProcessMaterial
set_particle_color_gradient
Set color gradient for particles
apply_particle_preset
Apply preset (fire, smoke, sparks, etc.)
get_particle_info
Get particle system details
Navigation Tools (6)
Tool
Description
setup_navigation_region
Configure NavigationRegion
setup_navigation_agent
Configure NavigationAgent
bake_navigation_mesh
Bake navigation mesh
set_navigation_layers
Set navigation layers
get_navigation_info
Get navigation setup info
Audio Tools (6)
Tool
Description
add_audio_player
Add AudioStreamPlayer node
add_audio_bus
Add audio bus
add_audio_bus_effect
Add effect to audio bus
set_audio_bus
Configure audio bus properties
get_audio_bus_layout
Get audio bus layout info
get_audio_info
Get audio-related node info
AnimationTree Tools (4)
Tool
Description
create_animation_tree
Create AnimationTree
get_animation_tree_structure
Get tree structure
set_tree_parameter
Set AnimationTree parameter
add_state_machine_state
Add state to state machine
State Machine Tools (3)
Tool
Description
remove_state_machine_state
Remove state from state machine
add_state_machine_transition
Add transition between states
remove_state_machine_transition
Remove state transition
Blend Tree Tools (1)
Tool
Description
set_blend_tree_node
Configure blend tree nodes
Analysis & Search Tools (4)
Tool
Description
analyze_scene_complexity
Analyze scene performance
analyze_signal_flow
Map signal connections
find_unused_resources
Find unreferenced resources
get_project_statistics
Get project-wide statistics
Testing & QA Tools (6)
Tool
Description
run_test_scenario
Run automated test scenario
assert_node_state
Assert node property values
assert_screen_text
Check for text on screen
compare_screenshots
Compare two screenshots
run_stress_test
Run performance stress test
get_test_report
Get test results report
Key Features
UndoRedo Integration: All node/property operations support Ctrl+Z
Smart Type Parsing: "Vector2(100, 200)", "#ff0000", "Color(1,0,0)" auto-converted