GodotBLOCK
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
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": ""
}
}
}
}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-t
2762d6e10dd7OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add godot-mcp-server -- npx -y [email protected]
{
"mcpServers": {
"godot-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (57)
43 read · 13 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
add_node | write | Add a node to an existing scene |
capture_vision | read | Capture screenshots and viewport snapshots from Godot. |
create_game_feature | write | Step-by-step prompt for implementing a new game feature: |
create_game_level | write | Comprehensive prompt for creating a playable 2D game level that uses |
create_scene | write | Create a new Godot scene file |
debug_godot_project | read | Structured prompt for debugging a failing Godot project: |
debug_project | read | Debug and diagnose a Godot project. |
edit_node | write | Edit properties of an existing node in a scene |
error_message | read | The error message or description of the problem to debug. |
execute_editor_script | write | Executes arbitrary GDScript code in the Godot editor |
export_mesh_library | read | Export a scene as a MeshLibrary resource |
feature_description | read | Description of the game feature to implement. |
game_input | read | Simulate player input in a running Godot game (via the game bridge). |
game_scene | read | Inspect and control the scene tree of a running Godot game (via the game bridge). |
game_state | read | Query the state of a running Godot game (via the game bridge). |
game_wait | read | Wait for conditions in a running Godot game before proceeding (via the game bridge). |
get_debug_output | read | Get the current debug output and errors |
get_documentation_file | read | Get the content of a specific documentation file |
get_documentation_tree | read | Get a tree of available Godot documentation topics |
get_godot_version | read | Get the installed Godot version |
get_project_assets | read | Scan a Godot project to discover all reusable assets (scenes, scripts, textures, audio, resources). |
get_project_context | read | Read an existing level/scene file and extract its structural blueprint: |
get_project_diagnostics | read | Validate all scripts in a Godot project without running it. |
get_project_info | read | Retrieve metadata about a Godot project |
get_uid | read | Get the UID for a specific file in a Godot project (for Godot 4.4+) |
godot_docs | read | Search and retrieve Godot documentation. |
godot_expert | read | System prompt that makes the AI a Godot game development expert — |
godot_version | read | Godot version (e.g. |
inspect_project | read | Deep project introspection through the Godot editor. |
launch_editor | read | Launch Godot editor for a specific project |
level_description | write | Description of the level to create (theme, layout, difficulty). |
list_projects | read | List Godot projects in a directory |
load_sprite | read | Load a sprite into a Sprite2D node |
manage_animation | read | Manage animations in a Godot scene. |
manage_asset | read | Manage Godot assets (sprites, meshes, UIDs). |
manage_audio | read | Manage audio operations within Godot. |
manage_game_bridge | read | Manage the E2E game testing bridge. |
manage_node | read | Manage nodes in the Godot scene tree. |
manage_physics | read | Manage physics bodies, collision shapes, layers, and areas in a Godot scene. |
manage_project | read | Manage Godot projects (headless, no addon required). |
manage_project_config | read | Manage Godot project configuration (project.godot). |
manage_scene | read | Manage Godot scenes and resources. |
manage_script | read | Manage GDScript files in the Godot project. |
manage_signal | read | Manage Godot signals in scenes and scripts. |
manage_ui | write | Create and configure UI elements in a Godot scene. |
project_path | read | Absolute path to the Godot project (optional). |
reference_scene | read | Path to an existing level scene to study for patterns (e.g. |
remove_node | destructive | Remove a node from a scene |
run_and_verify | write | Run a Godot project, wait for output, analyze errors, and return a structured |
run_project | write | Run the Godot project and capture output |
save_scene | write | Save changes to a scene file |
search_project | read | Search for files or read file contents in a Godot project. |
semantic_search | read | Perform a semantic search across the Godot project codebase to find relevant code snippets, functions, or scenes based on natural language meaning. |
stop_project | write | Stop the currently running Godot project |
update_project_uids | write | Update UID references in a Godot project by resaving resources (for Godot 4.4+) |
validate_scene | read | Validate and optionally auto-fix .tscn or .tres files WITHOUT launching Godot. |
visualize_project | read | Analyze and map the project structure for AI understanding. |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (10 observation(s))
- Network
- declared (5 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (9)
exec(`${cmd} ${url}`, (err) => {remove_node
import { MCPTool } from '../../utils/types.js';import { validatePath, isGodotProject, detectProjectPath } from '../../core/path-manager.js';import { MCPTool } from '../../utils/types.js';import { validatePath, isGodotProject, detectProjectPath } from '../../core/path-manager.js';import { MCPTool } from '../../utils/types.js';@xenova/transformers, fastmcp, sqlite-vec, sqlite3, websocket, ws, zod, @types/node
@modelcontextprotocol/sdk, @xenova/transformers, fastmcp, sqlite-vec, sqlite3, websocket, ws, zod
Gates applied: no_behavioural_pass.
2762d6e10dd7full audit observations/trust-audit/mcp-server/6ninelives__godot-8.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 2762d6e10dd7 | BLOCK | D | 69 | first audit |
Questions
What tools does Godot expose?
57 in total: 43 read-only, 13 that write, and 1 that can delete or overwrite (remove_node). Every one is listed on this page with its risk.
Is Godot safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Godot need?
No credential environment variables were found in its source, so it appears to need none.
How does Godot run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as godot-mcp-server at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (2762d6e10dd7), read on 2026-10-08. The repository is watched and re-audited when it changes.