Skip to main content
Glama
JulianIrigoyen

ascent-unreal-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASCENT_ROOTNoRepository root (default: cwd/../..).cwd/../..
ASCENT_UPROJECTNoProject path (default: ASCENT_ROOT/Ascent/Ascent.uproject).ASCENT_ROOT/Ascent/Ascent.uproject
UNREAL_EDITOR_CMDNoCommandlet executable (default: UE 5.7 Program Files).UE 5.7 Program Files

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
unreal_run_python_scriptA

Run an existing python script from the repo scripts/ folder through a headless commandlet. Optional args reach the script via sys.argv (no whitespace in an arg). Output is filtered to marker lines (default: 'MCP |LogPython') — have your script unreal.log() what matters.

unreal_probe_actorA

READ-ONLY: load a map and read actor properties by their editor display names (e.g. 'Use Auroras', 'Ultra Dynamic Weather'). Matches actors whose label OR class contains actorMatch (case-insensitive). This is the tool shape that found the dead aurora switch and the null sky->weather reference — read back the ACTUAL state instead of trusting push logs.

unreal_set_actor_propertiesB

Set editor-display-name properties on matching actors in a map, then SAVE the map. Values are converted to python literals safely (booleans included). Mutating: refuses while an editor is open unless allowWithEditorOpen.

unreal_duplicate_mapB

Duplicate a /Game/... map asset. Mutating: refuses while an editor is open unless allowWithEditorOpen.

unreal_apply_material_to_actorA

Assign a material to a slot on a named actor's static mesh component in one map, then save. Mutating: refuses while an editor is open unless allowWithEditorOpen.

uds_inspect_levelA

READ-ONLY: report the sky (UDS) and weather (UDW) actors in a map with the fields that have actually burned us: aurora/space master switches, the sky->UDW reference, snow/rain state, manual-override pins, time of day. Returns one MCP INSPECT_JSON line.

uds_apply_presetA

Apply a named editor-time UDS lookdev preset to the sky actor and save the map. WARNING: runtime phase profiles (DA_TOD_*) override these every tick in-game — this is for in-editor look checks only. Mutating: refuses while an editor is open unless allowWithEditorOpen.

ascent_unreal_statusA

Server/environment status: paths, whether an Unreal editor is currently running (file-lock risk for mutating tools), and generated-script housekeeping.

unreal_list_assetsA

READ-ONLY: query the asset registry under a /Game path, optionally filtering by class-name and asset-name substrings. Cheap discovery before probe/set tools.

unreal_asset_probeA

READ-ONLY: read properties by display name off ANY asset — DataAssets (e.g. TOD profiles), meshes, materials — or a Blueprint's class defaults (classDefaults: true). The asset-side sibling of unreal_probe_actor.

unreal_set_asset_propertiesA

Set simple-valued properties (number/bool/string; a /Game/... string is auto-loaded as an object reference) on an asset or a Blueprint's class defaults, then save the asset. Struct/array properties are NOT supported — use unreal_run_python_script for those.

unreal_spawn_actorsA

Batch-spawn actors into a map and save. Each entry: source (a /Game static mesh or Blueprint asset, or a /Script/Module.Class), label, location, optional rotation/scale/tags. clearTag first deletes every actor carrying that tag (idempotent re-runs). NOTE: headless commandlets have no physics scene — no ground traces; supply explicit Z.

unreal_import_assetsA

Batch-import files (FBX meshes, PNG/JPG textures, WAV) into /Game destinations via AssetImportTask. textureType configures compression: 'normal' (TC_Normalmap, sRGB off), 'mask' (sRGB off), 'color' (default). Files must live inside the repo. Big texture batches can exhaust headless memory — chunk them.

unreal_create_material_instanceB

Create (or update) a MaterialInstanceConstant from a parent material and set scalar/vector/texture parameters, then save.

unreal_import_animationA

Import an animation-only FBX onto an EXISTING skeleton (the Trekker pipeline: no mesh, exported-time length, no default sample rate). Post-tune the sequence with unreal_set_asset_properties if needed.

unreal_snapshot_levelA

Regenerate the level snapshot markdown (label, class, transform, tags for every actor) that CLAUDE.md declares the authoritative source of level truth. Writes inside the repo.

ascent_apply_then_verifyB

Run a repo script, then — in the SAME commandlet boot — probe an actor or asset and check expectations against the read-back values. The whole call fails unless the script succeeds AND every expectation passes. 'Probe before you believe', as infrastructure: a mutation that can't prove itself didn't happen.

unreal_screenshotA

THE EYES: launch a -game instance of a map, wait for it to settle, teleport through vantages (BugItGo) and/or run console commands, screen-capture each, kill the game, return PNG paths. This is the pattern every visual verification this project ever did was built on. Windows-only; steals foreground focus while capturing. Serialized with all other runs.

weather_capture_phase_stillsA

One-call arc verification: set a TOD profile's driver to a fast FixedTimer, launch the map in -game, detect the run start from the log, capture a screenshot as each PHASE becomes active (named by phase), kill the game, and restore the original driver. Needs the machine idle-ish: captures are focus-verified and report NOFOCUS if you're typing elsewhere.

anim_audit_assetsA

READ-ONLY animation audit for a skeleton: every AnimSequence (play length, rate scale, additive), BlendSpace (sample positions + which sequence at which speed), Montage, and AnimBlueprint under a search path, plus which assets the AnimBP actually references (orphan detection via the asset registry). The state-machine GRAPH itself is Blueprint territory — audit that via the live UnrealClaude plugin, not headless.

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/JulianIrigoyen/ascent-unreal-mcp'

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