Unreal_mcp
ChiR24 · ChiR24/Unreal_mcp
Enables AI agents to control Unreal Engine 5 via a native C++ plugin to build levels, Blueprints, UI, materials, and effects.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C++ Automation Bridge plugin. Built with TypeScript and C++.
Preview
What you can do with it
- Generate entire game levels with actors, lighting, and environmental assets.
- Automate the creation of UI elements and their interactive Blueprints.
- Design and apply complex material graphs and procedural textures within Unreal.
Verified live · 23 tools
We started this MCP server in an isolated sandbox and it exposed these tools:
manage_toolsDynamic MCP tool management. List canonical tools, view category counts, and enable/disable tools or categories at runtime. Required: action. Select one enum value, then provide only parameters releva
manage_assetCreate/import/manage assets, material graphs, material instances, procedural textures, render targets, and dependency analysis. Required: action. Select one enum value, then provide only parameters re
manage_blueprintCreate Blueprints and UMG widgets, add SCS/UI components, set defaults, and manipulate Blueprint graphs, bindings, and widget layouts. Required: action. Select one enum value, then provide only parame
control_actorSpawn actors, set transforms, enable physics, add components, manage tags, and attach actors. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by a
control_editorStart/stop PIE, control viewport camera, run console commands, take screenshots, simulate input. Required: action. Select one enum value, then provide only parameters relevant to that action. Params b
manage_levelLoad/save levels, configure streaming, and build lighting. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: levelPath, assetPath, levelP
build_environmentBuild environments: landscapes, foliage, procedural terrain/biomes, lighting setups, spline roads/rivers/fences, and world decoration. Required: action. Select one enum value, then provide only parame
animation_physicsAuthor animation and physics assets: Animation Blueprints, blend spaces, montages, Control Rig/IK, skeletons, sockets, physics assets, cloth, ragdolls, and vehicles. Required: action. Select one enum
system_controlControl the project runtime: profiling, benchmarks, scalability/LOD/Nanite settings, CVars, console commands, Python scripts, UBT, tests, logs, and widgets. Required: action. Select one enum value, th
manage_sequenceEdit Level Sequences: add tracks, bind actors, set keyframes, control playback, and record camera. Required: action. Select one enum value, then provide only parameters relevant to that action. Params
inspectInspect any UObject: read/write properties, list components, export snapshots, and query class info. Actions: inspect_cdo (Blueprint CDO properties + all components without spawning an actor; use blue
manage_audioPlay/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds. Required: action. Select one enum value, then provide only parameters relevant to
manage_geometryCreate procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation. Required: action. Select one enum value, then provide only parameters relevant to that action.
manage_pcgCreate, edit, execute, and configure PCG graphs: graph assets, input/sampler/filter/spawner nodes, pin connections, node settings, and partition grid size. Required: action. Select one enum value, the
manage_effectNiagara particle systems, VFX, debug shapes, and GPU simulations. Create systems, emitters, modules, and control particle effects. Required: action. Select one enum value, then provide only parameters
npx -y unreal-engine-mcp-server · 08/10/2026
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
Connect Claude, Cursor, VS Code or any other MCP client to a running Unreal Editor, and let it build levels, Blueprints, UI, materials, effects and more, through a native C++ editor plugin.
🧭 One tool, nearly 400 capabilities · ⚙️ Native C++ editor plugin · 🌐 HTTP or stdio · 🔐 Local and token-protected by default · 🎮 Unreal Engine 5.0 – 5.8
🚀 Quick Start · 📖 Wiki · 📦 Releases · 💬 Discussions
📌 Which version is this? This README describes the 0.6 line: the
devbranch and npmunreal-engine-mcp-server@beta. The previous stable release, 0.5.30 (npmlatest), exposes 23 separate tools instead of one; see Upgrading from 0.5.x.
Contents · What it does · How it works · Quick start · The unreal tool · Configuration · Security · Engine plugins · Docker · Documentation · Development · Community
What it does
🏗️ Levels and actors Spawn one actor or hundreds in a single call, place and attach them, find the ones sunk into the floor, and load, stream and save levels.
🧩 Blueprints and UI Create Blueprints, variables and components, build whole event graphs in one batch, and lay out UMG widgets, with a preview image to check them.
🎨 Materials and worlds Material graphs and instances, procedural textures, lighting, landscapes, foliage, Niagara effects and PCG graphs.
🕹️ Gameplay Characters and animation, Gameplay Ability System, AI (Behavior Trees, State Trees, EQS), inventory, networking and Enhanced Input.
🎬 Cinematics and audio Level Sequences, cameras, Movie Render Queue and Take Recorder; Sound Cues and MetaSounds.
🧪 Play and verify Run Play-In-Editor with synthetic input, take screenshots the model can see, read logs, profile, run Python, and package builds.
Nearly 400 capabilities in all, behind a single MCP tool. The assistant finds them by searching in plain words, so nobody has to learn their names. The full list is the generated Action Reference.
A platformer level built with the MCP, in Unreal Editor 5.8. Bottom right: the plugin's status, MCP :3000 (1), meaning the native server is running on port 3000 with one client connected.
How it works
The MCP Automation Bridge plugin runs inside the editor and does all the work, on the editor's game thread. Clients reach it in one of two ways, and both expose the same single tool, unreal:
| 🌐 Route A · Native HTTP | 🧩 Route B · stdio | |
|---|---|---|
| Path | Client → the plugin's Streamable HTTP server at http://127.0.0.1:3000/mcp | Client → unreal-engine-mcp-server (Node.js, stdio) → the plugin's WebSocket on 127.0.0.1:8090 |
| Node.js | Not needed | 20.19 or later |
| Capability token | The client sends it in the X-MCP-Capability-Token header | Read from the project, given UE_PROJECT_PATH |
| Best for | Claude Code, Cursor, VS Code, and several clients sharing one editor | Claude Desktop, and clients that only launch local commands |
Everything listens on 127.0.0.1 and requires the project's capability token unless you change it.
Quick start
The Quick Start page walks through this with screenshots. You need Unreal Engine 5.0 to 5.8 and a project with C++ code; a Blueprint-only project can use prebuilt binaries.
1. Add the plugin
Download McpAutomationBridge-plugin-<version>.zip from the newest v0.6 pre-release on the Releases page, and copy the McpAutomationBridge folder it contains into your project:
MyGame/Plugins/McpAutomationBridge/
Or use a clone of this repository: copy plugins/McpAutomationBridge/, or reference the folder from your .uproject with "AdditionalPluginDirectories": ["C:/Path/To/Unreal_mcp/plugins"].
Open the project and let Unreal rebuild the plugin. When it's loaded, the status bar shows MCP off. If you see "Engine modules cannot be compiled at runtime", build the project once in Visual Studio, Rider or Xcode. More in Installation.
https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d
Prebuilt binaries (Blueprint-only projects, teams)
Build the plugin once on a machine with the engine and a compiler, then hand out the zip. No compiler is needed on the target machine:
node scripts/package-plugin.mjs "C:/Program Files/Epic Games/UE_5.7"
This writes build/McpAutomationBridge-v<version>-UE5.7-.zip, where <version> is the package.json version (currently 0.6.0-beta-c). Unzip it into YourProject/Plugins/. Binaries only work with the engine minor and platform they were built for: a 5.6 build won't load in 5.5, 5.7 or 5.8.
2. Connect your client
Route A · Native HTTP (no Node.js)
-
In Edit › Project Settings › Plugins › MCP Automation Bridge, tick Enable Native MCP Server (port
3000by default), then restart the editor. The status bar now readsMCP :3000 (0). -
Read the capability token the plugin generated:
<YourProject>/Saved/MCP/capability-token. Treat it like a password. -
Add the server to your client and send the token in the
X-MCP-Capability-Tokenheader. Claude Code:claude mcp add --transport http unreal-engine http://127.0.0.1:3000/mcp --header "X-MCP-Capability-Token: <token>"Or in a project
.mcp.json(Claude Code), r