unreal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNREAL_MCP_MODULES | No | Comma-separated list of modules to enable | all |
| UNREAL_MCP_RC_PORT | No | Remote Control API port | 30010 |
| UNREAL_MCP_PLATFORM | No | Target platform | Win64 |
| UNREAL_MCP_ENGINE_PATH | No | UE engine install path (auto-detected if not set) | |
| UNREAL_MCP_PYTHON_PORT | No | Python Remote Execution port | 6776 |
| UNREAL_MCP_PROJECT_PATH | No | Path to .uproject file or project directory | |
| UNREAL_MCP_CONFIGURATION | No | Build configuration | Development |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execute_pythonA | Execute arbitrary Python code in the Unreal Editor's Python environment. Has access to the full |
| 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_actorsB | Duplicate actors by name. |
| set_actor_tagsB | 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_assetA | 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_packagesA | Bulk resave all packages in the project (runs ResavePackages commandlet). |
| content_auditB | Run content audit to find costly or problematic assets (runs ContentAudit commandlet). |
| consolidate_assetsA | 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_contentA | Cook content only (no C++ build). Converts assets to platform-specific format. |
| package_projectB | Package the project for distribution. Runs build + cook + stage + package. |
| build_pluginC | Build a plugin standalone. |
| generate_project_filesA | 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_statusA | 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_materialB | 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_sequenceA | Create a new LevelSequence asset for cinematics. |
| get_sequence_infoA | Get full structure of a level sequence (bindings, tracks, sections). |
| add_actor_bindingB | 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_framerateB | Set the display frame rate of a sequence. |
| export_sequence_fbxB | Export a level sequence to FBX. |
| render_sequenceA | Queue a Movie Render Queue job for a sequence. |
| create_anim_blueprintA | Create an Animation Blueprint for a target skeleton. |
| get_anim_sequence_infoB | Get info about an animation sequence (length, frames, bone data). |
| create_anim_montageB | Create an animation montage from an animation sequence. |
| set_skeletal_mesh_lodC | 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_floatB | Set a float parameter on a Niagara component. |
| set_niagara_vectorA | Set a vector parameter on a Niagara component. |
| set_niagara_colorA | Set a linear color parameter on a Niagara component. |
| set_niagara_boolB | 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_testsA | List available automation tests in the project. |
| run_automation_testB | 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_gauntletB | 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_resultsA | Get the results of the last automation test run. |
| sc_statusC | Query source control status of file(s). |
| sc_checkoutB | 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| project-info | |
| connection-status |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sam-david/unreal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server