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.
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)
- 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 tools - Verify 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.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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。