better-godot-mcp

Godot Engine integration: 17 tools for game development

Documentation

Better Godot MCP

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: MIT

TypeScript Node.js Godot Engine semantic-release Renovate

Sister projects from n24q02m (click to expand)
ProjectTaglineTag
better-code-review-graphKnowledge graph for token-efficient code reviews -- semantic search and call-...MCP
better-email-mcpIMAP/SMTP email for AI agents -- read, send, organize folders, and manage att...MCP
better-godot-mcpComposite MCP server for Godot Engine -- 17 composite tools for AI-assisted g...MCP
better-notion-mcpMarkdown-first Notion for AI agents -- pages, databases, blocks, and comments...MCP
better-telegram-mcpTelegram for AI agents -- messages, chats, media, and contacts across both bo...MCP
claude-pluginsClaude Code plugin marketplace for the n24q02m MCP servers -- install web sea...Marketplace
imagine-mcpImage and video understanding + generation for AI agents -- across Gemini, Op...MCP
jules-task-archiverChrome Extension for bulk operations on Jules tasks via batchexecute API -- a...Tooling
mcp-coreShared foundation for building MCP servers -- Streamable HTTP transport, OAut...MCP
mnemo-mcpPersistent AI memory with hybrid search and embedded sync. Open, free, unlimi...MCP
qwen3-embedLightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUFLibrary
skretSecrets without the server.CLI
tacetTACET: a self-distilling neuro-symbolic cascade that amortises LLM cost in kn...Tooling
web-coreShared web infrastructure package for search, scraping, HTTP security, and st...Library
wet-mcpOpen-source MCP server for AI agents: web search, content extraction, and lib...MCP

Table of contents

Better Godot MCP server

Features

  • 17 composite mega-tools -- scene, node, script, shader, animation, tilemap, physics, audio, navigation, UI, and more
  • Full scene control -- create, parse, and modify .tscn files directly without Godot running
  • GDScript CRUD -- create, read, write, and attach scripts in a single call
  • Tiered token optimization -- compressed descriptions + on-demand help tool

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.

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-mcp following the steps at
https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-godot-mcp/setup-with-agent.md

Tools

ToolActionsDescription
projectinfo, version, run, stop, settings_get, settings_set, exportProject metadata, run/stop, and settings
scenescreate, list, info, delete, duplicate, set_mainScene file management
nodesadd, remove, rename, list, set_property, get_propertyScene tree node manipulation
scriptscreate, read, write, attach, list, deleteGDScript file CRUD
editorlaunch, statusLaunch Godot editor and check status
configstatus, set, detect_godot, checkServer configuration and environment detection
resourceslist, info, delete, import_configResource file management
input_maplist, add_action, remove_action, add_eventInput action and event mapping
signalslist, connect, disconnectSignal connections
animationcreate_player, add_animation, add_track, add_keyframe, listAnimation players and tracks
tilemapcreate_tileset, add_source, set_tile, paint, listTileMap and TileSet management
shadercreate, read, write, get_params, listShader file CRUD with Godot 4 syntax
physicslayers, collision_setup, body_config, set_layer_nameCollision layers and physics bodies
audiolist_buses, add_bus, add_effect, create_streamAudio bus and effect management
navigationcreate_region, add_agent, add_obstacleNavigation regions, agents, and obstacles
uicreate_control, set_theme, layout, list_controlsUI control creation and theming
help-Get full documentation for any tool

Comparison

How better-godot-mcp stacks up against direct competitors in each pillar:

Capabilitybetter-godot-mcpCoding-Solo/godot-mcpbradypp/godot-mcptugcantopaloglu/godot-mcp
Scene file managementYes (scenes: create/list/info/delete/duplicate/set_main)Yes (create/save)Yes (create/save)Yes (create/read/modify)
Node tree manipulationYes (nodes: add/remove/rename/list/get+set_property)Partial (add only)Yes (add/edit/remove)Yes (add/remove/reparent)
GDScript file CRUDYes (scripts: create/read/write/attach/list/delete)NoNoPartial (create from template + runtime eval)
Shader file CRUDYes (shader: create/read/write/get_params/list)NoNoPartial (create/read .gdshader)
Animation authoringYes (animation: player/track/keyframe)NoNoYes (player/tween/state machine)
TileMap / TileSetYes (tilemap: tileset/source/set_tile/paint)NoNoYes (TileMapLayer cells)
Physics layers / bodiesYes (physics: layers/collision/body_config)NoNoYes (collision/joints/raycast)
Audio bus managementYes (audio: buses/effects/streams)NoNoYes (buses/routing/effects)
Navigation setupYes (navigation: region/agent/obstacle)NoNoYes (navigation)
UI control authoringYes (ui: control/theme/layout)NoPartial (via add node)Yes (controls/themes/menus)
Input map editingYes (input_map: action/event)NoNoYes (actions/key bindings)
Signal connectionsYes (signals: connect/disconnect/list)NoNoYes (connect/emit/await)
Launch editor / run projectYes (editor, project run/stop)YesYesYes
Works without running editorYes (text-based .tscn parsing)Yes (headless GDScript bridge)Yes (headless GDScript bridge)Partial (CLI headless or live TCP socket)
No credentials stored (TC-Local)YesYesYesYes
stdio + HTTP transportsYes (stdio default + --http)No (stdio only)No (stdio only)No (stdio only)
Docker image (amd64 + arm64)YesNoNoNo
Token-tiered tool descriptionsYes (compact + on-demand help)NoNoNo

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.

VariableRequiredDefaultDescription
GODOT_PROJECT_PATHNo-Default project path (tools also accept a project_path param)
GODOT_PATHNoAuto-detectedPath 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.

VariableRequiredDefaultDescription
MCP_TRANSPORTNostdioSet to http for Streamable HTTP transport
PORTNo0 (auto-assign)HTTP port (HTTP mode only)
HOSTNoServer defaultHTTP 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/export actions require Godot binary to be installed
  • Docker mode has limited filesystem access (mount your project directory)

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.

ModeStorageEncryptionWho can read your data?
stdio (default)N/A (no credentials)N/AN/A
HTTP self-hostN/A (no credentials)N/AN/A

License

MIT -- See LICENSE.