GDotMCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GDotMCPAdd a CharacterBody2D player to the current scene"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Architecture
AI Assistant ←—stdio/MCP—→ Node.js Server ←—WebSocket:6505-6514—→ Godot Editor PluginReal-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
Runtime Inspection: Live game scene tree, property monitoring, input recording/replay
Related MCP server: Gear
Quick Start
1. Install the Godot Plugin
Copy addons/gdotmcp/ into your Godot project's addons/ directory.
Enable the plugin: Project → Project Settings → Plugins → GDotMCP → Enable
The plugin will auto-inject 3 autoloads for runtime game inspection:
MCPScreenshot— captures game viewportMCPInputService— injects input events into the running gameMCPGameInspector— runtime scene tree, properties, recording
2. Build the MCP Server
cd godot-mcp-server
npm install
npm run build3. Configure Your MCP Client
Claude Desktop — Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"gdotmcp": {
"command": "node",
"args": ["D:\\GDotMCP\\godot-mcp-server\\dist\\index.js"]
}
}
}Cursor — Edit .cursor/mcp.json:
{
"mcpServers": {
"gdotmcp": {
"command": "node",
"args": ["D:\\GDotMCP\\godot-mcp-server\\dist\\index.js"]
}
}
}OpenCode — Edit ~/.config/opencode/opencode.json:
{
"mcp": {
"gdotmcp": {
"type": "local",
"command": ["node", "D:\\GDotMCP\\godot-mcp-server\\dist\\index.js"],
"enabled": true
}
}
}Claude Code (CLI):
claude mcp add gdotmcp -- node D:\GDotMCP\godot-mcp-server\dist\index.js4. Use It
Open Godot with the GDotMCP plugin enabled
Start your MCP client (Claude Desktop, Cursor, OpenCode, etc.)
The MCP server connects to Godot automatically on ports 6505-6514
5. Install the AI Skill (Optional)
GDotMCP includes a skill file that gives AI assistants detailed guidance on how to use all 174 tools effectively. Install it for better AI assistance:
Claude Code:
# Copy skill to your project
cp -r skills/gdotmcp ~/.claude/skills/Other AI Clients:
Copy skills/gdotmcp/SKILL.md to your AI client's skill/context directory.
The skill covers:
Essential workflows (2D/3D scene building, scripting, playtesting)
Property value formats and GDScript gotchas
Advanced patterns (shaders, navigation, AnimationTree)
Runtime debugging and testing
Troubleshooting common issues
All 174 Tools
Project Tools (10)
Tool | Description |
| Project metadata, version, viewport, autoloads |
| Recursive file tree with filtering |
| Fuzzy/glob file search |
| Search content in project files |
| Read project.godot settings |
| Set project settings via editor API |
| UID → res:// conversion |
| res:// → UID conversion |
| Register autoload singleton |
| Remove autoload singleton |
Scene Tools (10)
Tool | Description |
| Live scene tree with hierarchy |
| Raw .tscn file content |
| Create new scene files |
| Open scene in editor |
| Delete scene file |
| Instance scene as child node |
| Run scene (main/current/custom) |
| Stop running scene |
| Save current scene to disk |
| Get @export variables from scene |
Node Tools (17)
Tool | Description |
| Add node with type and properties |
| Delete node (with undo support) |
| Duplicate node and children |
| Move/reparent node |
| Set any property (auto type parsing) |
| Get all node properties |
| Add Shape/Material/etc to node |
| Set Control anchor preset |
| Rename a node in the scene |
| Connect signal between nodes |
| Disconnect signal connection |
| Get groups a node belongs to |
| Set node group membership |
| Find all nodes in a group |
| Get currently selected scene nodes |
| Select, focus, and inspect scene nodes |
| Clear the editor scene selection |
Script Tools (7)
Tool | Description |
| List all scripts with class info |
| Read script content |
| Create new script with template |
| Search/replace or full edit |
| Attach script to node |
| List scripts open in editor |
| Validate GDScript syntax |
Editor Tools (13)
Tool | Description |
| Get errors and warnings |
| Read output panel content |
| Capture editor viewport |
| Capture running game viewport |
| Run arbitrary GDScript in editor |
| Clear output panel |
| Reload the MCP plugin |
| Rescan filesystem and reload scripts |
| Get all signals of a node with connections |
| Diff two images pixel-by-pixel |
| Toggle dialog auto-dismiss |
| Get 3D editor camera transform |
| Set 3D editor camera position/rotation |
Input Tools (5)
Tool | Description |
| Simulate keyboard key press/release |
| Simulate mouse click at position |
| Simulate mouse movement |
| Simulate Godot Input Action |
| Sequence of input events with frame delays |
Runtime Tools (19)
Tool | Description |
| Scene tree of running game |
| Node properties in running game |
| Set node property in running game |
| Run GDScript in game context |
| Multi-frame screenshot capture |
| Record property values over time |
| Start input recording |
| Stop input recording |
| Replay recorded input |
| Find game nodes by script |
| Get autoload node properties |
| Batch get multiple node properties |
| Find UI elements in game |
| Click button by text content |
| Wait for node to appear |
| Find nodes near position |
| Navigate to target position |
| Walk character to target |
| Monitor signal emissions |
Animation Tools (6)
Tool | Description |
| List all animations in AnimationPlayer |
| Create new animation |
| Add track (value/position/rotation/method/bezier) |
| Insert keyframe into track |
| Detailed animation info with all tracks/keys |
| Remove an animation |
AnimationTree Tools (8)
Tool | Description |
| Create AnimationTree |
| Get tree structure |
| Add state to state machine |
| Remove state from state machine |
| Add transition between states |
| Remove state transition |
| Configure blend tree nodes |
| Set AnimationTree parameter |
TileMap Tools (6)
Tool | Description |
| Set a single tile cell |
| Fill rectangular region with tiles |
| Get tile data at cell |
| Clear all cells |
| TileMapLayer info and tile set sources |
| List of used cells |
Theme Tools (7)
Tool | Description |
| Create Theme resource file |
| Set theme color override |
| Set theme constant override |
| Set theme font size override |
| Set StyleBoxFlat override |
| Configure Control layout (anchors, size flags) |
| Get theme overrides info |
Shader Tools (6)
Tool | Description |
| Create shader with template |
| Read shader file |
| Edit shader (replace/search-replace) |
| Assign ShaderMaterial to node |
| Set shader parameter |
| Get all shader parameters |
Resource Tools (4)
Tool | Description |
| Read .tres resource properties |
| Edit resource properties |
| Create new .tres resource |
| Get resource thumbnail |
Batch & Refactoring Tools (7)
Tool | Description |
| Find all nodes of a type |
| Find all signal connections in scene |
| Set property on all nodes of a type |
| Add multiple nodes at once |
| Search project files for pattern |
| Get resource dependencies |
| Set property across all scenes |
Physics Tools (6)
Tool | Description |
| Add collision shapes to nodes |
| Set collision layer/mask |
| Get collision layer/mask info |
| Add RayCast2D/3D node |
| Configure physics body properties |
| Get collision shape details |
3D Scene Tools (6)
Tool | Description |
| Add MeshInstance3D with primitive mesh |
| Configure Camera3D properties |
| Add/configure light nodes |
| Configure WorldEnvironment |
| Set up GridMap node |
| Set StandardMaterial3D properties |
Audio Tools (6)
Tool | Description |
| Add AudioStreamPlayer node |
| Add audio bus |
| Add effect to audio bus |
| Configure audio bus properties |
| Get audio bus layout info |
| Get audio-related node info |
Navigation Tools (5)
Tool | Description |
| Configure NavigationRegion |
| Configure NavigationAgent |
| Bake navigation mesh |
| Set navigation layers |
| Get navigation setup info |
Particle Tools (5)
Tool | Description |
| Create GPUParticles2D/3D |
| Configure ParticleProcessMaterial |
| Set color gradient for particles |
| Apply preset (fire, smoke, sparks, etc.) |
| Get particle system details |
Input Map Tools (2)
Tool | Description |
| List all input actions |
| Create/modify input action |
Analysis Tools (6)
Tool | Description |
| Find unreferenced resources |
| Map signal connections |
| Analyze scene performance |
| Find where script/resource is used |
| Find circular scene dependencies |
| Get project-wide statistics |
Profiling Tools (2)
Tool | Description |
| All performance monitors (FPS, memory, physics, etc.) |
| Quick performance summary |
Export Tools (3)
Tool | Description |
| List export presets |
| Get export command for preset |
| Export-related project info |
Test Tools (5)
Tool | Description |
| Run automated test scenario |
| Assert node property values |
| Check for text on screen |
| Run performance stress test |
| Get test results report |
Android Tools (3)
Tool | Description |
| List ADB connected devices |
| Get Android export preset info |
| Export and deploy APK to device |
Features
UndoRedo Integration: All node/property operations support Ctrl+Z
Smart Type Parsing:
"Vector2(100, 200)","#ff0000","Color(1,0,0)"auto-convertedAuto-Reconnect: Exponential backoff reconnection (1s → 2s → 4s ... → 60s max)
Heartbeat: 5s ping/pong keeps connection alive
Helpful Errors: Error responses include suggestions for next steps
Runtime Inspection: Live game scene tree, property monitoring, input recording/replay
174 Tools: Comprehensive coverage of Godot's API
Troubleshooting
"No connection available to Godot editor"
The MCP server can't reach Godot. Check:
Godot is running with the GDotMCP plugin enabled
No stale processes — Kill all
nodeprocesses and restart your MCP client:# Windows Get-Process -Name "node" | Stop-Process -Force # Linux/macOS pkill -f nodePorts not blocked — The server uses ports 6505-6514. Ensure no firewall is blocking them.
"Command timed out after 30000ms"
The Godot editor didn't respond in time. This can happen if:
The game is paused or blocked by a debugger breakpoint
A heavy operation is running in the editor
The WebSocket connection dropped (check Godot output panel for reconnection messages)
Runtime tools return empty {}
The game autoloads aren't responding. This usually means:
The game scene isn't playing — use
play_scenefirstThe MCP autoloads weren't injected — restart Godot with the plugin enabled
An async handler issue — ensure you're running the latest build
Dictionary parameters fail with "got type: 4"
The MCP protocol sends nested objects as JSON strings. The server now handles this automatically with JSON.parse() fallback. If you see this error, rebuild the server:
cd godot-mcp-server
npm run buildPlugin not loading
Check Project → Project Settings → Plugins for GDotMCP
Look at the Godot output panel for error messages
Ensure the
addons/gdotmcp/folder contains all required files
Multiple MCP server instances
If you see connection issues, ensure only one MCP server instance is running:
# Check for multiple node processes
Get-Process -Name "node" | Select-Object Id, StartTime
# Kill all and restart your MCP client
Get-Process -Name "node" | Stop-Process -ForceDevelopment
# TypeScript MCP server
npm run dev # Watch mode
npm run build # Build
npm test # Run tests
npm run typecheck # Type check
npm run lint # LintRequirements
Node.js >= 18
Godot 4.x (tested with 4.7-stable)
Credits
Inspired by Godot MCP Pro by youichi-uda. GDotMCP is an open-source implementation built on similar architectural principles.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
One AI endpoint to search and call 22k+ MCP servers; 50+ hosted tools work instantly, no key.
MCP server for Grok Imagine AI video generation
An MCP server that integrates with Discord to provide AI-powered features.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceIntelligent MCP server for AI-assisted Godot 4 development with spatial intelligence, code analysis, and 35 tools54MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to directly run, inspect, modify, and debug Godot game development projects through 110+ tools covering scenes, scripts, resources, runtime debugging, and asset management.33212MIT
- AlicenseBqualityDmaintenanceAdvanced MCP server for Godot 4.6+ with 63 professional tools, enabling AI-assisted game development with backup/rollback, deep script validation, and project health diagnostics.631595MIT
- AlicenseCqualityAmaintenanceAn MCP server providing AI assistants with 149 tools to fully control the Godot game engine, including runtime code execution, scene manipulation, physics, audio, networking, animation, and more.10075449MIT