unreal-mcp

unreal-mcp

Enables natural language interaction with Unreal Engine, providing 127 tools across 16 subsystems for tasks like actor manipulation, asset management, blueprint creation, and more, using built-in Python and Remote Control plugins.

Category
Visit Server

README

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.

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured