unreal-engine-mcp
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
unreal-engine-mcp
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.
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。