Unreal-MCP

286 tools. 173 can modify or destroy data without limits.

31 destructive tools with no built-in limits. Policy required.

Last updated:

173 can modify or destroy data
113 read-only
286 tools total

Community server · catalogue entry checked 11/06/2026

How to control Unreal-MCP ↓

What Unreal-MCP exposes to your agents

Read (113) Write / Execute (141) Destructive / Financial (31)
Critical Risk

The most dangerous Unreal-MCP tools

173 of Unreal-MCP's 286 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Unreal-MCP

PolicyLayer is an MCP gateway — it sits between your AI agents and Unreal-MCP, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "cleanup_material_function": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_blueprint_node": {
    "limits": [
      {
        "counter": "add_blueprint_node_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "analyze_blueprint_graph": {
    "limits": [
      {
        "counter": "analyze_blueprint_graph_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Unreal-MCP — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON UNREAL-MCP →

Instant setup, no code required.

All 286 Unreal-MCP tools

DESTRUCTIVE 31 tools
Destructive cleanup_material_function cleanup_material_function Destructive cleanup_material_graph cleanup_material_graph Destructive clear_niagara_module_input clear_niagara_module_input Destructive delete_actor Delete an actor from the level by name. Destructive delete_asset Delete an asset or directory from the Content Browser. Destructive delete_blueprint_function Delete a function from a Blueprint. Destructive delete_blueprint_node Delete a node from a Blueprint graph by GUID. Destructive delete_data_table_row Delete a row from a Data Table by name. Destructive delete_material_expression Delete a single expression node by index. Recompiles and saves automatically. Destructive delete_niagara_graph_node Delete a node from a Niagara graph (asset + edit-copy). Destructive delete_niagara_scratch_pad_module Delete a scratch pad module from a Niagara System. Destructive delete_niagara_system Delete a Niagara System asset. Destructive remove_input_action_modifier Remove a modifier from an Input Action by index. Destructive remove_input_action_trigger Remove a trigger from an Input Action by index. Destructive remove_key_mapping remove_key_mapping Destructive remove_mapping_modifier Remove a modifier from a mapping in an Input Mapping Context. Destructive remove_mapping_trigger Remove a trigger from a mapping in an Input Mapping Context. Destructive remove_mass_config_trait remove_mass_config_trait Destructive remove_niagara_custom_hlsl_pin Remove a pin from a Custom HLSL node and rebuild its signature. Destructive remove_niagara_emitter Remove an emitter from a Niagara System by name. Destructive remove_niagara_module remove_niagara_module Destructive remove_niagara_node_pin Remove a dynamic pin from any node in a scratch pad graph. Destructive remove_niagara_renderer Remove a renderer from an emitter by index. Destructive remove_niagara_script_parameter Remove a named input or output parameter from a Niagara script. Destructive remove_niagara_user_parameter Remove a user parameter from a Niagara System. Destructive remove_statetree_binding Remove a property binding by index. Destructive remove_statetree_node Remove a task, evaluator, or condition by GUID. Destructive remove_statetree_parameter Remove a tree-level parameter by name. Destructive remove_statetree_state Remove a state and all its children from the tree. Destructive remove_statetree_transition Remove a transition from a state. Destructive remove_widget Remove a widget and its children. Cannot remove the root widget.
WRITE 128 tools
Write add_blueprint_node add_blueprint_node Write add_component_to_blueprint Add a component to a Blueprint's default components. Write add_data_table_row Add a new row, optionally setting initial field values. Write add_event_node Add an event node (ReceiveBeginPlay, ReceiveTick, ReceiveDestroyed, etc.). Write add_function_input Add an input parameter to a Blueprint function. Write add_function_output Add an output parameter to a Blueprint function. Write add_input_action_modifier add_input_action_modifier Write add_input_action_trigger add_input_action_trigger Write add_key_mapping add_key_mapping Write add_mapping_modifier add_mapping_modifier Write add_mapping_trigger add_mapping_trigger Write add_mass_config_trait add_mass_config_trait Write add_material_comments Add comment boxes to a material graph for organization. Write add_material_expression add_material_expression Write add_material_function_input add_material_function_input Write add_material_function_output add_material_function_output Write add_niagara_component add_niagara_component Write add_niagara_custom_hlsl_input Add a typed input pin to a scratch pad module's Custom HLSL node. Write add_niagara_custom_hlsl_output Add a typed output pin to a scratch pad module's Custom HLSL node. Write add_niagara_emitter add_niagara_emitter Write add_niagara_event_handler add_niagara_event_handler Write add_niagara_graph_node add_niagara_graph_node Write add_niagara_map_get_pin add_niagara_map_get_pin Write add_niagara_map_set_pin add_niagara_map_set_pin Write add_niagara_module add_niagara_module Write add_niagara_node_pin add_niagara_node_pin Write add_niagara_renderer add_niagara_renderer Write add_niagara_script_parameter add_niagara_script_parameter Write add_niagara_simulation_stage add_niagara_simulation_stage Write add_niagara_user_parameter add_niagara_user_parameter Write add_statetree_binding add_statetree_binding Write add_statetree_condition add_statetree_condition Write add_statetree_evaluator add_statetree_evaluator Write add_statetree_global_task Add a global task to the StateTree. Write add_statetree_parameter Add a tree-level parameter. Write add_statetree_state add_statetree_state Write add_statetree_task add_statetree_task Write add_statetree_transition add_statetree_transition Write add_widget add_widget Write apply_and_save_niagara_scratch_pad Apply a scratch pad module's edit-copy AND save the asset (Apply & Save button). Write apply_material_to_actor Apply a material to a level actor. Write apply_material_to_blueprint Apply a material to a Blueprint component. Write apply_niagara_scratch_pad Commit a scratch pad module's edit-copy to the original script (Apply button). Write connect_blueprint_nodes connect_blueprint_nodes Write connect_material_expressions connect_material_expressions Write connect_niagara_pins Wire one node's output pin to another node's input pin inside a scratch pad graph. Write create_blueprint create_blueprint Write create_blueprint_function Create a new function in a Blueprint. Write create_blueprint_variable Create a variable in a Blueprint. Write create_data_asset create_data_asset Write create_input_action Create a new UInputAction asset. Write create_input_mapping_context Create a new UInputMappingContext asset. Write create_material create_material Write create_material_function create_material_function Write create_material_instance create_material_instance Write create_niagara_module_asset create_niagara_module_asset Write create_niagara_scratch_pad_module create_niagara_scratch_pad_module Write create_niagara_system Create a new Niagara System asset. Write create_statetree Create a new StateTree asset with the specified schema. Write disconnect_material_expression Disconnect a specific input pin on a material expression node. Write disconnect_niagara_pins Break all connections on a specific pin of a node in a scratch pad graph. Write duplicate_asset Duplicate an asset to a new location. Write duplicate_data_table_row Copy an existing row under a new name. Write duplicate_material_expression Duplicate a node (same type and properties, offset from original). Write duplicate_niagara_emitter Duplicate an emitter within a Niagara System. Write duplicate_niagara_scratch_pad_module Duplicate an existing scratch pad module on a system. Write duplicate_widget Deep-copy a widget including children. Auto-renames on conflicts. Write import_asset import_asset Write import_assets_batch import_assets_batch Write layout_material_expressions Auto-layout all nodes using Unreal's built-in arrangement algorithm. Write link_niagara_parameter link_niagara_parameter Write move_material_expression Move a material expression node to a new graph position. Write move_widget Move a widget to a different parent panel. Write recompile_material Force recompile and save a material. Reports success/failure. Write rename_asset Rename or move an asset. UE5 automatically fixes all references. Write rename_blueprint_function Rename a function in a Blueprint. Write rename_data_table_row Rename a row in-place (preserves row order). Write rename_niagara_custom_hlsl_pin Rename a Custom HLSL pin and update references inside the HLSL source. Write rename_niagara_node_pin Rename a dynamic pin on any node in a scratch pad graph. Write rename_niagara_scratch_pad_module Rename a scratch pad module on a Niagara System. Write rename_niagara_script_parameter Rename a script parameter in-place across both asset and edit-copy graphs. Write rename_widget Rename a widget (fixes up Blueprint variable tracking if bIsVariable). Write reorder_niagara_emitter Move an emitter to a new position in the system's emitter list. Write reorder_niagara_module reorder_niagara_module Write resolve_niagara_built_in_dynamic_input resolve_niagara_built_in_dynamic_input Write save_all Save all unsaved (dirty) assets. Write save_asset Save a specific asset to disk. Write set_actor_property set_actor_property Write set_actor_transform Set an actor's location, rotation, and/or scale. Write set_asset_property Set a property on an asset. Write set_blueprint_class_defaults set_blueprint_class_defaults Write set_blueprint_node_property set_blueprint_node_property Write set_blueprint_variable_properties Modify properties of an existing Blueprint variable. Write set_data_asset_properties Set multiple properties in a single call (one load + one save). Write set_data_asset_property set_data_asset_property Write set_input_action_properties Set properties on an Input Action. Write set_key_mapping Change the key or action on an existing mapping in an IMC. Write set_mass_config_trait_property set_mass_config_trait_property Write set_material_expression_property set_material_expression_property Write set_material_function_input set_material_function_input Write set_material_function_output set_material_function_output Write set_material_instance_parameter Set a parameter override on a Material Instance. Write set_material_properties set_material_properties Write set_mesh_material_color Set material color on a mesh component. Write set_niagara_curve set_niagara_curve Write set_niagara_dynamic_input set_niagara_dynamic_input Write set_niagara_emitter_property Set a property on an emitter within a Niagara System. Write set_niagara_module_enabled set_niagara_module_enabled Write set_niagara_module_input set_niagara_module_input Write set_niagara_playback_range set_niagara_playback_range Write set_niagara_rapid_iteration_parameter set_niagara_rapid_iteration_parameter Write set_niagara_renderer_binding set_niagara_renderer_binding Write set_niagara_renderer_property set_niagara_renderer_property Write set_niagara_script_properties set_niagara_script_properties Write set_niagara_system_property set_niagara_system_property Write set_niagara_user_parameter set_niagara_user_parameter Write set_physics_properties Set physics properties on a Blueprint component. Write set_slot_properties Set layout slot properties (anchors, offsets, padding, alignment, etc.). Write set_statetree_color Add or update a color in the StateTree theme. Write set_statetree_node_property set_statetree_node_property Write set_statetree_schema Change the schema of a StateTree. Warning: existing nodes may become invalid. Write set_statetree_state_property set_statetree_state_property Write set_statetree_transition_property set_statetree_transition_property Write set_static_mesh_properties Set the static mesh on a StaticMeshComponent in a Blueprint. Write set_widget_properties Set multiple widget properties. Same format as set_data_asset_properties. Write spawn_actor Spawn an actor in the level. Write spawn_blueprint_actor Spawn a Blueprint actor instance in the level. Write update_data_table_row Update specific fields on an existing row (partial update).
READ 113 tools
Read analyze_blueprint_graph Analyze a specific graph — nodes, connections, and execution flow. Read describe_niagara_type describe_niagara_type Read find_actors find_actors Read find_actors_by_name Find actors whose name matches the given pattern. Read find_assets find_assets Read find_niagara_scratch_pad_usage find_niagara_scratch_pad_usage Read find_references Find assets that reference or are referenced by the given asset. Read get_actor_material_info Get material slot info for a level actor. Read get_actor_properties get_actor_properties Read get_actor_property_metadata get_actor_property_metadata Read get_actors_in_level List all actors in the current level. Read get_asset_info Get asset metadata: class, package, and key properties. Read get_asset_properties Get all editable properties of an asset. Read get_available_material_pins get_available_material_pins Read get_available_materials get_available_materials Read get_blueprint_class_defaults get_blueprint_class_defaults Read get_blueprint_function_details Get detailed info about Blueprint functions (empty name = all functions). Read get_blueprint_material_info Get material slot info for a Blueprint's mesh components. Read get_blueprint_variable_details Get detailed info about Blueprint variables (empty name = all variables). Read get_data_asset_properties Read ALL property values from a data asset (no visibility filter). Read get_data_table_row Get a single row from a Data Table by its row name. Read get_data_table_rows Get all rows and their field data from a Data Table asset. Read get_data_table_schema Get column names and types defined by the Data Table's row struct. Read get_expression_type_info get_expression_type_info Read get_input_action Read all properties, triggers, and modifiers of an Input Action. Read get_input_mapping_context Read all key mappings from an Input Mapping Context. Read get_mass_config_traits get_mass_config_traits Read get_material_errors Get shader compilation errors for a material. Read get_material_expression_info Get detailed info for a single node, including all available input/output pins. Read get_material_function_info Inspect a Material Function: inputs, outputs, internal nodes. Read get_material_graph_nodes get_material_graph_nodes Read get_material_info get_material_info Read get_material_instance_parameters Get all overridable parameters from a Material Instance (scalar, vector, texture, switch). Read get_material_property_connections Query which expression node feeds each material output slot. Read get_mcp_token_stats Get accumulated per-command token usage statistics. Read get_niagara_actors Get all Niagara actors in the current level. Read get_niagara_data_interface_schema get_niagara_data_interface_schema Read get_niagara_emitter_attributes get_niagara_emitter_attributes Read get_niagara_emitters get_niagara_emitters Read get_niagara_event_handlers Get all event handlers configured on an emitter. Read get_niagara_graph_nodes get_niagara_graph_nodes Read get_niagara_module_input_binding get_niagara_module_input_binding Read get_niagara_module_inputs get_niagara_module_inputs Read get_niagara_module_versions get_niagara_module_versions Read get_niagara_modules get_niagara_modules Read get_niagara_node_info get_niagara_node_info Read get_niagara_node_type_info get_niagara_node_type_info Read get_niagara_particle_stats get_niagara_particle_stats Read get_niagara_playback_range get_niagara_playback_range Read get_niagara_rapid_iteration_parameters get_niagara_rapid_iteration_parameters Read get_niagara_renderer_info Get detailed information about a renderer on an emitter. Read get_niagara_renderer_properties get_niagara_renderer_properties Read get_niagara_schema_actions get_niagara_schema_actions Read get_niagara_script_properties get_niagara_script_properties Read get_niagara_system_errors get_niagara_system_errors Read get_niagara_system_info get_niagara_system_info Read get_niagara_user_parameters get_niagara_user_parameters Read get_property_valid_types get_property_valid_types Read get_selected_actors Get all currently selected actors in the editor viewport. Read get_selected_assets Get currently selected assets in the Content Browser. Read get_slot_properties Read layout slot properties (type depends on parent: CanvasPanelSlot, HorizontalBoxSlot, etc.). Read get_statetree_bindings get_statetree_bindings Read get_statetree_evaluators Get all global evaluators with their properties and instance data. Read get_statetree_full_info get_statetree_full_info Read get_statetree_global_tasks Get all global tasks with their properties. Read get_statetree_info Get compact overview of a StateTree: schema, state count, evaluator count, etc. Read get_statetree_node get_statetree_node Read get_statetree_parameters Get tree-level parameters (name, type, value). Read get_statetree_state get_statetree_state Read get_statetree_states get_statetree_states Read get_statetree_transition_targets get_statetree_transition_targets Read get_widget_properties Read all property values from a widget (supports all FProperty types). Read get_widget_tree Read the complete widget hierarchy from a Widget Blueprint's Designer. Read get_world_info Get current editor level info (world name, actor count, actor list). Read health_check Check if the UE5 editor bridge is running and responsive. Read list_assets List assets in a Content Browser directory. Read list_data_asset_classes List all UDataAsset subclasses currently loaded in the editor. Read list_data_assets List data assets in a content path, optionally filtered by class. Read list_input_actions List all UInputAction assets, optionally filtered by name and path. Read list_input_keys List available FKey values (keyboard, mouse, gamepad keys). Read list_input_mapping_contexts List all UInputMappingContext assets, optionally filtered. Read list_material_expression_types List available material expression node types. Read list_modifier_types List all available UInputModifier subclasses with their editable properties. Read list_niagara_available_parameters list_niagara_available_parameters Read list_niagara_data_interface_functions list_niagara_data_interface_functions Read list_niagara_data_interfaces List available Niagara Data Interfaces (Grid2D, Grid3D, AudioSpectrum, etc.). Read list_niagara_emitter_templates List available emitter templates for use with add_niagara_emitter. Read list_niagara_input_source_menu list_niagara_input_source_menu Read list_niagara_modules list_niagara_modules Read list_niagara_node_types list_niagara_node_types Read list_niagara_ops list_niagara_ops Read list_niagara_parameter_types list_niagara_parameter_types Read list_niagara_scratch_pad_modules List all scratch pad modules on a Niagara System. Read list_niagara_script_parameters list_niagara_script_parameters Read list_niagara_systems List Niagara System assets in the project. Read list_statetree_enum_values list_statetree_enum_values Read list_statetree_node_types List available task/evaluator/condition types for the StateTree's schema. Read list_trigger_types List all available UInputTrigger subclasses with their editable properties. Read list_widget_types List available UWidget subclasses. Use filter to narrow results. Read performance_analyze_insight performance_analyze_insight Read read_blueprint_content Read complete Blueprint content: event graph, functions, variables, components. Read search_class_paths search_class_paths Read search_material_functions search_material_functions Read search_niagara_functions search_niagara_functions Read search_parent_classes search_parent_classes Read search_statetree_nodes search_statetree_nodes Read sync_browser Navigate the Content Browser to show a specific asset. Read take_screenshot Capture the editor to a PNG. Read trace_material_connection trace_material_connection Read trace_niagara_connection trace_niagara_connection Read validate_material_function validate_material_function Read validate_material_graph validate_material_graph Read validate_niagara_graph validate_niagara_graph

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Unreal-MCP

Can an AI agent delete data through the Unreal- MCP server? +

Yes. The Unreal-MCP server exposes 31 destructive tools including cleanup_material_function, cleanup_material_graph, clear_niagara_module_input. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Unreal-MCP? +

The Unreal-MCP server has 128 write tools including add_blueprint_node, add_component_to_blueprint, add_data_table_row. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Unreal-MCP.

How many tools does the Unreal- MCP server expose? +

286 tools across 4 categories: Destructive, Execute, Read, Write. 113 are read-only. 173 can modify, create, or delete data.

How do I enforce a policy on Unreal-MCP? +

Register the Unreal- MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Unreal-MCP tool call.

Deterministic rules across all 286 Unreal-MCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

286 Unreal-MCP tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Unreal-'s registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.