Skip to main content
Glama
sam-david

unreal-mcp

by sam-david

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UNREAL_MCP_MODULESNoComma-separated list of modules to enableall
UNREAL_MCP_RC_PORTNoRemote Control API port30010
UNREAL_MCP_PLATFORMNoTarget platformWin64
UNREAL_MCP_ENGINE_PATHNoUE engine install path (auto-detected if not set)
UNREAL_MCP_PYTHON_PORTNoPython Remote Execution port6776
UNREAL_MCP_PROJECT_PATHNoPath to .uproject file or project directory
UNREAL_MCP_CONFIGURATIONNoBuild configurationDevelopment

Instructions

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

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

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
execute_pythonA

Execute arbitrary Python code in the Unreal Editor's Python environment. Has access to the full unreal module.

execute_console_commandA

Run a console command in the Unreal Editor (e.g., 'stat fps', 'stat unit', 'r.SetRes 1920x1080').

take_screenshotB

Capture a screenshot of the active editor viewport. Returns the file path of the saved image.

get_viewport_cameraA

Get the current editor viewport camera location and rotation.

set_viewport_cameraA

Set the editor viewport camera location and/or rotation.

get_connection_statusA

Check which Unreal Engine transports are currently connected (Remote Control, Python, Plugin Bridge).

list_actorsB

List all actors in the current level, optionally filtered by class.

spawn_actorC

Spawn a new actor in the current level.

delete_actorB

Delete an actor from the current level by name or label.

get_actor_propertiesA

Get all properties of an actor by name.

set_actor_transformB

Set the location, rotation, and/or scale of an actor.

set_actor_propertyB

Set a property on an actor via the Remote Control API.

get_actor_componentsA

List all components on an actor.

select_actorsB

Set the editor's actor selection.

duplicate_actorsC

Duplicate actors by name.

set_actor_tagsC

Set tags on an actor.

list_assetsA

List assets in a content directory with optional class filter.

search_assetsC

Search for assets by name, class, or tag.

get_asset_infoC

Get detailed metadata for an asset.

get_asset_referencesB

Get the dependency and referencer graph for an asset.

rename_assetC

Rename or move an asset.

duplicate_assetB

Duplicate an asset to a new path.

delete_assetA

Delete an asset. Checks for references first.

import_assetB

Import an external file (FBX, PNG, WAV, etc.) into the project.

export_assetC

Export an asset to an external file format.

validate_assetsC

Run data validation on assets in a directory.

save_assetC

Force save a specific asset.

save_allA

Save all dirty (modified) assets.

fix_redirectorsA

Clean up asset redirectors in the project (runs FixUpRedirects commandlet).

resave_packagesB

Bulk resave all packages in the project (runs ResavePackages commandlet).

content_auditA

Run content audit to find costly or problematic assets (runs ContentAudit commandlet).

consolidate_assetsB

Consolidate duplicate assets — replace references from source assets to a target asset.

build_targetB

Build a C++ target using UnrealBuildTool. Compiles the project's C++ code.

build_cook_runA

Full BuildCookRun pipeline — build, cook, stage, package, and optionally deploy/run. This is the primary command for packaging a project.

cook_contentB

Cook content only (no C++ build). Converts assets to platform-specific format.

package_projectA

Package the project for distribution. Runs build + cook + stage + package.

build_pluginC

Build a plugin standalone.

generate_project_filesB

Regenerate IDE project files (Visual Studio, Xcode, Rider).

build_graphB

Execute a BuildGraph XML script for CI/CD automation.

clean_projectC

Clean build artifacts for the project.

get_build_statusB

Parse the last build output and return structured errors, warnings, and progress.

create_blueprintC

Create a new Blueprint class.

add_blueprint_componentB

Add a component to a Blueprint.

add_blueprint_variableB

Add a variable to a Blueprint.

add_graph_nodeA

Add a node to a Blueprint's event graph. Requires the optional C++ plugin for full node type support. Falls back to Python for basic operations.

connect_graph_nodesB

Wire two node pins together in a Blueprint graph. Requires the optional C++ plugin.

remove_graph_nodeA

Remove a node from a Blueprint graph. Requires the optional C++ plugin.

list_graph_nodesA

List all nodes in a Blueprint's event graph.

compile_blueprintC

Compile a Blueprint.

get_blueprint_infoB

Get Blueprint info: class, variables, functions, components, and graphs.

spawn_blueprint_actorC

Spawn an instance of a Blueprint class in the level.

add_blueprint_functionB

Add a custom function to a Blueprint.

set_blueprint_propertyA

Set a default property value on a Blueprint's CDO (Class Default Object). For component properties, use a dot path like 'ComponentName.PropertyName'.

create_materialB

Create a new material asset.

apply_materialC

Apply a material to an actor's mesh component.

create_material_expressionA

Add an expression node to a material's graph (e.g., TextureSample, Multiply, Constant3Vector).

connect_material_expressionsB

Wire two material expression nodes together.

connect_material_propertyB

Connect an expression to a material output property (BaseColor, Normal, Metallic, Roughness, etc.).

delete_material_expressionA

Remove an expression node from a material graph.

list_material_expressionsB

List all expression nodes in a material.

create_material_instanceB

Create a material instance from a parent material.

set_material_instance_scalarA

Set a scalar parameter on a material instance.

set_material_instance_vectorB

Set a vector parameter on a material instance.

set_material_instance_textureA

Set a texture parameter on a material instance.

recompile_materialA

Recompile a material after making changes to its graph.

create_material_functionC

Create a reusable material function.

create_level_sequenceB

Create a new LevelSequence asset for cinematics.

get_sequence_infoA

Get full structure of a level sequence (bindings, tracks, sections).

add_actor_bindingC

Bind an actor to a level sequence for animation.

add_trackB

Add a track to an actor binding in a sequence.

set_playback_rangeA

Set the playback start and end frames of a sequence.

set_sequence_framerateC

Set the display frame rate of a sequence.

export_sequence_fbxB

Export a level sequence to FBX.

render_sequenceB

Queue a Movie Render Queue job for a sequence.

create_anim_blueprintB

Create an Animation Blueprint for a target skeleton.

get_anim_sequence_infoA

Get info about an animation sequence (length, frames, bone data).

create_anim_montageC

Create an animation montage from an animation sequence.

set_skeletal_mesh_lodB

Configure LOD settings on a skeletal mesh.

reimport_skeletal_meshB

Reimport a skeletal mesh from its source file.

apply_anim_modifierC

Apply an animation modifier to an animation sequence.

spawn_niagara_at_locationB

Spawn a Niagara particle system at a world location.

spawn_niagara_attachedA

Spawn a Niagara system attached to an actor.

set_niagara_floatC

Set a float parameter on a Niagara component.

set_niagara_vectorB

Set a vector parameter on a Niagara component.

set_niagara_colorB

Set a linear color parameter on a Niagara component.

set_niagara_boolA

Set a bool parameter on a Niagara component.

reset_niagara_systemC

Reset a Niagara system on an actor.

reinit_niagara_systemC

Reinitialize a Niagara system on an actor.

list_automation_testsB

List available automation tests in the project.

run_automation_testC

Run a specific automation test by name.

run_all_automation_testsC

Run all automation tests.

run_map_checkB

Run Map Check validation on the current level.

validate_dataC

Trigger the Data Validation framework on assets.

run_gauntletC

Launch a Gauntlet test session via UAT. Runs tests in a full game instance.

run_automation_tests_by_categoryB

Run automation tests matching a category pattern.

get_test_resultsB

Get the results of the last automation test run.

sc_statusA

Query source control status of file(s).

sc_checkoutC

Check out file(s) from source control.

sc_checkinB

Check in file(s) to source control with a description.

sc_revertB

Revert file(s) in source control.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
project-info
connection-status

TDQS

C2.9/5.0

Scored across 127 tools

Disambiguation3/5

Many tools are clearly distinct, but there are clusters that could cause misselection: run_stat_command overlaps with execute_console_command, build_cook_run and package_project both package the project, and reset_niagara_system vs reinit_niagara_system are similar. Descriptions help clarify, but the volume of tools increases ambiguity.

Naming Consistency3/5

Most tools follow a verb_noun pattern, but there are notable deviations: sc_ prefix for source control (sc_status vs source control), run_* vs execute_* for similar actions, and inconsistent granularity like build_target vs build_cook_run vs package_project. Still readable, but not a clean consistent scheme.

Tool Count1/5

127 tools is extremely excessive for any MCP server, even for a complex engine like Unreal. This volume overwhelms agents and makes tool selection costly. A more focused set of 30-40 tools would likely cover the same workflows.

Completeness4/5

The toolset covers an impressive breadth of Unreal workflows: asset management, actor manipulation, blueprints, materials, animation, Niagara, build automation, testing, source control, profiling, and world partition. Minor gaps exist (e.g., explicit level save/manage), but overall the surface is remarkably complete for its scope.

Maintenance

ActivityInactive
ResponsivenessNo issues