GDotMCP
Click on "Install 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: godot-mcp-pilot
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceIntelligent MCP server for AI-assisted Godot 4 development with spatial intelligence, code analysis, and 35 toolsLast updated53MIT
- AlicenseAqualityDmaintenanceAn MCP server that gives AI assistants direct control over Godot 4 game development projects. It enables launching the editor, running projects, creating and editing scenes, writing GDScript, and inspecting assets through natural language commands.Last updated44434MIT
- AlicenseAqualityBmaintenanceAn 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.Last updated33212MIT
- 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.Last updated631804MIT
Related MCP Connectors
MCP server for Grok Imagine AI video generation
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for AI agent profiles and smart notes. 60+ coding prompt packs with expert personas.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DohmBoy64Bit/GDotMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server