Native UE editor tab (SMCPWizard) so setup happens inside Unreal, not just the Node CLI. Three sections: - Remote Control: live status of the :30010 bridge + a button to start it (WebControl.StartServer + EnableServerOnStartup). - API keys: paste/save the agent-gateway Anthropic token (auth.env) and ElevenLabs key (integrations.json) — both git-ignored. - MCP tools: lists the catalogue from tools.json. Wiring: - UEBlueprintMCPEditor module registers a nomad tab + a Tools-menu entry. - Build.cs gains the Projects module (IPluginManager). - server.js exports TOOLS and only launches the stdio server when run directly (isMain), so src/dumpTools.mjs can generate tools.json. `npm run dump-tools`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleManager.h"
|
|
|
|
class FBlueprintEditor;
|
|
class IInputProcessor;
|
|
class UBlueprint;
|
|
class UEdGraph;
|
|
|
|
class FUEBlueprintMCPEditorModule : public IModuleInterface
|
|
{
|
|
public:
|
|
virtual void StartupModule() override;
|
|
virtual void ShutdownModule() override;
|
|
|
|
private:
|
|
friend class FMCPZoneInputProcessor;
|
|
|
|
void RegisterMenus();
|
|
void RegisterWizardTabAndMenu();
|
|
TSharedRef<class SDockTab> SpawnWizardTab(const class FSpawnTabArgs& Args);
|
|
void NotifyBridgeStatus();
|
|
void ToggleMCPZoneMode(TWeakPtr<FBlueprintEditor> BlueprintEditor);
|
|
bool IsMCPZoneModeActive(TWeakPtr<FBlueprintEditor> BlueprintEditor) const;
|
|
bool TryCreateMCPZoneFromScreenDrag(const FVector2f& StartScreenPosition, const FVector2f& EndScreenPosition);
|
|
void CreateMCPZone(UEdGraph* Graph, UBlueprint* Blueprint, const FVector2f& GraphStart, const FVector2f& GraphEnd) const;
|
|
void RemoveMCPZones(UBlueprint* Blueprint) const;
|
|
|
|
bool bMCPZoneModeActive = false;
|
|
bool bWizardTabRegistered = false;
|
|
TWeakPtr<FBlueprintEditor> ActiveMCPZoneEditor;
|
|
TSharedPtr<IInputProcessor> MCPZoneInputProcessor;
|
|
};
|