unreal-mcp
Provides comprehensive tools for interacting with Unreal Engine, including actor management, asset operations, blueprint creation, material editing, sequencer, animation, Niagara particle systems, build tools, profiling, source control, and more via multiple transport layers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@unreal-mcpspawn a cube at location (0,0,0)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
unreal-mcp
The most comprehensive MCP server for Unreal Engine — 127 tools across 16 subsystems, with 4 transport layers and no mandatory C++ plugin.
Beta — This project is under active development and testing. Tools are being validated against UE 5.6. Some tools may not work as expected. Bug reports and contributions are welcome.
Why This One?
unreal-mcp | |||||
Tools | 127 | ~30 | ~20 | ~5 | 36 |
Transports | 4 | 1 | 1 | 1 | 1 |
Requires C++ plugin | No | Yes | Yes | Yes | Yes |
Build/package tools | Yes | No | No | No | Partial |
Most Unreal MCP projects require compiling and installing a custom C++ plugin into your UE project. This one works out of the box by using Unreal's built-in Python and Remote Control plugins — zero-install beyond enabling what already ships with UE.
Related MCP server: Unreal Engine MCP Server
Quick Start
Prerequisites
Node.js >= 18
Unreal Engine 5.x with editor open
Python Editor Script Plugin enabled (built-in) with Enable Remote Execution checked in its settings
Install
git clone https://github.com/YOUR_USERNAME/unreal-mcp.git
cd unreal-mcp
npm install
npm run buildAdd to Claude Code
Per-project (from your UE project directory):
claude mcp add --transport stdio unreal-mcp -- node /path/to/unreal-mcp/dist/bin.jsGlobal (available in all projects):
claude mcp add --scope user --transport stdio unreal-mcp -- node /path/to/unreal-mcp/dist/bin.jsThen drop a .unrealmcp.json in each UE project:
{
"projectPath": "."
}Add to Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"unreal": {
"command": "node",
"args": ["/path/to/unreal-mcp/dist/bin.js"],
"env": {
"UNREAL_MCP_PROJECT_PATH": "/path/to/YourProject.uproject"
}
}
}
}Tool Modules
Module | Tools | Description |
actor | 10 | Spawn, delete, transform, select, duplicate, tag actors |
asset | 16 | List, search, import, export, rename, delete, validate assets |
blueprint | 12 | Create blueprints, add components/variables/functions, graph nodes |
build | 9 | Build targets, cook content, package, generate project files |
material | 13 | Create materials/instances, add expressions, wire graphs |
console | 6 | Execute Python, console commands, screenshots, viewport camera |
sequencer | 8 | Create sequences, add tracks/bindings, set playback range |
animation | 6 | Animation blueprints, montages, modifiers, skeletal mesh |
niagara | 8 | Spawn particle systems, set parameters (float/vector/color/bool) |
editor-utils | 8 | Undo/redo, LOD generation, collision, lightmap UVs, utility widgets |
testing | 8 | Automation tests, map check, data validation, Gauntlet |
profiling | 5 | CSV profiling, Unreal Insights traces, stat commands |
source-control | 6 | Status, checkout, checkin, revert, mark for add, diff |
world-partition | 4 | Data layers, streaming sources, loaded cells |
remote-control-presets | 5 | List/get/set preset properties, call preset functions |
plugin | 3 | List, enable, disable plugins in .uproject |
Architecture
MCP Client (Claude Code, Claude Desktop, etc.)
↕ stdio (MCP protocol)
unreal-mcp server
↕ 4 transport layers
Unreal EngineTransport Layers
Transport | Protocol | Port | What It Needs |
Python Remote Execution | UDP multicast + inverted TCP | 6776 | Python Editor Script Plugin (built-in) |
Remote Control API | HTTP REST | 30010 | Remote Control API plugin (built-in) |
Plugin Bridge | TCP, length-prefixed JSON | 55557 | Optional C++ plugin |
Subprocess Runner | Spawns UAT/UBT processes | N/A | Engine path only |
The server probes all transports on startup and tools gracefully degrade. Most tools use Python Remote Execution. Build tools use subprocess. The optional C++ plugin adds deep Blueprint graph manipulation.
Two Paths
Core path (no plugin): Python + Remote Control covers ~95% of tools. Just enable the built-in UE plugins.
Plugin path (optional): C++ plugin on port 55557 adds K2 node graph manipulation, faster bulk operations, and editor UI integration. Falls back to Python automatically when unavailable.
Configuration
Three-layer priority: CLI args > environment variables > config file > defaults.
Environment Variables
Variable | Default | Description |
| — | Path to .uproject file or project directory |
| auto-detect | UE engine install path |
| 30010 | Remote Control API port |
| 6776 | Python Remote Execution port |
| Win64 | Target platform |
| Development | Build configuration |
| all | Comma-separated list of modules to enable |
CLI Arguments
node dist/bin.js --project-path /path/to/project --engine-path /path/to/UE_5.5 --rc-port 30010Config File
Place .unrealmcp.json in your project directory or home directory:
{
"projectPath": ".",
"platform": "Win64",
"configuration": "Development",
"enabledModules": ["console", "actor", "asset", "build", "blueprint", "material"]
}Unreal Editor Setup
Required (for most tools)
Edit > Plugins > enable Python Editor Script Plugin
Restart the editor
Edit > Project Settings > Plugins > Python > scroll to Remote Execution section:
Check Enable Remote Execution
UE 5.3+ IMPORTANT: Change Multicast Bind Address from
127.0.0.1to0.0.0.0— Epic changed the default in 5.3 and it breaks external toolsVerify Multicast Group Endpoint is
239.0.0.1:6766
Restart the editor again
Still getting "No Unreal Editor nodes found"?
VPN/Tailscale users: Tailscale's virtual network adapter can hijack multicast. Try temporarily disabling Tailscale, or disable the Tailscale network adapter in Windows Network Connections.
Firewall: Allow UDP port 6766 and TCP port 6776, or temporarily disable Windows Firewall to test.
Multiple adapters: WSL, Hyper-V, and VPN adapters can all cause multicast to bind to the wrong interface. Disabling unused adapters helps.
Optional (for Remote Control tools)
Edit > Plugins > enable Remote Control API
Restart the editor
Edit > Project Settings > Plugins > Remote Control > Server:
Check Restrict Server Access — this sounds restrictive but actually enables the sub-options below (unchecked = features hidden/off)
Check Enable Remote Python Execution
Check Allow Console Command Remote Execution
Allowed Origins: leave blank or add
127.0.0.1These take effect immediately, no restart needed
Optional (for Blueprint graph tools)
Install the C++ plugin from plugin/UnrealMCPBridge/ into your project's Plugins/ directory. This enables add_graph_node, connect_graph_nodes, and remove_graph_node.
Development
npm run dev # Watch-mode dev server
npm run build # Compile TypeScript
npm run lint # Biome linter
npm run fmt # Biome formatter
npm test # Run testsLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sam-david/unreal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server