unreal-engine-mcp

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.

Category
访问服务器

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_python let an agent discover and drive anything else the unreal Python 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

  1. In Unreal (5.7): enable the Remote Control API and Python Editor Script Plugin plugins, then restart the editor.
  2. Install the bridge: copy unreal_plugin/Content/Python/ into your project's Content/Python/ folder (so init_unreal.py and ue_mcp_bridge/ sit directly under it). Restart the editor; the Output Log should show [ue_mcp_bridge] ready.
  3. Install the server:
    pip install -e .          # or: pip install -r requirements.txt
    cp .env.example .env      # then edit paths/ports
    
  4. Register with your MCP client. For Claude Desktop, add to claude_desktop_config.json:
    {
      "mcpServers": {
        "unreal": {
          "command": "unreal-mcp",
          "env": {
            "UE_PROJECT_PATH": "/path/to/MyProject/MyProject.uproject",
            "UE_ENGINE_PATH": "/path/to/UE_5.7"
          }
        }
      }
    }
    
    (Claude Code: claude mcp add unreal -- unreal-mcp.)
  5. 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 & connectioneditor_state, run_console_command, save_all Actorslist_actors, get_actor, spawn_actor, spawn_static_mesh, set_actor_transform, set_actor_property, destroy_actor Assetslist_assets, asset_exists, asset_info, import_asset, duplicate_asset, rename_asset, save_asset, delete_asset Levelsnew_level, load_level, save_current_level Materials / Blueprintscreate_material, create_blueprint, compile_blueprint Renderingtake_screenshot, build_lighting Universalexecute_python, search_unreal_classes, introspect_unreal_class Headless pipelinerun_automation_tests, run_python_file, cook_content Raw Remote Controlrc_get_property, rc_set_property, rc_call_function

Safety

  • .env (and credential files / keys) are gitignored; never commit secrets.
  • UE_MCP_ALLOW_WRITE=false puts the server in read-only mode — mutating tools refuse to run. Useful for exploration or untrusted sessions.
  • execute_python runs 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

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选