Funplay Unreal MCP

io.github.FunplayAI由 GitHub 帳號 FunplayAI 發布v0.2.0更新於 Oct 24, 2026

stdio bridge for the local Unreal Editor MCP server from FunplayAI/funplay-unreal-mcp.

已驗證STDIO僅桌面開發者工具媒體與設計

概覽

AI 產生的概覽

Node.js stdio 橋接服務,讓 AI 助理透過 Funplay MCP 外掛操作執行中的 Unreal 編輯器:Actor、關卡、藍圖、材質、資產與 Python 執行。

可以做什麼
  • 在編輯器中執行任意 Python 程式碼與主控台指令,並搜尋 API、檢視類別資訊
  • 生成、變換、掛接與刪除 Actor,加入元件,建構牆面、地板與樓梯
  • 建立與編輯藍圖、材質與材質實例,匯入、重新命名、儲存或刪除資產
  • 管理關卡、Play-In-Editor 工作階段、視埠攝影機、選取、截圖以及復原/重做
  • 讀寫檔案,建立資料表,建立 UMG 介面元件,生成 Niagara 特效,並讀取專案、關卡與日誌資源
適用情境
適用於使用 Unreal Engine 5.3–5.8 的情況:希望助理在執行中的編輯器裡建立或修改關卡、藍圖、材質與資產,或以 Python 腳本取代手動點擊完成編輯器操作。
執行需求
本機需安裝 Unreal 編輯器並裝好 FunplayMCP 外掛、啟動其伺服器,另需 Node.js 執行 npx 橋接。外掛會產生依專案區分的權杖,須透過 FUNPLAY_UNREAL_MCP_TOKEN 提供;端點預設指向本機回送位址,可用 FUNPLAY_UNREAL_MCP_URL 覆寫。僅支援桌面端。
安裝前請注意
權杖屬於憑證,存放於專案設定檔中,請勿放入共用設定。execute_python 會在編輯器中執行任意 Python,且可在單次呼叫中關閉安全檢查,因此能讀寫檔案、啟動程序。許多工具會寫入、重新命名、刪除或儲存資產、關卡與藍圖,Play-In-Editor 也會改變編輯器狀態。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Funplay Unreal MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Funplay MCP for Unreal

The most advanced MCP server for the Unreal Editor.

[Unreal Engine 5.3-5.8] [MIT] [MCP compatible] [Editor only]

中文 | English

💖 If this saves you time, please star the repo — it helps a lot.


Funplay MCP for Unreal lets AI assistants — Claude Code, Cursor, Windsurf, Codex, VS Code Copilot and any other MCP client — operate directly inside a running Unreal Editor. It is a pure-Python editor plugin (no C++ build, works across Unreal Engine 5.3–5.8) that exposes the editor over a local MCP server, plus a tiny Node.js stdio bridge that connects your AI client to it. MIT-licensed and free for commercial use.

Describe what you want in natural language — spawn and arrange actors, build levels and Blueprints, create materials, import assets, drive Play-In-Editor, capture screenshots, or run arbitrary execute_python — and let the assistant do it.

"Build a small arena: a floor, four walls, some point lights, and a player start in the middle. Then play it and send me a screenshot."

The assistant inspects the level, spawns and positions the actors, sets up lighting, enters Play-In-Editor, and returns a screenshot — all through this MCP server.

Demo

[Codex uses Funplay MCP to build a castle in Unreal Editor]

Codex asks for a castle, Funplay MCP drives the Unreal Editor through MCP, and the finished scene appears directly in the editor.

Quick Start

Three things: (1) drop the plugin into your project, (2) enable it and start the server, (3) point your AI client at it.

1. Install the plugin

💡 The plugin is pure Python — there is nothing to compile.

  • Copy the FunplayMCP/ folder into your project's Plugins/ directory (<YourProject>/Plugins/FunplayMCP/), or download Funplay.UnrealMcp.vX.Y.Z.zip from the latest Release and extract it there.
  • It depends on the engine's Python Editor Script Plugin, which the .uplugin enables automatically.

2. Enable and start the MCP Server

  • Open your project. In Edit → Plugins, confirm Funplay MCP for Unreal is enabled, then restart the editor if prompted.
  • On startup the server listens at http://127.0.0.1:8765/ by default. If the port is busy it automatically picks a free local port (and a second editor of the same project attaches to the existing server).
  • A per-project auth token is generated and stored in <YourProject>/Saved/FunplayMCP/funplay_mcp_settings.json.
  • Get the endpoint and token any time from **Tools → Funplay MCP → Log Endpoint
    • Token** (printed to the Output Log).

3. Configure your AI client

The fastest path is the editor menu: Tools → Funplay MCP → Configure Claude Code (or Cursor / VS Code / Codex). It writes the right config with the endpoint and token filled in.

Manual configuration

Claude Code (~/.claude.json), Cursor (~/.cursor/mcp.json):

json
{  "mcpServers": {    "funplay-unreal": {      "command": "npx",      "args": ["-y", "funplay-unreal-mcp"],      "env": {        "FUNPLAY_UNREAL_MCP_URL": "http://127.0.0.1:8765/",        "FUNPLAY_UNREAL_MCP_TOKEN": "<token from the Funplay MCP menu>"      }    }  }}

VS Code (mcp.json) uses the servers key; Codex (~/.codex/config.toml) uses a [mcp_servers."funplay-unreal"] table. Both are written for you by the one-click menu.

4. Verify the connection

Ask your assistant to:

  • call get_project_info,
  • read the resource unreal://project/context,
  • run execute_python with result = unreal.SystemLibrary.get_engine_version().

Before You Start

  • Editor only. The server runs inside the Unreal Editor; it does not ship in packaged games.
  • Loopback only. It binds 127.0.0.1 and rejects non-loopback Origins; POST requests require the per-project auth token.
  • Default core profile. A focused 32-tool set is exposed by default; switch to full (97 tools) in the settings file when you want everything.
  • execute_python safety checks are on by default (a filesystem/process denylist); pass safety_checks=false to override per call.
  • All unreal API work is marshalled onto the game thread, so the editor never crashes from off-thread access.

Why This Project

  • execute_python first. A first-class tool that runs arbitrary Python in the editor — anything the 96 dedicated tools don't cover, you can still do.
  • API discovery built in. search_api / describe_class / inspect_object read the embedded unreal module's own docs, so the assistant uses the real API instead of hallucinating it.
  • Pure Python, no build. No C++ module, no compile step, portable across UE 5.3–5.8.
  • Safe by construction. Game-thread marshalling, loopback binding, auth token, and DNS-rebinding protection out of the box.
  • One-click client config + project skills. Configure Claude Code / Cursor / VS Code / Codex and generate an AGENTS.md bridge from the editor menu.
  • Same family, same conventions as Funplay MCP for Unity / Godot / Cocos.

Highlights

  • 97 built-in tools (32 in the default core profile) across 20 categories.
  • MCP resources (unreal://...) for project, level, selection, logs, and the tool catalog, plus prompt templates for common workflows.
  • Structured results — every tool returns JSON the assistant can reason over; screenshots come back as inline images.
  • Auto port-fallback and same-project instance attach.
  • Zero-dependency Node bridge published to npm as funplay-unreal-mcp.

MCP Capabilities

  • Tools: 97 (32 core / 97 full).
  • Primary execution: execute_python — run any Python snippet in the editor.
  • Prompts: level_review, feature_plan, debug_runtime, blueprint_actor.
  • Resources: unreal://project/context, unreal://project/info, unreal://level/current, unreal://actors/list, unreal://selection/current, unreal://tools/catalog, unreal://logs/recent, unreal://interaction/history, plus templates unreal://actor/{ref} and unreal://asset/{path}.

Comparison with Funplay MCP for Unity

Funplay MCP for UnrealFunplay MCP for Unity
Editor sidePure-Python plugin (no build)C# package
Primary executionexecute_python (embedded unreal)execute_code (in-memory C#)
TransportLocal HTTP + stdio bridgeLocal HTTP + stdio bridge
Default exposurecore profile (32 of 97)core profile
Engine versionsUE 5.3–5.8Unity 2022.3+
Client configOne-click (Claude/Cursor/VS Code/Codex)One-click

Built-in Tools

97 built-in tools (32 core). Call get_tool_catalog for the live list.

CategoryTools
Executionexecute_python, run_console_command
Reflectionsearch_api, describe_class, list_enum_values, inspect_object
Actorsspawn_actor, spawn_actor_from_asset, destroy_actor, duplicate_actor, set_actor_transform, set_actor_label, set_actor_property, attach_actor, get_actor_info, list_actors, find_actors, batch_spawn_actors
Componentsadd_component, list_components, get_component_properties, set_component_property, set_static_mesh, set_material, set_physics_properties, add_ism_instances
Assetslist_assets, find_assets, get_asset_info, duplicate_asset, rename_asset, delete_asset, save_asset, import_asset, create_folder, asset_exists, get_asset_references
Blueprintscreate_blueprint, add_blueprint_component, compile_blueprint, get_blueprint_info, spawn_blueprint
Materialscreate_material, create_material_instance, set_material_instance_parameter, get_material_info, add_material_expression, connect_material_expressions, connect_material_property, recompile_material
Levelsnew_level, load_level, save_current_level, save_all_dirty, get_level_info, list_levels
Play-In-Editorplay_in_editor, stop_play_in_editor, simulate_in_editor, get_play_state
Viewportset_viewport_camera, get_viewport_camera, focus_viewport
Screenshotstake_screenshot
Selectionget_selection, set_selection, select_none, get_selected_assets
Editor Stateget_editor_state, get_project_info, get_output_log, sync_content_browser, health_status, undo, redo
Filesread_file, write_file, list_directory, file_exists
Proceduralbuild_wall, build_floor, build_stairs, scatter_actors
Organizationset_actor_folder, create_layer, add_actors_to_layer, list_layers
Datacreate_data_table, get_data_table, set_data_table_rows, export_data_table_csv
UMGcreate_widget_blueprint, add_widget, set_widget_property
Effectsspawn_niagara_system, set_niagara_parameter
Discoveryget_tool_catalog

Repository Layout

FunplayMCP/                         # the Unreal editor plugin (pure Python)  FunplayMCP.uplugin  Content/Python/    init_unreal.py                  # auto-run entry point    funplay_mcp/                    # server, transport, registry, providers      tools/                        # one module per tool categorystdio-wrapper/                      # zero-dependency Node.js stdio<->HTTP bridgescripts/                           # validate_repo.py, package_release.pytests/                             # Node + Python tests (run without the editor)server.json                        # MCP registry manifest

Architecture

AI client (Claude Code / Cursor / ...)        │  stdio (MCP JSON-RPC)        ▼funplay-unreal-mcp  (Node bridge, npx)        │  HTTP + token  →  127.0.0.1:8765        ▼Unreal Editor plugin (Python)        │  game-thread pump (register_slate_post_tick_callback)        ▼unreal API  →  Actors / Assets / Blueprints / Levels / PIE

Contributing

See CONTRIBUTING.md. Run python3 scripts/validate_repo.py before opening a PR.

License

MIT — see LICENSE.

來源:README.md,提交 688c21f

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分