UnrealRemoteMCP について
UnrealRemoteMCPは、Unreal Engine内蔵のPythonプラグインを基盤とするMCPサーバーです。Unrealプロジェクト開発でAIを活用する開発者向けで、Unreal Editor内で動作し、Pythonでツールを拡張できます。
主な機能
- 01Unreal Editor内でMCPサーバーを起動
- 02エンジン状態とレベル情報の取得
- 03Pythonスクリプトによる操作
- 04ツール一覧のホットリロード
活用シーン
- 01エラー調査にエンジン情報を活用
- 02Actorや設定の一括処理
- 03自動化ワークフローの構築
MCP 対応
Unreal Editor内でStreamable HTTPのMCPサーバーを起動し、CursorやCherry StudioなどのMCPクライアントに接続します。エンジン状態の取得やPythonスクリプト実行などのツールを提供し、Pythonで拡張できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
RemoteMCP プラグイン
メモ
このプロジェクトは UnrealMCP の開発に使用します。
UnrealEngine に組み込まれている Python プラグインを基盤として実装されたMCP サーバーです。 このプラグインの目的は、Unreal の開発者が AI を利用して Unreal プロジェクトを開発しやすくすることです。
プラグインの目標
MCP を試すにあたり、主に以下のシナリオを想定しています。
- AI によるアイデアの参考:たとえば、エラー情報を判断する際に、MCP を通じて AI にコンテキストを提供し、問題をすばやく特定できるようにします。
- 一括タスク処理:AI を利用して、大量の反復作業を一度に実行します。たとえば、特定の種類の Actor を一括削除したり、特定の種類の設定を変更したりします。
- 自動化ワークフロー:n8n などの自動タスクツールと連携させることで、プログラミング経験のないチームメンバー(プランナーなど)も自動化ワークフローを定義できます。
クイックスタート
AI の時代が到来しています。このリポジトリをダウンロードしたら、使い方を AI に直接尋ねることができます。AI が最新バージョンに沿った、より実際的な使用方法を案内してくれるはずです。
このプラグインは Unreal Editor 内で MCP サーバー(Streamable HTTP) を起動します。使い方はとても簡単です。
-
プラグインを Unreal Engine のプラグインディレクトリにクローンします。
git clone <repository-url> <Unreal-Engine-Plugins-Directory>/RemoteMCP -
Python の依存関係をインストールします。まず、ローカルに uv または pip があることを確認してください。uv の使用を推奨します。Python のバージョンが 3.11 であることを確認し、pip を使って以下の package を指定のディレクトリにダウンロードします。
cd <Repo>/Content/Python uv pip install httpx --target ./Lib/site-packages --force-reinstall --upgrade uv pip install mcp[cli] --target ./Lib/site-packages --force-reinstall --upgrade uv pip install anyio --target ./Lib/site-packages --force-reinstall --upgrade uv pip install pywin32 --target ./Lib/site-packages --force-reinstall --upgrade -
エンジンを起動し、
Edit->PluginsパネルでRemoteMCPプラグインを有効にします。 -
エンジンを再起動します。
-
Edit -> Editor Preferences -> MCP Setting->Enableを True に設定します(AutoStart も有効にすることをおすすめします)。その後、エンジンを再起動します。 -
コンソールコマンド
mcp.startを実行します。AutoStart を有効にしている場合、この手順は不要です。
これで MCP サーバーが正常に起動しているはずです。Edit -> EditorPreferences->MCP Setting で、MCP サーバーが自動起動するかどうかと対応する Port を確認できます。
その後、任意の MCP クライアント(Cherry Studio、Cursor など)を使って MCP サーバーに接続できます。接続時に Streamable HTTP を選択し、URL に http://localhost:<Your Port>/mcp を入力してください。
設定で Port を変更した場合は、Unreal の Console に MCP.Restart と入力して再起動できます。
使用方法(初めてでも使えます)
以下では「まったく経験のない初心者」の視点から、UE 側、Cursor 側、動作確認、トラブルシューティングまで順を追って説明します。
0)準備するもの
- Unreal Editor:エディター内で実行する必要があります(パッケージ化したゲームではありません)。
- プラグイン:
RemoteMCPを有効にし、Unreal に標準搭載されている Python Editor Script Plugin(Edit -> Plugins -> Scripting)も有効にします。 - エディターの再起動:プラグインを有効にした後は、必ず一度再起動してください。
1)Unreal でポートを確認する(必ず最初に行ってください)
Edit -> Editor Preferences -> MCP Settingを開きます。Port(たとえば8422)を探し、控えておきます。- ポートを変更した場合は、後でクライアントの URL にも変更後のポートを指定します。
ヒント:サービスのデフォルト URL は
http://127.0.0.1:<port>/mcpのような形式です(/mcpパスが必須です)。
2)起動/停止/再読み込み(Unreal コンソールで実行)
Unreal の出力ログ(Output Log)でコンソール入力欄を開き、以下のコマンドを実行します。
- 起動:
MCP.Start - 停止:
MCP.Stop - 再起動(推奨):
MCP.Restart - ツール一覧をホットリロード(
Content/Python/tools/*を変更したのにクライアントに更新が表示されない場合に使用):MCP.Reload - 状態を確認:
MCP.State
3)Cursor で接続する(推奨:初心者に最適)
A)「AI ワークスペース」を準備する(強く推奨)
- 任意の場所に空のフォルダーを新規作成し(たとえば
D:\UnrealAIWorkspace)、Cursor で開きます。 - このリポジトリにある
CLAUDE.mdを空のフォルダーのルートディレクトリにコピーします。 - Cursor の設定で、
Tools & MCP -> Rule and Commandsにある includeCLAUDE.mdin Context をオンにします。
B)Cursor の MCP を設定する(プロジェクト単位の設定:最も安定)
先ほどの「AI ワークスペース」のルートディレクトリに .cursor/mcp.json ファイルを作成し、以下の内容を記述します(<port> を UE で確認したポートに置き換えてください)。
{
"mcpServers": {
"unreal_mcp": {
"type": "streamable-http",
"url": "http://127.0.0.1:<port>/mcp"
}
}
}
説明:
127.0.0.1は Unreal がローカルマシンで実行されていることを示します。Unreal が別のマシンで実行されている場合は、そのマシンの LAN 内 IP に置き換え(ファイアウォールでポートを許可してください)。
C)Cursor で有効化して動作を確認する
- Unreal に戻り、
MCP.Restartを一度実行します。 - Cursor で
Settings -> Tools & MCPを開きます(または設定で「MCP」を検索します)。 unreal_mcpを見つけて接続/有効化します。- 接続に成功すると、ツール一覧(たとえば
get_unreal_state、run_python_script)が表示されます。
4)他の MCP クライアント(Cherry Studio/Inspector など)で接続する
- 接続タイプ:Streamable HTTP を選択します。
- URL:
http://127.0.0.1:<port>/mcp
5)初心者が必ず行うこと:最も簡単な 2 つのツールで接続を確認する
接続に成功したら、すぐに以下を呼び出すことをおすすめします。
get_unreal_state:エンジンが動作中であること、ポート設定が正しいこと、現在のレベル/Actor 数を読み取れることを確認します。run_python_script:最小限のスクリプトを実行します(出力はresult変数に書き込むことをおすすめします)。
run_python_script の例:
import unreal
result = {
"level": unreal.EditorLevelLibrary.get_current_level_name(),
"actor_count": len(unreal.EditorLevelLibrary.get_all_level_actors())
}
6)よくある問題(「接続できない/反応がない」場合の 90% はここで解決します)
- 接続できない状態が続く:URL に
/mcpが含まれているか確認します。例:http://127.0.0.1:8422/mcp - ポートを変更したのに古いポートのまま:UE で
Portを変更した後、MCP.Restartを実行します。 - ツール一覧が更新されない:UE のコンソールで
MCP.Reloadを実行します(解決しない場合はMCP.Restartを実行)。その後、クライアントで更新/再接続します。 - リモート接続に失敗する:
127.0.0.1を Unreal を実行しているマシンの IP に置き換え、そのポートのファイアウォール受信規則を許可します。
ツールの拡張
現在、このプラグインが提供するツールは少数です。コア機能は AI が Python コードを作成して実現する仕組みです。Unreal の Python 拡張を基盤に開発しているため、新しいツールの追加も簡単です。
ツールを拡張する場合は、Content\Python\tools\common_tools.py を直接編集できます。以下に例を示します。
def register_common_tools(mcp : UnrealMCP):
@mcp.tool()
def first_tool():
return "Hello from first tool!"
@mcp.game_thread_tool()
def get_actor_count():
"""Get the number of actors in the current Unreal Engine scene."""
try:
# 使用 Unreal 的 ActorIterator 获取所有 Actor
world = unreal.get_editor_subsystem(unreal.UnrealEditorSubsystem).get_editor_world()
if not world:
unreal.log_error("Failed to get the current world.")
return 0
actor_count = sum(1 for _ in unreal.ActorIterator(world))
unreal.log(f"Number of actors in the scene: {actor_count}")
return actor_count
except Exception as e:
unreal.log_error(f"Failed to get actor count: {str(e)}")
return 0
プロジェクト構成
RemoteMCP
├── Content
│ ├── EditorUI
│ │ └── MainPanel.uasset
│ └── Python
│ ├── foundation
│ │ ├── global_context.py
│ │ ├── log_handler.py
│ │ ├── mcp_app.py
│ │ └── utility.py
│ ├── tools
│ │ └── common_tools.py
│ ├── env.bat
│ ├── init_mcp.py
│ ├── inspector.bat
│ └── unreal_python_tools.py
├── Resources
│ └── plugin_image.png
├── Source
│ └── RemoteMCP
│ ├── Private
│ │ └── RemoteMCP.cpp
│ └── Public
│ ├── RemoteMCP.h
│ └── Settings.h
├── PromptCase.md
├── README.md
└── RemoteMCP.uplugin
ライセンス
このプロジェクトは MIT ライセンスに基づくオープンソースです。詳しくは LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。