UEAgent について
UEAgent は Unreal Engine 5.7/5.8 のエディタープラグインで、MCP クライアントからエディターを操作できます。1,500 以上のツールを備え、事前条件の確認と状態の再読み込みで変更を検証します。
主な機能
- 011,500 以上のエディターツール
- 02Blueprint、マテリアル、Niagara、レベルの編集
- 03事前条件の確認と状態の再読み込み
- 04ツール呼び出しごとの取り消し
- 05読み取り専用コンテンツルートの保護
- 06呼び出し結果を表示するパネル
活用シーン
- 01Blueprint アクターの作成とコンパイル
- 02コンパイルエラーのある Blueprint の検索
- 03マテリアルとレベルアセットの編集
- 04Play-in-Editor セッションの実行と確認
MCP 対応
プラグインは Unreal Editor 内で Streamable HTTP の MCP サーバーとして動作し、MCP クライアントにエディターツールを公開します。呼び出しはゲームスレッドで処理され、確認と状態の再読み込みを行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
UEAgent
Unreal Engine 5 のエディターに組み込まれた MCP サーバーです。
Claude Code、Cursor、その他あらゆる MCP クライアントが Unreal で開発できる、1,500 以上のツールを備えています。
すべての変更は実行前に検証され、実行後に読み戻されます。
英語 · スペイン語
UEAgent は、AI エージェントが Model Context Protocol を介してエディターを操作できる、Unreal Engine 5.7 および 5.8 向けのエディタープラグインです。このプラグイン自体がサーバーとして機能します。エディター内から Streamable HTTP を提供するため、間に Python や Node のプロセスを挟む必要はありません。
UEAgent を選ぶ理由
- デモではなく、エンジン全体に対応。 ブループリントとそのグラフ、マテリアル、アニメーション(AnimBP、モンタージュ、IK、Pose Search)、Niagara、ランドスケープとフォリッジ、World Partition、PCG、Sequencer、UMG/CommonUI/MVVM、GAS、AI(Behavior Trees、StateTree、EQS、Smart Objects)、オーディオとMetaSounds、USDとInterchange、PIE の制御とインスペクションに対応しています。ツールリファレンスをご覧ください。
- 推測ではなく、検証。
success: trueを返すエディター呼び出しだけでは何も証明できないため、すべての呼び出しを次の契約に従って処理します。- 事前条件により、エディターのクラッシュやフリーズが判明している呼び出しを拒否し、代わりに実行すべき操作を示します。
- 読み戻しにより、呼び出し後に状態を再読み込みします。反映されなかった書き込み、何の証明にもならないゼロ値、誤った PIE ワールドに適用された変更は、失敗として報告します。
- コンテンツを安全に扱います。 各ツール呼び出しは、ツール名が付いた 1 回分の取り消しステップとなるため、Ctrl+Z で元に戻せます。Read Only Content Roots に指定されたベンダー提供ライブラリは、どのツールからも保存、名前変更、移動、削除できません。また、Play-in-Editor 実行中に信頼性が低下する呼び出しは、実行中は拒否されます。
- 実際のセッション向けに設計。 複数のエージェントで 1 つのエディターを共有できます。プロトコル処理はネットワークスレッドで行われ、すべてのツール呼び出しは 1 つのキューを通じてゲームスレッドで実行されます。Activity パネル(ステータスバー > MCP > Activity)には、各呼び出しの所要時間と結果が表示されます。
flowchart LR
A["AI agent<br/>Claude Code, Cursor, ..."] -- "MCP over HTTP" --> P
subgraph E["Unreal Editor + UEAgent"]
P["Preconditions<br/>refuse known crashes"] --> H["Tool<br/>1,500+ of them"] --> R["Readback<br/>re-read the state"]
end
R -- "verified result" --> A
エディター内で動作するサーバーと、エディター外で動作するサーバーの違いや、Unreal 向けの MCP サーバーを選ぶ際に確認すべき項目については、MCP サーバーの選び方をご覧ください。
クイックスタート
エージェントに任せましょう。 プロジェクトのフォルダーで Claude Code、Cursor、Codex、または別のエージェントを開き、次を貼り付けます。
Install the UEAgent plugin in this Unreal Engine project and connect yourself to it, following https://raw.githubusercontent.com/CarlxsMG/UEAgent/main/llms-install.md
以下の手順を実行し、ダウンロードしたファイルの SHA-256 を確認して、変更を加える前に確認を求めます。最後に、MCP サーバーを再読み込みしてください。llms-install.md を参照してください。または、手動で行う場合:
-
インストールします。 Releases から最新の
UEAgent-*-UE5.8-Win64.zip(またはお使いのエンジンに合わせて-UE5.7-)をダウンロードし、<YourProject>/Plugins/に解凍するか、ソースからビルドします。 -
プロジェクトを開きます。 サーバーが起動すると、ステータスバーに緑の点と MCP · 55561 が表示されます(表示されない場合は、トラブルシューティングを参照してください)。
-
エージェントを接続します。 ステータスバーメニューから Connect Claude Code to this project を選ぶと、プロジェクトの
.mcp.jsonにunrealエントリが書き込まれます。また、Connect another client を選ぶと、Cursor、VS Code、Antigravity CLI、OpenCode 用の設定が同様に書き込まれます(Codex 用のコマンドはコピーされます)。自分だけが使う場合は、次のようにします。claude mcp add --transport http unreal http://127.0.0.1:55561/mcp
Streamable HTTP に対応する MCP クライアントなら、どれでも同じ URL に接続できます。クライアントを参照してください。 4. 依頼します。 たとえば、「ドアメッシュとボックストリガーを備えた Blueprint アクター BP_Door を作成し、プレイヤーがトリガーに重なったときにタイムラインでドアを開いてください。」
依頼できること
| 依頼 | 使用するツール |
|---|---|
| 「BP_Door を作成してください。メッシュとボックストリガーを備え、重なったときにタイムラインでドアが開くようにしてください。」 | create_blueprint、add_component_to_blueprint、build_blueprint_graph、compile_blueprint |
| 「/Game 以下でコンパイルに失敗する Blueprint をすべて見つけ、理由を教えてください。」 | find_erroring_blueprints、get_graph_nodes、lint_blueprint_graph |
| 「M_Base の赤いバリエーションを作成し、このレベルのクレートに適用してください。」 | create_material_instance、get_actors_by_class、set_actor_material |
| 「レベルを再生し、プレイヤーの体力を読み取り、スクリーンショットを撮って停止してください。」 | start_play_in_editor、get_properties、capture_pie_screenshot、stop_play_in_editor |
| 「ショットを編集してください。カメラカット、フェードイン、フレーム 0 でのイントロサウンドを追加してください。」 | create_level_sequence、add_camera_cut_track、add_fade_track_to_sequence、add_audio_section |
| 「ベンダーパックをまだ参照しているアセットと、それを継承しているクラスを教えてください。」 | audit_asset_references、audit_class_purity、run_map_check |
その他の例は例を参照してください。
クライアント
| クライアント | 備考 |
|---|---|
| Claude Code | エディターのステータスバーからワンクリックで接続できます。ツールは必要に応じて読み込まれるため、URL の末尾に ?tools=all を付けると、すべてのツールを利用できます。 |
| Cursor、VS Code、Windsurf、Claude Desktop、Gemini CLI、Codex | Streamable HTTP に対応するクライアントなら、どれでも接続できます。それぞれの設定方法を参照してください。 |
デフォルトでは、サーバーはコアツールと、残りのツールを検索、説明、実行するか、ドメイン全体を一覧に追加する 4 つのツールを表示します。URL の末尾に ?tools=all を付けるとすべてのツールが一覧表示され、?tools=compact を付けると 3 つだけ表示されます。ツール一覧を参照してください。
ディレクトリ
UEAgent は次の場所に掲載されています。
- 他のディレクトリやクライアントが参照する公式 MCP Registry。登録名は
io.github.CarlxsMG/UEAgentです。 - MCP サーバーのディレクトリである Glama。
- Gaming カテゴリの awesome-mcp-servers。
- Editor カテゴリの awesome-unreal。
スキル
UEAgent には、オープンな Agent Skills 形式のエージェントスキルが含まれており、Claude Code、Codex、Cursor、VS Code、 Antigravity CLI、Gemini CLI、OpenCode に対応しています。エディターのステータスバーからプロジェクトにインストールします: MCP · 55561 > Skills。プラグインに同梱されているため、常にプラグインのツールと一致します。
| スキル | |
|---|---|
ueagent-skill-builder | 繰り返したいワークフローを新しいスキルに変換します。ツールを見つけ、エディターでタスクを試し、結果を確認して、SKILL.md を作成します |
ueagent-blueprint-actor | 説明から Blueprint アクターを作成します:コンポーネント、グラフ、エラーのないコンパイル、レベル内のインスタンス |
ueagent-project-audit | 何が壊れていて、何を削除できるかを、重大なものから順に示します |
ueagent-level-lighting | 屋外のライティング(太陽、空、スカイライト、フォグ)とスクリーンショット |
ueagent-report-issue | バージョン、呼び出し、ログを添えて、バグを報告するか、ツールを GitHub issue としてリクエストします |
ueagent-contribute-fix | リポジトリのルールに従って、プラグインコードへの変更をプルリクエストにします |
リクエストに一致すると、クライアントが自動的に読み込みます。詳細はスキルをご覧ください。
ドキュメント
検索機能とツールエクスプローラーを備えたウェブ版もあります:carlxsmg.github.io/UEAgent。
| クライアント | Claude Code、Cursor、VS Code、Windsurf、Claude Desktop、Gemini CLI、Codex の接続 |
| 例 | 効果的なプロンプトと、そこで使われるツール |
| スキル | Claude Code プラグイン:スキルビルダーと、それを使って作成した 3 つのスキル |
| ツールリファレンス | ドメインごとのすべてのツール |
| 応答と拒否 | 呼び出しが返す内容と、拒否や読み戻し判定の読み方 |
| FAQ | バージョン、安全性、コスト |
| トラブルシューティング | クライアントが接続できない場合や、呼び出しが拒否される場合 |
| アーキテクチャ | 呼び出しがエディターを経由する仕組みと、その契約 |
| 用語集 | ドキュメントやツールの応答で使われる用語 |
要件
- Windows(Win64)上の Unreal Engine 5.7 または 5.8。プラグインが宣言しているプラットフォームはこれのみです。各リリースにはエンジンごとの zip があり、一部のツールには 5.8 が必要です(FAQを参照)。
- ソースからビルドする場合:C++ ツールチェーンを含む Visual Studio 2022。
- プラグインは、ツールが使用するエンジンプラグインを有効にします(
UEAgent.upluginを参照)。これには PythonScriptPlugin、EditorScriptingUtilities、Niagara、PCG、StateTree、ControlRig、IKRig、 PoseSearch、Interchange、USD などが含まれます。例外は Game Features です。プラグインはこれを有効にしませんが、プロジェクトで有効にすると、対応する 5 つのツールが動作します。
ソースからビルドする
このリポジトリを <YourProject>/Plugins/UEAgent にコピーするかクローンし、プロジェクトを開いて Unreal にビルドさせるか、IDE からエディターターゲットをビルドします。エディターの起動時に、ログに
MCP HTTP server started on http://127.0.0.1:55561/mcp (... tools ...) と表示されます。
更新
MCP · 55561 > Check for updates を選ぶと、GitHub に最新リリースを問い合わせます。新しいリリースがある場合は、Download and
install が使用中のエンジン向けの zip をダウンロードし、リリースの SHA256SUMS.txt と照合してから、エディターを閉じたときにインストールします。または、Restart now ですぐにインストールできます。この操作ではエディターを閉じてインストールし、再びエディターを開きます。以前のバージョンは Saved/UEAgentUpdate/Backup に保管され、新しいバージョンを配置できない場合は、以前のバージョンに戻されます。
git クローンは git pull で更新し、Fab からインストールしたコピーは Epic Games Launcher で更新します。
更新後は、クライアントを再接続してツールを再度一覧表示してください。
設定
Editor Preferences > Plugins > UEAgent(ユーザーごと):
| 設定 | デフォルト | |
|---|---|---|
| HTTP サーバーを有効化 | オン | MCP サーバー |
| HTTP ポート | 55561 | コマンドラインの -McpHttpPort=N で上書きできます |
| 認証トークン | 空 | 設定すると、すべてのリクエストに Authorization: Bearer <token> が必要です |
| 接続ヒントを表示 | オン | 起動時に、プロジェクトがまだ接続されていない場合、Claude Code への接続を提案します |
| 起動時に更新を確認 | オフ | GitHub に問い合わせ、新しいリリースがあるかを 1 日に 1 回まで確認します(更新するにはどうすればよいですか?を参照) |
Project Settings > Plugins > UEAgent(共有設定、Config/DefaultEditor.ini に保存):
| 設定 | デフォルト | |
|---|---|---|
| 読み取り専用コンテンツルート | 空 | 外部ライブラリのルート(例:/Game/SomeMarketplacePack)です。ツールによる該当箇所の保存、名前変更、移動、削除を拒否し、系譜監査ではそのクラスをライブラリクラスとして扱います |
| プロジェクトコンテンツルート | /Game | audit_class_purity のデフォルトの対象範囲です |
| フォーク元タグ | mcp.forkOrigin | fork_class_chain が書き込み、audit_class_purity が確認するメタデータタグです |
コンソールコマンド
| コマンド | |
|---|---|
mcp.http.status / mcp.http.restart | サーバーの状態を表示します。再起動します(ツールカタログも再読み込みします) |
mcp.claude.status [path] / mcp.claude.connect [path] | .mcp.json のエントリーを確認/書き込みます |
mcp.clients.status / mcp.clients.connect cursor|vscode|antigravity|opencode [path] | その他のクライアントのファイルについても同様に操作します |
mcp.skills.status / mcp.skills.install / mcp.skills.remove [claude|agents|all] | プロジェクト内の UEAgent のスキルを操作します(スキルを参照) |
mcp.contract.selftest <vectors.json> [quit] | コントラクトのテストベクトルを実行します(Resources/ContractTests を参照) |
mcp.ReadOnlyRootEnforcement 0|1 | 0 = 読み取り専用ルート内での保存を拒否せず、報告のみ行います |
mcp.UndoStepPerCall 0|1 | 0 = 呼び出しごとに 1 回の取り消しステップを設けず、各ツールに取り消しバッファーを任せます |
mcp.activity [N] | アクティビティパネルに表示されるように、直近 N 件のツール呼び出し(デフォルトは 20 件)をログに出力します |
mcp.update.check / mcp.update.status / mcp.update.download / mcp.update.cancel | 新しいリリースを確認します。更新の状態を表示します。更新をダウンロードします(エディターを閉じるとインストールされます)。ダウンロード済みの更新を破棄します |
セキュリティ
- サーバーは 127.0.0.1 のみで待ち受けます。また、
Hostがループバックでないリクエスト(DNS リバインディング)や、Originが Web ページであるリクエストも拒否します。 - 認証トークンがない場合、マシン上のどのプロセスからでも呼び出せます。共有マシンではトークンを設定してください。
.mcp.jsonエントリーは${UEAGENT_TOKEN}からトークンを読み込みます。 - ツールはエディターと同じ権限で動作します。Python の実行、ファイルの読み書き、アセットの保存、名前変更、削除、
.iniファイルの編集、プロセスの起動(パッケージのビルド、専用サーバーなど)を行います。エージェントを接続すると、エディターへのアクセス権を与えることになります。読み取り専用コンテンツルートを設定すると、指定したルート内の保存、名前変更、移動、削除をツールが行えなくなります。
脆弱性を報告するには、SECURITY.md を参照してください。
プライバシー
UEAgent は、テレメトリーや分析データを含め、ユーザーやプロジェクトに関する情報を一切送信しません。独自に行う唯一の通信は、新しいリリースを確認するための GitHub への通信です。Check for updates をクリックしたとき、または Check for updates at startup をオンにした場合(デフォルトではオフ)、起動時に 1 日 1 回行われます。このリクエストで送信されるのは、問い合わせ元の UEAgent のバージョンだけです。サーバーは 127.0.0.1 のみで待ち受け、ツールの応答は同じマシン上で、接続した MCP クライアントに送信されます。そのクライアントがモデルプロバイダーに何を送信するかは、クライアント次第です。
アクセシビリティ
エディターの UI とドキュメントで利用できるアクセシビリティ機能、不足している機能、および利用上の障壁の報告方法については、ACCESSIBILITY.md を参照してください。
コントリビューション
質問やアイデアはディスカッションへお寄せください。バグ報告やプルリクエストも歓迎します。CONTRIBUTING.mdでは、コードの構成、ツールの追加方法、変更をマージする前に確認する内容について説明しています。
ライセンス
UEAgentはMITライセンスのもとで公開されています。
商標
UnrealおよびUnreal Engineは、米国およびその他の国におけるEpic Games, Inc.の商標または登録商標です。UEAgentは独立したプロジェクトであり、Epic Gamesとは提携しておらず、同社からの承認も受けていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。