Installation
Add the addon to an existing project, bootstrap a new one, or build from source.
Requirements
- Godot 4.7, the version this is developed and released against. 4.3 through 4.8 work in beta.
- Go 1.26+ to build the CLI, or a prebuilt release binary.
Into an existing project
From an unpacked release bundle, install the addon (and the agent skill) into any Godot project in one step:
godot-mcp install --project /path/to/your/project --enableThis copies addons/godot_mcp/ and .claude/skills/godot-mcp/ in and enables the plugin in project.godot, including the two game-side autoloads the runtime and input groups need. Enabling from the editor’s plugin checkbox injects the same pair, so nothing needs pre-committing either way.
Bootstrap a new project
Starting from nothing? Create a fresh Godot 4.7 project and wire the addon in one command:
godot-mcp create --path ./mygame --install --enableWrites a project.godot (config version 5, 4.7 feature tag), an original placeholder icon.svg, and a .gitignore. It never overwrites an existing project.godot.
Build the CLI from source
go build -o bin/godot-mcp ./cmd/godot-mcp# or, with Task installed:task build # -> bin/godot-mcp(.exe)Pin the MCP port (per project)
The addon binds the first free port in 9080-9095 and writes it to .godot/godot-mcp.json, so the CLI auto-discovers it and you rarely think about ports. Running two projects at once, pin each to a distinct port so they never contend: Project → Project Settings → Godot Mcp → Network → Port (turn on Advanced Settings to see it). Set an explicit port; 0, the default, means auto-pick.
The value is saved in that project’s project.godot, so two concurrent projects listen deterministically on their own ports. GODOT_MCP_PORT in the environment still overrides everything, and the default 0 is never written to project.godot, so leaving the setting alone keeps the file clean.
Bundled greybox assets (optional)
Copy the bundled CC0 asset packs into a project for prototyping:
godot-mcp install-assets --listgodot-mcp install-assets --pack kenney_prototype_texturesBefore you ship
The addon is development tooling and must not ride into an exported game: it is a command server with an arbitrary-eval surface, and its two game-side autoloads poll IPC files every frame, release builds included. Two steps keep it out:
-
Disable the plugin before exporting (Project → Project Settings → Plugins). Disabling removes the two injected autoloads (
MCPGameInspector,MCPGameInput) fromproject.godot; re-enabling puts them back, so the toggle costs nothing per release. -
Exclude the addon files in every export preset. In the Export window, Resources tab, add to Filters to exclude files/folders:
addons/godot_mcp/*Add
mcp_commands/*too if the project defines project-local commands. The default “Export all resources” mode ships unreferenced scripts, so the filter matters even with the plugin disabled.
Troubleshooting
If the CLI can’t connect, run the environment preflight:
godot-mcp doctorIt checks the godot binary and version, that the project resolves, whether the addon is installed and enabled, the effective port source (env, per-project pin, or auto), whether an editor is actually reachable, and the .NET SDK on C# projects. Pass --project DIR to target a specific project, or --json for machine-readable output. It exits non-zero only when a check fails; a warning (no editor running yet, say) doesn’t fail the run, so doctor is safe to run before you’ve launched anything.