Funplay Unreal MCP について
Funplay Unreal MCPは、PythonプラグインとローカルMCPサーバーを通じて、AIアシスタントから起動中のUnreal Editorを操作できるようにします。レベル、アセット、Blueprintの編集に向けた機能に加え、Python実行とAPI探索ツールを備えています。
主な機能
- 01MCP経由でUnreal Editorを操作
- 02エディター内でPythonを実行
- 03アクター、アセット、レベルの管理
- 04Blueprintとマテリアルの作成・確認
- 05Unreal APIとオブジェクトの探索
- 06構造化結果とスクリーンショットの返却
活用シーン
- 01指示に沿ったレベルの構築と配置
- 02アセットのインポートとマテリアル設定
- 03Play-In-Editorの実行と画面撮影
- 04自動化タスクでエディターAPIを調査
MCP 対応
ローカルHTTP MCPサーバーを通じて、エディター用ツール、リソース、プロンプトテンプレートを公開します。Node.jsのstdioブリッジがMCPクライアントとエディターを接続し、デフォルトでは32個、フルモードでは97個のツールを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y funplay-unreal-mcpFUNPLAY_UNREAL_MCP_URLOptional Unreal MCP HTTP endpoint. Defaults to http://127.0.0.1:8765/.UNREAL_MCP_URLCompatibility endpoint variable used when FUNPLAY_UNREAL_MCP_URL is not set.FUNPLAY_UNREAL_MCP_TOKENシークレットUnreal MCP local auth token from the Funplay MCP editor menu or Saved/FunplayMCP/funplay_mcp_settings.json.UNREAL_MCP_TOKENシークレットCompatibility token variable used when FUNPLAY_UNREAL_MCP_TOKEN is not set.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unreal 向け Funplay MCP
Unreal Editor 向けの最先端 MCP サーバーです。
中文 | 英語
💖 役に立った場合は、ぜひリポジトリにスターを付けてください。大きな励みになります。
Funplay MCP for Unreal を使うと、Claude Code、Cursor、Windsurf、Codex、 VS Code Copilot など、あらゆる MCP クライアントから、実行中の Unreal Editor を 直接操作できます。これは純粋な Python 製エディタープラグイン(C++ のビルド不要で、 Unreal Engine 5.3~5.8 で動作)で、ローカル MCP サーバー経由でエディターを公開し、 AI クライアントと接続する小規模な Node.js 標準入出力ブリッジを備えています。MIT ライセンスで、商用利用も無料です。
自然言語でやりたいことを伝えるだけです。アクターのスポーンと配置、レベルや
Blueprint の構築、マテリアルの作成、アセットのインポート、Play-In-Editor の操作、
スクリーンショットの撮影、任意の execute_python の実行などをアシスタントに
任せられます。
「小さなアリーナを作ってください。床と四方の壁、いくつかのポイントライトを設置し、 中央にプレイヤースタートを配置してください。その後、プレイしてスクリーンショットを 送ってください。」
アシスタントはレベルを調査し、アクターをスポーンして配置し、ライティングを設定して、 Play-In-Editor を開始し、スクリーンショットを返します。すべてこの MCP サーバーを 通じて行われます。
デモ
Codex が城の作成を依頼し、Funplay MCP が MCP 経由で Unreal Editor を操作すると、 完成したシーンがエディターに直接表示されます。
クイックスタート
手順は3つです。(1) プラグインをプロジェクトに配置し、(2) 有効にして サーバーを起動し、(3) AI クライアントから接続します。
1. プラグインをインストールする
💡 プラグインは純粋な Python 製なので、コンパイルは不要です。
FunplayMCP/フォルダーをプロジェクトのPlugins/ディレクトリ (<YourProject>/Plugins/FunplayMCP/)にコピーするか、最新の リリースからFunplay.UnrealMcp.vX.Y.Z.zipをダウンロードして、そこに展開します。- エンジンの Python Editor Script Plugin に依存しています。このプラグインは
.upluginによって自動的に有効になります。
2. MCP サーバーを有効にして起動する
- プロジェクトを開きます。Edit → Plugins で Funplay MCP for Unreal が 有効になっていることを確認し、再起動を求められた場合はエディターを再起動します。
- 起動時、サーバーはデフォルトで
http://127.0.0.1:8765/をリッスンします。 ポートが使用中の場合は、空いているローカルポートを自動的に選択します (同じプロジェクトの2つ目のエディターは既存のサーバーに接続します)。 - プロジェクトごとの 認証トークン が生成され、
<YourProject>/Saved/FunplayMCP/funplay_mcp_settings.jsonに保存されます。 - エンドポイントとトークンは、いつでも **Tools → Funplay MCP → Log Endpoint
- Token** から確認できます(Output Log に出力されます)。
3. AI クライアントを設定する
最も手早い方法は、エディターメニューを使うことです。Tools → Funplay MCP → Configure Claude Code(または Cursor / VS Code / Codex)を選択すると、エンドポイントとトークンが 入力済みの適切な設定が書き込まれます。
手動設定
Claude Code(~/.claude.json)、Cursor(~/.cursor/mcp.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)では servers キーを使用し、Codex
(~/.codex/config.toml)では [mcp_servers."funplay-unreal"] テーブルを使用します。
どちらもワンクリックメニューで自動設定されます。
4. 接続を確認する
アシスタントに次の操作を依頼します。
get_project_infoを呼び出す- リソース
unreal://project/contextを読み取る result = unreal.SystemLibrary.get_engine_version()を指定してexecute_pythonを実行する
始める前に
- エディター専用です。 サーバーはUnreal Editor内で実行され、パッケージ化されたゲームには含まれません。
- ループバックのみです。
127.0.0.1にバインドされ、ループバック以外のOriginを拒否します。POSTリクエストにはプロジェクトごとの認証トークンが必要です。 - デフォルトは
coreプロファイルです。 デフォルトでは32個のツールに絞って公開されます。すべてのツールを使う場合は、設定ファイルでfull(97個のツール)に切り替えてください。 execute_pythonの安全性チェックはデフォルトで有効です(ファイルシステム/プロセスの拒否リスト)。呼び出しごとに無効化するには、safety_checks=falseを渡してください。unrealAPIの処理はすべてゲームスレッドにマーシャリングされるため、別スレッドからのアクセスによってエディターがクラッシュすることはありません。
このプロジェクトを選ぶ理由
- まずは
execute_python。 エディター内で任意のPythonを実行できる、主要なツールです。96個の専用ツールで対応できない操作も、これを使って実行できます。 - APIの検出機能を内蔵。
search_api/describe_class/inspect_objectは、組み込みunrealモジュールのドキュメントを読み取ります。そのため、アシスタントはAPIを幻覚で補わず、実際のAPIを使用できます。 - 純粋なPythonでビルド不要。 C++モジュールもコンパイル手順も不要で、UE 5.3~5.8で利用できます。
- 設計段階から安全です。 ゲームスレッドへのマーシャリング、ループバックへのバインド、認証トークン、DNSリバインディング保護を標準で備えています。
- ワンクリックでクライアントを設定し、プロジェクトスキルを作成。 エディターメニューからClaude Code/Cursor/VS Code/Codexを設定し、
AGENTS.mdブリッジを生成できます。 - Funplay MCP for Unity/Godot/Cocosと同じファミリー、同じ規約です。
主な特長
- 20カテゴリにわたる組み込みツール97個(デフォルトの
coreプロファイルでは32個)。 - プロジェクト、レベル、選択内容、ログ、ツールカタログ用のMCPリソース(
unreal://...)に加え、一般的なワークフロー向けのプロンプトテンプレート。 - 構造化された結果 — すべてのツールが、アシスタントが推論に利用できるJSONを返します。スクリーンショットはインライン画像として返されます。
- ポートの自動フォールバックと同一プロジェクトのインスタンスへの接続。
- npmで
funplay-unreal-mcpとして公開されている、依存関係ゼロのNodeブリッジ。
MCPの機能
- ツール: 97個(coreは32個/fullは97個)。
- 主な実行方法:
execute_python— エディター内で任意のPythonスニペットを実行します。 - プロンプト:
level_review、feature_plan、debug_runtime、blueprint_actor。 - リソース:
unreal://project/context、unreal://project/info、unreal://level/current、unreal://actors/list、unreal://selection/current、unreal://tools/catalog、unreal://logs/recent、unreal://interaction/history、 およびテンプレートunreal://actor/{ref}、unreal://asset/{path}。
Funplay MCP for Unityとの比較
| Funplay MCP for Unreal | Funplay MCP for Unity | |
|---|---|---|
| エディター側 | 純粋なPythonプラグイン(ビルド不要) | C#パッケージ |
| 主な実行方法 | execute_python(組み込みunreal) | execute_code(インメモリC#) |
| トランスポート | ローカルHTTP+stdioブリッジ | ローカルHTTP+stdioブリッジ |
| デフォルトの公開範囲 | coreプロファイル(97個中32個) | coreプロファイル |
| エンジンのバージョン | UE 5.3~5.8 | Unity 2022.3以降 |
| クライアント設定 | ワンクリック(Claude/Cursor/VS Code/Codex) | ワンクリック |
組み込みツール
組み込みツールは97個(core は32個)です。最新の一覧は get_tool_catalog を呼び出して確認してください。
| カテゴリ | ツール |
|---|---|
| 実行 | execute_python, run_console_command |
| リフレクション | search_api, describe_class, list_enum_values, inspect_object |
| アクター | spawn_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 |
| コンポーネント | add_component, list_components, get_component_properties, set_component_property, set_static_mesh, set_material, set_physics_properties, add_ism_instances |
| アセット | list_assets, find_assets, get_asset_info, duplicate_asset, rename_asset, delete_asset, save_asset, import_asset, create_folder, asset_exists, get_asset_references |
| ブループリント | create_blueprint, add_blueprint_component, compile_blueprint, get_blueprint_info, spawn_blueprint |
| マテリアル | create_material, create_material_instance, set_material_instance_parameter, get_material_info, add_material_expression, connect_material_expressions, connect_material_property, recompile_material |
| レベル | new_level, load_level, save_current_level, save_all_dirty, get_level_info, list_levels |
| エディター内プレイ | play_in_editor, stop_play_in_editor, simulate_in_editor, get_play_state |
| ビューポート | set_viewport_camera, get_viewport_camera, focus_viewport |
| スクリーンショット | take_screenshot |
| 選択 | get_selection, set_selection, select_none, get_selected_assets |
| エディターの状態 | get_editor_state, get_project_info, get_output_log, sync_content_browser, health_status, undo, redo |
| ファイル | read_file, write_file, list_directory, file_exists |
| プロシージャル生成 | build_wall, build_floor, build_stairs, scatter_actors |
| 整理 | set_actor_folder, create_layer, add_actors_to_layer, list_layers |
| データ | create_data_table, get_data_table, set_data_table_rows, export_data_table_csv |
| UMG | create_widget_blueprint, add_widget, set_widget_property |
| エフェクト | spawn_niagara_system, set_niagara_parameter |
| 検出 | get_tool_catalog |
リポジトリの構成
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 category
stdio-wrapper/ # zero-dependency Node.js stdio<->HTTP bridge
scripts/ # validate_repo.py, package_release.py
tests/ # Node + Python tests (run without the editor)
server.json # MCP registry manifest
アーキテクチャ
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.md を参照してください。PR を作成する前に python3 scripts/validate_repo.py
を実行してください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。