unreal-engine-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UE_ENGINE_PATH | Yes | Path to the Unreal Engine installation directory | |
| UE_PROJECT_PATH | Yes | Path to the Unreal project file (.uproject) | |
| UE_MCP_ALLOW_WRITE | No | Set to 'false' to enable read-only mode (mutating tools disabled) |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| editor_stateA | Return engine/project/level info and the live actor count. Call this first to confirm the Remote Control connection is working. |
| run_console_commandA | Execute an Unreal console command in the running editor. Examples: 'stat fps', 'r.ScreenPercentage 50', 'ShowFlag.Bounds 1', 'Slomo 0.5', 'BuildPaths'. Anything you could type into the in-editor console works here. |
| save_allA | Save all dirty levels and content under /Game. |
| list_actorsB | List actors in the current level.
|
| get_actorA | Get details (class, transform, path) for one actor by label or name. |
| spawn_actorB | Spawn an actor from a class.
|
| spawn_static_meshB | Spawn a StaticMeshActor using a static mesh asset.
|
| set_actor_transformC | Move/rotate/scale an actor. Only the provided components change. |
| set_actor_propertyB | Set an editor property on an actor (e.g. 'mobility', 'hidden', a
light's 'intensity'). |
| destroy_actorB | Delete an actor from the level by label or name. |
| list_assetsB | List asset object paths under a content path.
|
| asset_existsB | Check whether an asset exists at the given object path. |
| asset_infoB | Return class/package info for an asset. |
| import_assetA | Import an external file (FBX/OBJ/glTF, PNG/EXR, WAV, …) into /Game.
|
| duplicate_assetC | Duplicate an asset to a new object path. |
| rename_assetB | Rename/move an asset to a new object path. |
| save_assetC | Save a single asset to disk. |
| delete_assetA | Delete an asset. Destructive — fails if other assets still reference it. |
| new_levelA | Create a new empty level asset at a content path (e.g. '/Game/Maps/Test'). |
| load_levelA | Open a level by content path, replacing the currently open level. |
| save_current_levelB | Save the currently open level. |
| create_materialA | Create a new empty Material asset.
|
| create_blueprintA | Create a Blueprint asset deriving from
|
| compile_blueprintD | Compile a Blueprint asset by object path. |
| take_screenshotB | Capture a high-resolution screenshot of the active editor viewport.
|
| build_lightingA | Build static lighting for the current level via console.
|
| execute_pythonA | Run Python inside the running Unreal Editor. With The |
| search_unreal_classesA | Search names in the live e.g. 'Niagara', 'Landscape', 'Sequencer', 'PCG', 'AbilitySystem',
'Spline', 'Foliage', 'Chaos'. Use this to discover what's available
(including from enabled plugins) before writing |
| introspect_unreal_classA | List methods and properties of an e.g. 'EditorActorSubsystem', 'NiagaraSystem', 'LandscapeProxy', 'MovieSceneSequence', 'StaticMeshEditorSubsystem'. |
| run_automation_testsA | Run Automation Framework tests headlessly.
|
| run_python_fileB | Execute a .py file headlessly via -ExecutePythonScript. Useful for long batch jobs that shouldn't tie up the interactive editor. |
| cook_contentC | Cook project content for a target platform (Windows, Linux, Mac, Android…). |
| rc_get_propertyA | Read a UObject property directly via Remote Control (no Python bridge).
|
| rc_set_propertyB | Write a UObject property directly via Remote Control (transacted/undoable). |
| rc_call_functionC | Call a UFunction on a UObject directly via Remote Control. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/harn3ss/unreal-engine-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server