Godot MCP Toolkit
This server provides a comprehensive MCP toolkit for Godot 4, enabling headless project and scene authoring, script management, runtime control, and project analysis.
Project Management: Create, inspect, configure, and discover Godot projects.
File Operations: List, read, write, and search project files and resources (with safe relative paths).
Scene & Node Authoring: Create, inspect, duplicate, modify, and save scenes; add/remove nodes, set properties, load sprites, and create UI nodes.
Scripting: Create, attach, and analyze GDScript files.
Animation & Tilemaps: Create animations, inspect animation players, and edit tilemap cells.
Runtime Control & Testing: Run projects in the background, capture debug output, simulate input, run automation tests, stop processes, and launch the editor.
Diagnostics & Profiling: Check projects for parser/runtime issues and profile scene frame/memory performance.
Resources & UIDs: List resources, find references, read/write resource UIDs, and update project UIDs.
Visuals: Capture screenshots of scenes.
AI Context: Build a project context graph to aid AI understanding.
Live Editor Bridge (plugin): Connect to a running Godot Editor to interact with its scene tree, Inspector, viewports, UI, effects, animations, navigation, physics, audio, themes, plugins, and workspace state.
Runtime Agent (plugin): Inspect and control a running game—examine remote nodes, call methods, pause/resume/step execution, inject input, capture screenshots, query physics/navigation, control audio, watch values, and collect logs/performance metrics.
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 ToolkitCapture a screenshot of the running game"
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 Toolkit
Give an MCP client a structured, Godot-aware way to inspect, author, run, test, and debug Godot 4 projects.
简体中文 · Detailed tutorial (中文) · Capabilities · Editor Bridge · Window-level Computer Use (中文) · Compatibility · Roadmap
Godot MCP Toolkit connects an MCP client to Godot through deterministic headless operations, a live Editor Bridge, a Runtime Agent, and window-level Computer Use. The default distribution exposes 174 built-in MCP tools covering projects, scenes, nodes, scripts, 2D, 3D, UI, skeletons, animation, navigation, physics, audio, runtime debugging, performance observation, and window input.
The repository can live anywhere on your computer. E:\Tools\godot-mcp-toolkit, D:\Dev\godot-mcp-toolkit, and other locations work as long as your MCP client points to the actual build/index.mjs path.
Ask for outcomes instead of clicks: “Create a responsive pause menu”, “add a camera and key light to the arena”, or “run the scene and report health changes plus frame time.”
Install and Connect in 5 Minutes
The following Windows flow is the complete setup. Run these commands in a terminal opened after cloning the repository.
1. Clone and build the MCP server
git clone https://github.com/woyucbugongdaitian/godot-mcp-toolkit.git
Set-Location godot-mcp-toolkit
npm.cmd install
npm.cmd run buildnpm.cmd install installs the Node.js dependencies, including WebSocket support. npm.cmd run build generates the MCP client entry point at build/index.mjs.
Run them again only after updating the repository, changing dependencies, or removing node_modules / build. The MCP client should launch build/index.mjs, not an outdated source entry.
2. Copy the Godot plugin
Update $project and run this from the Toolkit repository root:
$toolkit = (Get-Location).Path
$project = "E:\Games\MyGodotProject"
New-Item -ItemType Directory -Force "$project\addons" | Out-Null
Copy-Item "$toolkit\godot\addons\*" "$project\addons" -Recurse -Force
Test-Path "$project\addons\godot_mcp_pro\plugin.cfg"The last command must return True. The target project must contain:
MyGodotProject/
├─ project.godot
└─ addons/
└─ godot_mcp_pro/
├─ plugin.cfg
├─ plugin.gd
└─ runtime_agent.gd3. Enable the plugin in Godot
Open the target Godot project.
Open Project → Project Settings → Plugins.
Enable Godot MCP Toolkit.
Keep that Godot editor window open.
After it is enabled, the plugin starts the project-local Editor Bridge and Runtime Agent automatically. No GODOT_MCP_ENABLE_EDITOR_BRIDGE=1 setting or second connection switch is required.
4. Add the MCP server to your AI client
Replace the three local paths in this configuration:
{
"mcpServers": {
"godot-mcp-toolkit": {
"command": "node",
"args": ["E:/Tools/godot-mcp-toolkit/build/index.mjs"],
"env": {
"GODOT_PATH": "E:/Tools/Godot/Godot.exe",
"GODOT_MCP_PROJECT": "E:/Games/MyGodotProject"
}
}
}
}Restart the MCP client and ask:
Connect to the currently open Godot project and call
get_editor_infoto verify the Editor Bridge. Do not launch or close any Godot editor.
Once Godot version, project path, and bridge port are returned, the connection is ready.
5. Optional Windows installer
From the repository root:
.\portable\install.ps1 `
-ProjectPath "E:\Games\MyGodotProject" `
-GodotPath "E:\Tools\Godot\Godot.exe"The helper copies the plugin and generates mcp-config.generated.json. You still need to enable the plugin in Godot once.
Related MCP server: Godot MCP
Choose Your Path
You want to… | Start with… | Plugin required? |
Inspect or modify project files, scenes, scripts, and resources | No | |
Edit an open scene with Godot context, selection, and Undo/Redo | Yes | |
Inspect and control a running game | Yes | |
Keep the MCP tool list small | No |
At a Glance
flowchart LR
Client["MCP client / AI assistant"] --> Server["Godot MCP Toolkit\nNode.js MCP server"]
Server --> Headless["Headless Godot\nfiles · scenes · checks · tests"]
Server --> Bridge["Editor Bridge\nopen Godot Editor"]
Server --> Agent["Runtime Agent\nrunning game"]
Bridge --> Editor["scene tree · Inspector · 2D · 3D · UI"]
Agent --> Game["input · properties · logs · metrics"]Three connected modes
Headless automation — discover projects, create scenes, edit nodes and resources, generate or validate GDScript, capture screenshots, run tests, inspect TileMaps, and profile scenes.
Live Editor Bridge — work with the currently open Godot Editor: scene tree, Inspector properties, selections, 2D/3D content, UI, effects, animation, navigation, physics, audio, themes, plugins, and workspace state.
Runtime Agent — inspect remote nodes and properties, call methods, pause/resume/step, inject keyboard or pointer input, capture screenshots, query ray, point, and primitive-shape physics overlaps, query navigation paths, control audio, watch values, and collect logs or frame metrics.
Window Control — bind one MCP conversation to one Godot Editor or game window; games default to Godot virtual input that does not move the real mouse, while Editor control uses verified Windows native window input.
What It Covers
Area | Examples | Typical result |
Project intelligence and delivery |
| Understand, validate, and deliver an unfamiliar project |
Scene authoring | Create, inspect, duplicate, save, add, move, rename, remove, and configure nodes | Make reproducible scene changes from structured requests |
2D and UI | Sprites, Control nodes, cameras, lights, UI screens, layout, Theme overrides | Build menus, HUDs, dialogs, and 2D prototypes |
3D authoring | Primitive and editable ArrayMesh surfaces, cameras, lights, transforms, StandardMaterial, stylized rendering | Block out, inspect, and revise a playable 3D scene |
Gameplay and production systems | AnimationTree state machines, Bezier curves, Skeleton/Skin, Navigation baking, collision contacts, Audio Bus effects, imports, and exports | Set up and validate production workflows without hiding changes in generated files |
Runtime verification | Remote tree/properties, input injection, screenshots, physics/navigation queries, structured logs, performance snapshots, contacts, and audio analysis | Reproduce issues and verify behavior with evidence |
See the complete operation inventory in docs/capabilities.md.
Tool inventory: 174 unique built-in tools are available by default. Set
GODOT_MCP_ENABLE_EDITOR_BRIDGE=0only for a 45-tool headless-only surface, or useGODOT_MCP_TOOL_GROUPSfor a focused tool list. The detailed inventory is organized into 24 reader-friendly categories in docs/capabilities.md.
Quick Start
1. Check prerequisites
Node.js 18 or newer.
Godot 4.x available through
GODOT_BIN,GODOT_PATH, or thegodot/godot4command onPATH.An MCP client that can launch a local stdio server.
2. Install and build
git clone https://github.com/woyucbugongdaitian/godot-mcp-toolkit.git
Set-Location godot-mcp-toolkit
npm.cmd install
npm.cmd run buildThe generated entry point is build/index.mjs. Build from the repository root so the server can resolve its bundled Godot operation script.
3. Update an existing installation
If you originally installed by cloning the repository, update it from the Toolkit directory:
git pull
npm.cmd install
npm.cmd run buildRestart the MCP client after the update. If the release includes Godot plugin changes, synchronize the copied plugin into the target project again:
.\portable\install.ps1 `
-ProjectPath "E:\Games\MyGodotProject" `
-GodotPath "E:\Tools\Godot\Godot.exe"The plugin is copied into the target project's addons/godot_mcp_pro; git pull does not update that project copy automatically. The installer creates a timestamped backup before replacing an existing plugin. For a global installation, run portable/install-global.ps1 again after updating the repository. When projects are launched through Open with Godot MCP, the launcher synchronizes the plugin during startup.
4. Add the MCP server
Copy this entry into your MCP client configuration and replace the two paths:
{
"mcpServers": {
"godot-mcp-toolkit": {
"command": "node",
"args": ["E:/Tools/godot-mcp-toolkit/build/index.mjs"],
"env": {
"GODOT_PATH": "E:/Tools/Godot/Godot_v4.x-stable_win64.exe",
"GODOT_MCP_PROJECT": "E:/Games/MyGodotProject"
}
}
}
}GODOT_MCP_PROJECT is optional. If it is omitted, pass an absolute projectPath to each project-facing tool. A ready-to-copy template is available at examples/mcp-config.json.
5. Verify the connection
Ask the MCP client to call these tools in order:
get_server_info— confirms the server is reachable and reports capabilities.get_godot_version— confirms the Godot executable can be launched.get_project_info— reads project metadata and selected settings.get_game_context— builds a compact project graph for the assistant.
If all four calls succeed, the headless workflow is ready. Continue with the detailed tutorial for a full inspect → edit → verify loop.
Enable Live Editor and Runtime Control
Live tools are exposed by the MCP server automatically. The Godot plugin is the only live-control switch you need.
Copy
godot/addons/godot_mcp_prointo the target project asaddons/godot_mcp_pro.In Godot, open Project Settings > Plugins and enable Godot MCP Toolkit.
Keep the target project open. The plugin starts its project-specific local bridge automatically.
Call
get_editor_infoorbind_editor; the first live request establishes the one-to-one conversation binding.For runtime control, call
run_project, thenget_runtime_info.
No GODOT_MCP_ENABLE_EDITOR_BRIDGE=1 setting is required. Set it to 0 only when you intentionally want to hide every live Editor and Runtime tool.
On Windows, the installer can copy the plugin and generate a starter configuration:
.\portable\install.ps1 -ProjectPath "E:\Games\MyGodotProject" -GodotPath "E:\Tools\Godot\Godot_v4.x-stable_win64.exe"The installer does not enable the plugin inside Godot automatically. See docs/editor-bridge.md for binding rules and docs/tutorial.zh-CN.md for a complete walkthrough.
Work with Multiple Godot Projects
Use one named MCP server configuration per project and one conversation per project. Do not reuse one default-project server while asking the same conversation to switch between open projects.
{
"mcpServers": {
"godot-project-a": {
"command": "node",
"args": ["E:/Tools/godot-mcp-toolkit/build/index.mjs"],
"env": {
"GODOT_PATH": "E:/Tools/Godot/Godot.exe",
"GODOT_MCP_PROJECT": "E:/Games/ProjectA"
}
},
"godot-project-b": {
"command": "node",
"args": ["E:/Tools/godot-mcp-toolkit/build/index.mjs"],
"env": {
"GODOT_PATH": "E:/Tools/Godot/Godot.exe",
"GODOT_MCP_PROJECT": "E:/Games/ProjectB"
}
}
}
}Open both Godot projects, enable the plugin in both, then use a separate AI conversation with godot-project-a and godot-project-b. Each MCP server process has its own session ID, so different projects can be controlled concurrently. If one conversation is already bound to Project A, call release_editor_binding before switching that same conversation to Project B; never close Godot to resolve a binding conflict.
If the Game Has Sound but No Window
run_project launches a visible game window by default. Only headless: true hides the window. Ask the AI:
Use the current
build/index.mjs, run the project withheadless: false, and return therunId, PID, and window status. Do not close the Godot editor.
Check that the MCP client points to the latest build/index.mjs, that headless was not set to true, and use get_debug_output(runId) for startup errors. run_project opens the game window; get_editor_info and bind_editor control the already-open Godot editor.
Expose Only the Tools You Need
Set GODOT_MCP_TOOL_GROUPS to a comma-separated list so the MCP client sees only the capabilities relevant to the current task:
Focus | Suggested groups |
Project repair or code generation |
|
2D level and UI work |
|
3D blockout and deep authoring |
|
Runtime test and debugging |
|
Full workstation setup |
|
The editor, ui, effects, advanced_editor, deep_authoring, and professional_workflows groups require the live Editor Bridge. The runtime_diagnostics group requires the Runtime Agent. Remote runtime tools also require the plugin; run_project, output capture, headless input simulation, and automation tests remain available without it.
Workflow Recipes
Understand and improve an existing project
Call
get_project_info,list_scenes, andget_game_context.Ask the assistant to identify the relevant scene, scripts, and resources.
Make focused changes with project, scene, script, or live Editor tools.
Run
check_project,analyze_script, andrun_automation_testbefore moving on.
Example request: “Inspect this project, find the title scene, add a start button that loads the main scene, and run parser checks.”
Build a polished 2D screen
Enable the Editor Bridge and call
bind_editor.Create a hierarchy with
create_ui_screenandcreate_ui_component.Refine layout with
configure_control_layout, theme withset_theme_override, and structure withinspect_ui_layout.Add a transition or visual pass, then capture an Editor screenshot for review.
Example request: “Create a responsive pause menu with Resume, Settings, and Quit actions. Center it, use a dark translucent panel, and add a quick fade-in.”
Debug a running game with live signals
Run the project and call
get_runtime_infoto establish the runtime binding.Inspect the remote tree and configure watches for health, velocity, or state.
Poll
poll_runtime_observabilitywhile reproducing the issue.Inject keyboard, mouse, touch, wheel, or drag input and capture evidence.
Finish with
release_runtime_bindingandstop_project.
Example request: “Launch the current scene, watch the player’s health and movement state, simulate an inventory drag, and report new warnings plus average frame time.”
Configuration Reference
Variable | Required | Purpose |
| No | Preferred Godot executable path for local launches and portable helpers. |
| No | Alternate Godot executable path used by the MCP server configuration. |
| No | Default absolute project path for project-facing operations. |
| No | Live tools are automatic; set to |
| No | Comma-separated tool groups, or |
| No | Override the runtime port used for a launched project. |
| No | Directory containing optional |
Session Safety
Project-facing operations use an explicit absolute
projectPathunlessGODOT_MCP_PROJECTis configured.One MCP conversation binds to one live Editor or Runtime project at a time. Bindings expire after 90 seconds of inactivity.
Editor and Runtime bindings are independent. Call
release_editor_bindingorrelease_runtime_bindingbefore switching projects.Live Editor mutations are designed to participate in Godot’s Undo/Redo flow where the Godot API supports it.
The bridge uses local loopback WebSockets; no cloud relay or external game service is required.
Unsupported Godot 4.x APIs return structured errors instead of terminating the MCP process.
Documentation Map
Guide | Use it when you need to… |
follow a complete install, configuration, editing, runtime, and troubleshooting walkthrough | |
scan supported operation families | |
enable the plugin, understand ports, or release a binding | |
work safely across projects or Godot versions | |
check MCP protocol and Godot support expectations | |
see active and planned deep-editor areas | |
propose changes or run local quality checks |
Current Boundaries
Godot MCP Toolkit focuses on stable semantic operations rather than pixel-level imitation of every Editor panel. ArrayMesh plus Skeleton/Skin editing, BlendSpace foundations, NavigationMesh baking, runtime contacts and structured logs, Audio Bus effect chains/spectrum peaks, Theme fonts/icons/type variations, TileSet terrain/proxy authoring, and safe preset exports are available. Imported-mesh vertex editing, full viewport Gizmo gestures, visual-shader graph tooling, code refactoring/full debugger stacks, importer-setting authoring, Project Manager/Export Dock UI automation, and every editor panel remain outside the semantic API boundary. See docs/roadmap.md for the current boundary.
Development
npm.cmd run check
npm.cmd test
npm.cmd run buildThe test suite covers the MCP contract and one-to-one Editor/Runtime binding behavior.
License
Released under the MIT License. This is an independent community implementation; see NOTICE.md for attribution details.
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
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Godot game projects through real-time error detection, automated testing, code analysis, and safe git-based patching. Provides comprehensive project context and development workflow automation for Godot developers.MIT
- AlicenseNot gradedqualityCmaintenanceProvides a comprehensive integration between LLMs and the Godot Engine, enabling AI assistants to intelligently manipulate project files, scripts, and the live editor. It supports advanced workflows including version-aware documentation querying, automated E2E game testing, and real-time visual context capture.3226MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to interact with the Godot game engine, including launching the editor, running projects, capturing debug output, and managing scenes.841MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to edit, run, inspect, and fix Godot 4 projects through an MCP server with dynamic tool groups and setup-gated capabilities.174240MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Discover AI tools for game development — 100+ tools indexed by engine, task, and pricing.
Live browser debugging for AI assistants — DOM, console, network via MCP.
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/woyucbugongdaitian/godot-mcp-toolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server