unreal-engine-mcp
MCP server for Unreal Engine 5 with 17 tools for game development automation.
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"unreal-engine-mcp-server": {
"args": [
"unreal-engine-mcp-server@0.5.13"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
Unreal Engine MCP Server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through a native C++ Automation Bridge plugin. Built with TypeScript, C++, and Rust (WebAssembly).
Table of Contents
- Features
- Getting Started
- Configuration
- Available Tools
- WebAssembly Acceleration
- GraphQL API
- Docker
- Documentation
- Community
- Development
- Contributing
Features
| Category | Capabilities |
|---|---|
| Asset Management | Browse, import, duplicate, rename, delete assets; create materials |
| Actor Control | Spawn, delete, transform, physics, tags, components |
| Editor Control | PIE sessions, camera, viewport, screenshots, bookmarks |
| Level Management | Load/save levels, streaming, World Partition, data layers |
| Animation & Physics | Animation BPs, state machines, ragdolls, vehicles, constraints |
| Visual Effects | Niagara particles, GPU simulations, procedural effects, debug shapes |
| Sequencer | Cinematics, timeline control, camera animations, keyframes |
| Graph Editing | Blueprint, Niagara, Material, and Behavior Tree graph manipulation |
| Audio | Sound cues, audio components, sound mixes, ambient sounds |
| System | Console commands, UBT, tests, logs, project settings, CVars |
Architecture
- Native C++ Automation 鈥� All operations route through the MCP Automation Bridge plugin
- Dynamic Type Discovery 鈥� Runtime introspection for lights, debug shapes, and sequencer tracks
- Graceful Degradation 鈥� Server starts even without an active Unreal connection
- On-Demand Connection 鈥� Retries automation handshakes with exponential backoff
- Command Safety 鈥� Blocks dangerous console commands with pattern-based validation
- Asset Caching 鈥� 10-second TTL for improved performance
- Metrics Rate Limiting 鈥� Per-IP rate limiting (60 req/min) on Prometheus endpoint
- Centralized Configuration 鈥� Unified class aliases and type definitions
Getting Started
Prerequisites
- Node.js 18+
- Unreal Engine 5.0鈥�7
Step 1: Install MCP Server
Option A: NPX (Recommended)
npx unreal-engine-mcp-server
Option B: Clone & Build
git clone https://github.com/ChiR24/Unreal_mcp.git
cd Unreal_mcp
npm install
npm run build
node dist/cli.js
Step 2: Install Unreal Plugin
The MCP Automation Bridge plugin is included at Unreal_mcp/plugins/McpAutomationBridge.
Method 1: Copy Folder
Copy: Unreal_mcp/plugins/McpAutomationBridge/
To: YourUnrealProject/Plugins/McpAutomationBridge/
Regenerate project files after copying.
Method 2: Add in Editor
- Open Unreal Editor 鈫� Edit 鈫� Plugins
- Click "Add" 鈫� Browse to
Unreal_mcp/plugins/ - Select the
McpAutomationBridgefolder
Video Guide:
https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d
Step 3: Enable Required Plugins
Enable via Edit 鈫� Plugins, then restart the editor:
| Plugin | Required For |
|---|---|
| MCP Automation Bridge | All automation operations |
| Editor Scripting Utilities | Asset/Actor subsystem operations |
| Sequencer | Sequencer tools |
| Level Sequence Editor | manage_sequence operations |
| Control Rig | animation_physics operations |
| Subobject Data Interface | Blueprint components (UE 5.7+) |
| Geometry Script | manage_geometry operations (procedural mesh) |
Step 4: Configure MCP Client
Add to your Claude Desktop / Cursor config file:
Using Clone/Build:
{
"mcpServers": {
"unreal-engine": {
"command": "node",
"args": ["path/to/Unreal_mcp/dist/cli.js"],
"env": {
"UE_PROJECT_PATH": "C:/Path/To/YourProject",
"MCP_AUTOMATION_PORT": "8091"
}
}
}
}
Using NPX:
{
"mcpServers": {
"unreal-engine": {
"command": "npx",
"args": ["unreal-engine-mcp-server"],
"env": {
"UE_PROJECT_PATH": "C:/Path/To/YourProject"
}
}
}
}
Configuration
Environment Variables
# Required
UE_PROJECT_PATH="C:/Path/To/YourProject"
# Automation Bridge
MCP_AUTOMATION_HOST=127.0.0.1
MCP_AUTOMATION_PORT=8091
# Logging
LOG_LEVEL=info # debug | info | warn | error
# Optional
WASM_ENABLED=true
MCP_AUTOMATION_REQUEST_TIMEOUT_MS=120000
ASSET_LIST_TTL_MS=10000
Available Tools
| Tool | Description |
|---|---|
manage_asset |
Assets, Materials, Render Targets, Behavior Trees |
control_actor |
Spawn, delete, transform, physics, tags |
control_editor |
PIE, Camera, viewport, screenshots |
manage_level |
Load/Save, World Partition, streaming |
manage_lighting |
Spawn lights, GI, shadows, build lighting, list_light_types |
manage_performance |
Profiling, optimization, scalability |
animation_physics |
Animation BPs, Vehicles, Ragdolls, Control Rig, IK, Blend Spaces |
manage_effect |
Niagara, Particles, Debug Shapes, Niagara authoring, GPU sim |
manage_blueprint |
Create, SCS, Graph Editing, Node manipulation |
build_environment |
Landscape, Foliage, Procedural |
system_control |
UBT, Tests, Logs, Project Settings, CVars |
manage_sequence |
Sequencer / Cinematics, list_track_types |
inspect |
Object Introspection |
manage_audio |
Audio Assets, Components, Sound Cues, MetaSounds, Attenuation |
manage_behavior_tree |
Behavior Tree Graph Editing |
manage_input |
Enhanced Input Actions & Contexts |
manage_geometry |
Procedural mesh creation (Geometry Script) |
manage_skeleton |
Skeleton, sockets, physics assets, cloth binding |
manage_material_authoring |
Material creation, expressions, landscape layers |
manage_texture |
Texture creation, modification, compression settings |
manage_gas |
Gameplay Ability System: abilities, effects, attributes |
manage_character |
Character creation, movement, advanced locomotion |
manage_combat |
Weapons, projectiles, damage, melee combat |
manage_ai |
AI controllers, EQS, perception, State Trees, Smart Objects |
manage_inventory |
Items, equipment, loot tables, crafting |
manage_interaction |
Interactables, destructibles, triggers |
manage_widget_authoring |
UMG widget creation, layout, styling, animations |
manage_networking |
Replication, RPCs, network prediction |
manage_game_framework |
Game modes, game states, player controllers, match flow |
manage_sessions |
Sessions, split-screen, LAN, voice chat |
manage_level_structure |
Level creation, sublevels, World Partition, data layers, HLOD |
manage_volumes |
Trigger volumes, blocking, physics, audio, navigation volumes |
manage_navigation |
NavMesh settings, nav modifiers, nav links, smart links, pathfinding |
Supported Asset Types
Blueprints 鈥� Materials 鈥� Textures 鈥� Static Meshes 鈥� Skeletal Meshes 鈥� Levels 鈥� Sounds 鈥� Particles 鈥� Niagara Systems 鈥� Behavior Trees
WebAssembly Acceleration
Optional WASM acceleration for computationally intensive operations. Enabled by default when available, falls back to TypeScript automatically.
| Operation | Speedup |
|---|---|
| JSON parsing | 5鈥� |
| Transform calculations | 5鈥�x |
| Vector/matrix math | 5x |
| Dependency resolution | 3鈥� |
Building WASM (Optional)
cargo install wasm-pack # Once per machine
npm run build:wasm # Builds WASM
To disable: WASM_ENABLED=false
GraphQL API
Optional GraphQL endpoint for complex queries. Disabled by default.
GRAPHQL_ENABLED=true
GRAPHQL_PORT=4000
See GraphQL API Documentation.
Docker
docker build -t unreal-mcp .
docker run -it --rm -e UE_PROJECT_PATH=/project unreal-mcp
Documentation
| Document | Description |
|---|---|
| Handler Mappings | TypeScript to C++ routing |
| GraphQL API | Query and mutation reference |
| WebAssembly Integration | WASM performance guide |
| Plugin Extension | C++ plugin architecture |
| Testing Guide | How to run and write tests |
| Migration Guide v0.5.0 | Upgrade to v0.5.0 |
| Roadmap | Development phases |
| Automation Progress | Implementation status |
Development
npm run build # Build TypeScript + WASM
npm run lint # Run ESLint
npm run test:unit # Run unit tests
npm run test:all # Run all tests
Community
| Resource | Description |
|---|---|
| Project Roadmap | Track development progress across 47 phases |
| Discussions | Ask questions, share ideas, get help |
| Issues | Report bugs and request features |
Contributing
Contributions welcome! Please:
- Include reproduction steps for bugs
- Keep PRs focused and small
- Follow existing code style
License
MIT 鈥� See LICENSE