mcp/unreal-engine-mcp-server

Verified Publisher

By mcp

Updated 27 days ago

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal ...

Image
Machine learning & AI
4

10K+

mcp/unreal-engine-mcp-server repository overview

Unreal Engine MCP Server

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine via Remote Control API. Built with TypeScript and designed for game development automation.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/ChiR24/Unreal_mcp/blob/8645bb8330b3b9ecbec78428d2621e4ddf274340/Dockerfile
Commit8645bb8330b3b9ecbec78428d2621e4ddf274340
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/unreal-engine-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (23)

Tools provided by this ServerShort Description
animation_physicsAuthor animation and physics assets: Animation Blueprints, blend spaces, montages, Control Rig/IK, skeletons, sockets, physics assets, cloth, ragdolls, and vehicles.
build_environmentBuild environments: landscapes, foliage, procedural terrain/biomes, lighting setups, spline roads/rivers/fences, and world decoration.
control_actorSpawn actors, set transforms, enable physics, add components, manage tags, and attach actors.
control_editorStart/stop PIE, control viewport camera, run console commands, take screenshots, simulate input.
inspectInspect any UObject: read/write properties, list components, export snapshots, and query class info.
manage_aiBuild AI systems: AI controllers, Behavior Trees, Blackboards, EQS, perception, State Trees, Smart Objects, NavMesh settings, nav modifiers, links, and pathfinding.
manage_assetCreate/import/manage assets, material graphs, material instances, procedural textures, render targets, and dependency analysis.
manage_audioPlay/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds.
manage_blueprintCreate Blueprints and UMG widgets, add SCS/UI components, set defaults, and manipulate Blueprint graphs, bindings, and widget layouts.
manage_characterCreate Character Blueprints with movement, locomotion, and animation state machines.
manage_combatCreate weapons with hitscan/projectile firing, configure damage types, hitboxes, reload, and melee combat (combos, parry, block).
manage_effectNiagara particle systems, VFX, debug shapes, and GPU simulations.
manage_gasCreate Gameplay Abilities, Effects, Attribute Sets, and Gameplay Cues for ability systems.
manage_geometryCreate procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation.
manage_interactionCreate interactive objects: doors, switches, chests, levers.
manage_inventoryCreate item data assets, inventory components, world pickups, loot tables, and crafting recipes.
manage_levelLoad/save levels, configure streaming, and build lighting.
manage_level_structureStructure worlds: levels, sublevels, World Partition, streaming, data layers, HLOD, level instances, trigger/blocking/physics/audio/post-process volumes, and nav bounds.
manage_networkingConfigure multiplayer and player flow: replication, RPCs, authority/relevancy, network prediction, sessions, split-screen, LAN/voice chat, game framework classes, match rules, and input mappings.
manage_pcgCreate, edit, execute, and configure PCG graphs: graph assets, input/sampler/filter/spawner nodes, pin connections, node settings, and partition grid size.
manage_sequenceEdit Level Sequences: add tracks, bind actors, set keyframes, control playback, and record camera.
manage_toolsDynamic MCP tool management.
system_controlControl the project runtime: profiling, benchmarks, scalability/LOD/Nanite settings, CVars, console commands, Python scripts, UBT, tests, logs, and widgets.

Tools Details

Tool: animation_physics

Author animation and physics assets: Animation Blueprints, blend spaces, montages, Control Rig/IK, skeletons, sockets, physics assets, cloth, ragdolls, and vehicles. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, assetPath, animationPath, savePath, skeletonPath, parentClass, actorName, targetSkeleton, slotName, sectionName, notifyName, boneName, curveName, stateName, machineName, numFrames, frameRate, interpolationType, axisName, playRate, frame, time, length, location, rotation, scale, value, vehicleType, mass, dragCoefficient, artifacts, sourceSkeleton, sourceIKRigPath, targetIKRigPath, save, additiveAnimType, angularDamping, assets, assignToMesh, attachBoneName, axis, basePoseFrame, basePoseType, blendTime, blendType, blueprintPath, bodyA, bodyB, bodyType, boneTracks, cacheName, center, collisionEnabled, compileReferencers, constraintName, deltas, enableRootMotion, endFrame, forceRootLock, fromSection, fromState, layerSetup, limits, linearDamping, lodIndex, markerName, maxValue, minValue, montagePath, morphTargetName, morphTargetPath, newBoneName, nodeName, outputPath, overwrite, parentBoneName, physicsAssetName, physicsAssetPath, pitch, profileName, propertyName, radius, rebuildBlendParameters, relativeLocation, relativeRotation, relativeScale, removeChildren, rootBoneName, rootMotionRootLock, sampleValue, simulatePhysics, skeletalMeshPath, socketName, sourceBoneName, sourceChain, sourceMeshPath, startFrame, startTime, stateMachineName, suffix, targetBoneName, targetChain, targetMeshPath, threshold, toSection, toState, trackIndex, weights, yaw, params.

ParametersTypeDescription
actionstringAction
actorNamestring optionalName of the actor.
additiveAnimTypestring optional
angularDampingnumber optional
animationPathstring optionalAsset path (e.g., /Game/Path/Asset).
artifactsarray optional
assetPathstring optionalAsset path (e.g., /Game/Path/Asset).
assetsarray optional
assignToMeshboolean optional
attachBoneNamestring optionalName of the bone.
axisstring optional
axisNamestring optional
basePoseFramenumber optional
basePoseTypestring optional
blendTimenumber optional
blendTypestring optional
blueprintPathstring optionalBlueprint asset path.
bodyAstring optional
bodyBstring optional
bodyTypestring optional
boneNamestring optionalName of the bone.
boneTracksarray optional
cacheNamestring optional
centerobject optional3D location (x, y, z).
collisionEnabledboolean optional
compileReferencersboolean optionalforce_rebuild_blend_space: after rebuilding the BS, cascade-compile every AnimBlueprint that references it (via IAssetRegistry referencers). Response returns referencersCompiled count + compiledAnimBlueprints path list. Default true.
constraintNamestring optional
curveNamestring optional
deltasarray optional
dragCoefficientnumber optional
enableRootMotionboolean optional
endFramenumber optional
forceRootLockboolean optional
framenumber optional
frameRatenumber optional
fromSectionstring optional
fromStatestring optional
interpolationTypestring optional
layerSetuparray optional
lengthnumber optional
limitsobject optional
linearDampingnumber optional
locationobject optional3D location (x, y, z).
lodIndexnumber optional
machineNamestring optional
markerNamestring optional
massnumber optional
maxValuenumber optional
minValuenumber optional
montagePathstring optionalAsset path (e.g., /Game/Path/Asset).
morphTargetNamestring optional
morphTargetPathstring optionalAsset path (e.g., /Game/Path/Asset).
namestring optionalName identifier.
newBoneNamestring optionalName of the bone.
nodeNamestring optionalName of the node.
notifyNamestring optional
numFramesnumber optional
outputPathstring optionalOutput file or directory path.
overwriteboolean optionalOverwrite if the asset/file already exists.
paramsobject optionalOptional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
parentBoneNamestring optionalName of the bone.
parentClassstring optional
pathstring optionalDirectory path for asset creation.
physicsAssetNamestring optional
physicsAssetPathstring optionalPath to physics asset.
pitchnumber optional
playRatenumber optional
profileNamestring optional
propertyNamestring optionalName of the property.
radiusnumber optional
rebuildBlendParametersboolean optionalforce_rebuild_blend_space: also trigger PostEditChangeProperty for the BlendParameters UPROPERTY (axis min/max changed). Default false.
relativeLocationobject optional3D location (x, y, z).
relativeRotationobject optional3D rotation (pitch, yaw, roll).
relativeScaleobject optional3D scale (x, y, z).
removeChildrenboolean optional
rootBoneNamestring optionalName of the bone.
rootMotionRootLockstring optional
rotationobject optional3D rotation (pitch, yaw, roll).
sampleValuenumber optional
saveboolean optionalSave the asset(s) after the operation.
savePathstring optionalPath to save the asset.
scaleobject optional3D scale (x, y, z).
sectionNamestring optional
simulatePhysicsboolean optional
skeletalMeshPathstring optionalSkeletal mesh path.
skeletonPathstring optionalAsset path (e.g., /Game/Path/Asset).
slotNamestring optional
socketNamestring optionalName of the socket.
sourceBoneNamestring optionalName of the bone.
sourceChainstring optional
sourceIKRigPathstring optionalAsset path (e.g., /Game/Path/Asset).
sourceMeshPathstring optionalMesh asset path.
sourceSkeletonstring optionalAsset path (e.g., /Game/Path/Asset).
startFramenumber optional
startTimenumber optional
stateMachineNamestring optional
stateNamestring optional
suffixstring optional
targetBoneNamestring optionalName of the bone.
targetChainstring optional
targetIKRigPathstring optionalAsset path (e.g., /Game/Path/Asset).
targetMeshPathstring optionalMesh asset path.
targetSkeletonstring optionalAsset path (e.g., /Game/Path/Asset).
thresholdnumber optional
timenumber optional
toSectionstring optional
toStatestring optional
trackIndexnumber optional
valuestring optionalGeneric value (any type).
vehicleTypestring optional
weightsarray optional
yawnumber optional

Tool: build_environment

Build environments: landscapes, foliage, procedural terrain/biomes, lighting setups, spline roads/rivers/fences, and world decoration. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, landscapeName, heightData, minX, minY, maxX, maxY, updateNormals, location, rotation, sizeX, sizeY, sectionSize, sectionsPerComponent, componentCount, materialPath, tool, radius, strength, falloff, layerName, actorName, foliageType, foliageTypePath, meshPath, density, minScale, maxScale, cullDistance, alignToNormal, randomYaw, removeAll, locations, transforms, position, bounds, volumeName, seed, foliageTypes, points, quadsPerSection, count, assets, numLODs, subdivisions, tileSize, quality, staticMesh, timeoutMs, path, filename, assetPaths, heightmapPath, outputPath, landscapePath, landscapeActorPath, actorPath, layerInfoPath, physicalMaterialPath, noWeightBlend, hardness, waterBodyName, targetActor, particleSystemPath, curvePath, cubemapPath, settings, waveHeight, waveLength, amplitude, steepness, speed, direction, azimuth, elevation, collisionEnabled, names, time, spacing, heightScale, material, hour, intensity, skyLightIntensity, alignToSpline, arriveTangent, bClosedLoop, blueprintPath, compensationValue, componentName, enabled, forwardAxis, initialPoints, leaveTangent, lightType, materialIndex, maxBrightness, method, minBrightness, operation, pointIndex, pointRotation, pointScale, pointType, propertyName, propertyValue, randomOffsetRange, randomizeRotation, randomizeScale, region, rotationRange, save, skipFlush, splineType, useRandomOffset, width, params.

ParametersTypeDescription
actionstringAction
actorNamestring optionalName of the actor.
actorPathstring optional
alignToNormalboolean optional
alignToSplineboolean optional
amplitudenumber optional
arriveTangentobject optional3D location (x, y, z).
assetPathsarray optional
assetsarray optional
azimuthnumber optional
bClosedLoopboolean optional
blueprintPathstring optionalBlueprint asset path.
boundsobject optional
collisionEnabledboolean optional
compensationValuenumber optional
componentCountobject optional2D vector.
componentNamestring optionalName of the component.
countnumber optional
cubemapPathstring optionalAsset path (e.g., /Game/Path/Asset).
cullDistancenumber optional
curvePathstring optionalAsset path (e.g., /Game/Path/Asset).
densitynumber optional
directionobject optional3D rotation (pitch, yaw, roll).
elevationnumber optional
enabledboolean optionalWhether the item/feature is enabled.
falloffnumber optional
filenamestring optional
foliageTypestring optional
foliageTypePathstring optionalAsset path (e.g., /Game/Path/Asset).
foliageTypesarray optional
forwardAxisstring optional
hardnessnumber optional
heightDataarray optional
heightScalenumber optional
heightmapPathstring optional
hournumber optional
initialPointsarray optional
intensitynumber optional
landscapeActorPathstring optional
landscapeNamestring optional
landscapePathstring optionalAsset path (e.g., /Game/Path/Asset).
layerInfoPathstring optionalAsset path (e.g., /Game/Path/Asset).
layerNamestring optional
leaveTangentobject optional3D location (x, y, z).
lightTypestring optional
locationobject optional3D location (x, y, z).
locationsarray optional
materialstring optionalMaterial asset path.
materialIndexnumber optional
materialPathstring optionalMaterial asset path.
maxBrightnessnumber optional
maxScalenumber optional
maxXnumber optional
maxYnumber optional
meshPathstring optionalMesh asset path.
methodstring optional
minBrightnessnumber optional
minScalenumber optional
minXnumber optional
minYnumber optional
namestring optionalName identifier.
namesarray optional
noWeightBlendboolean optional
numLODsnumber optional
operationstring optional
outputPathstring optional
paramsobject optionalOptional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
particleSystemPathstring optionalAsset path (e.g., /Game/Path/Asset).
pathstring optionalPath to a directory.
physicalMaterialPathstring optionalAsset path (e.g., /Game/Path/Asset).
pointIndexnumber optional
pointRotationobject optional3D rotation (pitch, yaw, roll).
pointScaleobject optional3D scale (x, y, z).
pointTypestring optional
pointsarray optional
positionobject optional3D location (x, y, z).
propertyNamestring optionalName of the property.
propertyValuestring optionalGeneric value (any type).
quadsPerSectionnumber optional
qualitystring optional
radiusnumber optional
randomOffsetRangenumber optional
randomYawboolean optional
randomizeRotationboolean optional
randomizeScaleboolean optional
regionobject optional
removeAllboolean optional
rotationobject optional3D rotation (pitch, yaw, roll).
rotationRangeobject optional3D rotation (pitch, yaw, roll).
saveboolean optionalSave the asset(s) after the operation.
sectionSizenumber optional
sectionsPerComponentnumber optional
seednumber optional
settingsobject optional
sizeXnumber optional
sizeYnumber optional
skipFlushboolean optional
skyLightIntensitynumber optional
spacingnumber optional
speednumber optional
splineTypestring optional
staticMeshstring optionalMesh asset path.
steepnessnumber optional
strengthnumber optional
subdivisionsnumber optional
targetActorstring optionalName of the actor.
tileSizenumber optional
timenumber optional
timeoutMsnumber optional
toolstring optional
transformsarray optional
updateNormalsboolean optional
useRandomOffsetboolean optional
volumeNamestring optional
waterBodyNamestring optionalName of the actor.
waveHeightnumber optional
waveLengthnumber optional
widthnumber optional

Tool: control_actor

Spawn actors, set transforms, enable physics, add components, manage tags, and attach actors. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: actorName, childActor, parentActor, classPath, meshPath, materialPath, materialSlot, materialIndex, allComponents, blueprintPath, location, rotation, scale, force, componentType, componentName, properties, visible, newName, tag, variables, snapshotName, actorClass, actorNames, arguments, className, collisionEnabled, functionName, limit, filter, name, offset, propertyName, value, params.

ParametersTypeDescription
actionstringAction
actorClassstring optional
actorNamestring optionalName of the actor.
actorNamesarray optional
allComponentsboolean optional
argumentsstring optionalGeneric value (any type).
blueprintPathstring optionalBlueprint asset path.
childActorstring optionalName of the child actor (for attach/detach operations).
classNamestring optional
classPathstring optionalAsset path (e.g., /Game/Path/Asset).
collisionEnabledboolean optional
componentNamestring optionalName of the component.
componentTypestring optional
filterstring optional
forceobject optional3D vector.
functionNamestring optionalName of the function.
limitnumber optional
locationobject optional3D location (x, y, z).
materialIndexinteger optional
materialPathstring optionalMaterial asset path.
materialSlotinteger optional
meshPathstring optionalMesh asset path.
namestring optionalName identifier.
newNamestring optionalNew name for renaming.
offsetobject optional3D location (x, y, z).
paramsobject optionalOptional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
parentActorstring optionalName of the parent actor (for attach operations).
propertiesobject optional
propertyNamestring optionalName of the property.
rotationobject optional3D rotation (pitch, yaw, roll).
scaleobject optional3D scale (x, y, z).
snapshotNamestring optional
tagstring optionalName of the tag.
valuestring optionalGeneric value (any type).
variablesobject optional
visibleboolean optionalWhether the item/actor is visible.

Tool: control_editor

Start/stop PIE, control viewport camera, run console commands, take screenshots, simulate input. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: location, rotation, viewMode, enabled, speed, filename, fov, width, height, command, steps, bookmarkName, assetPath, path, levelPath, actorName, objectPath, name, blendTime, mode, returnBase64, includeMetadata, metadata, deltaTime, resolution, realtime, stat, category, preferences, key, type, inputType, inputAction, x, y, button, id, params.

ParametersTypeDescription
actionstringEditor action
actorNamestring optionalName of the actor.
assetPathstring optionalAsset path (e.g., /Game/Path/Asset).
blendTimenumber optional
bookmarkNamestring optional
buttonstring optional
categorystring optional
commandstring optional
deltaTimenumber optional
enabledboolean optionalWhether the item/feature is enabled.
filenamestring optional
fovnumber optional
heightnumber optional
idstring optional
includeMetadataboolean optional
inputActionstring optional
inputTypestring optional
keystring optional
levelPathstring optionalLevel asset path.
locationobject optional3D location (x, y, z).
metadataobject optional
modestring optionalEditor mode for set_editor_mode, or screenshot source: editor_viewport, game_viewport, full_editor_window.
namestring optionalName identifier.
objectPathstring optional
paramsobject optionalOptional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
pathstring optionalPath to a directory.
preferencesobject optional
realtimeboolean optional
resolutionstring optionalResolution setting (e.g., 1024x1024).
returnBase64boolean optionalReturn PNG image data as base64 when supported. Defaults to true for full_editor_window and game_viewport modes.
rotationobject optional3D rotation (pitch, yaw, roll).
speednumber optional
statstring optional
stepsinteger optional
typestring optional
viewModestring optional
widthnumber optional
xnumber optional
ynumber optional

Tool: inspect

Inspect any UObject: read/write properties, list components, export snapshots, and query class info. Actions: inspect_cdo (Blueprint CDO properties + all components without spawning an actor; use blueprintPath, optional detailed/componentName/propertyNames), inspect_class (class metadata), inspect_object (world actor), get_property/set_property, get_components, list_objects, find_by_class, find_by_tag, runtime_report. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: objectPath, propertyName, propertyPath, value, actorName, name, componentName, className, classPath, tag, filter, snapshotName, blueprintPath, detailed, propertyNames, componentNames, params.

ParametersTypeDescription
actionstringAction
actorNamestring optionalName of the actor.
blueprintPathstring optionalBlueprint asset path.
classNamestring optional
classPathstring optionalAsset path (e.g., /Game/Path/Asset).
componentNamestring optionalName of the component.
componentNamesarray optional
detailedboolean optional
filterstring optional
namestring optionalName identifier.
objectPathstring optionalAsset path (e.g., /Game/Path/Asset).
paramsobject optionalOptional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
propertyNamestring optionalName of the property.
propertyNamesarray optional
propertyPathstring optional
snapshotNamestring optional
tagstring optionalName of the tag.
valuestring optionalGeneric value (any type).

Tool: manage_ai

Build AI systems: AI controllers, Behavior Trees, Blackboards, EQS, perception, State Trees, Smart Objects, NavMesh settings, nav modifiers, links, and p

[...]

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:bbc6bede7

Size

66.1 MB

Last updated

27 days ago

docker pull mcp/unreal-engine-mcp-server

This week's pulls

Pulls:

974

Jul 6 to Jul 12