unreal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| get_spatial_contextA | Return the current spatial context of all actors as a JSON string. |
| reset_spatial_contextA | Reset the spatial context, clearing all tracked actors. |
| delete_actorC | Delete a specific actor from the Unreal Engine level. Parameters:
|
| spawn_actor_from_blueprintA | Spawn a level actor based on an Unreal Blueprint class. Parameters:
Supported parameters:
|
| spawn_static_meshB | Spawn a static mesh actor using an existing static mesh asset from the content browser. Parameters:
Supported parameters:
|
| create_static_mesh_actorB | Create a new static mesh actor in the Unreal Engine level using a simpler approach. Parameters:
Supported parameters:
|
| modify_actorB | Modify an existing actor in the Unreal Engine level. Parameters:
Supported parameters:
|
| get_level_infoC | Get information about the current Unreal Engine level and update spatial context. |
| list_available_assetsA | List available assets of a specific type in the Unreal Engine project. Parameters:
Supported parameters:
|
| get_actor_infoA | Get detailed information about a specific actor in the Unreal Engine level. Parameters:
|
| search_assets_recursivelyA | Search for assets recursively in all common subdirectories. Parameters:
|
| list_level_actorsA | List actors in the current level. Parameters:
|
| get_selected_actorsA | Get the actors currently selected in the Unreal Editor. |
| select_actorsB | Select one or more actors in the Unreal Editor. Parameters:
|
| save_current_levelA | Save the currently open Unreal level. |
| remote_callB | Call any Unreal Remote Control function. Parameters:
|
| get_object_propertyA | Read any Unreal object property through the Remote Control property endpoint. Parameters:
|
| set_object_propertyA | Write any Unreal object property through the Remote Control property endpoint. Parameters:
|
| create_basic_castleB | Create a sample castle workflow from primitive shapes. Parameters:
|
| verify_basic_castleB | Verify that a castle built from the shared plan exists in the current level. Parameters:
|
| reset_basic_castleB | Delete a castle by prefix. Parameters:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Some tools overlap in purpose, e.g., create_static_mesh_actor vs spawn_static_mesh both create static mesh actors, and list_available_assets vs search_assets_recursively both list assets. Also, get_actor_info vs get_object_property and modify_actor vs set_object_property share similar scopes. Descriptions help but boundaries are fuzzy.
Most tools follow a verb_noun pattern with snake_case, e.g., create_static_mesh_actor, list_level_actors. However, there are minor inconsistencies like create vs spawn for similar actions, and remote_call uses 'call' instead of a clearer noun. Overall, the pattern is readable and mostly consistent.
With 21 tools, the server covers a broad range of Unreal operations but includes several castle-specific tools (3) that seem niche. The count is high but still manageable for integration. Slight bloat due to overlapping tools.
The tool set covers actor creation/modification/deletion, asset listing, and spatial context, but lacks asset deletion, blueprint editing (beyond spawning), level management (e.g., new level), and undo support. The presence of general-purpose remote_call and set_object_property partially compensates but indicates missing high-level functionality.