CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
chir24 avatar

Unreal Engine Mcp

chir24/unreal_mcp
69923 toolsSTDIOregistry active
Summary

Bridges Claude to Unreal Engine 5 through a native C++ plugin that exposes 17 automation tools over a local GraphQL endpoint. You get asset operations (import, duplicate, rename), actor spawning and transforms, PIE session control, Sequencer timeline manipulation, and Niagara particle authoring. The plugin runs inside UE's editor process on port 8091 by default, handling Blueprint graphs, animation state machines, level streaming, and console command execution with safety blocks. Ships as an npm package that talks to the C++ bridge you drop into your project's Plugins folder. Aimed at developers automating repetitive editor tasks or prototyping game logic conversationally instead of clicking through menus. Supports UE 5.0 through 5.7 with graceful degradation when the editor isn't running.

Install to Claude Code

verified
claude mcp add unreal-engine-mcp --env LOG_LEVEL=YOUR_LOG_LEVEL --env MCP_ROUTE_STDOUT_LOGS=YOUR_MCP_ROUTE_STDOUT_LOGS --env UE_PROJECT_PATH=YOUR_UE_PROJECT_PATH --env UE_EDITOR_EXE=YOUR_UE_EDITOR_EXE --env UE_SCREENSHOT_DIR=YOUR_UE_SCREENSHOT_DIR --env MCP_AUTOMATION_PORT=YOUR_MCP_AUTOMATION_PORT --env MCP_AUTOMATION_HOST=YOUR_MCP_AUTOMATION_HOST --env MCP_AUTOMATION_ALLOW_NON_LOOPBACK=YOUR_MCP_AUTOMATION_ALLOW_NON_LOOPBACK --env MCP_AUTOMATION_CLIENT_MODE=YOUR_MCP_AUTOMATION_CLIENT_MODE --env MCP_AUTOMATION_USE_TLS=YOUR_MCP_AUTOMATION_USE_TLS --env MCP_CONNECTION_TIMEOUT_MS=YOUR_MCP_CONNECTION_TIMEOUT_MS --env MCP_REQUEST_TIMEOUT_MS=YOUR_MCP_REQUEST_TIMEOUT_MS --env MCP_AUTOMATION_MAX_MESSAGES_PER_MINUTE=YOUR_MCP_AUTOMATION_MAX_MESSAGES_PER_MINUTE --env MCP_AUTOMATION_MAX_AUTOMATION_REQUESTS_PER_MINUTE=YOUR_MCP_AUTOMATION_MAX_AUTOMATION_REQUESTS_PER_MINUTE -- npx -y unreal-engine-mcp-server

Run in your terminal. Replace YOUR_* placeholders with real values; add --scope user to install for every project.

Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →

Tools

Verified live against the running server on Jun 10, 2026.

verified live23 tools
manage_toolsDynamic MCP tool management. List canonical tools, view category counts, and enable/disable tools or categories at runtime. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: tools, category, params.4 params

Dynamic MCP tool management. List canonical tools, view category counts, and enable/disable tools or categories at runtime. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: tools, category, params.

Parameters* required
action*string
list_tools: show canonical tools with status. list_categories: show category counts. enable/disable_tools: toggle specific tools. enable/disable_category: toggle category. get_status: current state...one of list_tools · list_categories · enable_tools · disable_tools · enable_category · disable_category
categorystring
Category name to enable/disable (core, world, gameplay, utility, all)
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
toolsarray
Tool names to enable/disable
manage_assetCreate/import/manage assets, material graphs, material instances, procedural textures, render targets, and dependency analysis. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: assetPath, directory, classNames, pa...123 params

Create/import/manage assets, material graphs, material instances, procedural textures, render targets, and dependency analysis. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: assetPath, directory, classNames, pa...

Parameters* required
action*string
Action to performone of list · import · duplicate · duplicate_asset · rename · rename_asset
additionalOutputsarray
amountnumber
assetPathstring
Asset path (e.g., /Game/Path/Asset).
assetPathsarray
baseTexturestring
Texture asset path.
blendModestring
blendTexturestring
Texture asset path.
blendTypestring
blueTexturestring
Texture asset path.
channelstring
checkoutFilesboolean
classNamesarray
codestring
compressionSettingsstring
constAnumber
constBnumber
coordinateIndexnumber
curvePointsarray
defaultValuevalue
Generic value (any type).

+103 more parameters. See the server's own documentation for the full schema.

manage_blueprintCreate Blueprints and UMG widgets, add SCS/UI components, set defaults, and manipulate Blueprint graphs, bindings, and widget layouts. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, blueprintPath, blueprin...147 params

Create Blueprints and UMG widgets, add SCS/UI components, set defaults, and manipulate Blueprint graphs, bindings, and widget layouts. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, blueprintPath, blueprin...

Parameters* required
action*string
Blueprint actionone of create · create_blueprint · get_blueprint · get · compile · add_component
actionPathstring
Asset path (e.g., /Game/Path/Asset).
alignmentobject
Widget alignment (0-1).
alwaysShowScrollbarboolean
Always show scrollbar.
anchorMaxobject
Maximum anchor point (0-1).
anchorMinobject
Minimum anchor point (0-1).
anglenumber
Angle in degrees.
animationNamestring
Animation name.
applyAndSaveboolean
attachTostring
autoWrapboolean
Enable text auto-wrap.
bindingSourcestring
Variable or function name to bind to.
blueprintPathstring
Blueprint asset path.
blueprintTypestring
Path or name of the parent class.
brushColorobject
Border brush color.
brushSizeobject
Brush/image size.
categorystring
clippingstring
Widget clipping mode.one of Inherit · ClipToBounds · ClipToBoundsWithoutIntersecting · ClipToBoundsAlways · OnDemand
colorAndOpacityobject
Color and opacity (0-1 values).
columnCountnumber
Number of columns.

+127 more parameters. See the server's own documentation for the full schema.

control_actorSpawn 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,...36 params

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,...

Parameters* required
action*string
Actionone of spawn · spawn_actor · spawn_blueprint · delete · destroy_actor · delete_by_tag
actorClassstring
actorNamestring
Name of the actor.
actorNamesarray
allComponentsboolean
argumentsvalue
Generic value (any type).
blueprintPathstring
Blueprint asset path.
childActorstring
Name of the child actor (for attach/detach operations).
classNamestring
classPathstring
Asset path (e.g., /Game/Path/Asset).
collisionEnabledboolean
componentNamestring
Name of the component.
componentTypestring
filterstring
forceobject
3D vector.
functionNamestring
Name of the function.
limitnumber
locationobject
3D location (x, y, z).
materialIndexinteger
materialPathstring
Material asset path.

+16 more parameters. See the server's own documentation for the full schema.

control_editorStart/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,...39 params

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,...

Parameters* required
action*string
Editor actionone of play · stop · stop_pie · pause · resume · eject
actorNamestring
Name of the actor.
assetPathstring
Asset path (e.g., /Game/Path/Asset).
blendTimenumber
bookmarkNamestring
buttonstring
categorystring
commandstring
deltaTimenumber
enabledboolean
Whether the item/feature is enabled.
filenamestring
fovnumber
heightnumber
idstring
includeMetadataboolean
inputActionstring
inputTypestring
keystring
levelPathstring
Level asset path.
locationobject
3D location (x, y, z).

+19 more parameters. See the server's own documentation for the full schema.

manage_levelLoad/save levels, configure streaming, and build lighting. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: levelPath, assetPath, levelPaths, levelName, path, savePath, destinationPath, overwrite, targetPath, expo...35 params

Load/save levels, configure streaming, and build lighting. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: levelPath, assetPath, levelPaths, levelName, path, savePath, destinationPath, overwrite, targetPath, expo...

Parameters* required
action*string
Actionone of load · load_level · save · save_level · save_as · save_level_as
assetPathstring
Asset path (e.g., /Game/Path/Asset).
colorarray
RGBA color as an array [r, g, b, a].
destinationPathstring
Destination path for move/copy.
exportPathstring
Export file path.
intensitynumber
levelNamestring
levelPathstring
Level asset path.
levelPathsarray
lightTypestring
Light type. Accepts short names (Point), class names (PointLight), or lowercase (point).one of Directional · Point · Spot · Rect · DirectionalLight · PointLight
locationobject
3D location (x, y, z).
metadataobject
namestring
Name identifier.
newNamestring
overwriteboolean
Overwrite if the asset/file already exists.
packagePathstring
Path to a directory.
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
parentLevelstring
Parent level path.
parentPathstring
Path to a directory.
pathstring
Directory path for asset creation.

+15 more parameters. See the server's own documentation for the full schema.

build_environmentBuild 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, heightDa...118 params

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, heightDa...

Parameters* required
action*string
Actionone of create_landscape · sculpt · sculpt_landscape · add_foliage · paint_foliage · create_procedural_terrain
actorNamestring
Name of the actor.
actorPathstring
alignToNormalboolean
alignToSplineboolean
amplitudenumber
arriveTangentobject
3D location (x, y, z).
assetPathsarray
assetsarray
azimuthnumber
bClosedLoopboolean
blueprintPathstring
Blueprint asset path.
boundsobject
collisionEnabledboolean
compensationValuenumber
componentCountobject
2D vector.
componentNamestring
Name of the component.
countnumber
cubemapPathstring
Asset path (e.g., /Game/Path/Asset).
cullDistancenumber

+98 more parameters. See the server's own documentation for the full schema.

animation_physicsAuthor 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...112 params

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...

Parameters* required
action*string
Actionone of create_animation_blueprint · create_animation_bp · create_anim_blueprint · create_blend_space · create_blend_space_1d · create_blend_space_2d
actorNamestring
Name of the actor.
additiveAnimTypestring
angularDampingnumber
animationPathstring
Asset path (e.g., /Game/Path/Asset).
artifactsarray
assetPathstring
Asset path (e.g., /Game/Path/Asset).
assetsarray
assignToMeshboolean
attachBoneNamestring
Name of the bone.
axisstring
axisNamestring
basePoseFramenumber
basePoseTypestring
blendTimenumber
blendTypestring
blueprintPathstring
Blueprint asset path.
bodyAstring
bodyBstring
bodyTypestring

+92 more parameters. See the server's own documentation for the full schema.

system_controlControl the project runtime: profiling, benchmarks, scalability/LOD/Nanite settings, CVars, console commands, Python scripts, UBT, tests, logs, and widgets. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: profile...59 params

Control the project runtime: profiling, benchmarks, scalability/LOD/Nanite settings, CVars, console commands, Python scripts, UBT, tests, logs, and widgets. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: profile...

Parameters* required
action*string
Actionone of profile · show_fps · set_quality · screenshot · set_resolution · set_fullscreen
actorsarray
argumentsstring
assetPathstring
Asset path (e.g., /Game/Path/Asset).
boostPlayerLocationboolean
categorystring
categoryNamestring
cellSizenumber
channelsstring
childClassstring
codestring
Python code to execute inline
commandstring
configurationstring
detailedboolean
durationnumber
enableBatchingboolean
enableInstancingboolean
enabledboolean
Whether the item/feature is enabled.
filestring
Path to .py file to execute
filenamestring

+39 more parameters. See the server's own documentation for the full schema.

manage_sequenceEdit Level Sequences: add tracks, bind actors, set keyframes, control playback, and record camera. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, actorName, actorNames, frame, value, property, destin...31 params

Edit Level Sequences: add tracks, bind actors, set keyframes, control playback, and record camera. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, actorName, actorNames, frame, value, property, destin...

Parameters* required
action*string
Actionone of create · open · add_camera · add_actor · add_actors · remove_actors
actorNamestring
Name of the actor.
actorNamesarray
classNamestring
destinationPathstring
Destination path for move/copy.
endnumber
endFramenumber
framenumber
frameRatestring
lengthInFramesnumber
lockedboolean
loopModestring
metadataobject
mutedboolean
namestring
Name identifier.
newNamestring
New name for renaming.
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
pathstring
Asset path (e.g., /Game/Path/Asset).
playbackEndnumber
playbackStartnumber

+11 more parameters. See the server's own documentation for the full schema.

inspectInspect 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 (cla...18 params

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 (cla...

Parameters* required
action*string
Actionone of inspect_object · get_actor_details · get_blueprint_details · get_mesh_details · get_texture_details · get_material_details
actorNamestring
Name of the actor.
blueprintPathstring
Blueprint asset path.
classNamestring
classPathstring
Asset path (e.g., /Game/Path/Asset).
componentNamestring
Name of the component.
componentNamesarray
detailedboolean
filterstring
namestring
Name identifier.
objectPathstring
Asset path (e.g., /Game/Path/Asset).
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
propertyNamestring
Name of the property.
propertyNamesarray
propertyPathstring
snapshotNamestring
tagstring
Name of the tag.
valuevalue
Generic value (any type).
manage_audioPlay/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, soundPath, location, rotation, volume,...69 params

Play/stop sounds, add audio components, configure mixes, attenuation, spatial audio, and author Sound Cues/MetaSounds. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, soundPath, location, rotation, volume,...

Parameters* required
action*string
Actionone of create_sound_cue · play_sound_at_location · play_sound_2d · create_audio_component · create_sound_mix · push_sound_mix
actorNamestring
Name of the actor.
analysisTypestring
assetPathstring
Asset path (e.g., /Game/Path/Asset).
attachPointNamestring
Name of the socket.
attenuationPathstring
Asset path (e.g., /Game/Path/Asset).
attenuationShapestring
componentNamestring
Name of the component.
concurrencyPathstring
Asset path (e.g., /Game/Path/Asset).
defaultValuevalue
Generic value (any type).
dopplerIntensitynumber
effectTypestring
enableboolean
enableReverbSendboolean
enabledboolean
Whether the item/feature is enabled.
fadeInTimenumber
fadeOutTimenumber
fadeTimenumber
fadeTypestring
falloffDistancenumber

+49 more parameters. See the server's own documentation for the full schema.

manage_geometryCreate procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: outputPath, assetPath, name, path, actorName, width, height...74 params

Create procedural meshes using Geometry Script: booleans, deformers, UVs, collision, and LOD generation. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: outputPath, assetPath, name, path, actorName, width, height...

Parameters* required
action*string
Geometry action to performone of create_box · create_sphere · create_cylinder · create_cone · create_capsule · create_torus
actorNamestring
Name of the actor.
amountnumber
Generic amount for operations (bevel size, inset distance, etc.).
anglenumber
Angle in degrees.
assetPathstring
Asset path (e.g., /Game/Path/Asset).
axisstring
Axis for deformation operations.one of X · Y · Z
capboolean
centerobject
3D location (x, y, z).
collisionTypestring
Collision complexity type.one of Default · Simple · Complex · UseComplexAsSimple · UseSimpleAsComplex
computeWeightedNormalsboolean
Use area-weighted normals.
countnumber
depthnumber
Depth value.
depthSegmentsnumber
Segments along depth.
dimensionsobject
3D dimensions (width, height, depth).
distancenumber
Distance value.
hardEdgeAnglenumber
Angle threshold for hard edges (degrees).
heightnumber
Height value.
heightScalenumber
Texture displacement height scale.
heightSegmentsnumber
Segments along height.
hullCountnumber
Number of convex hulls for decomposition.

+54 more parameters. See the server's own documentation for the full schema.

manage_pcgCreate, edit, execute, and configure PCG graphs: graph assets, input/sampler/filter/spawner nodes, pin connections, node settings, and partition grid size. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: graphPat...39 params

Create, edit, execute, and configure PCG graphs: graph assets, input/sampler/filter/spawner nodes, pin connections, node settings, and partition grid size. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: graphPat...

Parameters* required
action*string
PCG graph action to performone of create_pcg_graph · create_pcg_subgraph · add_pcg_node · connect_pcg_pins · set_pcg_node_settings · add_landscape_data_node
actorClassstring
actorNamestring
Name of the actor.
assetPathstring
Asset path (e.g., /Game/Path/Asset).
classPathstring
componentNamestring
Name of the component.
componentPathstring
Component path/name for PCG execution.
createComponentboolean
forceboolean
graphPathstring
PCG graph asset path (e.g., /Game/PCG/PCG_MyGraph).
gridSizenumber
inputNamestring
Name of the pin.
meshPathstring
Mesh asset path.
namestring
Name identifier.
nodeIdstring
ID of the node.
nodeNamestring
Name of the node.
nodeTypestring
PCG node type alias or UPCGSettings class path/name.
outputNamestring
Name of the pin.
overwriteboolean
Overwrite if the asset/file already exists.
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.

+19 more parameters. See the server's own documentation for the full schema.

manage_effectNiagara particle systems, VFX, debug shapes, and GPU simulations. Create systems, emitters, modules, and control particle effects. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, savePath, assetPath,...77 params

Niagara particle systems, VFX, debug shapes, and GPU simulations. Create systems, emitters, modules, and control particle effects. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, savePath, assetPath,...

Parameters* required
accelerationobject
3D location (x, y, z).
action*string
Effect/Niagara action to perform.one of particle · niagara · debug_shape · spawn_niagara · create_dynamic_light · create_niagara_system
actorNamestring
Name of the actor.
alignmentstring
assetPathstring
Asset path (e.g., /Game/Path/Asset).
attachToActorstring
Name of the actor.
autoConnectboolean
burstCountnumber
burstTimenumber
cameraOffsetnumber
collisionModestring
colorvalue
RGBA color as an array [r,g,b,a] or object {r,g,b,a} depending on action.
colorModestring
deltaTimenumber
densitynumber
deterministicEnabledboolean
dieOnCollisionboolean
durationnumber
emitterstring
emitterNamestring

+57 more parameters. See the server's own documentation for the full schema.

manage_gasCreate Gameplay Abilities, Effects, Attribute Sets, and Gameplay Cues for ability systems. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, assetPath, blueprintPath, replicationMode, attributeSetPath,...59 params

Create Gameplay Abilities, Effects, Attribute Sets, and Gameplay Cues for ability systems. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, assetPath, blueprintPath, replicationMode, attributeSetPath,...

Parameters* required
abilityPathstring
Path to ability asset.
abilityTagsarray
Gameplay tags for this ability.
action*string
GAS action to perform.one of add_ability_system_component · configure_asc · create_attribute_set · add_attribute · set_attribute_base_value · set_attribute_clamping
activationBlockedTagsarray
Tags that block activation of this ability.
activationPolicystring
When the ability activates.one of OnInputPressed · WhileInputActive · OnSpawn · OnGiven
activationRequiredTagsarray
Tags required to activate this ability.
aoeRadiusnumber
Area of effect radius.
applicationRequiredTagsarray
Tags required to apply this effect.
assetPathstring
Asset path (e.g., /Game/Path/Asset).
attributeNamestring
Name of the attribute.
attributeSetPathstring
Path to Attribute Set asset.
attributeTypestring
Predefined attribute type or Custom.one of Health · MaxHealth · Mana · MaxMana · Stamina · MaxStamina
baseValuenumber
Base value for attribute.
blockAbilitiesWithTagarray
Tags of abilities blocked while this is active.
blueprintPathstring
Blueprint asset path.
calculationClassstring
UGameplayEffectExecutionCalculation class path.
cameraShakePathstring
Path to camera shake asset.
cancelAbilitiesWithTagarray
Tags of abilities to cancel when this activates.
clampModestring
Attribute clamping mode.one of None · Min · Max · MinMax
componentNamestring
Name of the component.

+39 more parameters. See the server's own documentation for the full schema.

manage_characterCreate Character Blueprints with movement, locomotion, and animation state machines. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, blueprintPath, parentClass, skeletalMeshPath, animBlueprintPath, ca...67 params

Create Character Blueprints with movement, locomotion, and animation state machines. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, blueprintPath, parentClass, skeletalMeshPath, animBlueprintPath, ca...

Parameters* required
accelerationnumber
action*string
Character action to perform.one of create_character_blueprint · configure_capsule_component · configure_mesh_component · configure_camera_component · configure_movement_speeds · configure_jump
airControlnumber
animBlueprintPathstring
Path to animation blueprint.
avoidanceEnabledboolean
Enable AI avoidance.
blueprintPathstring
Blueprint asset path.
brakingDecelerationnumber
cameraUsePawnControlRotationboolean
Camera follows controller rotation.
canCrouchboolean
capsuleHalfHeightnumber
capsuleRadiusnumber
climbSpeednumber
climbableTagstring
Tag for climbable surfaces.
crouchSpeednumber
crouchedHalfHeightnumber
customSpeednumber
decelerationnumber
fallingLateralFrictionnumber
Air friction.
flySpeednumber
footstepEnabledboolean
Enable footstep system.

+47 more parameters. See the server's own documentation for the full schema.

manage_combatCreate weapons with hitscan/projectile firing, configure damage types, hitboxes, reload, and melee combat (combos, parry, block). Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: blueprintPath, name, path, weaponM...96 params

Create weapons with hitscan/projectile firing, configure damage types, hitboxes, reload, and melee combat (combos, parry, block). Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: blueprintPath, name, path, weaponM...

Parameters* required
action*string
Combat action to performone of create_weapon_blueprint · configure_weapon_mesh · configure_weapon_sockets · set_weapon_stats · configure_hitscan · configure_projectile
adsEnabledboolean
Enable aim down sights.
adsFovnumber
FOV when aiming.
adsSpeednumber
Time to aim down sights.
adsSpreadMultipliernumber
Spread multiplier when aiming.
ammoPerShotnumber
ammoTypestring
Ammo type identifier.
armorValuenumber
attachmentSlotsarray
Attachment slot definitions.
baseDamagenumber
blockDamageReductionnumber
Damage reduction when blocking (0-1).
blockStaminaCostnumber
Stamina cost per blocked hit.
blueprintPathstring
Blueprint asset path.
bounceEnabledboolean
Enable projectile bouncing.
bounceVelocityRationumber
Velocity retained on bounce (0-1).
collisionRadiusnumber
comboWindowTimenumber
Time window for combo input.
criticalMultipliernumber
Critical hit damage multiplier.
damageAmountnumber
damageImpulsenumber
Impulse applied on hit.

+76 more parameters. See the server's own documentation for the full schema.

manage_aiBuild AI systems: AI controllers, Behavior Trees, Blackboards, EQS, perception, State Trees, Smart Objects, NavMesh settings, nav modifiers, links, and pathfinding. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action:...94 params

Build AI systems: AI controllers, Behavior Trees, Blackboards, EQS, perception, State Trees, Smart Objects, NavMesh settings, nav modifiers, links, and pathfinding. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action:...

Parameters* required
action*string
AI action to performone of create_ai_controller · assign_behavior_tree · assign_blackboard · create_blackboard_asset · add_blackboard_key · set_key_instance_synced
actorNamestring
Name of the actor.
agentHeightnumber
Navigation agent height (default: 144).
agentMaxSlopenumber
Maximum slope angle in degrees (default: 44).
agentRadiusnumber
Navigation agent radius (default: 35).
agentStepHeightnumber
Maximum step height agent can climb (default: 35).
areaClassstring
Navigation area class path.
areaCostnumber
Pathfinding cost multiplier for area (1.0 = normal).
assetPathstring
Asset path (e.g., /Game/Path/Asset).
bCreateBoxObstacleboolean
Add box obstacle during nav generation.
baseObjectClassstring
behaviorTreePathstring
Path to behavior tree asset.
blackboardPathstring
Path to blackboard asset.
blueprintPathstring
Blueprint asset path.
broadcastIntervalnumber
Interval for state change broadcast (0 = single).
broadcastRadiusnumber
Radius for state change broadcast.
cellHeightnumber
NavMesh cell height (default: 10).
cellSizenumber
NavMesh cell size (default: 19).
childNodeIdstring
ID of the node.
commentstring

+74 more parameters. See the server's own documentation for the full schema.

manage_inventoryCreate item data assets, inventory components, world pickups, loot tables, and crafting recipes. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, save, blueprintPath, itemPath, iconPath, maxStackSize,...57 params

Create item data assets, inventory components, world pickups, loot tables, and crafting recipes. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, path, save, blueprintPath, itemPath, iconPath, maxStackSize,...

Parameters* required
abilityGrantsboolean
Enable ability grant support when equipped.
action*string
Inventory action to perform.one of create_item_data_asset · set_item_properties · create_item_category · assign_item_category · create_inventory_component · configure_inventory_slots
actorPathstring
Path to actor Blueprint for loot drop.
attachToSocketboolean
Attach mesh to socket when equipped.
blueprintPathstring
Blueprint asset path.
bobbingboolean
Enable bobbing animation.
categoryPathstring
Path to item category asset.
componentNamestring
Name of the component.
craftTimenumber
Time in seconds to craft.
craftingSpeedMultipliernumber
defaultSocketstring
Name of the socket.
dropCountnumber
Number of drops to roll.
dropOnDeathboolean
dropRadiusnumber
Radius for scattered drops.
enableWeightboolean
encumberanceSystemboolean
encumberanceThresholdnumber
entryIndexnumber
glowEffectboolean
Enable glow effect.
iconPathstring
Path to icon texture.

+37 more parameters. See the server's own documentation for the full schema.

manage_interactionCreate interactive objects: doors, switches, chests, levers. Set up destructible meshes and trigger volumes. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, folder, blueprintPath, actorName, componentName,...29 params

Create interactive objects: doors, switches, chests, levers. Set up destructible meshes and trigger volumes. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by action: name, folder, blueprintPath, actorName, componentName,...

Parameters* required
action*string
The interaction action to perform.one of create_interaction_component · configure_interaction_trace · configure_interaction_widget · add_interaction_events · create_interactable_interface · create_door_actor
actorNamestring
Name of the actor.
autoCloseboolean
Automatically close after opening.
autoCloseDelaynumber
Delay before auto-close in seconds.
blueprintPathstring
Blueprint asset path.
canToggleboolean
chestPathstring
Path to chest actor blueprint.
componentNamestring
Name of the component.
doorPathstring
Path to door actor blueprint.
folderstring
Path to a directory.
lockedboolean
Whether the item is locked.
lootTablePathstring
Path to loot table asset.
namestring
Name identifier.
openAnglenumber
Door open rotation angle in degrees.
openTimenumber
Time to open/close door in seconds.
paramsobject
Optional action-specific parameters. These are merged with top-level arguments before routing for clients that cannot send arbitrary top-level fields.
promptTextFormatstring
Format string for prompt (e.g., "Press {Key} to {Action}").
requiresKeyboolean
Whether interaction requires a key item.
resetTimenumber
Time to reset switch in seconds.
showOnHoverboolean
Show widget when hovering.

+9 more parameters. See the server's own documentation for the full schema.

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. Required: action. Select one enum value, then provide only parameters relevant to...127 params

Configure multiplayer and player flow: replication, RPCs, authority/relevancy, network prediction, sessions, split-screen, LAN/voice chat, game framework classes, match rules, and input mappings. Required: action. Select one enum value, then provide only parameters relevant to...

Parameters* required
action*string
Networking action to performone of set_property_replicated · set_replication_condition · configure_net_update_frequency · configure_net_priority · set_net_dormancy · configure_replication_graph
actionNamestring
Legacy input action mapping name.
actionPathstring
Asset path (e.g., /Game/Path/Asset).
actorNamestring
Name of the actor.
allowSpectatingboolean
Allow spectator mode.
altboolean
Require Alt for a legacy action mapping.
alwaysRelevantboolean
Always relevant to all clients.
assetPathstring
Asset path (e.g., /Game/Path/Asset).
attenuationFalloffnumber
Falloff rate for voice attenuation.
attenuationRadiusnumber
Radius for voice attenuation (Proximity chat). REQUIRED for set_voice_attenuation.
autoBalanceboolean
Enable automatic team balancing.
axisNamestring
Legacy input axis mapping name.
bAllowInvitesboolean
Allow player invites.
bAllowJoinInProgressboolean
Allow joining games in progress.
bDelayedStartboolean
Whether to delay match start.
bIsLANMatchboolean
Whether this is a LAN match.
bShouldAdvertiseboolean
Advertise session publicly.
bUseLobbiesIfAvailableboolean
Use lobby system if available.
bUsesPresenceboolean
Use presence for session discovery.
blueprintPathstring
Blueprint asset path.

+107 more parameters. See the server's own documentation for the full schema.

manage_level_structureStructure worlds: levels, sublevels, World Partition, streaming, data layers, HLOD, level instances, trigger/blocking/physics/audio/post-process volumes, and nav bounds. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by ac...79 params

Structure worlds: levels, sublevels, World Partition, streaming, data layers, HLOD, level instances, trigger/blocking/physics/audio/post-process volumes, and nav bounds. Required: action. Select one enum value, then provide only parameters relevant to that action. Params by ac...

Parameters* required
action*string
Level structure action to perform.one of create_level · create_sublevel · configure_level_streaming · set_streaming_distance · configure_level_bounds · enable_world_partition
actorNamestring
Name of the actor.
actorPathstring
Path to actor.
bAutoCalculateBoundsboolean
Auto-calculate bounds from content.
bBlockOnSlowStreamingboolean
bCreateWorldPartitionboolean
Create with World Partition enabled.
bDisableDistanceStreamingboolean
Disable distance-based streaming.
bEnableWorldPartitionboolean
Enable World Partition for level.
bEnabledboolean
Whether the audio volume is enabled.
bIsInitiallyLoadedboolean
Data layer initially loaded.
bIsInitiallyVisibleboolean
Data layer initially visible.
bIsSpatiallyLoadedboolean
HLOD is spatially loaded.
bPackBlueprintsboolean
Include blueprints in packed level.
bPackStaticMeshesboolean
Include static meshes in packed level.
bPainCausingboolean
Whether the volume causes pain/damage.
bShouldBeVisibleboolean
Level should be visible when loaded.
bShouldBlockOnLoadboolean
Block game until level is loaded.
bUnboundboolean
Whether post process volume affects entire world.
bUseExternalActorsboolean
Enable One File Per Actor (OFPA/External Actors) for Data Layer compatibility. Automatically enabled when bCreateWorldPartition is true.
bWaterVolumeboolean
Whether this is a water volume.

+59 more parameters. See the server's own documentation for the full schema.

Unreal Engine MCP Server

License: MIT NPM Package MCP SDK Unreal Engine MCP Registry Project Board Discussions

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through a native C++ Automation Bridge plugin. Built with TypeScript and C++.


Table of Contents

  • Features
  • Getting Started
  • Configuration
  • Available Tools
  • Docker
  • Documentation
  • Community
  • Development
  • Contributing

Features

CategoryCapabilities
Asset ManagementBrowse, import, duplicate, rename, delete assets; create materials
Actor ControlSpawn, delete, transform, physics, tags, components
Editor ControlPIE sessions, camera, viewport, screenshots, bookmarks
Level ManagementLoad/save levels, streaming, lighting
Animation & PhysicsAnimation BPs, state machines, ragdolls, vehicles, constraints
Visual EffectsNiagara particles, GPU simulations, procedural effects, debug shapes
SequencerCinematics, timeline control, Movie Render Queue, media, Take Recorder, replay
Graph EditingBlueprint, Niagara, Material, and Behavior Tree graph manipulation
AudioSound cues, audio components, sound mixes, ambient sounds
SystemConsole commands, UBT, tests, logs, project settings, CVars

Architecture

  • Native C++ Automation — All operations route through the MCP Automation Bridge plugin
  • Dual Transport — Native HTTP/SSE (no bridge needed) or WebSocket via TypeScript bridge
  • Dynamic Type Discovery — Runtime introspection for lights, debug shapes, and sequencer tracks
  • Graceful Degradation — Server starts even without an active Unreal connection
  • On-Demand Connection — Retries automation handshakes with exponential backoff
  • Command Safety — Blocks dangerous console commands with pattern-based validation
  • Capability Token Auth — On-by-default token authentication (auto-generated 32-byte secret at <Project>/Saved/MCP/capability-token) for both WS and HTTP transports; manual CapabilityToken in Project Settings overrides the file
  • Asset Caching — 10-second TTL for improved performance
  • Metrics Rate Limiting — Per-IP rate limiting (60 req/min) on Prometheus endpoint
  • Centralized Configuration — Unified class aliases and type definitions

Getting Started

Prerequisites

  • Node.js 20.19 or later (Node.js 18 is not supported) — required for the TypeScript stdio bridge. Not needed for the native MCP transport.

Step 1: Install MCP Server (Option B only — skip for Native MCP)

Skip this step if using Option A: Native MCP Transport (Step 4A below).

NPX (Recommended):

npx unreal-engine-mcp-server

Clone & Build:

git clone https://github.com/ChiR24/Unreal_mcp.git
cd Unreal_mcp
npm install
npm run build
node dist/cli.js

Step 2: Install Unreal Plugin

The MCP Automation Bridge plugin is included at Unreal_mcp/plugins/McpAutomationBridge.

From source (requires a project with code target)

Your project must have a code target (.sln or .xcworkspace). Blueprint-only projects cannot compile native plugins — to convert, add any class via Tools > New C++ Class in the editor.

Method 1: Copy Folder

Copy:  Unreal_mcp/plugins/McpAutomationBridge/
To:    YourUnrealProject/Plugins/McpAutomationBridge/

Method 2: External Plugin Directory (no copy needed)

  1. Open Unreal Editor → Edit → Plugins
  2. Click Plugin Directories (bottom-left)
  3. In Additional Plugin Directories, add the path to Unreal_mcp/plugins/
  4. Restart the editor — the plugin will be picked up from the external location

This saves the path in your .uproject file so the plugin stays linked without copying.

The plugin compiles automatically when you open the project — UE detects the .uplugin + Source/ and runs UnrealBuildTool.

Video Guide:

https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d

⚠️ First-Time Project Open: UE may prompt "Would you like to rebuild them now?" — click Yes. If instead you see "Missing Modules — McpAutomationBridge. Engine modules cannot be compiled at runtime. Please build through your IDE." — open your project in Visual Studio (Win) or Xcode (Mac) and build from there. After that, the editor will open normally with the plugin loaded.

Pre-built (works with any project, including Blueprint-only)

Build the plugin once, then distribute the compiled binaries — no IDE or compilation needed on the target machine.

1. Build:

# macOS / Linux
./scripts/package-plugin.sh /path/to/UE_5.6

# Windows
scripts\package-plugin.bat C:\Path\To\UE_5.6

This produces a zip like McpAutomationBridge-v0.5.30-UE5.7-Linux.zip.

2. Install: unzip into YourProject/Plugins/ and open the project. That's it — no compilation step.

Note: pre-built binaries are tied to a specific UE version. A build for 5.6 won't work with 5.5, 5.7, or 5.8.

Step 3: Enable Required Plugins

Enable via Edit → Plugins, then restart the editor.

Core Plugins (Required)
PluginRequired For
MCP Automation BridgeAll automation operations
Python Editor Script PluginPython-backed editor automation helpers
Editor Scripting UtilitiesAsset/Actor subsystem operations
NiagaraVisual effects and particle systems
Gameplay Abilitiesmanage_gas operations
Smart ObjectsAI smart object operations
Optional Plugins (Auto-enabled)
PluginRequired For
Level Sequence Editormanage_sequence operations
Movie Render Pipelinemanage_sequence Movie Render Queue operations
Movie Pipeline Mask Render PassObject-ID render pass
Takesmanage_sequence Take Recorder operations
Electra Playermanage_sequence file-backed media playback
Control Riganimation_physics operations
GeometryScriptingmanage_geometry operations
Behavior Tree Editormanage_ai Behavior Tree operations
Niagara EditorNiagara authoring
Environment Query EditorAI/EQS operations
MetaSoundmanage_audio MetaSound authoring
StateTreemanage_ai State Tree operations
Enhanced Inputmanage_networking input mapping operations
Chaos ClothCloth simulation
InterchangeAsset import/export
Data ValidationData validation
PCGmanage_pcg graph authoring and execution when enabled for the build
Procedural Mesh ComponentProcedural geometry
OnlineSubsystemSession/networking operations
OnlineSubsystemUtilsSession/networking operations

💡 Optional plugins are auto-enabled by the MCP Automation Bridge plugin when needed. PCG support is compiled for source projects when the project explicitly enables PCG. Versioned release packages for UE 5.2+ include PCG support. All Unreal Engine versions from 5.0 to 5.8 are supported and working.

Step 4: Configure MCP Client

Option A: Native MCP Transport (Direct HTTP — no bridge needed)

The plugin includes a built-in MCP Streamable HTTP server. AI clients connect directly to the plugin over HTTP — no TypeScript bridge, no Node.js, no npm. Note: the bAllowNonLoopback setting now applies to both the WebSocket bridge and the native MCP transport. Enabling it binds both surfaces to non-loopback addresses. If you only need LAN access for the WebSocket bridge, do not enable bAllowNonLoopback and instead expose the bridge via a reverse proxy. Capability token auth is on by default (0.5.30+) — both transports require authentication automatically. A manually configured CapabilityToken in Project Settings or the auto-generated token at <Project>/Saved/MCP/capability-token is used automatically.

Enable in Unreal:

  1. Edit > Project Settings > Plugins > MCP Automation Bridge
  2. Check Enable Native MCP
  3. Set port (default: 3000)
  4. Optionally set Native MCP Instructions for project-specific guidance
  5. Restart the editor

Configure your MCP client to use Streamable HTTP transport at:

http://localhost:3000/mcp

Claude Code:

claude mcp add unreal-engine --transport http http://localhost:3000/mcp

Or manually in ~/.claude/settings.json or project .mcp.json:

{
  "mcpServers": {
    "unreal-engine": {
      "type": "url",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "unreal-engine": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

Verify it works:

  • Status bar — look for ● MCP :3000 (2) in the bottom-right of the editor. Green dot = server running, number in parens = active sessions. Click it to open settings.
  • Output Log — filter by LogMcpNativeTransport to see connections, tool calls, and session activity:
    LogMcpNativeTransport: Native MCP server started on http://localhost:3000/mcp
    LogMcpNativeTransport: MCP session initialized: ... (client: claude-code 2.1.92, active sessions: 1)
    LogMcpNativeTransport: tools/call: inspect (RequestId=...)
    LogMcpNativeTransport: tools/call completed: ... (tool=inspect, success=true)
    

Features:

  • SSE streaming for real-time progress during long operations
  • Multiple concurrent sessions (Cursor + Claude Code + others simultaneously)
  • Dynamic tool management — core tools load by default, enable more via manage_tools
  • Python execution via execute_python action (inline code or .py files)
  • Capability token authentication — on by default (auto-generated secret at <Project>/Saved/MCP/capability-token; manual CapabilityToken in Project Settings overrides)
Option B: TypeScript Bridge (stdio — classic setup)

Add to your Claude Desktop / Cursor config file:

Using Clone/Build:

{
  "mcpServers": {
    "unreal-engine": {
      "command": "node",
      "args": ["path/to/Unreal_mcp/dist/cli.js"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/YourProject",
        "MCP_AUTOMATION_PORT": "8091"
      }
    }
  }
}

Using NPX:

{
  "mcpServers": {
    "unreal-engine": {
      "command": "npx",
      "args": ["unreal-engine-mcp-server"],
      "env": {
        "UE_PROJECT_PATH": "C:/Path/To/YourProject"
      }
    }
  }
}

Configuration

Environment Variables

# Required
UE_PROJECT_PATH="C:/Path/To/YourProject"

# Automation Bridge
MCP_AUTOMATION_HOST=127.0.0.1
MCP_AUTOMATION_PORT=8091

# LAN Access (optional)
# SECURITY: Set to true to allow binding to non-loopback addresses (e.g., 0.0.0.0)
# Only enable if you understand the security implications.
MCP_AUTOMATION_ALLOW_NON_LOOPBACK=false

# Logging
LOG_LEVEL=info  # debug | info | warn | error

# Optional
MCP_CONNECTION_TIMEOUT_MS=5000
MCP_REQUEST_TIMEOUT_MS=120000
ASSET_LIST_TTL_MS=10000

# Optional Prometheus metrics endpoint
# Loopback-only by default. Non-loopback metrics requires both explicit opt-in and a token.
# MCP_METRICS_PORT=9100
# MCP_METRICS_HOST=127.0.0.1
# MCP_METRICS_ALLOW_NON_LOOPBACK=false
# MCP_METRICS_TOKEN=change-me

# Custom content mount points (comma-separated)
# Plugins with CanContainContent register mount points beyond /Game/.
# MCP_ADDITIONAL_PATH_PREFIXES=/ProjectObject/,/ProjectAnimation/

LAN Access Configuration

By default, the automation bridge only binds to loopback addresses (127.0.0.1) for security. To enable access from other machines on your network:

TypeScript (MCP Server):

MCP_AUTOMATION_ALLOW_NON_LOOPBACK=true
MCP_AUTOMATION_HOST=0.0.0.0

Unreal Engine Plugin:

  1. Go to Edit → Project Settings → Plugins → MCP Automation Bridge
  2. Under Security, enable "Allow Non Loopback"
  3. Under Connection, set "Listen Host" to 0.0.0.0
  4. Restart the editor

⚠️ Security Warning: Enabling LAN access exposes the automation bridge to your local network. Only use on trusted networks with appropriate firewall rules. Enable capability token authentication (Require Capability Token in project settings) to prevent unauthorized access when using LAN mode.


Available Tools

The MCP server exposes a single unreal gateway tool. The 23 canonical parent tools are internal and reachable exclusively through the gateway's four operations: search, describe, execute, and configure.

Gateway Workflow

  1. search — discover available tools by keyword, category, or action name
  2. describe — get the exact contract (actions, parameters, schema) for a specific tool
  3. execute — run one validated action on a canonical tool
  4. configure — manage internal tool enable/disable state (wraps manage_tools)

Example call:

{
  "operation": "search",
  "query": "asset"
}

Then:

{
  "operation": "describe",
  "tool": "manage_asset",
  "action": "import_asset"
}

Then:

{
  "operation": "execute",
  "tool": "manage_asset",
  "action": "import_asset",
  "params": { "sourcePath": "/path/to/asset.fbx", "destinationPath": "/Game/Imported/asset" }
}

Migration from direct tool calls

The single unreal gateway is permanent on both transports; there is no opt-out and no legacy 23-tool listing to restore. A client that still calls a canonical tool name directly (tools/call with name: "manage_asset", name: "control_actor", etc.) receives a bounded, copy-paste-executable DIRECT_TOOL_CALL_REMOVED receipt instead of a routed call. The receipt carries a nextCall that drills exactly one level: { "operation": "search" } for an unknown name, { "operation": "describe", "tool": "<tool>" } when no action was supplied, or { "operation": "execute", "tool": "<tool>", "action": "<action>", "params": { ... } } when the direct call already named an action. Run that nextCall through the unreal tool to finish the migration.

Gateway Protocol & Transport

Both transports expose the same unreal gateway contract, but they are separate lifecycles. Do not route around their boundaries.

  • TypeScript stdio transport — node dist/cli.js talks to the Unreal plugin over a WebSocket bridge. It permanently exposes the single unreal gateway tool; there is no gateway-mode toggle.
  • Native MCP transport — the plugin's built-in Streamable HTTP/SSE server at /mcp (no Node.js, no bridge). The native MCP surface permanently exposes the same single unreal gateway tool; there is no gateway-mode toggle.

Both surfaces negotiate the MCP protocol version at initialize; the supported set is intentionally asymmetric. The native /mcp transport supports exactly the three modern versions 2025-11-25, 2025-06-18, and 2025-03-26, and deliberately does not implement the later 2026-07-28 RC. The TypeScript stdio server also accepts the two legacy versions 2024-11-05 and 2024-10-07, so the native surface is intentionally stricter. Both negotiate down to the highest mutually supported version (2025-11-25 is the latest). See docs/protocol.md for the full negotiation and transport contract, including the MCP-Protocol-Version header guard (HTTP 400 on invalid), cancellation semantics, and progressToken handling.

Internal Canonical Tools (23)

The gateway hides these 23 canonical parent tools. They are listed here for reference:

Core Tools
ToolDescription
manage_assetAssets, Materials, Render Targets, Behavior Trees, Blueprint Struct (UserDefinedStruct) authoring
manage_blueprintBlueprints, SCS components, graph editing, UMG widgets, layout, bindings, animations
control_actorSpawn, delete, transform, physics, tags
control_editorPIE, Camera, viewport, screenshots
manage_levelLoad/save, streaming, lighting
system_controlUBT, Tests, Logs, Project Settings, CVars, Python Execution
inspectObject Introspection
manage_toolsDynamic tool management (enable/disable at runtime)
World Building
ToolDescription
build_environmentLandscapes, foliage, procedural terrain, lighting, spline roads/rivers/fences
manage_level_structureLevels, sublevels, World Partition, streaming, data layers, HLOD, volumes
manage_geometryProcedural mesh creation and editing with Geometry Script
manage_pcgPCG graph assets, subgraphs, input/sampler/filter/spawner nodes, pin connections, execution, partition grid size, and node settings
Gameplay Systems
ToolDescription
animation_physicsAnimation BPs, skeletons, sockets, physics assets, cloth, vehicles, ragdolls, Control Rig, IK
manage_effectNiagara, particles, debug shapes, GPU simulations
manage_gasGameplay Ability System: abilities, effects, attributes
manage_characterCharacter creation, movement, advanced locomotion
manage_combatWeapons, projectiles, damage, melee combat
manage_aiAI controllers, Behavior Trees, EQS, perception, State Trees, Smart Objects, NavMesh/pathfinding
manage_inventoryItems, equipment, loot tables, crafting
manage_interactionInteractables, destructibles, triggers
Utility
ToolDescription
manage_audioAudio Assets, Components, Sound Cues, MetaSounds, Attenuation
manage_sequenceSequencer, cinematics, Movie Render Queue, media playback, Take Recorder, and replay controls
manage_networkingReplication, RPCs, network prediction, sessions, split-screen, LAN/voice, game framework, input mappings
### Supported Asset Types

Blueprints • Materials • Textures • Static Meshes • Skeletal Meshes • Levels • Sounds • Particles • Niagara Systems • Behavior Trees


Docker

docker build -t unreal-mcp .
docker run -it --rm -e UE_PROJECT_PATH=/project unreal-mcp

Documentation

DocumentDescription
Handler MappingsTypeScript to C++ routing
Plugin ExtensionC++ plugin architecture
Testing GuideHow to run and write tests
RoadmapDevelopment roadmap

Development

npm run build         # Clean + compile TypeScript to dist/
npm run lint          # Run ESLint 9 (fail on any warning)
npm run type-check    # tsc --noEmit
npm run test:unit     # Vitest unit tests (no Unreal required)
npm run test:smoke    # Offline mock in-memory MCP check (needs built dist/)
npm run manifest:check   # Fail if generated gateway manifest artifacts drift
npm run test:native-parity # TS vs native canonical tool/action equality
npm run test:params      # Parity + strict parameter audit
npm run version:check    # Assert all version sources agree
npm test                 # Integration suite (needs a live Unreal Editor + bridge)

Gateway manifest generation

The neutral gateway manifest is generated from src/tools/catalog/consolidated-tool-definitions.ts into three artifacts (runtime .ts/.json plus the native .h). Never hand-edit the generated files.

node --loader ts-node/esm scripts/generate-gateway-manifest.ts          # regenerate
node --loader ts-node/esm scripts/generate-gateway-manifest.ts --check  # CI gate: fail on drift

CI gates

CI runs, in order: ESLint 9 (npx eslint . --max-warnings=0), TypeScript type-check, unit tests, registry:check, normalization:check, manifest:check, policy:check, native parity + parameter audit (test:params), migration:check, primitives:check, security:check, eval:check, version:check, workflow:check, then a blocking runtime-only dependency audit (npm audit --omit=dev --audit-level=high) followed by an informational full-tree npm audit --audit-level=moderate. A plugin packaging job runs scripts/package-plugin.sh only when an Unreal Engine source root secret is provided (opt-in), because CI runners do not ship an engine. Release archives exclude Binaries/, Intermediate/, and Saved/ so generated build dirs never leak.


Community

ResourceDescription
Project RoadmapTrack roadmap progress and priorities
DiscussionsAsk questions, share ideas, get help
IssuesReport bugs and request features

Contributing

Contributions welcome! Please:

  • Include reproduction steps for bugs
  • Keep PRs focused and small
  • Follow existing code style

License

MIT — See LICENSE

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
inference shell
inference shell
create and run specialised agents in minutes
build now →

Configuration

LOG_LEVEL

Logging level: debug, info, warn, error (default: info)

MCP_ROUTE_STDOUT_LOGS

Route standard output to standard error to avoid protocol corruption (default: true)

UE_PROJECT_PATH

Absolute path to your Unreal .uproject file

UE_EDITOR_EXE

Path to UnrealEditor-Cmd.exe (optional)

UE_SCREENSHOT_DIR

Directory to save screenshots (optional)

MCP_AUTOMATION_PORT

Automation bridge WebSocket port (default: 8091)

MCP_AUTOMATION_HOST

Automation bridge WebSocket host (default: 127.0.0.1). Set to 0.0.0.0 for LAN access (requires MCP_AUTOMATION_ALLOW_NON_LOOPBACK=true)

MCP_AUTOMATION_ALLOW_NON_LOOPBACK

SECURITY: Allow binding to non-loopback addresses (e.g., 0.0.0.0) for LAN access. Only enable if you understand the security implications. (default: false)

MCP_AUTOMATION_CLIENT_MODE

Run as client connecting to UE (false) or server listening for UE (true) (default: false)

MCP_AUTOMATION_USE_TLS

Use wss:// for the automation bridge client connection (default: false)

MCP_CONNECTION_TIMEOUT_MS

Connection timeout in milliseconds (default: 5000)

MCP_REQUEST_TIMEOUT_MS

Request timeout in milliseconds (default: 30000)

MCP_AUTOMATION_MAX_MESSAGES_PER_MINUTE

Max inbound automation bridge messages per minute before disconnect (default: 600)

MCP_AUTOMATION_MAX_AUTOMATION_REQUESTS_PER_MINUTE

Max inbound automation request messages per minute before disconnect (default: 120)

Categories
Design & CreativeAutomation & Workflows
Registryactive
Packageunreal-engine-mcp-server
TransportSTDIO
Resources6
Tools verifiedJun 10, 2026
UpdatedJun 5, 2026
View on GitHub

More from chir24

  • Chir24 Unreal Mcp699
  • Chir24 Unreal Mcp Server699

Related Design & Creative MCP Servers

View all →
arcadeai avatar
Blueprint

arcadeai/blueprint-mcp

Diagram generation for understanding codebases and system architecture using Nano Banana Pro.
609
yuniko-software avatar
Minecraft

yuniko-software/minecraft-mcp-server

A Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction
578
jingcheng-chen avatar
RhinoMCP

jingcheng-chen/rhinomcp

Provides a two-way MCP bridge between Rhino and AI agents to create, inspect, and script 3D models.
401
drhelius avatar
Gearsystem MCP Server

drhelius/gearsystem

MCP server for Gearsystem Sega Master System / Game Gear / SG-1000 emulator
373
dakkshin avatar
🎬 After Effects

dakkshin/after-effects-mcp

MCP Server for Adobe After Effects. Enables remote control (compositions, text, shapes, solids, properties) via the Model Context Protocol using ExtendScript.
358
jinzcdev avatar
Markmap

jinzcdev/markmap-mcp-server

An MCP server for converting Markdown to interactive mind maps with export support (PNG/JPG/SVG).
200