`blueprint-compile` and `source-compile` returning a parsed error and warning list rather than console text is what turns this from a remote control into something an agent can iterate with: make the change, compile, read what broke, fix it. The screenshot family closes the same loop visually, returning PNG image content the model can actually inspect. Two limits to plan around: pixel capture needs a GPU-backed editor and returns a structured error under headless `-nullrhi`, and capture dimensions are clamped at 2048 per side.
An Unreal Engine plugin plus a bridge that exposes the editor as MCP tools. Tool ids are kebab-case and grouped into families, matching the naming used by the same author's Unity and Godot plugins.
- 61 built-in tools across 7 families, plus 3 system tools deliberately kept out of `tools/list` so they never spend tokens
- Actors and components (13): `actor-create`, `actor-find`, `actor-modify`, `actor-set-parent`, `actor-component-add`, `object-get-data`, `object-modify` and the rest
- Blueprints (11): `blueprint-create`, `blueprint-get` for a graph summary, `blueprint-add-variable`, `blueprint-add-function`, `blueprint-add-event`, `blueprint-set-default`, `blueprint-spawn`, and `blueprint-compile` which returns a structured error and warning list
- Assets (11): `asset-find` over the AssetRegistry, `asset-import` for FBX and textures, `asset-material-create` and `asset-material-modify`
- Editor and reflection (9): `editor-application-set-state` to start and stop Play-In-Editor, `console-get-logs`, `console-run-command`, `reflection-method-find` and `reflection-method-call` to discover and invoke UFunctions
- Levels (7): `level-create`, `level-open`, `level-save`, `level-get-data`, `level-list-loaded` (World-Partition aware)
- C++ source (6): `source-read`, `source-create-class`, `source-update`, `source-compile` with a structured error report — all file operations jailed to the project's Source directory
- Screenshots (4): `screenshot-viewport`, `screenshot-game-view`, `screenshot-camera` and `screenshot-isolated`, returned as base64 PNG image content the model can look at
- Every tool can be enabled or disabled individually from the MCP Tools window in the editor
Unreal Engine 5.5 or newer — developed and CI-tested against 5.7, verified on 5.8 — and a C++ Unreal project, since the plugin builds an editor module. The current install path is the npm package unreal-mcp-cli, version 0.16.0: `npm install -g unreal-mcp-cli`, then `install-plugin`, `login` against ai-game.dev, and `open`. Node.js `^20.19.0 || >=22.12.0` is needed for the CLI. A Fab / Epic Marketplace listing with precompiled per-engine binaries is announced but not yet live.
One command — npm install -g unreal-mcp-cli
