mcpField
U
unreal-engine-mcp

unreal-engine-mcp

ローカル
enginewire.devメディア・デザイン993今日更新

unreal-engine-mcp について

EngineWireは、Unreal Engine 5.0~5.8を使う制作者やチーム向けに、実行中のUnreal EditorをMCPクライアントへ接続します。450以上のエディター機能を検索・実行できる単一の `unreal` ツールを、HTTPまたはstdioで提供します。

主な機能

  1. 01レベル、アクター、Blueprint、UIの作成と編集
  2. 02マテリアル、ワールド、ゲームプレイ、エフェクトの操作
  3. 03Play-In-Editorの実行、画面撮影、ログ確認
  4. 04単一の `unreal` ツールで機能を検索・実行
  5. 05ネイティブHTTPまたはstdioプロキシで接続

活用シーン

  1. 01AIクライアントからレベルを構築・編集
  2. 02BlueprintのイベントグラフやUMGレイアウトを作成
  3. 03ゲームプレイをテストしエディター出力を確認
  4. 04マテリアル、ランドスケープ、Niagaraエフェクトを生成

MCP 対応

EngineWireプラグインがUnreal Editor内でMCPサーバーを提供します。クライアントはネイティブHTTPまたは `unreal-engine-mcp-server` のstdioプロキシを介して、単一の `unreal` ツールを利用します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"chir24-unreal-engine": {
"command": "npx",
"args": [
"-y",
"unreal-engine-mcp-server"
],
"env": {
"UE_PROJECT_PATH": "<UE_PROJECT_PATH>",
"MCP_AUTOMATION_CAPABILITY_TOKEN": "<MCP_AUTOMATION_CAPABILITY_TOKEN>",
"UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドnpx -y unreal-engine-mcp-server
設定が必要な環境変数
UE_PROJECT_PATHYour Unreal project folder or its .uproject file. The server reads the capability token from <project>/Saved/MCP/capability-token.
MCP_AUTOMATION_CAPABILITY_TOKENシークレットCapability token to present to the editor. Only needed when the server cannot read the project folder.
UNREAL_MCP_URLThe editor's native MCP endpoint (Project Settings > EngineWire > Native MCP Port).
LOG_LEVELLog level. Logs go to stderr.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmunreal-engine-mcp-server0.6.0

ツール

1

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
toolstringいいえ検索結果行(parentTool)または describe の応答からコピーした正確な親ツール名。必ず action と組み合わせて使用します。推測しないでください。
limitintegerいいえ1 ページあたりの最大行数:検索結果(デフォルト 12)または describe のアクション行(デフォルト 20)。デフォルトは 12 です。
paramstringいいえある capability で確認する正確なパラメーター名。describe、tool、action と併用します。そのパラメーターの schema と、その capability で必要な場合は consent grant を返します。
querystringいいえ動詞と対象を示す 2~4 個の一般的な単語。例:'spawn actor'、'add variable blueprint'、'save level'。アクション名、トピック、ファミリー、ドメイン、概要を対象に照合します。完全な文や埋め草の単語は順位が低くなります。
actionstringいいえ検索結果行または describe の応答からコピーした正確なアクション名。configure の場合、これは manage_tools アクションです。
cursorstringいいえ以前の応答の nextCursor に含まれる不透明な検索カーソル。offset より優先されます。
domainstringいいえ参照またはフィルター対象の capability ドメイン。selector を指定せずに describe を呼び出すと、ドメインの一覧が返されます。
effectenumいいえ宣言された動作の効果で検索結果を絞り込みます。read | write | destructive
familystringいいえドメイン内の capability ファミリー。domain を指定して describe を呼び出すと、そのファミリーの一覧が返されます。
offsetintegerいいえ検索結果または説明対象ツールのアクション一覧における 0 始まりのオフセット。デフォルトは 0 です。
paramsobjectいいえexecute または configure 用のパラメーター:キーが、このアクションについて describe に記載されたパラメーター名と大文字小文字も含めて完全に一致するオブジェクトです。ここに action または subAction を含めないでください。
consentobjectいいえpolicy.consent が 'none' ではない機能に対する呼び出しごとの同意付与です。1 つの機能と 1 回の呼び出しに限定され、保存、継承、再利用されることはありません。正確な許可は describe.consentGrant から読み取ってください。execute とのみ併用してください。
consent.capabilitystringはいこの許可が認可する正確な正規 capability ID。describe によって返されます。
consent.acknowledgeenumはい確認の強度です。「explicit」は明示的なポリシーを満たします。「elevated」は破壊的なポリシーで必須であり、明示的なポリシーも満たします。explicit | elevated
optionsobjectいいえexecute 専用の実行制御です。これらを params に含めないでください。対応するキー:idempotencyKey、expectedCatalogRevision、expectedRevisions、timeoutMs。
options.timeoutMsintegerいいえこの呼び出しの期限(ミリ秒)。
options.idempotencyKeystringいいえクライアントが選択するキーです。同じキーと params で execute を再実行すると、操作を再度実行せず、記録済みのレシートを返します。
options.expectedRevisionsobjectいいえ固定するライブエディター状態のリビジョンです。ue://state/revisions リソースが報告する値を指定します。いずれかが変更されている場合、呼び出しは STALE_STATE で拒否されます。
options.expectedRevisions.levelintegerいいえ
options.expectedRevisions.packageintegerいいえ
options.expectedRevisions.selectionintegerいいえ
options.expectedRevisions.assetRegistryintegerいいえ
options.expectedCatalogRevisionstringいいえカタログのリビジョンがこの値と一致する場合にのみ実行します。任意の検索または詳細応答から値を読み取ってください。
maxBytesintegerいいえ検索応答をシリアライズしたバイト数の上限です。応答が上限内に収まるまで、末尾の結果から削除されます。
operationenumはいsearch は通常の単語で機能を検索します。describe は機能の正確な契約を返します。セレクターが指定されていない場合は、1 階層を一覧表示します。execute は検証済みの操作を 1 つ実行します。configure は内部ツールグループを有効または無効にします。search | describe | execute | configure
capabilitystringいいえ検索結果の行または describe の応答からコピーした、正確な標準ケイパビリティ ID(または宣言済みのエイリアス)。例:blueprint.create。describe と execute に推奨されるセレクターです。推測しないでください。

詳細

EngineWire:あらゆる AI アシスタントを Unreal Editor 内で動作させます

EngineWire

ライセンス:MIT npm Fabで入手 MCP SDK Unreal Engine 5.0-5.8 MCP Registry ドキュメント:Wiki プロジェクトボード ディスカッション

EngineWire は Claude、Cursor、VS Code、その他あらゆる MCP クライアントを起動中の Unreal Editor に接続し、
ネイティブ C++ エディタープラグインを通じて、レベル、Blueprint、UI、マテリアル、エフェクトなどを作成できるようにします。

🧭 1 つのツールで 400 以上の機能  ·  ⚙️ ネイティブ C++ エディタープラグイン  ·  🌐 HTTP または stdio  ·  🔐 デフォルトでローカル接続、トークン保護付き  ·  🎮 Unreal Engine 5.0 – 5.8

🌐 enginewire.dev  ·  🛒 Fab  ·  🚀 クイックスタート  ·  📖 Wiki  ·  📦 リリース  ·  💬 ディスカッション

📌 この README はどのバージョンについて説明していますか? この README では、安定版リリースの 0.6.0 について説明しています。対象は、Fab および リリースページのプラグインと、npm の unreal-engine-mcp-server(latest)です。以前のリリースである 0.5.30 は、1 つではなく 23 個の個別ツールを公開します。0.5.30 のプラグインを使い続けるには、[email protected] に固定してください。0.5.x からのアップグレードをご覧ください。

目次 · できること · 仕組み · クイックスタート · unreal ツール · 設定 · セキュリティ · エンジンプラグイン · Docker · ドキュメント · 開発 · コミュニティ


できること

🏗️ レベルとアクター
1 回の呼び出しで 1 体から数百体までのアクターを生成し、配置してアタッチできます。床に埋まったアクターを探したり、レベルを読み込み、ストリーミングし、保存したりできます。

🧩 ブループリントと UI
ブループリント、変数、コンポーネントを作成し、イベントグラフ全体を一括で構築できます。UMG ウィジェットを配置し、プレビュー画像で確認することもできます。

🎨 マテリアルとワールド
マテリアルグラフとインスタンス、プロシージャルテクスチャ、ライティング、ランドスケープ、フォリッジ、Niagara エフェクト、PCG グラフに対応しています。

🕹️ ゲームプレイ
キャラクターとアニメーション、Gameplay Ability System、AI(Behavior Trees、State Trees、EQS)、インベントリ、ネットワーク、Enhanced Input に対応しています。

🎬 シネマティクスとオーディオ
Level Sequences、カメラ、Movie Render Queue、Take Recorder、Sound Cues、MetaSounds に対応しています。

🧪 プレイと検証
合成入力で Play-In-Editor を実行し、モデルが認識できるスクリーンショットを撮影したり、ログを読み取ったり、プロファイリング、Python の実行、ビルドのパッケージ化を行ったりできます。

合計 450 以上の機能を、単一の MCP ツールから利用できます。アシスタントは平易な言葉で検索して機能を見つけるため、名前を覚える必要はありません。全機能の一覧は、生成されたアクションリファレンスをご覧ください。

MCP で構築されたプラットフォーマーレベルが表示された Unreal Editor 5.8。ステータスバーには MCP :3000 (1) と表示されています
MCP で構築されたプラットフォーマーレベルを Unreal Editor 5.8 で表示しています。右下はプラグインのステータスで、MCP :3000 (1) はネイティブサーバーがポート 3000 で実行され、1 つのクライアントが接続されていることを示します。

仕組み

アーキテクチャ:AI クライアントは、ポート 3000 の Streamable HTTP 経由で Unreal Editor 内の EngineWire プラグインに接続します。直接接続する方法(Route A)と、Node.js の stdio プロキシを経由する方法(Route B)があります。プラグインはゲームスレッド上でエディター API を操作します

EngineWire プラグインはエディター内で動作し、エディターのゲームスレッド上ですべての処理を行い、MCP サーバーとしても機能します。クライアントは 2 つの方法で接続でき、どちらも同じ単一のツール unreal を利用します。

🌐 Route A · ネイティブ HTTP🧩 Route B · stdio
経路クライアント → プラグインの Streamable HTTP サーバー http://127.0.0.1:3000/mcpクライアント → unreal-engine-mcp-server(Node.js、stdio)→ 同じ /mcp
Node.js不要20.19 以降
機能トークンクライアントは X-MCP-Capability-Token ヘッダーで送信しますプロジェクトから読み取り、UE_PROJECT_PATH を指定します
エディターの再起動クライアントが手動で再接続しますセッションは維持されます。エディターが復帰するまで、呼び出しには NOT_CONNECTED が返されます
おすすめの用途Claude Code、Cursor、VS Code、および 1 つのエディターを共有する複数のクライアントClaude Desktop、ローカルコマンドしか起動できないクライアント、エディター再起動をまたぐ長時間セッション

すべて 127.0.0.1 で待ち受け、変更しない限りプロジェクトの機能トークンが必要です。

クイックスタート

クイックスタートのページでは、スクリーンショット付きで手順を説明しています。Unreal Engine 5.0~5.8 が必要です。Fab からインストールする場合、ほかに必要なものはありません。ソースからプラグインをビルドするには、C++ コードを含むプロジェクトが必要です(ブループリントのみのプロジェクトでは、Fab からインストールするか、ビルド済みバイナリを使用できます)。

1. プラグインを追加する

Fab から(コンパイラーは不要です)。 Fab の EngineWire を入手します。Epic Games Launcher で Unreal Engine › Library › Fab Library を開き、EngineWire を探して、お使いのエンジンバージョンの Install to Engine をクリックします。プロジェクトを開き、Edit › Plugins で EngineWire を有効にして、エディターを再起動します。Fab 版ではネイティブサーバーが無効になっています。Edit › Project Settings › Plugins › EngineWire › Native MCP で Enable Native MCP Server を有効にし、もう一度再起動します。Fab のアップデートには Epic の審査があるため、Fab 版はこのページの最新リリースより古い場合があります。

リリースから。 Releases page から最新リリースの EngineWire-plugin-<version>.zip をダウンロードし、含まれている EngineWire フォルダーをプロジェクトにコピーします。

MyGame/Plugins/EngineWire/

または、このリポジトリをクローンして plugins/EngineWire/ をコピーするか、"AdditionalPluginDirectories": ["C:/Path/To/Unreal_mcp/plugins"] を使って .uproject からフォルダーを参照します。

プロジェクトを開き、Unreal にプラグインを再ビルドさせます。読み込まれると、ステータスバーに MCP :3000 (0) と表示されます。プラグインはポート 3000 で MCP を提供します。"Engine modules cannot be compiled at runtime" と表示された場合は、Visual Studio、Rider または Xcode でプロジェクトを一度ビルドしてください。詳しくは Installation をご覧ください。

https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d

ビルド済みバイナリ(Blueprint のみのプロジェクト、チーム向け)

エンジンとコンパイラーのあるマシンでプラグインを一度ビルドし、zip を配布します。配布先のマシンにコンパイラーは不要です。

node scripts/package-plugin.mjs "C:/Program Files/Epic Games/UE_5.7"

これにより build/EngineWire-v<version>-UE5.7-<Platform>.zip が出力されます。ここで <version> は package.json のバージョンです(現在は 0.6.0)。これを YourProject/Plugins/ に解凍します。バイナリはビルド対象のエンジンのマイナーバージョンおよびプラットフォームでのみ動作します。5.6 向けのビルドは 5.5、5.7、5.8 では読み込めません。

### 2. クライアントを接続する

ルート A · ネイティブ HTTP(Node.js 不要)

  1. Enable Native MCP Server はデフォルトで有効です(Edit › Project Settings › Plugins › EngineWire、ポート 3000)。Fab ビルドでは無効になっています。無効になっているプロジェクトでは、有効にしてからエディターを再起動する必要があります。

    プラグイン設定の Native MCP セクションで、Enable Native MCP Server にチェックが入っている状態
  2. プラグインが生成した機能トークンを確認します:<YourProject>/Saved/MCP/capability-token。パスワードと同様に扱ってください。

  3. サーバーをクライアントに追加し、X-MCP-Capability-Token ヘッダーにトークンを指定します。Claude Code の場合:

    claude mcp add --transport http unreal-engine http://127.0.0.1:3000/mcp --header "X-MCP-Capability-Token: <token>"
    

    または、環境変数からトークンを読み取るプロジェクトの .mcp.json(Claude Code)の場合:

    {
      "mcpServers": {
        "unreal-engine": {
          "type": "http",
          "url": "http://127.0.0.1:3000/mcp",
          "headers": { "X-MCP-Capability-Token": "${UNREAL_MCP_TOKEN}" }
        }
      }
    }
    

    Cursor(.cursor/mcp.json)では、type を含めずに同じ url と headers を指定します。VS Code、Windsurf などの場合は、クライアントの接続を参照してください。

  4. **確認する:**クライアントが接続すると、ステータスバーのカウントが増えます。

    MCP :3000 (1) と表示された Unreal Editor のステータスバー:ポート 3000 のネイティブ MCP サーバーに 1 つのクライアントが接続されています

ルート B · stdio(Node.js 20.19+)

このパッケージは、同じ /mcp の前段で動作する小型の stdio プロキシです。/mcp に直接接続したクライアントは、エディターが閉じるかクラッシュするたびにセッションを失い、手動で再接続する必要があります。プロキシ経由では、エディター停止中の呼び出しには NOT_CONNECTED が返され、エディター復帰後の最初の呼び出しで再接続なしに到達します。エディターの直近のツール一覧を保持するため、エディター起動前に開始したセッションでも実際のツールを利用できます。

次の設定をクライアントの MCP 設定に追加してください。例として、Claude Desktop の claude_desktop_config.json を示します。

{
  "mcpServers": {
    "unreal-engine": {
      "command": "npx",
      "args": ["-y", "unreal-engine-mcp-server"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/YourProject"
      }
    }
  }
}

UE_PROJECT_PATH(プロジェクトフォルダーまたはその .uproject)を使って、プロキシは機能トークンを検索します(MCP_AUTOMATION_CAPABILITY_TOKEN を指定すると上書きされます)。UNREAL_MCP_URL は別のエンドポイントを指定します(デフォルトは http://127.0.0.1:3000/mcp)。0.6 プラグインと組み合わせてください。0.5.x プラグインでは unreal ゲートウェイではなく、23 個の個別ツールが提供されます。

3. 試してみる

エディターを開いた状態で、アシスタントに 「現在のレベルにあるアクターを一覧表示して」、「原点から 300 単位上にポイントライトをスポーンして」、または 「ビューポートのスクリーンショットを撮って」 と依頼してください。接続できない場合は、トラブルシューティングを参照してください。

unreal ツール

どちらのルートでも公開される MCP ツールは unreal の1つだけで、4つの操作を備えています。数百ものツールスキーマを読み込む代わりに、モデルがこれから使用する契約だけが読み込まれます。

操作内容
searchspawn actor や save level など、2~4語の平易な語句から機能を検索します。各行には、すぐに送信できる nextCall が含まれます。
describe1つの機能について、パラメーター、スキーマ、例、必要な場合は同意許可を含む正確な契約を返します
execute検証済みのパラメーターで1つの機能を実行し、データと変更内容のレシートを返します
configure内部ツールのグループを有効または無効にします。エディターには一切触れません

ゲートウェイのフロー:クエリを指定した検索で nextCall を含む行が返されます。ツールとアクションを指定した describe で契約が返されます。パラメーターと必要に応じて同意を指定した execute で、データと変更、ハンドル、警告を一覧表示するレシートが返されます

一般的なやり取り:

{ "operation": "search", "query": "spawn actor" }
{ "operation": "describe", "tool": "control_actor", "action": "spawn" }
{
  "operation": "execute",
  "tool": "control_actor",
  "action": "spawn",
  "params": { "classPath": "/Script/Engine.PointLight", "actorName": "KeyLight", "location": [0, 0, 300] }
}
  • パラメーターは厳密に検証されます。 宣言されていない名前は UNDECLARED_PARAMETER として拒否され、使用可能な名前の一覧が返されます。すべてのエラーには実行可能な nextCall が含まれます。
  • 削除には同意が必要です。 破壊的な機能はすべて、また一部のリスクを伴う書き込み機能は、describe から取得した consentGrant をトップレベルの consent フィールドに指定した場合にのみ実行されます。
  • 名前の指定。 呼び出しでは tool と action の組み合わせ、または "capability": "control_actor.spawn" のような機能 ID を指定します。

実際の応答を含む完全なリファレンス:ゲートウェイの使用。

直接ツール呼び出しからの移行

どちらのルートでも、単一の unreal ツールが今後も使用されます。オプトアウトする方法はなく、23個のツール一覧を復元することもできません。正規のツール名を直接呼び出すクライアント(name: "manage_asset"、name: "control_actor" などを指定した tools/call)には、ルーティングされた呼び出しの代わりに、上限付きでコピーして実行できる DIRECT_TOOL_CALL_REMOVED のレシートが返されます。その nextCall は、ちょうど1段階先へ進みます。未知の名前には { "operation": "search" }、アクションが指定されていない場合は { "operation": "describe", "tool": "<tool>" }、呼び出しですでにアクションが指定されている場合は { "operation": "execute", "tool": "<tool>", "action": "<action>", "params": { ... } } が返されます。その nextCall を unreal で実行して移行を完了してください。アップグレードをご覧ください。

プロトコルのバージョン

どちらのルートも、initialize で MCP プロトコルのバージョンをネゴシエートします。対応するバージョンは 2025-11-25(最新)、2025-06-18、2025-03-26 です。古いバージョンを要求するクライアントには、2025-11-25 を返します。ネイティブルートでサポートされていない MCP-Protocol-Version ヘッダーが指定された場合は、HTTP 400 を返します。どちらのルートも、リクエストごとに initialize やセッションなしで MCP 2026-07-28 にも対応し、そのバージョンで server/discover に応答します。詳細については、docs/protocol.md をご覧ください。

unreal の背後にある23個の内部ツール

これらのツールはゲートウェイ内でリクエストを振り分けます。クライアントには一覧表示されません。詳しくは、ツールリファレンスをご覧ください。

カテゴリーツール対応内容
コアmanage_assetアセットとフォルダー、マテリアルとマテリアルグラフ、テクスチャとレンダーターゲット、データテーブル、構造体、列挙型、ソース管理
コアmanage_blueprintブループリント、コンポーネント、変数、イベントグラフ、UMG ウィジェット、レイアウト、バインディング、ウィジェットアニメーション
コアcontrol_actorスポーン、トランスフォーム、アタッチメント、コンポーネント、マテリアル、タグ、配置監査
コアcontrol_editorエディターでのプレイ、合成入力、スクリーンショット、ビューポートカメラ、元に戻す、エディター設定
コアmanage_levelレベルの作成、読み込み、保存、ストリーミング、インポートとエクスポート、ワールド設定、ライティングのビルド
コアsystem_controlコンソールコマンド、ログ、プロジェクト設定、プロファイリング、ビルドとパッケージ化、テスト、Python
コアinspect任意の UObject のプロパティ、コンポーネント、クラス情報の読み取りと書き込み
コアmanage_tools有効化されている内部ツール(configure を使用)
ワールドbuild_environmentランドスケープ、フォリッジ、ライトと空、ウォーター、天候、スプライン、プロシージャルな地形
ワールドmanage_level_structureサブレベル、World Partition、ストリーミング、データレイヤー、HLOD、ボリューム
ワールドmanage_geometryGeometry Script メッシュ:ブーリアン、デフォーマー、UV、コリジョン、LOD、ポリゴンケージ、細分割曲面、マテリアル ID、頂点カラーマスク
ワールドmanage_pcgPCG グラフ:ノードの作成、追加と接続、実行
ゲームプレイanimation_physicsアニメーションブループリント、ブレンドスペース、モンタージュ、スケルトン、Control Rig と IK、ラグドール、クロス、乗り物
ゲームプレイmanage_characterキャラクターブループリント、移動、MetaHuman
ゲームプレイmanage_combat武器、投射物、ヒット検出
ゲームプレイmanage_effectNiagara システム、エミッターとモジュール、デバッグ形状
ゲームプレイmanage_gasGameplay Ability System:アビリティ、属性、エフェクト
ゲームプレイmanage_aiAI コントローラー、Behavior Trees、EQS、State Trees、Smart Objects、知覚、ナビゲーション
ゲームプレイmanage_inventoryアイテム、ルートテーブル、クラフトレシピ
ゲームプレイmanage_interactionドアなどのインタラクティブオブジェクト
ユーティリティmanage_audioサウンド、オーディオコンポーネント、Sound Cues、MetaSounds、減衰、ミックス
ユーティリティmanage_sequenceLevel Sequences、Movie Render Queue、メディア、Take Recorder、リプレイ
ユーティリティmanage_networkingレプリケーション、RPC、セッション、ゲームフレームワーククラス、Enhanced Input
## 設定

ほとんどのセットアップで変更が必要なのは、ルート B の UE_PROJECT_PATH だけです。ルート A では設定は不要です。すべての設定は設定ページに記載されています。

プラグイン設定(プロジェクト設定 › プラグイン › EngineWire。Config/DefaultGame.ini に保存されます):

設定デフォルト
Enable Native MCP ServeronHTTP 経由で /mcp に MCP を提供します(どちらのルートでも使用します)
Native MCP Port3000エディタープロセスの MCP_NATIVE_PORT 環境変数で上書きされます
Listen Ports8090,8091プラグインの WebSocket リスナーです。どちらのルートでも使用しません
Require Capability Tokenonどちらのルートでも、トークンのないクライアントからの接続を拒否します
Allow Non Loopbackoff両方のリスナーで LAN アクセスを許可します。セキュリティを参照してください。

環境変数(ルート B のみ。クライアントの env ブロック内で指定します):

変数デフォルト
UE_PROJECT_PATH未設定プロジェクトフォルダーまたは .uproject。トークンの検索に使用します
MCP_AUTOMATION_CAPABILITY_TOKENトークンファイルから読み込みプロキシがプロジェクトフォルダーを読み取れない場合に提示するトークンです
UNREAL_MCP_URLhttp://127.0.0.1:3000/mcpエディターの /mcp エンドポイントです
LOG_LEVELinfodebug、info、warn、error のいずれかです。ログは stderr に出力されます

セキュリティ

  • デフォルトではローカル限定です。 どちらのルートも 127.0.0.1 のみで待ち受けます。LAN アクセスには Allow Non Loopback が必要です。また、ネイティブサーバーは Require Capability Token が有効でない限り、ループバック以外へのバインドを拒否します。
  • Capability Token。 プロジェクトごとに <Project>/Saved/MCP/capability-token に生成されます(Capability Token に入力した値が優先されます)。比較は定時間で行われます。トークンをローテーションするには、ファイルを削除してエディターを再起動してください。
  • 破壊的な操作への同意。 削除や一部の書き込みには、呼び出しごとの同意許可が必要です。プラグインがこの許可を確認します。
  • ガードレール。 アセットパスは /Game、/Engine、/Script、/Temp、/Niagara に制限されます。また、コンテンツパスは、接続中のエディターが報告するマウント配下にある場合もあります。サーバーがファイルとして扱う引数(filePath や、アセット名を指定する場合の outputPath など)では、報告されたマウントは使用されません。コンソールコマンドでエディターを終了したり、コマンドを連結したりする操作はブロックされます。プラグイン独自の設定は自動化からアクセスできません。

詳細はセキュリティを参照してください。脆弱性はGitHub のセキュリティアドバイザリーから非公開で報告してください。

エンジンプラグイン

ブリッジはエンジンプラグインへの依存関係を宣言しているため、Unreal はブリッジと同時にこれらを有効化します。

必須(常にブリッジと同時に有効化)
プラグイン用途
Python Editor Script PluginPython を利用したエディターの自動化、system_control による Python の実行
Editor Scripting Utilitiesアセットおよびアクターのサブシステム操作
Niagaraビジュアルエフェクト
Gameplay Abilitiesmanage_gas
Smart ObjectsAI スマートオブジェクト
任意(存在する場合に使用し、存在しない場合はスキップ)
プラグイン用途
Level Sequence Editor, Takes, Movie Render Pipeline, Movie Pipeline Mask Render Pass, Electra Playermanage_sequence:Sequencer、Take Recorder、Movie Render Queue、メディア再生
Control Rig, RigVM, IK Rig, Animation Dataanimation_physics:Control Rig と IK
Chaos Vehicles, Chaos Clothanimation_physics:車両とクロス
Niagara Editormanage_effect:Niagara の作成
Behavior Tree Editor, Environment Query Editor, StateTree, Mass Gameplaymanage_ai
Geometry Scripting, Geometry Processing, Mesh Modeling Toolset, Procedural Mesh Componentmanage_geometry(Catmull-Clark、Loop、バイリニア細分割には Mesh Modeling Toolset が必要です)
PCGmanage_pcg。プロジェクト自体で PCG プラグインが有効化されている場合にのみコンパイルされます
MetaSound, Synthesismanage_audio:MetaSound の作成
Enhanced Input, Online Subsystem, Online Subsystem Utilsmanage_networking:入力マッピング、セッション
Interchange, Interchange OpenUSD, Data Validation, StructUtilsインポート/エクスポート、検証、構造体ヘルパー
Fab, BridgeFab アセットライブラリへのアクセス(任意の EngineWireFab モジュール)

このプラグインは Unreal Engine 5.0 から 5.8 までの各マイナーバージョンを対象としています。お使いの環境でビルドに失敗する場合は、ビルドログを添えてイシューを作成してください。

Docker

イメージは stdio プロキシを実行します。エディターの 127.0.0.1:3000 にある /mcp に接続する必要があるため、ホストネットワーク(Linux)を使用し、コンテナからプロジェクトフォルダーを読み取れないためトークンを渡してください。

docker build -t unreal-mcp .
docker run -i --rm --network host -e MCP_AUTOMATION_CAPABILITY_TOKEN=<token> unreal-mcp

-t を付けずに -i を使用してください。TTY を使うと stdout 上の MCP ストリームが破損します。

ドキュメント

📖 Wikiクイックスタート、インストール、クライアントの接続、ゲートウェイの使用、設定、セキュリティ、トラブルシューティング、FAQ、アップグレード
📋 アクションリファレンス機能ごとの効果、スコープ、同意要件。機能レコードから生成されます
🔌 ゲートウェイクライアントガイド各記述の根拠となるソースファイルを含む、ゲートウェイの仕様
📡 プロトコルトランスポート、バージョンネゴシエーション、キャンセル
🔐 セキュリティとレシートスコープ、同意、パスの制限、冪等性、拒否コード
🧪 テストガイドテストスイートとテストケースの追加方法
🧩 プラグインの拡張エディターアクションの追加:記録、ハンドラー、ルート、テスト、およびプラグインコードのルール
🗺️ ロードマップ開発ロードマップ
📝 変更履歴各リリースでの変更点

開発

npm install
npm run build              # clean + compile TypeScript to dist/
npm run dev                # run from source with ts-node
npm run lint               # ESLint (CI fails on any warning)
npm run type-check         # tsc --noEmit, sources and tests
npm run test:unit          # Vitest unit tests (no Unreal required)
npm run test:params        # strict parameter audit
npm run registry:generate  # capability records -> generated contracts, native shards, action reference
npm run registry:check     # fail if generated artifacts drift
npm run manifest:check     # fail if the gateway manifest drifts
npm run eval:check         # search-ranking corpus
npm run version:check      # all version sources agree
npm test                   # integration suite (needs a live Unreal Editor serving /mcp)

src/tools/catalog/capabilities/records/ の機能レコードが唯一の信頼できる情報源です。すべての *.generated.* ファイル、プラグインの MCP/Generated/ シャード、アクションリファレンスは、これらのレコードから生成されます。生成ファイルを手動で編集しないでください。機能の追加方法については、開発をご覧ください。

CI では、次の順に実行します。ESLint(npx eslint . --max-warnings=0)、型チェック、ユニットテスト、registry:check、manifest:check、headers:check、厳格なパラメータ監査(test:params)、eval:check、続いてブロッキング対象となるランタイム依存関係の監査(npm audit --omit=dev --audit-level=moderate)と、参考情報としての全ツリー監査を実行します。Node 20.19 / 26 のマトリックスで build を追加実行します。CI ランナーにはエンジンが含まれていないため、Unreal Engine のルートが設定されている場合にのみプラグインのパッケージングを実行します。リリースアーカイブには Binaries/、Intermediate/、Saved/ は含まれません。

コミュニティ

💬 ディスカッション質問、アイデア、作品の紹介
🐞 イシューバグ報告と機能リクエスト
🗺️ プロジェクトボードロードマップの進捗と優先事項

コントリビューション: プルリクエストは小さく、対象を絞り、Conventional Commits に沿ったタイトルを付けてください。バグについては再現手順を記載し、既存のコードスタイルに従ってください。CONTRIBUTING.mdをご覧ください。

ライセンス

MIT。LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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