UE-MCP

Tool Reference

Tool Reference documentation.

UE-MCP exposes 19 category tools covering 438+ actions, plus a flow tool for running multi-step YAML workflows. Every category tool takes an action parameter that selects the operation, plus action-specific parameters.

First call in any session

Start with project(action="get_status") to check the connection, then level(action="get_outliner") or asset(action="list") to explore.

How to read this page

Each row lists a single action and its key parameters. Optional params are marked with ?. For full schemas (types, descriptions, defaults), every action also surfaces its description through the MCP schema - your AI client can introspect them at runtime.


project

Project status, config INI files, and C++ source inspection.

ActionDescription
get_statusCheck server mode and editor connection
set_projectSwitch project. Params: projectPath
get_infoRead .uproject file details
read_configRead INI config. Params: configName (e.g. 'Engine', 'Game')
search_configSearch INI files. Params: query
list_config_tagsExtract gameplay tags from config
read_cpp_headerParse a .h file. Params: headerPath
read_moduleRead module source. Params: moduleName
list_modulesList C++ modules
search_cppSearch .h/.cpp files. Params: query, directory?
read_engine_headerParse a .h file from the engine source tree. Params: headerPath (relative to Engine/Source, or absolute)
find_engine_symbolGrep engine headers for a symbol. Params: symbol, maxResults?
list_engine_modulesList modules in Engine/Source/Runtime
search_engine_cppSearch engine .h/.cpp/.inl files across Runtime/Editor/Developer/Plugins. Params: `query, tree? (Runtime\
set_configWrite to INI. Params: configName, section, key, value
buildBuild C++ project. Params: configuration?, platform?, clean?
generate_project_filesGenerate IDE project files (Visual Studio, Xcode, etc.)
create_cpp_classCreate a new native UCLASS in a project module. Uses the same engine template path as File → New C++ Class. Writes .h + .cpp; returns both paths plus needsEditorRestart (true unless Live Coding successfully hot-reloaded). Params: `className (no prefix), parentClass? (default UObject; accepts short names like 'Actor' or /Script/[Module].[Class] paths), moduleName? (default: first project module, use list_project_modules to pick), classDomain? ('public'\
list_project_modulesList native modules in the current project (name, host type, source path). Feed moduleName from here into create_cpp_class
live_coding_compileTrigger a Live Coding compile (Windows only). Hot-patches method bodies of existing UCLASSes without editor restart - the fast inner loop for UFUNCTION implementations. Does NOT reliably register brand-new UCLASSes; use build_project + editor restart for those. Params: wait? (default false - fire and return 'in_progress')
live_coding_statusReport Live Coding availability/state (available, started, enabledForSession, compiling). Helps choose between live_coding_compile and build_project
write_cpp_fileWrite a .h / .cpp / .inl file under the project's Source/ tree. Used to append UPROPERTYs/UFUNCTIONs or method bodies after create_cpp_class. Writes are scoped to Source/ for safety. Params: path (relative to Source/ or absolute within Source/), content (full file contents)
read_cpp_sourceRead a .cpp file from the project Source/ tree. Companion to read_cpp_header for round-trip edits. Params: sourcePath (relative to Source/ or absolute)
add_module_dependencyAdd a module to a target module's Build.cs dependency array. Params: `moduleName (the Build.cs to edit - must exist in the project), dependency (module name to add, e.g. 'UMG'), access? ('public'\

asset

Asset management: list, search, read, CRUD, import meshes/textures, datatables.

ActionDescription
listList assets in directory. Params: directory?, typeFilter?, recursive?
searchSearch by name/class/path. Params: query, directory?, maxResults?, searchAll?
readRead asset via reflection. Params: assetPath
read_propertiesRead asset properties with values. Params: assetPath, propertyName?, includeValues?
duplicateDuplicate asset. Params: sourcePath, destinationPath
renameRename asset. Params: assetPath, newName
bulk_renameBatched rename using IAssetTools::RenameAssets - single transaction with one redirector-fixup pass (matches Content Browser drag). Use this over looped rename for scene-referenced assets. Params: renames[] where each entry is (sourcePath, destinationPath) OR (assetPath, newName)
moveMove asset. Params: sourcePath, destinationPath
deleteDelete asset. Params: assetPath
delete_batchBatch-delete assets. Params: assetPaths[]
create_data_assetCreate UDataAsset instance of custom class. Params: name, className (/Script/Module.ClassName or loaded name), packagePath?, properties? (key/value map)
saveSave asset(s). Params: assetPath?
set_mesh_materialAssign material to static mesh slot. Params: assetPath, materialPath, slotIndex?
recenter_pivotMove static mesh pivot to geometry center. Params: assetPath OR assetPaths
import_static_meshImport from FBX/OBJ. Params: filePath, name?, packagePath?, combineMeshes?, importMaterials?, importTextures?, generateLightmapUVs?
import_skeletal_meshImport skeletal mesh from FBX. Params: filePath, name?, packagePath?, skeletonPath?, importMaterials?, importTextures?
import_animationImport anim from FBX. Params: filePath, name?, packagePath?, skeletonPath
import_textureImport image. Params: filePath, name?, packagePath?
reimportReimport asset from source file. Params: assetPath, filePath?
read_datatableRead DataTable rows. Params: assetPath, rowFilter?
create_datatableCreate DataTable. Params: name, packagePath?, rowStruct
reimport_datatableReimport DataTable from JSON. Params: assetPath, jsonPath?, jsonString?
list_texturesList textures. Params: directory?, recursive?
get_texture_infoGet texture details. Params: assetPath
set_texture_settingsSet texture settings. Params: assetPath, settings (object with compressionSettings?, lodGroup?, sRGB?, neverStream?)
add_socketAdd socket to StaticMesh or SkeletalMesh. Params: assetPath, socketName, boneName?, relativeLocation?, relativeRotation?, relativeScale?
remove_socketRemove socket by name. Params: assetPath, socketName
list_socketsList sockets on a mesh. Params: assetPath
reload_packageForce reload an asset package from disk. Params: assetPath
exportExport asset to disk file (Texture2D → PNG, StaticMesh → FBX, etc.). Params: assetPath, outputPath
search_ftsRanked asset search (token-scored over name/class/path). Params: query, maxResults?, classFilter?
reindex_ftsRebuild the SQLite FTS5 asset index. Params: directory?
get_referencersReverse dependency lookup. Params: packages[] OR packagePath (#150)
set_sk_material_slotsSet materials on a USkeletalMesh by slot name or slotIndex (bypasses the blueprint override-materials path that UE's ICH silently reverts). Params: `assetPath, slots[(slotName?\
diagnose_registryScan a content path and compare disk vs AssetRegistry (including in-memory pending-kill entries). Returns onDiskCount, inMemoryIncludedCount, ghostCount and paths. Params: path, recursive? (default true), reconcile? (forceRescan=true)
get_mesh_boundsGet StaticMesh bounding box. Params: assetPath
get_mesh_collisionInspect StaticMesh collision setup. Params: assetPath
move_folderMove/rename entire content folder with redirector fixup in one transaction. Params: sourcePath, destinationPath (#192)
create_folderCreate empty content browser folder(s). Params: path OR paths[] (e.g. /Game/Foo, /Game/Bar/Baz)
set_mesh_navSet StaticMesh nav contribution. Params: assetPath, bHasNavigationData?, clearNavCollision? (#167)

blueprint

Blueprint reading, authoring, and compilation. Covers variables, functions, graphs, nodes, components, interfaces, and event dispatchers.

ActionDescription
readRead BP structure incl. SCS components. Params: assetPath
list_variablesList variables. Params: assetPath
list_functionsList functions/graphs. Params: assetPath
read_graphRead graph nodes. Params: assetPath, graphName
read_graph_summaryLightweight graph summary (nodes+edges only, ~10KB). Params: assetPath, graphName?
get_execution_flowTrace exec pins from an entry point. Params: assetPath, graphName?, entryPoint?
get_dependenciesForward (classes/functions/assets) or reverse (referencers) deps. Params: assetPath, reverse?
createCreate Blueprint. Params: assetPath, parentClass?
add_variableAdd variable. Params: assetPath, name, varType
set_variable_propertiesEdit variable properties. Params: assetPath, name, instanceEditable?, blueprintReadOnly?, category?, tooltip?, replicationType?, exposeOnSpawn?
create_functionCreate function. Params: assetPath, functionName
delete_functionDelete function. Params: assetPath, functionName
rename_functionRename function. Params: assetPath, oldName, newName
add_nodeAdd graph node. Params: assetPath, graphName?, nodeClass, nodeParams?
delete_nodeDelete node. Params: assetPath, graphName, nodeName
set_node_propertySet node pin default or struct property. Params: assetPath, graphName, nodeName, propertyName, value
connect_pinsWire nodes. Params: sourceNode, sourcePin, targetNode, targetPin, assetPath, graphName?
add_componentAdd BP component. Params: assetPath, componentClass, componentName?, parentComponent? (SCS parent for hierarchy - #115)
remove_componentRemove SCS component. Params: assetPath, componentName
set_component_propertySet property on SCS or inherited component. Inherited components go through the child BP's InheritableComponentHandler override template so the parent stays untouched. Params: assetPath, componentName, propertyName, value
get_component_propertyRead a single property value from an SCS or inherited component template. Returns the ICH override value for child BPs if one exists. Params: assetPath, componentName, propertyName
set_class_defaultSet UPROPERTY on Blueprint CDO. Params: assetPath, propertyName, value
delete_variableDelete a member variable. Params: assetPath, name
add_function_parameterAdd input or output parameter to a function. Params: assetPath, functionName, parameterName, parameterType?, isOutput?
set_variable_defaultSet default value on a BP variable. Params: assetPath, name, value
compileCompile Blueprint. Params: assetPath
list_node_typesList node types. Params: category?, includeFunctions?
search_node_typesSearch nodes. Params: query
create_interfaceCreate BP Interface. Params: assetPath
add_interfaceImplement interface. Params: blueprintPath, interfacePath
list_graphsList all graphs in a blueprint. Params: assetPath
add_event_dispatcherAdd event dispatcher. Params: blueprintPath, name
duplicateDuplicate blueprint asset. Params: sourcePath, destinationPath
add_local_variableAdd function-scope local variable. Params: assetPath, functionName, name, varType?
list_local_variablesList local variables in a function. Params: assetPath, functionName
validateValidate blueprint without saving (compile + collect diagnostics). Params: assetPath
read_component_propertiesDump ALL UPROPERTYs on a BP component template incl. array contents (#105). Params: assetPath, componentName
read_node_propertyRead a node pin default OR a reflected node property for verification (#102). Params: assetPath, graphName?, nodeName, propertyName
reparent_componentReparent an SCS component under a new parent (#115). Params: assetPath, componentName, newParent
reparentChange a Blueprint's ParentClass and recompile (#138). Params: assetPath, parentClass (short name or full path)
set_actor_tick_settingsSet actor CDO tick settings (#116). Params: assetPath, bCanEverTick?, bStartWithTickEnabled?, TickInterval?
export_nodes_t3dExport graph nodes as T3D text (Ctrl+C equivalent) for bulk round-trip (#130). Params: assetPath, graphName?, nodeIds? (omit = whole graph)
import_nodes_t3dPaste a T3D node blob into a graph (Ctrl+V equivalent) for bulk authoring (#130). Params: assetPath, graphName?, t3d, posX?, posY?
set_cdo_propertySet UPROPERTY on any C++ class CDO (not just Blueprints). Params: className, propertyName, value (#182/#183)
get_cdo_propertiesRead UPROPERTY values from any C++ class CDO. Params: className, propertyNames? (#183)
run_construction_scriptSpawn temp actor, run construction script, return generated components and transforms. Params: assetPath, location? (#195)

level

Level actors, selection, components, level management, volumes, lights, and splines.

ActionDescription
get_outlinerList actors. Params: `classFilter?, nameFilter?, world? (editor\
place_actorSpawn actor. Params: actorClass, label?, location?, rotation?, scale?, staticMesh?, material?
delete_actorRemove actor. Params: actorLabel
get_actor_detailsInspect actor. Params: `actorLabel OR actorPath, includeProperties?, propertyName?, world? (editor\
move_actorTransform actor. Params: actorLabel, location?, rotation?, scale?
selectSelect actors. Params: actorLabels[]
get_selectedGet selection
add_componentAdd component to actor. Params: actorLabel, componentClass, componentName?
set_component_propertySet component prop. Params: actorLabel, componentName, propertyName, value
get_currentGet current level name and path
loadLoad level. Params: levelPath
saveSave current level
listList levels. Params: directory?, recursive?
createCreate new level. Params: levelPath?, templateLevel?
spawn_volumePlace volume. Params: volumeType, location?, extent?, label?
list_volumesList volumes. Params: volumeType?
set_volume_propertiesEdit volume. Params: actorLabel, properties
spawn_lightPlace light. Params: lightType, location?, rotation?, intensity?, color?, label?
set_light_propertiesEdit light. Params: actorLabel, intensity?, color?, rotation? (DirectionalLight sun angle), recaptureSky?, temperature?, castShadows?, attenuationRadius?
set_fog_propertiesEdit ExponentialHeightFog. Params: actorLabel?, fogDensity?, fogHeightFalloff?, startDistance?, fogInscatteringColor?
get_actors_by_classList actors by class name. Params: `className, world? (editor\
count_actors_by_classHistogram of actor classes in the level (sorted desc). Params: `world? (editor\
get_runtime_virtual_texture_summaryList RuntimeVirtualTextureVolume actors + their bound VirtualTexture assets (#150)
set_water_body_propertySet a property on an actor's WaterBodyComponent (ShapeDilation, WaterLevel, etc.). Params: actorLabel, propertyName, value
build_lightingBuild lights. Params: quality?
get_spline_infoRead spline. Params: actorLabel
set_spline_pointsSet spline points. Params: actorLabel, points[], closedLoop?
set_actor_materialSet material on actor. Params: actorLabel, materialPath, slotIndex?
get_world_settingsRead world settings (GameMode, KillZ, gravity, etc.)
set_world_settingsSet world settings. Params: defaultGameMode?, killZ?, globalGravityZ?, enableWorldBoundsChecks?
get_actor_boundsGet actor AABB. Params: actorLabel
resolve_actorResolve internal/runtime actor name to editor label. Params: internalName (e.g. StaticMeshActor_141)
set_actor_propertySet per-instance UPROPERTY on a level actor. Params: `actorLabel ('WorldSettings' targets the world settings actor), propertyName (dotted paths like 'Foo.Bar' supported), value (string/number/bool/object/array; an actor label resolves to AActor* refs), force? (bypass EditDefaultsOnly), world? (editor\
delete_actorsBulk-delete actors. Params: at least one of labelPrefix, className, tag; dryRun? to preview
add_actor_tagAppend a tag to an actor's Tags array. Params: actorLabel, tag (#219)
remove_actor_tagRemove a tag from an actor's Tags array. Params: actorLabel, tag (#219)
set_actor_tagsReplace an actor's Tags array. Params: actorLabel, tags[] (#219)
list_actor_tagsList an actor's Tags. Params: actorLabel (#219)
attach_actorAttach actor as child. Params: `childLabel, parentLabel, attachRule? (KeepWorld\
detach_actorDetach actor from parent. Params: childLabel (#205)
set_actor_mobilitySet actor root component Mobility. Params: `actorLabel, mobility (static\
get_current_edit_levelRead the active edit-target sub-level (#204)
set_current_edit_levelSet the active edit-target sub-level so subsequent spawns land in it. Params: levelName (e.g. SubLevel_A) (#204)
list_streaming_sublevelsList streaming sub-levels with transform + initially-loaded/visible flags (#206)
add_streaming_sublevelAdd a streaming sub-level. Params: `levelPath, streamingClass? (LevelStreamingDynamic\
remove_streaming_sublevelRemove a streaming sub-level. Params: `levelName \
set_streaming_sublevel_propertiesUpdate sub-level transform/visibility flags. Params: `levelName \
spawn_gridBatch-spawn StaticMeshActors on a grid. Params: staticMesh, min, max (Vec3 bounds), countX?, countY?, countZ?, jitter?, labelPrefix? (#203)
batch_translateTranslate a set of actors by an offset. Params: offset (Vec3), actorLabels[] OR tag (#203)

material

Materials: create, read, parameters, shading, textures, and graph authoring (expression nodes, connections).

ActionDescription
readRead material structure. Params: assetPath
list_parametersList overridable parameters. Params: assetPath
set_parameterSet parameter on MaterialInstance. Params: assetPath, parameterName, parameterType, value
set_expression_valueSet value on expression node. Params: materialPath, expressionIndex, value
disconnect_propertyDisconnect a material property input. Params: materialPath, property
create_instanceCreate material instance. Params: parentPath, name?, packagePath?
createCreate material. Params: name, packagePath?
create_simpleSingle-call simple material. Params: name, packagePath?, baseColor? ((r,g,b)), metallic?, specular?, roughness?, emissive?, usages?[] (e.g. InstancedStaticMeshes, Nanite, NiagaraSprites)
set_usageSet EMaterialUsage flag(s) on a material. Params: assetPath, usage OR usages[], enabled? (default true)
set_shading_modelSet shading model. Params: assetPath, shadingModel
set_blend_modeSet blend mode. Params: assetPath, blendMode
set_base_colorSet base color. Params: assetPath, color
connect_textureConnect texture to property. Params: materialPath, texturePath, property
add_expressionAdd expression node. Params: materialPath, expressionType, name?, parameterName?
connect_expressionsWire two expressions. Params: materialPath, sourceExpression, sourceOutput?, targetExpression, targetInput?
connect_to_propertyWire expression to material output. Params: materialPath, expressionName, outputName?, property
list_expressionsList expression nodes. Params: materialPath
delete_expressionRemove expression. Params: materialPath, expressionName
list_expression_typesList available expression types
recompileRecompile material. Params: materialPath
duplicateDuplicate material asset. Params: sourcePath, destinationPath
validateValidate material graph - find orphans, broken refs. Params: assetPath
get_shader_statsShader compile stats, sampler+param counts. Params: assetPath
export_graphExport material graph as JSON. Params: assetPath
import_graphRebuild graph from JSON. Params: assetPath, nodes, propertyConnections?
build_graphBuild graph from spec. Params: assetPath, nodes, propertyConnections?
render_previewRender preview PNG. Params: assetPath, outputPath, width?, height?
begin_transactionBegin undo transaction. Params: label?
end_transactionEnd undo transaction

animation

Animation assets, skeletons, montages, blendspaces, anim blueprints, physics assets.

ActionDescription
read_anim_blueprintRead AnimBP structure. Params: assetPath
read_montageRead montage. Params: assetPath
read_sequenceRead anim sequence. Params: assetPath
read_blendspaceRead blendspace. Params: assetPath
listList anim assets. Params: directory?, recursive?
create_montageCreate montage. Params: animSequencePath, name?, packagePath?
create_anim_blueprintCreate AnimBP. Params: skeletonPath, name?, packagePath?, parentClass?
create_blendspaceCreate blendspace. Params: skeletonPath, name?, packagePath?, axisHorizontal?, axisVertical?
add_notifyAdd notify. Params: assetPath, notifyName, triggerTime, notifyClass?
get_skeleton_infoRead skeleton. Params: assetPath
list_socketsList sockets. Params: assetPath
list_skeletal_meshesList skeletal meshes. Params: directory?, recursive?
get_physics_assetRead physics asset. Params: assetPath
create_sequenceCreate blank AnimSequence. Params: name, skeletonPath, packagePath?, numFrames?, frameRate?
set_bone_keyframesSet bone transform keyframes. Params: assetPath, boneName, keyframes
get_bone_transformsRead reference pose transforms. Params: skeletonPath, boneNames?
set_montage_sequenceReplace animation sequence in a montage. Params: assetPath, animSequencePath, slotIndex?
set_montage_propertiesSet montage properties. Params: assetPath, sequenceLength?, rateScale?, blendIn?, blendOut?
create_state_machineCreate state machine in AnimBP. Params: assetPath, name?, graphName?
add_stateAdd state to a state machine. Params: assetPath, stateMachineName, stateName
add_transitionAdd directed transition between states. Params: assetPath, stateMachineName, fromState, toState
set_state_animationAssign anim asset to state. Params: assetPath, stateMachineName, stateName, animAssetPath
set_transition_blendSet blend type/duration on transition. Params: assetPath, stateMachineName, fromState, toState, blendDuration?, blendLogic?
read_state_machineRead state machine topology. Params: assetPath, stateMachineName
read_anim_graphRead AnimBP AnimGraph nodes with properties & pins. Params: assetPath, graphName?
add_curveAdd float curve to AnimSequence. Params: assetPath, curveName, curveType?
set_montage_slotSet slot name on a montage track. Params: assetPath, slotName, trackIndex?
add_montage_sectionAdd composite section to montage. Params: assetPath, sectionName, startTime?, linkedSection?
create_ik_rigCreate IKRigDefinition asset, optionally with retargetRoot + chains[]. Params: name, skeletalMeshPath, packagePath?, retargetRoot?, chains?: [(name, startBone, endBone, goal?)]
read_ik_rigRead IK Rig chains, solvers, skeleton. Params: assetPath
list_control_rig_variablesList ControlRig variables and hierarchy. Params: assetPath
set_root_motionSet root motion settings on AnimSequence. Params: assetPath, enableRootMotion?, forceRootLock?, useNormalizedRootMotionScale?, rootMotionRootLock?
add_virtual_boneAdd virtual bone. Params: skeletonPath, sourceBone, targetBone
remove_virtual_boneRemove virtual bone. Params: skeletonPath, virtualBoneName
create_compositeCreate AnimComposite. Params: name, skeletonPath, packagePath?
list_modifiersList applied animation modifiers. Params: assetPath
create_ik_retargeterCreate IKRetargeter asset. Params: name, packagePath?, sourceRig?, targetRig?
set_anim_blueprint_skeletonSet target skeleton on AnimBP. Params: assetPath, skeletonPath
read_bone_trackRead bone transform samples from AnimSequence. Params: assetPath, boneName, frames?: [int]
create_pose_search_databaseCreate a PoseSearchDatabase asset (motion matching). Params: name, packagePath?, schemaPath?
set_pose_search_schemaSet the Schema on an existing PoseSearchDatabase. Params: assetPath, schemaPath
add_pose_search_sequenceAppend an AnimSequence/AnimComposite/AnimMontage/BlendSpace to a PoseSearchDatabase. Params: assetPath, sequencePath
build_pose_search_indexBuild (or rebuild) the search index. Params: assetPath, wait? (default true)
read_pose_search_databaseInspect a PoseSearchDatabase: schema, animation entries, cost biases, tags. Params: assetPath
set_sequence_propertiesBatch-set properties on AnimSequence assets. If a path is a Montage and resolveFromMontages is true (default), resolves to its first AnimSequence. Params: assetPaths[], properties(enableRootMotion?, forceRootLock?, useNormalizedRootMotionScale?, rootMotionRootLock?), resolveFromMontages?
bake_root_motion_from_boneBake delta translation from a source bone (e.g. pelvis) onto the root bone across the whole sequence; compensates the source bone so world-space position is unchanged. Params: `assetPath, sourceBone, rootBone? (default 'root'), axes? (default ['x','y']), interpolation? ('linear'\

landscape

Landscape terrain: info, layers, sculpting, painting, materials, heightmap import.

ActionDescription
get_infoGet landscape setup
list_layersList paint layers
sampleSample height/layers. Params: x, y
list_splinesRead landscape splines
get_componentInspect component. Params: componentIndex
sculptSculpt heightmap. Params: x, y, radius, strength, falloff?
paint_layerPaint weight layer. Params: layerName, x, y, radius, strength?
set_materialSet landscape material. Params: materialPath
add_layer_infoRegister paint layer. Params: layerName
import_heightmapImport heightmap file. Params: filePath
get_material_usage_summaryPer-proxy summary: landscape/hole material paths + component/grass/nanite counts (#150)

pcg

Procedural Content Generation: graphs, nodes, connections, execution, volumes.

ActionDescription
list_graphsList PCG graphs. Params: directory?, recursive?
read_graphRead graph structure. Params: assetPath
read_node_settingsRead node settings. Params: assetPath, nodeName
get_componentsList PCG components in level
get_component_detailsInspect PCG component. Params: actorLabel
create_graphCreate graph. Params: name, packagePath?
add_nodeAdd node. Params: assetPath, nodeType, nodeName?
connect_nodesWire nodes. Params: assetPath, sourceNode, sourcePin, targetNode, targetPin
set_node_settingsSet node params. Params: assetPath, nodeName, settings
set_static_mesh_spawner_meshesPopulate weighted MeshEntries on a PCGStaticMeshSpawner node (#145). Params: assetPath, nodeName, entries=[(mesh, weight?)], replace? (default true)
remove_nodeRemove node. Params: assetPath, nodeName
executeRegenerate PCG. Params: actorLabel
force_regenerateForce a stuck PCG component to regenerate (clears graph ref, re-sets, cleanup+generate). Params: actorLabel (#146)
cleanupCleanup a PCG component (remove spawned content). Params: actorLabel, removeComponents? (default true) (#146)
toggle_graphToggle a PCG component's graph assignment to force reinit (no generate). Params: actorLabel, graphPath? (#146)
add_volumePlace PCG volume. Params: graphPath, location?, extent?
import_graphBulk-author a PCG graph from JSON. Params: assetPath, nodes=[(name,class,posX?,posY?,settings?)], connections=[(from,fromPin?,to,toPin?)], replace? (default false)
export_graphExport a PCG graph as JSON. Params: assetPath, includeSettings? (default true)

foliage

Foliage painting, types, sampling, and settings.

ActionDescription
list_typesList foliage types in level
get_settingsRead foliage type settings. Params: foliageTypeName
sampleQuery instances in region. Params: center, radius, foliageType?
paintAdd foliage. Params: foliageType, center, radius, count?, density?
eraseRemove foliage. Params: center, radius, foliageType?
create_typeCreate foliage type from mesh. Params: meshPath, name?, packagePath?
set_settingsModify type settings. Params: foliageTypeName, settings

niagara

Niagara VFX: systems, emitters, spawning, parameters, and graph authoring.

ActionDescription
listList Niagara assets. Params: directory?, recursive?
get_infoInspect system. Params: assetPath
spawnSpawn VFX. Params: systemPath, location, rotation?, label?
set_parameterSet parameter. Params: actorLabel, parameterName, value, parameterType?
createCreate system. Params: name, packagePath?
create_emitterCreate Niagara emitter. Params: name, packagePath?, templatePath?
add_emitterAdd emitter to system. Params: systemPath, emitterPath
list_emittersList emitters in system. Params: systemPath
set_emitter_propertySet emitter property. Params: systemPath, emitterName?, propertyName, value
list_modulesList Niagara modules. Params: directory?
get_emitter_infoInspect emitter. Params: assetPath
list_renderersList renderers on an emitter. Params: systemPath, emitterName?, emitterIndex?
add_rendererAdd renderer (sprite/mesh/ribbon or full class). Params: systemPath, rendererType, emitterName?, emitterIndex?
remove_rendererRemove renderer by index. Params: systemPath, rendererIndex, emitterName?, emitterIndex?
set_renderer_propertySet renderer bool/number/string property. Params: systemPath, rendererIndex, propertyName, value, emitterName?, emitterIndex?
inspect_data_interfacesList user-scope data interfaces. Params: systemPath
create_system_from_specDeclaratively create a system + emitters. Params: name, packagePath?, emitters?:[(path)]
get_compiled_hlslRead GPU compute script info for an emitter. Params: systemPath, emitterName?, emitterIndex?
list_system_parametersList user-exposed system parameters. Params: systemPath
list_module_inputsList modules + their input pins for an emitter. Params: `systemPath, emitterName?, emitterIndex?, stackContext? (ParticleSpawn\
set_module_inputSet literal default on a module input pin. Params: systemPath, moduleName, inputName, value, emitterName?, emitterIndex?, stackContext?
list_static_switchesList static switch inputs on a module. Params: systemPath, moduleName, emitterName?, emitterIndex?, stackContext?
set_static_switchSet static switch value on a module's function call node. Params: systemPath, moduleName, switchName, value, emitterName?, emitterIndex?, stackContext?
create_module_from_hlslCreate a NiagaraScript module backed by a custom HLSL node. Params: name, hlsl, packagePath?, inputs?:[(name,type)], outputs?:[(name,type)]
create_scratch_moduleCreate empty Niagara scratch module. Params: name, packagePath?, inputs?:[(name,type)], outputs?:[(name,type)] (#185)
batchRun a sequence of niagara operations against the bridge in order. Fails fast on the first error (returns results up to that point + error). Params: ops:[(action, params)] where action is any niagara subaction listed above

audio

Audio: sound assets, playback, ambient sounds, SoundCues, MetaSounds.

ActionDescription
listList sound assets. Params: directory?, recursive?
play_at_locationPlay sound. Params: soundPath, location, volumeMultiplier?, pitchMultiplier?
spawn_ambientPlace ambient sound. Params: soundPath, location, label?
create_cueCreate SoundCue. Params: name, packagePath?, soundWavePath?
create_metasoundCreate MetaSoundSource. Params: name, packagePath?

widget

UMG Widget Blueprints, Editor Utility Widgets, and Editor Utility Blueprints.

ActionDescription
read_treeRead widget hierarchy. Params: assetPath
get_detailsInspect widget. Params: assetPath, widgetName
set_propertySet widget property. Params: assetPath, widgetName, propertyName, value
listList Widget BPs. Params: directory?, recursive?
read_animationsRead UMG animations. Params: assetPath
createCreate Widget BP. Params: name, packagePath?, parentClass?
create_utility_widgetCreate editor utility widget. Params: name, packagePath?
run_utility_widgetOpen editor utility widget. Params: assetPath
create_utility_blueprintCreate editor utility blueprint. Params: name, packagePath?
run_utility_blueprintRun editor utility blueprint. Params: assetPath
add_widgetAdd widget to widget tree. Params: assetPath, widgetClass, widgetName?, parentWidgetName?
remove_widgetRemove widget from tree. Params: assetPath, widgetName
move_widgetReparent widget. Params: assetPath, widgetName, newParentWidgetName
list_classesList available widget classes
list_runtime(#160) List live UUserWidget instances in the PIE world. Params: classFilter?, namePrefix?, viewportOnly?
get_runtime(#160) Inspect a live PIE widget tree with text/visibility/brush/percent values. Params: `widgetName? \
get_runtime_delegates(#161) Read delegate binding state on a live PIE widget. Params: widgetName, className?

editor

Editor commands, Python execution, PIE, undo/redo, hot reload, viewport, performance, sequencer, build pipeline, logs, editor control.

ActionDescription
start_editorLaunch Unreal Editor with the current project and reconnect bridge
stop_editorClose Unreal Editor gracefully
restart_editorStop then start the editor
execute_commandRun console command. Params: command
execute_pythonRun Python in editor. Params: code
run_python_fileRun a Python file from disk with file/name populated (#142). Params: filePath, args?
set_propertySet UObject property. Params: objectPath, propertyName, value
play_in_editorPIE control. Params: `pieAction (start\
get_runtime_valueRead PIE actor value. Params: actorLabel, propertyName
get_pie_pawnResolve the controlled pawn in the active PIE world. Params: playerIndex? (default 0)
invoke_functionCall a BlueprintCallable / Exec UFUNCTION on a target actor. Params: `actorLabel, functionName, args? (object), world? (editor\
set_pie_time_scaleFast-forward PIE game time. Params: factor (>0)
hot_reloadHot reload C++
undoUndo last transaction
redoRedo last transaction
get_perf_statsEditor performance stats
run_statRun stat command. Params: command
set_scalabilitySet quality. Params: level
capture_screenshotScreenshot. Params: `filename?, resolution?, target? (auto\
capture_scene_pngHeadless PNG screenshot via SceneCapture2D (works unfocused, guaranteed RGBA8 LDR). Params: outputPath, location?, rotation?, width? (default 1280), height? (default 720), fov? (default 90) (#148)
get_viewportGet viewport camera
set_viewportSet viewport camera. Params: location?, rotation?
focus_on_actorFocus on actor. Params: actorLabel
create_sequenceCreate Level Sequence. Params: name, packagePath?
get_sequence_infoRead sequence. Params: assetPath, includeSectionDetails? (attach sockets, first transform key values per track)
add_sequence_trackAdd track. Params: assetPath, trackType, actorLabel?
play_sequencePlay/stop/pause sequence. Params: assetPath, sequenceAction
build_allBuild all (geometry, lighting, paths, HLOD)
build_geometryRebuild BSP geometry
build_hlodBuild HLODs
validate_assetsRun data validation. Params: directory?
get_build_statusGet build/map status
cook_contentCook content. Params: platform?
get_logRead output log. Params: maxLines?, filter?, category?
search_logSearch log. Params: query
get_message_logRead message log. Params: logName?
list_crashesList crash reports
get_crash_infoGet crash details. Params: crashFolder
check_for_crashesCheck for recent crashes
set_dialog_policyAuto-respond to dialogs matching a pattern. Params: pattern, response
clear_dialog_policyClear dialog policies. Params: pattern?
get_dialog_policyGet current dialog policies
list_dialogsList active modal dialogs
respond_to_dialogClick a button on the active modal dialog. Params: buttonIndex?, buttonLabel?
open_assetOpen asset in its editor. Params: assetPath
reload_bridgeHot-reload Python bridge handlers from disk

reflection

UE reflection: classes, structs, enums, gameplay tags.

ActionDescription
reflect_classReflect UClass. Params: className, includeInherited?
reflect_structReflect UScriptStruct. Params: structName
reflect_enumReflect UEnum. Params: enumName
list_classesList classes. Params: parentFilter?, limit?
list_tagsList gameplay tags. Params: filter?
create_tagCreate gameplay tag. Params: tag, comment?

gameplay

Gameplay systems: physics, collision, navigation, input, behavior trees, AI (EQS, perception, State Trees, Smart Objects), game framework.

ActionDescription
set_collision_profileSet collision preset. Params: actorLabel, profileName
set_simulate_physicsToggle physics. Params: actorLabel, simulate
set_collision_enabledSet collision mode. Params: actorLabel, collisionEnabled
set_physics_propertiesSet mass/damping/gravity. Params: actorLabel, mass?, linearDamping?, angularDamping?, enableGravity?
rebuild_navigationRebuild navmesh
get_navmesh_infoQuery nav system
project_to_navProject point to navmesh. Params: location, extent?
spawn_nav_modifierPlace nav modifier. Params: location, extent?, areaClass?
create_input_actionCreate InputAction. Params: name, packagePath?, valueType?
create_input_mappingCreate InputMappingContext. Params: name, packagePath?
list_input_assetsList input assets. Params: directory?, recursive?
read_imcRead InputMappingContext mappings. Params: imcPath
list_input_mappingsAlias for read_imc. List key→action bindings with triggers/modifiers. Params: imcPath
add_imc_mappingAdd key mapping to IMC. Params: imcPath, inputActionPath, key
set_mapping_modifiersSet modifiers/triggers on an IMC mapping. Params: imcPath, mappingIndex?, modifiers?, triggers?
remove_imc_mapping(#158) Remove an IMC mapping. Params: `imcPath, mappingIndex? \
set_imc_mapping_key(#158) Rebind an IMC mapping to a new key. Params: `imcPath, newKey, mappingIndex? \
set_imc_mapping_action(#158) Retarget an IMC mapping to a different InputAction. Params: `imcPath, newInputActionPath, mappingIndex? \
list_behavior_treesList behavior trees. Params: directory?, recursive?
get_behavior_tree_infoInspect behavior tree (top-level + blackboard). Params: assetPath
read_behavior_tree_graphWalk BT tree: composites, tasks, decorators, services with blackboard keys. Params: assetPath
create_blackboardCreate Blackboard. Params: name, packagePath?
create_behavior_treeCreate behavior tree. Params: name, packagePath?, blackboardPath?
create_eqs_queryCreate EQS query. Params: name, packagePath?
list_eqs_queriesList EQS queries. Params: directory?
add_perceptionAdd AIPerceptionComponent. Params: blueprintPath, senses?
configure_senseConfigure perception sense. Params: blueprintPath, senseType, settings?
create_state_treeCreate StateTree. Params: name, packagePath?
list_state_treesList StateTrees. Params: directory?
add_state_tree_componentAdd StateTreeComponent. Params: blueprintPath
create_smart_object_defCreate SmartObjectDefinition. Params: name, packagePath?
add_smart_object_componentAdd SmartObjectComponent. Params: blueprintPath
inspect_pieInspect PIE runtime. Params: actorLabel?
get_pie_anim_stateGet PIE anim instance state. Params: actorLabel
get_pie_anim_propertiesRead arbitrary UPROPERTY values on a PIE actor's AnimInstance (#139). Params: actorLabel, propertyNames? (omit = dump all)
get_pie_subsystem_stateRead UPROPERTY values on a running subsystem in PIE (#139). Params: `subsystemClass, scope? (game\
create_game_modeCreate GameMode BP. Params: name, packagePath?, parentClass?, defaults?
create_game_stateCreate GameState BP. Params: name, packagePath?, parentClass?
create_player_controllerCreate PlayerController BP. Params: name, packagePath?, parentClass?
create_player_stateCreate PlayerState BP. Params: name, packagePath?
create_hudCreate HUD BP. Params: name, packagePath?
set_world_game_modeSet level GameMode override. Params: gameModePath
get_framework_infoGet level framework classes
get_navmesh_detailsRead RecastNavMesh generation params (cellSize, agentHeight, maxStepHeight, etc.) (#163)
apply_damage_in_pieApply damage to PIE actor. Params: actorLabel, baseDamage?, damageTypeClass? (#186)

gas

Gameplay Ability System: abilities, effects, attribute sets, cues.

ActionDescription
add_ascAdd AbilitySystemComponent. Params: blueprintPath, componentName?
create_attribute_setCreate AttributeSet BP. Params: name, packagePath?
add_attributeAdd attribute to set. Params: attributeSetPath, attributeName, defaultValue?
create_abilityCreate GameplayAbility BP. Params: name, packagePath?, parentClass?
set_ability_tagsSet tags on ability. Params: abilityPath, ability_tags?, cancel_abilities_with_tag?, activation_required_tags?, activation_blocked_tags?
create_effectCreate GameplayEffect BP. Params: name, packagePath?, durationPolicy?
set_effect_modifierAdd modifier. Params: effectPath, attribute, operation?, magnitude?
create_cueCreate GameplayCue. Params: name, packagePath?, cueType?
get_infoInspect GAS setup. Params: blueprintPath

networking

Networking and replication: actor replication, property replication, net relevancy, dormancy.

ActionDescription
set_replicatesEnable actor replication. Params: blueprintPath, replicates?
set_property_replicatedMark variable as replicated. Params: blueprintPath, propertyName, replicated?, replicationCondition?, repNotify?
configure_net_frequencySet update frequency. Params: blueprintPath, netUpdateFrequency?, minNetUpdateFrequency?
set_dormancySet net dormancy. Params: blueprintPath, dormancy
set_net_load_on_clientControl client loading. Params: blueprintPath, loadOnClient?
set_always_relevantAlways network relevant. Params: blueprintPath, alwaysRelevant?
set_only_relevant_to_ownerOnly relevant to owner. Params: blueprintPath, onlyRelevantToOwner?
configure_cull_distanceNet cull distance. Params: blueprintPath, netCullDistanceSquared?
set_priorityNet priority. Params: blueprintPath, netPriority?
set_replicate_movementReplicate movement. Params: blueprintPath, replicateMovement?
get_infoGet networking info. Params: blueprintPath

demo

Neon Shrine demo scene builder and cleanup.

ActionDescription
stepExecute demo step. Params: stepIndex?
cleanupRemove demo assets and actors

feedback

Submit feedback to improve ue-mcp when native tools fall short and execute_python was used as a workaround.

ActionDescription
submitSubmit feedback about a tool gap. Params: title, summary, pythonWorkaround?, idealTool?