Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UE_MCP_HOSTNoRemote Control endpoint host127.0.0.1
UE_MCP_PORTNoRemote Control endpoint port30010
UE_MCP_LIBRARYNoWhere downloaded assets land~/UnrealAssetLibrary
UE_MCP_TIMEOUTNoPer-call timeout in seconds180
UE_MCP_ENGINE_DIRSNoExtra folders to search for engine installs
UE_MCP_MAX_DOWNLOADNoPer-file download cap4 GiB

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ue_engine_listA

Elenca le installazioni di Unreal Engine trovate sulla macchina.

Cerca in: variabile UE_MCP_ENGINE_DIRS, elenco dell'Epic Games Launcher, registro di Windows. Da chiamare per prima quando non c'è ancora un progetto.

ue_engine_templatesC

Elenca i template ufficiali disponibili nell'installazione (TP_Blank, TP_ThirdPerson, ...).

ue_project_createA

Crea un progetto Unreal da specifica, pronto per il bridge MCP.

Scrive .uproject (con PythonScriptPlugin, RemoteControl e Metasound già abilitati), Config/DefaultEngine.ini con l'autostart del web server Remote Control, Config/DefaultGame.ini e Content/Python/init_unreal.py.

Args: name: nome progetto (identificatore valido, es. "MyGame"). directory: cartella genitore, es. "C:/UnrealProjects". engine_version: es. "5.4"; se omesso usa la più recente installata. template: "blank" (generato da zero) o il nome di un template del motore (vedi ue_engine_templates), es. "TP_ThirdPerson". blueprint_only: esclude la cartella Source del template (niente compilazione C++). plugins: plugin extra da abilitare oltre a quelli di default. default_map: mappa di avvio, es. "/Game/MyGame/Levels/L_Main". default_game_mode: GameMode di default (path della classe ..._C). force: procede anche se la cartella di destinazione esiste già.

ue_project_findC

Cerca file .uproject sotto una cartella.

ue_project_infoA

Legge un .uproject: versione motore associata, plugin attivi e se il bridge è pronto.

ue_project_set_pluginsB

Abilita/disabilita plugin scrivendo nel .uproject (utile su progetti esistenti).

Per usare il bridge servono almeno PythonScriptPlugin e RemoteControl. L'editor va riavviato se era già aperto.

ue_editor_openA

Apre un progetto nell'editor e attende che il bridge Remote Control risponda.

Args: uproject: percorso del file .uproject. engine_version: forza una versione del motore diversa da quella associata. wait_seconds: quanto attendere l'apertura (il primo avvio compila gli shader e può richiedere diversi minuti; con 0 non attende). extra_args: argomenti aggiuntivi per la riga di comando dell'editor.

ue_build_startA

Avvia la compilazione del modulo C++ del progetto (in background).

L'editor deve essere chiuso: con Live Coding attivo UnrealBuildTool si rifiuta di scrivere le DLL, e per un modulo nuovo Live Coding non è sufficiente. Sequenza tipica: ue_editor_close -> ue_build_start -> ue_build_status (finché running=false) -> ue_editor_open.

Args: uproject: percorso del file .uproject. engine_version: forza una versione del motore diversa da quella associata. target: default "Editor". configuration: "Development" | "DebugGame" | "Shipping".

ue_build_statusB

Stato della compilazione avviata con ue_build_start: in corso, errori, coda del log.

ue_live_compileA

Ricompila il C++ senza chiudere l'editor, tramite Live Coding.

È la via veloce per iterare: nessuna chiusura, nessun riavvio, il gioco riparte con il codice nuovo. Funziona però solo sulle modifiche al corpo delle funzioni: aggiungere o cambiare UCLASS, UFUNCTION o UPROPERTY altera i dati di reflection e richiede ue_build_start a editor chiuso.

Args: max_wait_seconds: quanto attendere l'esito prima di restituire "in corso" (la compilazione prosegue comunque).

ue_package_startA

Crea il pacchetto giocabile del gioco (cook + build + stage + pak).

Produce un eseguibile autonomo, avviabile senza l'editor. Operazione lunga (decine di minuti al primo giro, molto meno dopo): parte in background, lo stato si consulta con ue_package_status.

L'editor deve essere chiuso. Sequenza: ue_editor_close -> ue_package_start -> ue_package_status (finché running=false).

Args: uproject: percorso del file .uproject. configuration: "Development" (con log e console, per il prototipo) o "Shipping" (ottimizzato, senza log, per la distribuzione). maps: mappe da cuocere, es. ["/Game/MyGame/Levels/L_Main"]. Se omesso cuoce secondo le impostazioni di progetto, che è più lento. output_dir: cartella di destinazione; default /Packaged. dedicated_server: produce anche un server dedicato per le partite LAN.

ue_package_statusB

Stato del packaging avviato con ue_package_start.

Riporta la fase corrente (Cook, Stage, Package, Archive), gli errori e, a fine corsa, il percorso dell'eseguibile prodotto.

ue_editor_statusB

Stato del processo editor avviato da questo MCP e del bridge Remote Control.

ue_editor_closeA

Chiude l'editor.

Prima tenta la chiusura pulita (salvataggio + quit_editor via bridge); se fallisce o se force=True, termina il processo.

Args: save_all: salva livello e asset modificati prima di chiudere. force: salta il tentativo pulito e termina direttamente il processo.

preset_library_listA

Elenca i file già scaricati nella libreria locale (default: ~/UnrealAssetLibrary).

I percorsi restituiti si passano direttamente a ue_import_assets.

preset_download_urlB

Scarica un file da un URL diretto (zip, glb, fbx, wav) nella libreria locale.

Se è un archivio zip/tar e extract=True, lo estrae subito.

preset_extract_archiveB

Estrae un archivio zip/tar già presente sul disco (i .rar non sono supportati).

preset_search_polyhavenB

Cerca asset CC0 su Poly Haven.

Args: asset_type: "hdris" | "textures" | "models". categories: filtri, es. ["brick"], ["outdoor"]. limit: massimo di risultati.

preset_download_polyhavenA

Scarica un asset Poly Haven (CC0) nella libreria locale.

Args: asset_id: id dell'asset, es. "brick_wall_02". resolution: "1k" | "2k" | "4k" | "8k". formats: ["jpg"] per texture, ["gltf"] per modelli, ["hdr"] per HDRI. destination: cartella alternativa alla libreria.

preset_search_ambientcgB

Cerca materiali/HDRI/modelli CC0 su ambientCG.

Args: query: parole chiave, es. "concrete". asset_type: "Material" | "HDRI" | "3DModel" | "Decal" | "Atlas" | "Terrain".

preset_download_ambientcgC

Scarica ed estrae un asset ambientCG (CC0).

Args: asset_id: es. "PavingStones036". variant: es. "1K-JPG", "2K-JPG", "4K-PNG".

preset_download_kenneyB

Scarica ed estrae un pack Kenney (CC0) risolvendo il link dalla pagina.

Args: slug: ultima parte dell'URL, es. "mini-characters-1" per kenney.nl/assets/mini-characters-1.

preset_fab_list_vaultA

Elenca il contenuto Unreal acquistato sull'account Epic (Fab/Marketplace).

Non esiste un'API pubblica: serve il client community legendary (pip install legendary-gl + legendary auth). Senza di esso il tool spiega come procedere dall'Epic Games Launcher.

preset_fab_downloadB

Scarica un asset del vault Epic tramite legendary.

Args: app_name: identificativo restituito da preset_fab_list_vault.

ue_statusA

Verifica la connessione all'editor Unreal e restituisce versione motore, progetto aperto, livello corrente e numero di attori. Da usare per prima.

ue_read_logA

Legge la coda del log di Unreal (equivalente di read_console in Unity).

Args: lines: quante righe finali restituire (default 80). only_errors: se True filtra solo righe con Error/Warning.

ue_exec_pythonA

Esegue codice Python arbitrario dentro l'editor Unreal (escape hatch).

Il modulo unreal e tutti gli helper mcp_* sono disponibili. Assegna il valore da restituire alla variabile result.

Args: code: snippet Python, es. "result = len(mcp_actor_subsystem().get_all_level_actors())".

ue_save_allA

Salva il livello corrente e tutti gli asset modificati.

ue_import_assetsA

Importa file 3D/audio (.glb, .gltf, .fbx, .wav) nel Content Browser.

I .glb/.gltf passano dal framework Interchange nativo. Per i personaggi con scheletro usare .fbx con import_as_skeletal=True.

Args: files: percorsi assoluti sul disco (es. ["C:/tmp/four_corners_export/Arena_Tetto.glb"]). destination: cartella Unreal di destinazione (/Game/...). replace_existing: sovrascrive asset con lo stesso nome. import_as_skeletal: per .fbx, importa come Skeletal Mesh con animazioni.

ue_list_assetsA

Elenca gli asset presenti sotto un path del Content Browser.

Args: path: cartella Unreal (es. "/Game/MyGame"). recursive: include le sottocartelle. class_filter: filtro parziale sul nome classe (es. "Blueprint", "StaticMesh").

ue_new_levelB

Crea un nuovo livello e lo apre.

Args: path: path completo del livello, es. "/Game/MyGame/Levels/L_Main". template: livello sorgente da duplicare (opzionale).

ue_open_levelA

Apre un livello esistente nell'editor.

Args: path: es. "/Game/MyGame/Levels/L_Main".

ue_spawn_actorB

Spawna un attore nel livello corrente.

Args: class_ref: "StaticMeshActor", "/Script/Engine.PointLight", "/Game/MyGame/BP_Enemy", oppure il path di uno StaticMesh importato (spawn diretto della mesh). location: [x, y, z] in cm. rotation: [pitch, yaw, roll] in gradi. scale: [x, y, z] moltiplicatore. label: etichetta leggibile nell'Outliner (usata dagli altri tool per ritrovarlo).

ue_list_actorsC

Elenca gli attori del livello corrente, con filtri opzionali su nome e classe.

ue_set_actor_transformC

Modifica posizione/rotazione/scala di un attore identificato dalla sua label.

ue_delete_actorC

Elimina dal livello corrente l'attore con la label indicata.

ue_create_blueprintB

Crea un Blueprint.

Args: package_path: cartella, es. "/Game/MyGame/Blueprints". name: nome asset, es. "BP_CornerSlot". parent_class: "Actor", "Character", "Pawn", "GameModeBase", "PlayerState", "GameStateBase", "AIController" o un path completo.

ue_add_componentA

Aggiunge un componente a un Blueprint e lo ricompila.

Args: blueprint_path: es. "/Game/MyGame/Blueprints/BP_Door". component_class: es. "StaticMeshComponent", "BoxComponent", "PointLightComponent". name: nome del componente nel Blueprint.

ue_add_variableA

Aggiunge una variabile membro a un Blueprint e ricompila. Richiede UE 5.4+ (l'API Python per le variabili non esiste nei motori precedenti; ue_status riporta in capabilities cosa supporta il motore corrente).

Args: blueprint_path: path del Blueprint. var_name: nome variabile, es. "OccupiedBy". var_type: bool | int | int64 | float | string | name | text | struct | object | class. sub_type: per struct ("Vector", "Rotator", "Transform", "LinearColor") o per object/class il nome della classe ("Actor", "PlayerState"). replicated: marca la variabile come replicata (networking). instance_editable: esposta e modificabile sulle istanze nel livello. default_value: valore di default scritto nei Class Defaults (solo tipi semplici).

ue_set_class_defaultsB

Imposta i Class Defaults (CDO) di un Blueprint.

Args: blueprint_path: path del Blueprint. properties: mappa nome_proprieta -> valore, es. {"replicates": true}.

ue_compile_blueprintB

Compila e salva un Blueprint. Usare dopo modifiche manuali nell'editor.

ue_set_replicationC

Configura la replication di un Blueprint (equivalente di NetworkObject in Unity).

ue_configure_pieA

Configura il Play In Editor multi-client, per provare il multiplayer in locale.

Args: num_players: numero di finestre client (server incluso in listen_server). net_mode: "standalone" | "listen_server" | "client". one_process: True = più finestre nello stesso processo (più veloce da avviare).

ue_start_pieB

Avvia il Play In Editor con le impostazioni correnti.

ue_stop_pieA

Ferma la sessione Play In Editor in corso.

ue_set_project_settingA

Scrive un'impostazione nei file Config/Default.ini del progetto.

Args: section: es. "/Script/EngineSettings.GameMapsSettings". key: es. "GlobalDefaultGameMode". value: es. "/Game/MyGame/Blueprints/BP_MyGameMode.BP_MyGameMode_C". config: "Game" | "Engine" | "Input".

Nota: alcune impostazioni richiedono il riavvio dell'editor per avere effetto.

ue_import_audioC

Importa file .wav come SoundWave nel Content Browser.

ue_create_metasound_sourceB

Crea un asset MetaSound Source vuoto (richiede il plugin MetaSound attivo).

Il grafo va poi popolato nell'editor MetaSound o via ue_exec_python.

ue_create_sound_cueB

Crea un Sound Cue, opzionalmente già collegato a un SoundWave importato.

Args: package_path: es. "/Game/MyGame/Audio". name: es. "SC_Explosion". wave_path: path del SoundWave, es. "/Game/MyGame/Audio/explosion".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FFZackFair92/unreal-engine-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server