Comprehensive integration between LLMs and the Godot Engine
Godot MCP (Model Context Protocol)
Project Overview
Godot MCP provides a comprehensive, production-ready integration between Large Language Models (LLMs) and the Godot Engine (versions 4.x). It creates a unified Model Context Protocol interface allowing AI assistants to intelligently read, write, and manipulate Godot project files, interact with the live Godot Editor, and perform End-to-End (E2E) testing on running games. By consolidating multiple AI-to-Godot features into a single robust toolkit, Godot MCP dramatically lowers the friction of AI-assisted game development.
Installation & Usage
1. Prerequisites
- Node.js (v18 or higher)
- Godot Engine 4.x
- Supported MCP client (e.g., Claude Desktop)
2. Add the Godot Plugin
Navigate to your specific Godot project's root folder in your terminal and run:
npx -y @xianlee/godot-mcp install
This will automatically copy the addons/godot_mcp folder into your project. Enable the godot_mcp plugin via Project > Project Settings > Plugins in the Godot Editor.
3. Configure the MCP Client (Claude Desktop Example)
Add the following configuration to your mcp config json:
{
"mcpServers": {
"godot-mcp": {
"command": "npx",
"args": ["-y", "@xianlee/godot-mcp"],
"env": {
"GODOT_PATH": "<OPTIONAL_ABSOLUTE_PATH_TO_GODOT_EXECUTABLE>"
}
}
}
}
4. Running the Complete Toolchain
- Ensure your Godot editor is open with the
godot_mcpplugin enabled. - Start your MCP Client (like Claude Desktop). The server will download on-the-fly and seamlessly jump into the Godot WebSocket.
Feature List
- Live Editor Manipulation: Modify nodes, properties, and scenes in real-time within the Godot Editor.
- Deep Project Context: Read and analyze scripts, scene structures (
.tscn), and project files dynamically. - Version-Aware Godot Docs: Automatically query Godot documentation matching your specific engine version.
- End-to-End Game Bridge testing: Play, test, and assert logic in live running games via simulated inputs and state queries.
- Advanced Diagnostics: View diagnostics, validate scenes, and debug live errors automatically.
- Consolidated Architecture: Minimal tool footprint heavily utilizing
actionparameters to conserve AI context windows. - Auto-Screenshot Loop: Periodically captures visual screenshots of the editor or running game state to provide AI with continuous visual context.
- Bug Fix Loop: Automatically collects stack traces from the Godot engine, analyzes runtime errors, and iteratively proposes code fixes.
- Scene Tree Viewer: Interactive web-based visualizer for inspecting the live Godot scene tree and node properties via a browser.
- Intelligent Path Detection: Seamlessly detects correct Godot project paths and environment variables, even when loaded via external IDEs.
- Robust Connection Handling: Enterprise-grade WebSocket connections featuring command queuing, exponential backoff, and large payload buffering.
- Universal Asset Resolution: Resolves internal Godot UUIDs (
uid://...or.uidfiles) dynamically to absolute file paths, ensuring seamless AI context mapping.
MCP Tools Reference
| Tool Name | Description | Key Parameters |
|---|---|---|
manage_project |
Project-level operations | action (info, tree, stats), directory |
manage_project_config |
Modify project.godot or export settings | action (read, write), section, key, value |
manage_asset |
Resolve or inspect asset paths and UUIDs | action (resolve, get_uid), file_path, uid |
manage_script |
Create, read, update, or analyze GDScripts | action (create, read, edit), file_path, content |
manage_scene |
Scene-level operations | action (open, save, run, structure), scene_path |
manage_node |
Node-level edits within the live editor | action (create, delete, update, get), node_path, properties |
manage_physics |
Inspect or edit physics shapes and layers | action (get_layer, set_layer), node_path |
manage_animation |
Control AnimationPlayers in the editor | action (get_list, play, stop), node_path, anim_name |
manage_ui |
Inspect or modify Control nodes | action (get_theme, set_anchors), node_path |
manage_audio |
Audit or manipulate audio streams | action (get_buses, set_volume), bus_name |
manage_signal |
Connect or disconnect Godot signals | action (connect, disconnect), source_node, signal_name, target_node, method_name |
manage_game_bridge |
Connect to or configure a live running game | action (status, reset, ping) |
game_scene |
Get node trees from the running game | action (get_tree, get_node), node_path |
game_input |
Simulate input events in the running game | action (press, release, mouse_move), input_name |
game_state |
Query properties and execution state | action (get_proper |
Tools (15)
manage_projectPerform project-level operations.manage_project_configModify project.godot or export settings.manage_assetResolve or inspect asset paths and UUIDs.manage_scriptCreate, read, update, or analyze GDScripts.manage_scenePerform scene-level operations.manage_nodeEdit nodes within the live editor.manage_physicsInspect or edit physics shapes and layers.manage_animationControl AnimationPlayers in the editor.manage_uiInspect or modify Control nodes.manage_audioAudit or manipulate audio streams.manage_signalConnect or disconnect Godot signals.manage_game_bridgeConnect to or configure a live running game.game_sceneGet node trees from the running game.game_inputSimulate input events in the running game.game_stateQuery properties and execution state.Environment Variables
GODOT_PATHOptional absolute path to the Godot executableConfiguration
{"mcpServers": {"godot-mcp": {"command": "npx", "args": ["-y", "@xianlee/godot-mcp"], "env": {"GODOT_PATH": "<OPTIONAL_ABSOLUTE_PATH_TO_GODOT_EXECUTABLE>"}}}}