Godot Toolkit
FreeNot checkedEnables AI assistants to automate Godot 4 projects via headless tooling, live editor control, and runtime remote control, including scene building, testing, and
About
Enables AI assistants to automate Godot 4 projects via headless tooling, live editor control, and runtime remote control, including scene building, testing, and observation.
README
Give an MCP client a structured, Godot-aware way to inspect, author, run, test, and debug Godot 4 projects.
Godot 4 Node.js 18+ MCP License 中文文档
简体中文 · 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.
[!TIP] 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 build
npm.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.gd
3. 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.
Choose Your Path
| You want to… | Start with… | Plugin required? |
|---|---|---|
| Inspect or modify project files, scenes, scripts, and resources | Headless workflow | No |
| Edit an open scene with Godot context, selection, and Undo/Redo | Editor Bridge | Yes |
| Inspect and control a running game | Runtime workflow | Yes |
| Keep the MCP tool list small | Tool groups | 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 | get_project_info, export presets, safe project export, file search, resources, UIDs, project context |
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 build
The 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 build
Restart 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 | project,scenes,nodes,scripts,resources,performance,ai,diagnostics |
| 2D level and UI work | editor,ui,effects,project,scenes,nodes,scripts,visuals,tilemap |
| 3D blockout and deep authoring | editor,advanced_editor,deep_authoring,professional_workflows,effects,project,scenes,nodes,animation,resources |
| Runtime test and debugging | runtime,runtime_diagnostics,performance,diagnostics |
| Full workstation setup | all |
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 |
|---|---|---|
GODOT_BIN |
No | Preferred Godot executable path for local launches and portable helpers. |
GODOT_PATH |
No | Alternate Godot executable path used by the MCP server configuration. |
GODOT_MCP_PROJECT |
No | Default absolute project path for project-facing operations. |
GODOT_MCP_ENABLE_EDITOR_BRIDGE |
No | Live tools are automatic; set to 0 only to disable and hide Editor/Runtime bridge tools. |
GODOT_MCP_TOOL_GROUPS |
No | Comma-separated tool groups, or all. |
GODOT_MCP_RUNTIME_PORT |
No | Override the runtime port used for a launched project. |
GODOT_MCP_EXTENSIONS_DIR |
No | Directory containing optional .mjs tool extensions. |
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 |
| Capabilities | scan supported operation families |
| Editor Bridge and Runtime Agent | enable the plugin, understand ports, or release a binding |
| Multi-project usage | work safely across projects or Godot versions |
| Compatibility | check MCP protocol and Godot support expectations |
| Roadmap | see active and planned deep-editor areas |
| Contributing | 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 build
The 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.
Installing Godot Toolkit
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/woyucbugongdaitian/godot-mcp-toolkitFAQ
Is Godot Toolkit MCP free?
Yes, Godot Toolkit MCP is free — one-click install via Unyly at no cost.
Does Godot Toolkit need an API key?
No, Godot Toolkit runs without API keys or environment variables.
Is Godot Toolkit hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Godot Toolkit in Claude Desktop, Claude Code or Cursor?
Open Godot Toolkit on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Godot Toolkit with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
