Installation

Install the Godot MCP addon with the AI Game Dev app, godot-cli, the Godot Asset Library or a release zip, with the exact NuGet packages for your .csproj.

Updated November 4, 2026 View as Markdown

This page shows every way to add Godot MCP to a Godot C# project and what each one does for you. If you just want it working, use the desktop app or godot-cli: both install the addon, patch your .csproj and enable the plugin in one step. The manual paths (Asset Library, release zip) need two extra steps that are easy to miss.

Requirements

RequirementDetails
GodotGodot 4.3 or newer, .NET (mono) edition. The addon is built against Godot.NET.Sdk 4.3.0 as its minimum; the project's CI boots it on 4.3, 4.4, 4.5, 4.6 and 4.7.
.NETThe .NET 8 SDK (net8.0).
ProjectA Godot project with a C# .csproj at its root.
godot-cli (optional)Node.js ^20.19.0 or >=22.12.0.
Operating systemWindows, macOS or Linux.

Option 1: the AI Game Dev desktop app

The AI Game Dev app can install Godot MCP into a project you select, then open the editor already connected to your account. It ships its own copy of the installer, so you do not need Node.js or npm. The app always installs the newest released addon and does the same three things as godot-cli install-plugin: it puts the addon files in addons/godot_mcp/, adds the NuGet packages and the extension catalog to your .csproj, and enables the plugin in project.godot.

Download the app from the download page. How to install it and pick a project is on App installation; the app's command line is described on App CLI.

Option 2: godot-cli (terminal)

godot-cli is the npm package for Godot MCP. Its install-plugin command is a full installer and is safe to run again: a second run changes nothing.

npm install -g godot-cli
godot-cli install-plugin ./MyGodotProject

What install-plugin does, in order:

  1. Downloads godot-mcp-addon-<version>.zip from the Godot-MCP GitHub release (HTTPS, github.com only) and puts it in res://addons/godot_mcp/. The version defaults to the CLI's own version.
  2. Adds the NuGet PackageReferences the installed addon needs to your .csproj, taking the versions from the addon itself, and fixes stale versions.
  3. Adds the extension catalog <EmbeddedResource> and sets <EnableDynamicLoading>true</EnableDynamicLoading>.
  4. Enables the plugin in the [editor_plugins] section of project.godot.

Useful variants:

# A specific addon release
godot-cli install-plugin --version 0.34.0 ./MyGodotProject

# Offline or development install from a local copy of the addon
godot-cli install-plugin --source ./Godot-MCP/addons/godot_mcp ./MyGodotProject

# No project yet: scaffold a Godot C# project first
godot-cli create-project --dotnet ./MyGodotProject

You can also run it without a global install: npx godot-cli install-plugin ./MyGodotProject. All flags are listed in the godot-cli reference.

Option 3: Godot Asset Library

  1. In the Godot editor, open the AssetLib tab at the top.
  2. Search for Godot-MCP and open the asset.
  3. Click Download, then Install. Godot unpacks the addon into res://addons/godot_mcp/.
  4. Add the NuGet packages and the catalog line to your .csproj (see below).
  5. Enable the plugin (see below).

The Asset Library entry always points at a tagged release, so you get a known-good snapshot. It contains only the addon files: steps 4 and 5 are still yours to do.

Option 4: GitHub release zip or source copy

Download godot-mcp-addon-<version>.zip from the Godot-MCP releases page and extract it into the project root. The archive already contains addons/godot_mcp/, so the files land in res://addons/godot_mcp/. You can also copy the addons/godot_mcp/ folder from a clone of the repository. Then do the two manual steps below.

Manual step: NuGet packages and the extension catalog

Godot compiles every .cs file in your project into one assembly, so your .csproj must reference the same NuGet packages the addon uses, or the addon will not compile. Add this to your .csproj (these are the versions for addon 0.34.0):

<ItemGroup>
  <PackageReference Include="com.IvanMurzak.ReflectorNet" Version="5.5.1" />
  <PackageReference Include="com.IvanMurzak.McpPlugin" Version="8.14.0" />
</ItemGroup>

<!-- Editor-only: exported games ship no RQL and no Roslyn. -->
<ItemGroup>
  <PackageReference Include="com.IvanMurzak.Rql" Version="0.3.0" Condition="'$(Configuration)' != 'ExportDebug' and '$(Configuration)' != 'ExportRelease'" />
  <PackageReference Include="com.IvanMurzak.CodeExec" Version="0.4.0" Condition="'$(GodotMcpCodeExecInGame)' == 'true' or ('$(Configuration)' != 'ExportDebug' and '$(Configuration)' != 'ExportRelease')" />
  <PackageReference Include="com.IvanMurzak.CodeExec.Roslyn" Version="0.4.0" Condition="'$(GodotMcpCodeExecInGame)' == 'true' or ('$(Configuration)' != 'ExportDebug' and '$(Configuration)' != 'ExportRelease')" />
  <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" Condition="'$(GodotMcpCodeExecInGame)' == 'true' or ('$(Configuration)' != 'ExportDebug' and '$(Configuration)' != 'ExportRelease')" />
</ItemGroup>

<!-- Without this line the dock's Extensions list is empty. -->
<ItemGroup>
  <EmbeddedResource Include="addons/godot_mcp/extensions.catalog.json" LogicalName="Godot-MCP.extensions.catalog.json" />
</ItemGroup>
PackageVersion (addon 0.34.0)Role
com.IvanMurzak.ReflectorNet5.5.1Reflection and serialization core
com.IvanMurzak.McpPlugin8.14.0MCP client that connects the editor to the server
com.IvanMurzak.Rql0.3.0RQL, the query language behind the editor tools (editor only)
com.IvanMurzak.CodeExec0.4.0Runs C# snippets for script-execute (editor only unless you opt in)
com.IvanMurzak.CodeExec.Roslyn0.4.0Roslyn adapter for Code-Exec
Microsoft.CodeAnalysis.CSharp4.12.0The Roslyn C# compiler

The versions must match the addon you installed. Each release lists them in its README, and the release zip carries them in addons/godot_mcp/nuget-deps.json; godot-cli install-plugin reads that file, which is why it never gets them wrong. The development branch already moves com.IvanMurzak.McpPlugin forward (8.18.0), so check again when you update.

Also keep <EnableDynamicLoading>true</EnableDynamicLoading> in the <PropertyGroup> of your .csproj. Godot's own C# template has it. Without it, a game started with Play cannot create any C# script.

You do not need to copy DLLs. Run dotnet restore (or build from Godot) and the addon finds the packages in your NuGet cache at editor time.

Manual step: enable the plugin

Open Project, Project Settings, Plugins and enable Godot-MCP. Build the C# project (the Build button in the editor, or godot-cli build). On a successful load the Output panel prints:

[Godot-MCP] plugin loaded

The AI Game Developer dock appears in the upper-right dock area. Continue with Getting started.

Updating and removing

  • Update with the same tool you installed with: rerun godot-cli install-plugin (optionally with --version), use the app, or install the new release from the Asset Library and update the NuGet versions by hand.
  • Update the CLI itself with godot-cli update.
  • godot-cli remove-plugin ./MyGodotProject disables the addon in project.godot. It does not delete addons/godot_mcp/ or the .csproj entries; remove those by hand if you want them gone.

Exported games

The RQL, Code-Exec and Roslyn packages carry a Condition that leaves them out of ExportDebug and ExportRelease builds, so your exported game does not ship them. The addon's editor tools are compiled only in the editor and never reach a game build. Exposing tools from a running game is opt-in and described on Custom tools.