# Extensions

Install optional Godot MCP extensions for AnimationPlayer, CSG, GridMap, navigation, particles, TileMapLayer, Beehave, Dialogic, Phantom Camera and Terrain3D.

_Last updated: 2026-11-04_

Extensions are optional NuGet packages that teach Godot MCP about more parts of Godot and about popular Godot addons. Install only the ones your project needs. This page lists them, explains how they work, and shows the three ways to install one. Descriptions and examples for each extension are on the site's [Godot extensions](https://ai-game.dev/docs/extensions/godot) page.

## How extensions work

Each extension is an RQL module. It adds no MCP tools of its own. Instead, it extends the core `rql-query`, `rql-mutate` and `rql-schema` tools with new sources, validated properties and calls, and adds a guide to the agent's `godot-rql` skill. Your agent's tool list stays the same size, and the agent learns the new area through `rql-schema`:

```text
rql-schema "Particles"
```

The packages contain C# source and build settings, compiled against your project's own GodotSharp. Each extension has its own version and release.

## Available extensions

| Extension | Package id | What it adds | Requires |
| --- | --- | --- | --- |
| Animation Tools | `com.IvanMurzak.Godot.MCP.Animation` | AnimationPlayer libraries, animations, tracks and keys | Godot 4.3+ |
| Beehave Tools | `com.IvanMurzak.Godot.MCP.Beehave` | List behaviour trees and their nodes | Beehave addon, Godot 4.3+ |
| CSG Tools | `com.IvanMurzak.Godot.MCP.CSG` | Validated CSG primitive dimensions and `rootShape` | Godot 4.3+ |
| Dialogic Tools | `com.IvanMurzak.Godot.MCP.Dialogic` | List and create timelines and characters, append timeline text | Dialogic addon, Godot 4.4+ |
| GridMap Tools | `com.IvanMurzak.Godot.MCP.GridMap` | GridMap settings, cell rows and cell editing | Godot 4.3+ |
| Navigation Tools | `com.IvanMurzak.Godot.MCP.Navigation` | 2D and 3D navigation agents, regions, links and region baking | Godot 4.3+ |
| Particles Tools | `com.IvanMurzak.Godot.MCP.Particles` | GPU particles in 2D and 3D: validated emitter settings and restart | Godot 4.3+ |
| PhantomCamera Tools | `com.IvanMurzak.Godot.MCP.PhantomCamera` | List virtual cameras and hosts, set follow and look-at targets | Phantom Camera addon, Godot 4.4+ |
| Terrain3D Tools | `com.IvanMurzak.Godot.MCP.Terrain3D` | Terrain source, region size changes and material creation | Terrain3D addon, Godot 4.4+ |
| Tilemap Tools | `com.IvanMurzak.Godot.MCP.Tilemap` | TileMapLayer used-cell rows and cell editing | Godot 4.3+ |

Every extension also needs a core addon that has the RQL tools (any release after 0.28.0).

**Note**

The installer adds only the extension package. For Beehave, Dialogic, Phantom Camera and Terrain3D, install that third-party addon into your project yourself first.

## Install with godot-cli

```bash
godot-cli install-extension com.IvanMurzak.Godot.MCP.CSG ./MyGodotProject
godot-cli build ./MyGodotProject
```

`install-extension` looks the id up in the extension catalog, by package id first and then by name, case-insensitive (so `"CSG Tools"` also works). It then adds or updates a `<PackageReference>` in your project's `.csproj`:

- not referenced yet: the reference is added;
- an older version is referenced: it is updated;
- already up to date: nothing changes.

Without `--version`, the reference floats to the latest stable release on NuGet (`Version="*"`). Use `--version <x.y.z>` to request an exact version. After installing, build the project so Godot restores and compiles the package; Godot has no automatic restore step.

## Install from the dock

The **Extensions** section of the AI Game Developer dock lists the same catalog with **Install** and **Update** buttons. It edits the `.csproj` the same way as the CLI. Rebuild afterwards. If the dock says no `.csproj` was found, the addon is not inside a Godot C# project.

## Install from the AI Game Dev app

For Godot projects, the [AI Game Dev app](https://ai-game.dev/docs/wiki/app) shows an **Extensions** button in the sidebar that opens the same catalog and installs through the same code as `godot-cli`. Its slash command `/install-extension` does the same from the app's chat: without arguments it lists the catalog, with an id it installs into the current project. Engine extensions are not the same as the app's own packages.

## The extension catalog

The list of extensions lives in `addons/godot_mcp/extensions.catalog.json`, shipped with the addon. The dock, `godot-cli` and the app all read this one file. The dock reads it from your compiled project, which is why your `.csproj` must embed it:

```xml
<ItemGroup>
  <EmbeddedResource Include="addons/godot_mcp/extensions.catalog.json" LogicalName="Godot-MCP.extensions.catalog.json" />
</ItemGroup>
```

`godot-cli install-plugin` and the app add this line for you. If you installed by hand and the Extensions list is empty, this line is missing; add it and rebuild. See [Installation](https://ai-game.dev/docs/wiki/godot/installation#nuget-packages).

## Using an extension

After the build, just ask. For example, with CSG Tools installed:

- "Build a CSG combiner with a 3x3x3 box and subtract a sphere of radius 1.8 from it."
- "List every CSG shape in the scene with its operation and size."

The agent creates the nodes with `rql-mutate` (one undoable step per call) and checks the result with `rql-query`. Invalid values, such as a negative radius, fail the whole change and leave the scene untouched.

## Write your own extension

The Godot-MCP repository contains an extension template (`templates/extension/`) and a monorepo guide for building, testing and releasing modules. For one-off project tools, plain [custom tools](https://ai-game.dev/docs/wiki/godot/custom-tools) are simpler.

---

Source (HTML): https://ai-game.dev/docs/wiki/godot/extensions
