unreal-mcp-additional-tools

unreal-mcp-additional-tools

An MCP server that complements Epic's official Unreal Engine MCP server with 78 additional tools across 14 subsystems for build/cook/package, cinematics, Niagara, automation testing, source control, profiling, World Partition, and project maintenance, using Unreal's built-in Python and Remote Control plugins.

Category
访问服务器

README

unreal-mcp-additional-tools

An MCP server that complements Epic's official Unreal Engine MCP server78 tools across 14 subsystems covering the areas Epic's server doesn't reach: build/cook/package, cinematics, Niagara, automation testing, source control, profiling, World Partition, and project-wide content maintenance.

Beta — This project is under active development and testing. Tools are being validated against UE 5.8.1. Some tools may not work as expected. Bug reports and contributions are welcome.

Run it alongside Epic's official server. This repo has been deliberately deduplicated against it, so the two form a clean union with no functional overlap — see Relationship to Epic's Official Server.

Forked from sam-david/unreal-mcp (MIT). The upstream project is a general-purpose Unreal MCP server; this fork deduplicates its toolset against Epic's official server so both can be connected at once.

Relationship to Epic's Official Server

This project began as a general-purpose Unreal MCP server. After Epic shipped an official one, its toolset was deduplicated against Epic's so the two can be connected at the same time without redundant or conflicting tools.

What was removed

Whole categories were dropped only where Epic has a genuine 1-call (or trivial 2-call) equivalent:

  • blueprint module (12 tools) — deleted outright. Epic's BlueprintTools is a strict superset.
  • plugin module (3 tools) — deleted outright. Epic's PluginToolset is a strict superset.
  • actor, asset, and material — trimmed heavily for the same reason, leaving only the tools with no Epic counterpart.

What was deliberately kept

Some remaining tools have names that sound similar to Epic's, but the behavior differs. These were kept on purpose:

Tool Why it isn't a duplicate
apply_material Epic's mesh tools set the asset's default slot material. This sets a live actor-instance override.
generate_collision Epic only does convex-hull generation. Box/sphere/capsule/auto modes have no Epic equivalent.
set_skeletal_mesh_lod Epic's SkeletalMeshTools is read-only on LOD count.
reimport_skeletal_mesh Epic has no in-place reimport.
import_asset Epic's import tools are per-asset-type only — no generic or audio import.
export_asset Epic has no asset export.
validate_assets Epic has no data validation tool at all.

What was untouched

Entire domains were left fully intact because Epic has no equivalent:

  • Build, cook, and packaging
  • Cinematics / Sequencer
  • Niagara VFX
  • Automation testing and Gauntlet
  • Source control (real checkin/checkout/diff, not just read-only flags)
  • Profiling and Unreal Insights traces
  • World Partition
  • Undo/redo
  • Remote Control Presets
  • Project-wide maintenance — fix_redirectors, resave_packages, content_audit, consolidate_assets

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

No custom C++ plugin required. This server works out of the box using Unreal's built-in Python and Remote Control plugins.

Install

git clone https://github.com/YOUR_USERNAME/unreal-mcp-additional-tools.git
cd unreal-mcp-additional-tools
npm install
npm run build

Add to Claude Code

Per-project (from your UE project directory):

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

Global (available in all projects):

claude mcp add --scope user --transport stdio unreal-extra -- node /path/to/unreal-mcp-additional-tools/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-extra": {
      "command": "node",
      "args": ["/path/to/unreal-mcp-additional-tools/dist/bin.js"],
      "env": {
        "UNREAL_MCP_PROJECT_PATH": "/path/to/YourProject.uproject"
      }
    }
  }
}

Tool Modules

78 tools across 14 modules. Module names below are the values accepted by enabledModules / UNREAL_MCP_MODULES.

Module Tools Description
console 3 Execute Python, run console commands, check transport connection status
actor 2 Duplicate actors, set actor tags
asset 7 Import/export, data validation, fix redirectors, resave packages, content audit, consolidate duplicates
build 9 Build targets, cook, package, BuildCookRun, build plugins, BuildGraph, generate project files, clean, parse build status
material 1 Apply a material to a live actor's mesh component
sequencer 8 Create sequences, inspect structure, bind actors, add tracks, playback range, framerate, FBX export, Movie Render Queue
animation 6 Animation blueprints, montages, sequence info, skeletal mesh LODs, reimport, animation modifiers
niagara 8 Spawn systems at a location or attached, set float/vector/color/bool parameters, reset, reinit
testing 7 List and run automation tests (by name, category, or all), map check, Gauntlet, fetch results
source-control 6 Status, checkout, checkin, revert, mark for add, diff
profiling 5 Start/stop Unreal Insights traces, stat commands, start/stop CSV profiling
world-partition 4 List data layers, set data layer state, query loaded cells, configure streaming sources
editor-utils 7 Run editor utility widgets/blueprints, generate collision and lightmap UVs, undo, redo, undo history
remote-control-presets 5 List and inspect presets, get/set exposed properties, call exposed functions

Architecture

MCP Client (Claude Code, Claude Desktop, etc.)
  ↕ stdio (MCP protocol)
unreal-mcp-additional-tools server
  ↕ transport layers
Unreal Engine

Transport Layers

Transport Protocol Port What It Needs Used by
Python Remote Execution UDP multicast + inverted TCP 6776 Python Editor Script Plugin (built-in) Most tools
Subprocess Runner Spawns UAT/UBT processes N/A Engine path only Build, cook, package, Gauntlet
Remote Control API HTTP REST 30010 Remote Control API plugin (built-in) Remote Control Presets
Plugin Bridge TCP, length-prefixed JSON 55557 Optional C++ plugin Currently unused

The server probes all transports on startup and tools degrade gracefully. Build tools run through the subprocess runner and don't need the editor open at all.

The Plugin Bridge client and its executeWithPluginFallback() plugin-first/Python-fallback path remain in the codebase, but no tool currently routes through it — its only consumer was the blueprint module, which was removed during the dedupe against Epic's server. No C++ plugin ships with this repo.

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.8 --rc-port 30010

Config File

Place .unrealmcp.json in your project directory or home directory:

{
  "projectPath": ".",
  "platform": "Win64",
  "configuration": "Development",
  "enabledModules": ["console", "asset", "build", "sequencer", "niagara"]
}

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 Preset 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

Other Community Projects

For context, other Unreal MCP implementations in the wild:

flopperam chongdashu kvick-games ChiR24
Tools ~30 ~20 ~5 36
Requires C++ plugin Yes Yes Yes Yes
Build/package tools No No No Partial

All of them require compiling and installing a custom C++ plugin into your UE project. This one doesn't.

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 — see LICENSE. Original work copyright Sam David; modifications in this fork copyright nodormu.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选