Skip to main content
Glama
sam-david

unreal-mcp

by sam-david

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

flopperam

chongdashu

kvick-games

ChiR24

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 build

Add to Claude Code

Per-project (from your UE project directory):

claude mcp add --transport stdio unreal-mcp -- node /path/to/unreal-mcp/dist/bin.js

Global (available in all projects):

claude mcp add --scope user --transport stdio unreal-mcp -- node /path/to/unreal-mcp/dist/bin.js

Then 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 Engine

Transport 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

UNREAL_MCP_PROJECT_PATH

Path to .uproject file or project directory

UNREAL_MCP_ENGINE_PATH

auto-detect

UE engine install path

UNREAL_MCP_RC_PORT

30010

Remote Control API port

UNREAL_MCP_PYTHON_PORT

6776

Python Remote Execution port

UNREAL_MCP_PLATFORM

Win64

Target platform

UNREAL_MCP_CONFIGURATION

Development

Build configuration

UNREAL_MCP_MODULES

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 30010

Config 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)

  1. Edit > Plugins > enable Python Editor Script Plugin

  2. Restart the editor

  3. 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.1 to 0.0.0.0 — Epic changed the default in 5.3 and it breaks external tools

    • Verify Multicast Group Endpoint is 239.0.0.1:6766

  4. 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)

  1. Edit > Plugins > enable Remote Control API

  2. Restart the editor

  3. 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.1

    • These 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 tests

License

MIT

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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