godot-mcp-pilot
Exposes Godot engine operations as MCP tools, allowing AI assistants to manipulate Godot projects programmatically including scene creation/editing, script management, project execution, and asset inspection for game development workflows.
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., "@godot-mcp-pilotcreate a 2D player character with sprite and collision"
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.
godot-mcp-pilot
Model Context Protocol server for Godot 4 — Give AI assistants (Claude, Cursor, Cline, etc.) direct control over your Godot projects.
godot-mcp-pilot exposes Godot engine operations as MCP tools, letting AI assistants launch the editor, run projects, create and edit scenes, write GDScript, and inspect assets — all through natural language. Works for both 2D and 3D games.

"Create a CharacterBody3D player scene with a Camera3D and collision"
"Run the project and show me any errors"
"Add a DirectionalLight3D to the scene"
"Create a 2D platformer with sprites and tilemaps"Quick Start
1. Install
npm install -g godot-mcp-pilotOr use without installing:
npx godot-mcp-pilot2. Run the setup wizard
npx godot-mcp-pilot setup
# or, if installed globally:
godot-mcp-pilot-setupThe wizard will:
Auto-detect your Godot binary (checks Applications, Downloads, PATH)
Ask which AI client you use
Write the config to the right place for that client
Manual Setup
Claude Code (CLI / IDE extension)
Critical: Claude Code reads
.mcp.jsonfrom the directory where you launch it.
The file must be in your game project folder, not the godot-mcp-pilot folder.
# From inside your game project directory:
claude mcp add godot -- npx godot-mcp-pilotThis writes .mcp.json to your current directory. Then always launch Claude Code from that directory:
cd ~/games/my-platformer
claudeIf Godot isn't auto-detected (e.g. you never moved it out of ~/Downloads):
claude mcp add godot -e GODOT_PATH=/path/to/Godot.app/Contents/MacOS/Godot -- npx godot-mcp-pilotOr write .mcp.json manually in your game project root:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["godot-mcp-pilot"],
"env": {
"GODOT_PATH": "/path/to/your/Godot"
}
}
}
}Claude Desktop
Claude Desktop uses a different config file — it does not read .mcp.json.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["godot-mcp-pilot"],
"env": {
"GODOT_PATH": "/path/to/your/Godot"
}
}
}
}Then quit and reopen Claude Desktop.
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["godot-mcp-pilot"],
"env": {
"GODOT_PATH": "/path/to/your/Godot"
}
}
}
}Godot Path Detection
The server searches these locations automatically (in order):
OS | Paths checked |
macOS |
|
Linux |
|
Windows |
|
If auto-detection fails, set GODOT_PATH to the absolute path of your Godot executable.
2D and 3D Games
godot-mcp-pilot works equally well for 2D and 3D. Use the appropriate node types:
2D | 3D | |
Player |
|
|
Root |
|
|
Camera |
|
|
Mesh |
|
|
Collision |
|
|
Physics |
|
|
Light | — |
|
Example prompts:
"Create a 3D scene with a Node3D root, MeshInstance3D floor, and DirectionalLight3D"
"Add a CharacterBody3D with a CollisionShape3D using a CapsuleShape3D"
"Write a GDScript for 3D first-person movement"Features
Category | Tools |
System |
|
Editor / Run |
|
Scenes |
|
Nodes |
|
Scripts |
|
Project |
|
Assets |
|
UIDs |
|
Configuration
Environment Variable | Default | Description |
| auto-detected | Absolute path to the Godot executable |
|
| If |
|
| Print debug info to stderr |
Troubleshooting
"MCP server not connected" / tools not appearing
Claude Code: The .mcp.json must be in the directory where you run claude. Open a new terminal, cd into your game project, and run claude from there.
Claude Desktop: Make sure you edited the right file (claude_desktop_config.json, not .mcp.json) and fully quit and reopened the app.
Godot not found
Set GODOT_PATH explicitly in the config env block. On macOS, if you downloaded Godot but never moved it:
GODOT_PATH=/Users/yourname/Downloads/Godot.app/Contents/MacOS/GodotTo find where Godot is:
# macOS / Linux
find ~/Downloads ~/Applications /Applications -name "Godot" -type f 2>/dev/nullScene parse errors / malformed .tscn
If Godot refuses to load a scene edited by the MCP, check that instance= lines are unquoted:
# Correct
instance=ExtResource("1_abc")
# Wrong (Godot rejects this)
instance="ExtResource(\"1_abc\")"Run the project headless to see the exact error:
/path/to/Godot --path /path/to/project --headless --quit 2>&1MCP disconnects during a session
This is a known issue with some MCP host implementations. Workaround: close and reopen your AI client. The MCP server itself is stateless — reconnecting is safe.
Example Workflows
2D top-down shooter
"Create a 2D scene called Main.tscn"
"Add a CharacterBody2D called Player at the center"
"Create a movement + shooting script for the Player"
"Add an Area2D called Enemy that moves toward the player"
"Run the project and show errors"3D platformer
"Create a 3D scene with a StaticBody3D floor (MeshInstance3D box, scale 20x1x20)"
"Add a CharacterBody3D player with a CapsuleShape3D collision"
"Create a 3D character controller script with jump and gravity"
"Add a Camera3D as a child of the player with offset Vector3(0, 2, 5)"Read-Only Mode
READ_ONLY_MODE=true npx godot-mcp-pilotDisables all write tools. Useful for CI/CD or review workflows.
Development
git clone https://github.com/pushks18/godot-mcp-pilot
cd godot-mcp-pilot
npm install
npm run build
# Run the setup wizard
npm run setup
# Development mode (ts-node, no build step)
npm run devProject Structure
godot-mcp-pilot/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # MCP server + tool routing
│ ├── config.ts # Godot path detection, env config
│ ├── godot-process.ts # Process management (spawn, capture)
│ ├── tools/
│ │ ├── system.ts # Version, project listing/info
│ │ ├── execution.ts # Launch editor, run/stop project
│ │ ├── scene.ts # Scene CRUD + node manipulation
│ │ ├── script.ts # GDScript read/write/analyze
│ │ ├── assets.ts # Asset listing/inspection
│ │ ├── project_settings.ts # Settings, autoloads, input maps
│ │ └── uid.ts # Godot 4 UID management
│ └── utils/
│ ├── path.ts # Path validation (prevents traversal)
│ ├── tscn.ts # .tscn parser and serializer
│ └── project_godot.ts # project.godot reader
└── scripts/
├── setup.js # Interactive setup wizard
└── godot_operations.gd # Bundled GDScript for runtime opsCompatibility
Godot 4.x (primary target — tested on 4.2, 4.3, 4.4)
Godot 3.x — basic tools work; scene format differences apply
MCP Protocol — 2024-11-05 spec
Node.js — 18+
Security
All file paths are validated to stay within the project directory (no path traversal)
launch_editorandrun_projectonly start processes with safe, predefined argsUse
READ_ONLY_MODE=truein untrusted environmentsThe server never executes arbitrary shell commands — only the Godot binary
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/Pushks18/Godot-MCP-Pilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server