Unreal Engine
FreeNot checkedAn MCP server that gives AI agents broad control over Unreal Engine 5.7, enabling actor/asset/level management, Blueprint and material creation, screenshots, au
About
An MCP server that gives AI agents broad control over Unreal Engine 5.7, enabling actor/asset/level management, Blueprint and material creation, screenshots, automation, and arbitrary editor Python execution.
README
A Model Context Protocol (MCP) server that gives AI agents (Claude Desktop/Code, Cursor, any MCP client) broad control over Unreal Engine 5.7 — spawning and editing actors, managing assets and levels, creating Blueprints and materials, capturing screenshots, running headless builds and automation tests, and executing arbitrary editor Python.
It is designed to reach the whole engine, not a fixed menu of features: a
small set of typed tools cover the common operations, and search_unreal_classes
introspect_unreal_class+execute_pythonlet an agent discover and drive anything else theunrealPython module exposes — including features added by enabled plugins (Niagara, PCG, Landscape, Sequencer, Gameplay Ability System, Chaos, MetaHuman, …).
Status: functional reference implementation. The host-side code is tested and the server boots and registers all tools. The live-editor paths require a running UE 5.7 editor with the bridge installed — see docs/SETUP.md. No interactive editor was available in the authoring environment, so live calls have not been smoke-tested end to end; treat the engine-side behaviour as "implemented against the documented API" rather than "verified on a running editor".
Why this design
Unreal exposes three external control surfaces; this server uses all three:
| Surface | What it is | Used for |
|---|---|---|
| Remote Control API (HTTP :30010) | Built-in plugin: REST routes to read/write properties and call UFunctions, including the Python library CDO. |
Live editor control + the Python channel. |
Python (unreal module) |
Reflects ~everything exposed to Blueprints; grows as you enable plugins. | The universal capability layer, reached through Remote Control. |
UnrealEditor-Cmd (headless) |
Commandlets / automation in a short-lived process. | Builds, cooks, packaging, automation tests. |
The key idea: instead of compiling a bespoke C++ plugin, we drive the editor's
own Python interpreter over the Remote Control HTTP API, and ship a tiny UE-side
Python bridge (ue_mcp_bridge, pure .py) that returns structured JSON so
round-trips are reliable. No C++ compilation required — only built-in plugins.
See docs/ARCHITECTURE.md for the full picture and docs/CAPABILITIES.md for the complete map of what's reachable.
Quick start
- In Unreal (5.7): enable the Remote Control API and Python Editor Script Plugin plugins, then restart the editor.
- Install the bridge: copy
unreal_plugin/Content/Python/into your project'sContent/Python/folder (soinit_unreal.pyandue_mcp_bridge/sit directly under it). Restart the editor; the Output Log should show[ue_mcp_bridge] ready. - Install the server:
pip install -e . # or: pip install -r requirements.txt cp .env.example .env # then edit paths/ports - Register with your MCP client. For Claude Desktop, add to
claude_desktop_config.json:
(Claude Code:{ "mcpServers": { "unreal": { "command": "unreal-mcp", "env": { "UE_PROJECT_PATH": "/path/to/MyProject/MyProject.uproject", "UE_ENGINE_PATH": "/path/to/UE_5.7" } } } }claude mcp add unreal -- unreal-mcp.) - Ask your agent: "Call editor_state" to confirm the connection, then "Spawn a cube at the origin and take a screenshot."
Tool catalogue (35 tools)
Editor & connection — editor_state, run_console_command, save_all
Actors — list_actors, get_actor, spawn_actor, spawn_static_mesh,
set_actor_transform, set_actor_property, destroy_actor
Assets — list_assets, asset_exists, asset_info, import_asset,
duplicate_asset, rename_asset, save_asset, delete_asset
Levels — new_level, load_level, save_current_level
Materials / Blueprints — create_material, create_blueprint, compile_blueprint
Rendering — take_screenshot, build_lighting
Universal — execute_python, search_unreal_classes, introspect_unreal_class
Headless pipeline — run_automation_tests, run_python_file, cook_content
Raw Remote Control — rc_get_property, rc_set_property, rc_call_function
Safety
.env(and credential files / keys) are gitignored; never commit secrets.UE_MCP_ALLOW_WRITE=falseputs the server in read-only mode — mutating tools refuse to run. Useful for exploration or untrusted sessions.execute_pythonruns arbitrary code in your editor. Only connect MCP clients you trust.
Development
pip install -e ".[dev]"
PYTHONPATH=src python -m pytest tests/ -q # host-side tests
PYTHONPATH=src python -c "from unreal_mcp.server import build_server; build_server()"
License
MIT — see LICENSE.
Install Unreal Engine in Claude Desktop, Claude Code & Cursor
unyly install unreal-engine-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add unreal-engine-mcp -- uvx --from git+https://github.com/harn3ss/unreal-engine-mcp unreal-engine-mcpFAQ
Is Unreal Engine MCP free?
Yes, Unreal Engine MCP is free — one-click install via Unyly at no cost.
Does Unreal Engine need an API key?
No, Unreal Engine runs without API keys or environment variables.
Is Unreal Engine hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Unreal Engine in Claude Desktop, Claude Code or Cursor?
Open Unreal Engine on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Unreal Engine with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
