esc
navigate openSearch by Pagefind

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:

Terminal window
godot-mcp install --project /path/to/your/project --enable

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

Terminal window
godot-mcp create --path ./mygame --install --enable

Writes 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

Terminal window
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:

Terminal window
godot-mcp install-assets --list
godot-mcp install-assets --pack kenney_prototype_textures

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

  1. Disable the plugin before exporting (Project → Project Settings → Plugins). Disabling removes the two injected autoloads (MCPGameInspector, MCPGameInput) from project.godot; re-enabling puts them back, so the toggle costs nothing per release.

  2. 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:

Terminal window
godot-mcp doctor

It 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.

Built with the help of godot-mcp. MIT licensed.