mcpField
F
Funplay Unreal MCP

Funplay Unreal MCP

ローカル
github.com/FunplayAI開発ツール818 週間前に更新

Funplay Unreal MCP について

Funplay Unreal MCPは、PythonプラグインとローカルMCPサーバーを通じて、AIアシスタントから起動中のUnreal Editorを操作できるようにします。レベル、アセット、Blueprintの編集に向けた機能に加え、Python実行とAPI探索ツールを備えています。

主な機能

  1. 01MCP経由でUnreal Editorを操作
  2. 02エディター内でPythonを実行
  3. 03アクター、アセット、レベルの管理
  4. 04Blueprintとマテリアルの作成・確認
  5. 05Unreal APIとオブジェクトの探索
  6. 06構造化結果とスクリーンショットの返却

活用シーン

  1. 01指示に沿ったレベルの構築と配置
  2. 02アセットのインポートとマテリアル設定
  3. 03Play-In-Editorの実行と画面撮影
  4. 04自動化タスクでエディターAPIを調査

MCP 対応

ローカルHTTP MCPサーバーを通じて、エディター用ツール、リソース、プロンプトテンプレートを公開します。Node.jsのstdioブリッジがMCPクライアントとエディターを接続し、デフォルトでは32個、フルモードでは97個のツールを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"funplayai-funplay-unreal": {
"command": "npx",
"args": [
"-y",
"funplay-unreal-mcp"
],
"env": {
"FUNPLAY_UNREAL_MCP_URL": "<FUNPLAY_UNREAL_MCP_URL>",
"UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
"FUNPLAY_UNREAL_MCP_TOKEN": "<FUNPLAY_UNREAL_MCP_TOKEN>",
"UNREAL_MCP_TOKEN": "<UNREAL_MCP_TOKEN>"
}
}
}
}
起動コマンドnpx -y funplay-unreal-mcp
設定が必要な環境変数
FUNPLAY_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfunplay-unreal-mcp0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Unreal 向け Funplay MCP

Unreal Editor 向けの最先端 MCP サーバーです。

Unreal Engine 5.3-5.8 MIT 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 を使って Unreal Editor で城を構築

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を渡してください。
  • unreal APIの処理はすべてゲームスレッドにマーシャリングされるため、別スレッドからのアクセスによってエディターがクラッシュすることはありません。

このプロジェクトを選ぶ理由

  • まずは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 UnrealFunplay MCP for Unity
エディター側純粋なPythonプラグイン(ビルド不要)C#パッケージ
主な実行方法execute_python(組み込みunreal)execute_code(インメモリC#)
トランスポートローカルHTTP+stdioブリッジローカルHTTP+stdioブリッジ
デフォルトの公開範囲coreプロファイル(97個中32個)coreプロファイル
エンジンのバージョンUE 5.3~5.8Unity 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
UMGcreate_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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。