このプロジェクトについて

Unreal Engine MCP Serverは、AIアシスタントがネイティブC++ Automation Bridgeプラグインを通じてUnreal Engine 5を操作できるようにするModel Context Protocolサーバーです。TypeScriptとC++で書かれ、npmでunreal-engine-mcp-serverとして公開され、MITライセンスの下にあります。 機能は領域ごとにグループ化されています:アセット管理(閲覧、インポート、複製、名前変更、削除、マテリアル作成)、アクター制御(スポーン、削除、トランスフォーム、物理、タグ、コンポーネント)、エディタ制御(PIEセッション、カメラ、ビューポート、スクリーンショット、ブックマーク)、レベル管理(ロード/保存、ストリーミング、ライティング)、アニメーションと物理(アニメーションブループリント、ステートマシン、ラグドール、車両、コンストレイント)、視覚効果(Niagaraパーティクル、GPUシミュレーション、デバッグシェイプ)、Sequencer(シネマティクス、タイムライン制御、Movie Render Queue、メディア、Take Recorder、リプレイ)、グラフ編集(Blueprint、Niagara、Material、Behavior Tree)、オーディオ(サウンドキュー、コンポーネント、ミックス、アンビエントサウンド)、システム操作(コンソールコマンド、UBT、テスト、ログ、プロジェクト設定、CVar)。 2つのトランスポートが提供されています。ネイティブMCPトランスポートはプラグインに組み込まれたStreamable HTTP/SSEサーバーで、http://localhost:3000/mcp でアクセスでき、Node.js、npm、ブリッジは不要です。TypeScriptブリッジはWebSocketを介してプラグインと通信するstdioサーバーです。どちらも同じ単一のunrealゲートウェイツールを公開し、search、describe、execute、configureの4つの操作を持ちます。23の正規の親ツールは内部にあり、ゲートウェイを通じてのみ到達可能で、正規名への直接呼び出しは推奨される次の呼び出しを含む移行レシートを返します。プロトコルバージョンのネゴシエーションは2つのサーフェスで異なり、ネイティブトランスポートは新しいバージョンのみをサポートします。 セットアップにはTypeScriptブリッジ用にNode.js 20.19以降が必要で、さらにMcpAutomationBridgeプラグインをプロジェクトのPluginsフォルダにコピーするか、外部プラグインディレクトリを追加するか、特定のエンジンバージョンに紐づくビルド済みバイナリを使用してインストールする必要があります。ソースインストールにはコードターゲットが必要で、BlueprintのみのプロジェクトはまずC++クラスを追加する必要があります。いくつかのコアプラグインが必要で(Python Editor Script Plugin、Editor Scripting Utilities、Niagara、Gameplay Abilities、Smart Objects)、多くのオプションプラグインは必要に応じて自動的に有効化されます。エンジンバージョン5.0から5.8がサポート対象として記載されています。 設定にはUE_PROJECT_PATH、MCP_AUTOMATION_HOST、MCP_AUTOMATION_PORT、タイムアウト、ログレベル、追加のコンテンツパスプレフィックスなどの環境変数を使用します。LANアクセスはデフォルトでオフで、明示的に有効化する必要があり、セキュリティ警告が表示されます。ケイパビリティトークン認証はデフォルトでオンで、自動生成されたシークレットファイルまたは手動で設定されたトークンを使用します。その他の注目すべき動作には、動的型ディスカバリ、アクティブなUnreal接続なしでのグレースフルスタートアップ、指数バックオフによるハンドシェイクの再試行、危険なコンソールコマンドのブロック、10秒のアセットキャッシュ、PrometheusメトリクスエンドポイントでのIPごとのレート制限が含まれます。 Dockerfileが含まれており、リポジトリにはビルド、lint、型チェック、ユニットテスト、スモークテスト、マニフェストドリフトチェック、ネイティブパリティテスト、パラメータ監査、バージョンチェックの開発スクリプト、およびCIゲートとゲートウェイマニフェスト生成スクリプトが文書化されています。ドキュメントにはアクションリファレンス、プラグイン拡張アーキテクチャ、テスト、ロードマップが含まれています。