n24q02m/better-godot-mcp
FreeNot checked18 composite tools for structured Godot 4.x interaction: scenes, nodes, GDScript, shaders, animation, tilemap, physics, audio, navigation, UI, input mapping, an
About
18 composite tools for structured Godot 4.x interaction: scenes, nodes, GDScript, shaders, animation, tilemap, physics, audio, navigation, UI, input mapping, and signals.
README
mcp-name: io.github.n24q02m/better-godot-mcp
Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted game development.
CI codecov npm Docker License: Apache-2.0
TypeScript Node.js Godot Engine semantic-release Renovate
Sister projects from n24q02m (click to expand)
| Project | Tagline | Tag |
|---|---|---|
| agent-chat-plugin | Peer AI agents chat in a shared folder — no human relay, no orchestrator, wor... | Tooling |
| better-code-review-graph | Knowledge graph for token-efficient code reviews -- semantic search and call-... | MCP |
| better-drive | 2-way Google Drive sync with .driveignore filter — rclone engine, Windows tray | Tooling |
| better-email-mcp | IMAP/SMTP email for AI agents -- read, send, organize folders, and manage att... | MCP |
| better-godot-mcp | Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted g... | MCP |
| better-notion-mcp | Markdown-first Notion for AI agents -- pages, databases, blocks, and comments... | MCP |
| better-semantic-release | Drop-in python-semantic-release fork with built-in release-safety guards (orp... | Tooling |
| better-telegram-mcp | Telegram for AI agents -- messages, chats, media, and contacts across both bo... | MCP |
| better-workspace-mcp | Google Workspace MCP server (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch... | MCP |
| claude-plugins | Claude Code plugin marketplace for the n24q02m MCP servers -- install web sea... | Marketplace |
| imagine-mcp | Image and video understanding + generation for AI agents -- across Gemini, Op... | MCP |
| jules-task-archiver | Chrome Extension for bulk operations on Jules tasks via batchexecute API -- a... | Tooling |
| mcp-core | Shared foundation for building MCP servers -- Streamable HTTP transport, OAut... | MCP |
| mnemo-mcp | Persistent AI memory with hybrid search and embedded sync. Open, free, unlimi... | MCP |
| qwen3-embed | Lightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUF | Library |
| skret | Secrets without the server. | CLI |
| tacet | A self-distilling neuro-symbolic cascade that amortises LLM cost across knowl... | Tooling |
| web-core | Shared web infrastructure package for search, scraping, HTTP security, and st... | Library |
| wet-mcp | Open-source MCP server for AI agents: web search, content extraction, and lib... | MCP |
Table of contents
- Features
- Install
- Smithery
- Documentation
- Tools
- Comparison
- Configuration
- CLI
- Security
- Build from source
- Trust model
- License
Features
- 17 composite mega-tools -- scene, node, script, shader, animation, tilemap, physics, audio, navigation, UI, and more
- Full scene control -- create, parse, and modify
.tscnfiles directly without Godot running - GDScript CRUD -- create, read, write, and attach scripts in a single call
- Tiered token optimization -- compressed descriptions + on-demand
helptool
Install
Runs over stdio by default. No credentials, no account, no relay -- the server reads and writes your local Godot project files directly. Godot 4.x is optional (only run/stop/export and editor actions need the binary).
Via npx (recommended)
npx -y @n24q02m/better-godot-mcp@latest
MCP client config
Add to your client's MCP config (Claude Code, Cursor, Windsurf, Codex, mcp.json):
{
"mcpServers": {
"better-godot-mcp": {
"command": "npx",
"args": ["-y", "@n24q02m/better-godot-mcp"],
"env": {
"GODOT_PROJECT_PATH": "/path/to/your/godot/project"
}
}
}
}
GODOT_PROJECT_PATH is optional -- every tool also accepts a project_path argument per call.
Via Docker
docker run -i --rm -v /path/to/your/godot/project:/project n24q02m/better-godot-mcp
The image is published for amd64 and arm64. Mount your project directory so the server can read and write scene, script, and resource files.
Smithery
better-godot-mcp ships a smithery.yaml so it can be discovered and deployed through Smithery. Smithery launches the server over stdio via npx -y @n24q02m/better-godot-mcp, and no configuration is required to start -- the server has no credentials and reads your local Godot project files directly.
Documentation
Full setup guide at mcp.n24q02m.com/servers/better-godot-mcp/setup/ -- install steps for Claude Code, Codex, Gemini CLI, Cursor, Windsurf, and mcp.json.
Install with AI agent -- paste this to your AI coding agent:
Install MCP server
better-godot-mcpfollowing the steps at https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-godot-mcp/setup-with-agent.md
Tools
| Tool | Actions | Description |
|---|---|---|
project |
info, version, run, stop, settings_get, settings_set, export |
Project metadata, run/stop, and settings |
scenes |
create, list, info, delete, duplicate, set_main |
Scene file management |
nodes |
add, remove, rename, list, set_property, get_property |
Scene tree node manipulation |
scripts |
create, read, write, attach, list, delete |
GDScript file CRUD |
editor |
launch, status |
Launch Godot editor and check status |
config |
status, set, detect_godot, check |
Server configuration and environment detection |
resources |
list, info, delete, import_config |
Resource file management |
input_map |
list, add_action, remove_action, add_event |
Input action and event mapping |
signals |
list, connect, disconnect |
Signal connections |
animation |
create_player, add_animation, add_track, add_keyframe, list |
Animation players and tracks |
tilemap |
create_tileset, add_source, set_tile, paint, list |
TileMap and TileSet management |
shader |
create, read, write, get_params, list |
Shader file CRUD with Godot 4 syntax |
physics |
layers, collision_setup, body_config, set_layer_name |
Collision layers and physics bodies |
audio |
list_buses, add_bus, add_effect, create_stream |
Audio bus and effect management |
navigation |
create_region, add_agent, add_obstacle |
Navigation regions, agents, and obstacles |
ui |
create_control, set_theme, layout, list_controls |
UI control creation and theming |
help |
- | Get full documentation for any tool |
Comparison
How better-godot-mcp stacks up against direct competitors in each pillar:
| Capability | better-godot-mcp | Coding-Solo/godot-mcp | bradypp/godot-mcp | tugcantopaloglu/godot-mcp |
|---|---|---|---|---|
| Scene file management | Yes (scenes: create/list/info/delete/duplicate/set_main) |
Yes (create/save) | Yes (create/save) | Yes (create/read/modify) |
| Node tree manipulation | Yes (nodes: add/remove/rename/list/get+set_property) |
Partial (add only) | Yes (add/edit/remove) | Yes (add/remove/reparent) |
| GDScript file CRUD | Yes (scripts: create/read/write/attach/list/delete) |
No | No | Partial (create from template + runtime eval) |
| Shader file CRUD | Yes (shader: create/read/write/get_params/list) |
No | No | Partial (create/read .gdshader) |
| Animation authoring | Yes (animation: player/track/keyframe) |
No | No | Yes (player/tween/state machine) |
| TileMap / TileSet | Yes (tilemap: tileset/source/set_tile/paint) |
No | No | Yes (TileMapLayer cells) |
| Physics layers / bodies | Yes (physics: layers/collision/body_config) |
No | No | Yes (collision/joints/raycast) |
| Audio bus management | Yes (audio: buses/effects/streams) |
No | No | Yes (buses/routing/effects) |
| Navigation setup | Yes (navigation: region/agent/obstacle) |
No | No | Yes (navigation) |
| UI control authoring | Yes (ui: control/theme/layout) |
No | Partial (via add node) | Yes (controls/themes/menus) |
| Input map editing | Yes (input_map: action/event) |
No | No | Yes (actions/key bindings) |
| Signal connections | Yes (signals: connect/disconnect/list) |
No | No | Yes (connect/emit/await) |
| Launch editor / run project | Yes (editor, project run/stop) |
Yes | Yes | Yes |
| Works without running editor | Yes (text-based .tscn parsing) |
Yes (headless GDScript bridge) | Yes (headless GDScript bridge) | Partial (CLI headless or live TCP socket) |
| No credentials stored (TC-Local) | Yes | Yes | Yes | Yes |
| stdio + HTTP transports | Yes (stdio default + --http) |
No (stdio only) | No (stdio only) | No (stdio only) |
| Docker image (amd64 + arm64) | Yes | No | No | No |
| Token-tiered tool descriptions | Yes (compact + on-demand help) |
No | No | No |
Configuration
The Godot binary is auto-detected from common install locations and PATH. No environment variables are required for basic usage. Optionally set GODOT_PROJECT_PATH and GODOT_PATH to override the defaults.
| Variable | Required | Default | Description |
|---|---|---|---|
GODOT_PROJECT_PATH |
No | - | Default project path (tools also accept a project_path param) |
GODOT_PATH |
No | Auto-detected | Path to the Godot binary |
HTTP transport
The server runs over stdio by default. To serve over Streamable HTTP instead, pass --http or set MCP_TRANSPORT=http (TRANSPORT_MODE=http is also accepted). HTTP mode exposes an unauthenticated /mcp endpoint -- there are no credentials to protect, so it is meant for trusted local or self-hosted use.
| Variable | Required | Default | Description |
|---|---|---|---|
MCP_TRANSPORT |
No | stdio |
Set to http for Streamable HTTP transport |
PORT |
No | 0 (auto-assign) |
HTTP port (HTTP mode only) |
HOST |
No | Server default | HTTP host (HTTP mode only) |
Limitations
- Requires Godot 4.x project structure
- Scene files (
.tscn) are parsed/modified via text manipulation, not Godot's internal API run/stop/exportactions require Godot binary to be installed- Docker mode has limited filesystem access (mount your project directory)
CLI
The better-godot-mcp binary runs the MCP server by default (stdio; add --http for Streamable HTTP). It also exposes two diagnostic subcommands for checking your Godot environment before wiring up an MCP client.
| Command | Description |
|---|---|
better-godot-mcp |
Start the MCP server (stdio default; --http for Streamable HTTP) |
better-godot-mcp detect |
Print the detected Godot binary as JSON (path, version, source); exits non-zero when none is found |
better-godot-mcp doctor |
Health-check the Godot binary and the current project (GODOT_PROJECT_PATH, else the working directory) |
# Detect the Godot binary (JSON output)
npx -y @n24q02m/better-godot-mcp detect
{
"found": true,
"path": "/path/to/godot",
"version": {
"major": 4,
"minor": 6,
"patch": 3,
"label": "stable.official",
"raw": "4.6.3.stable.official"
},
"source": "system"
}
# Health-check the Godot binary and project
npx -y @n24q02m/better-godot-mcp doctor
[ok] godot binary: /path/to/godot (source: system)
[ok] godot version: 4.6.3.stable.official
[warn] project: no project.godot found at /path/to/cwd (set GODOT_PROJECT_PATH)
detect exits 1 when no Godot binary is found; doctor exits 1 when the binary is missing (a missing project.godot is only a warning).
Security
- Binary detection -- Multi-path Godot detection (env, PATH, common locations)
- Project validation -- Verifies project.godot exists before operations
- Cross-platform -- Windows, macOS, Linux path handling
Build from source
git clone https://github.com/n24q02m/better-godot-mcp.git
cd better-godot-mcp
bun install
bun run dev # stdio mode (default)
bun run dev:http # Streamable HTTP mode
Trust model
This plugin implements TC-Local (no auth required -- no credentials stored). See the trust model reference for full classification.
| Mode | Storage | Encryption | Who can read your data? |
|---|---|---|---|
| stdio (default) | N/A (no credentials) | N/A | N/A |
| HTTP self-host | N/A (no credentials) | N/A | N/A |
License
Apache-2.0 -- See LICENSE.
Installing n24q02m/better-godot-mcp
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/n24q02m/better-godot-mcpFAQ
Is n24q02m/better-godot-mcp MCP free?
Yes, n24q02m/better-godot-mcp MCP is free — one-click install via Unyly at no cost.
Does n24q02m/better-godot-mcp need an API key?
No, n24q02m/better-godot-mcp runs without API keys or environment variables.
Is n24q02m/better-godot-mcp hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install n24q02m/better-godot-mcp in Claude Desktop, Claude Code or Cursor?
Open n24q02m/better-godot-mcp 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
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951Design Inspiration Server
Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re
by YonasValentinCompare n24q02m/better-godot-mcp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
