Critical Risk →

level

Level actors, selection, components, level management, volumes, lights, and splines. Actions: - get_outliner: List actors. Params: classFilter?, nameFilter?, world? (editor|pie|auto), limit? - place_actor: Spawn actor. Params: actorClass, label?, location?, rotation?, scale?, staticMesh?, materi...

Accepts file system path (directory); High parameter count (60 properties)

Part of the Ue MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

ue-mcp Destructive Risk 5/5

AI agents may call level to permanently remove or destroy resources in Ue. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. Intercept blocks destructive tools by default and requires explicit human approval before enabling them.

Without a policy, an AI agent could call level in a loop, permanently destroying resources in Ue. There is no undo for destructive operations. Intercept blocks this tool by default and only allows it when a human explicitly approves the action.

Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.

ue.yaml
tools:
  level:
    rules:
      - action: deny
        reason: "Blocked by default — enable with approval"

See the full Ue policy for all 20 tools.

Tool Name level
Category Destructive
MCP Server Ue MCP Server
Risk Level Critical

View all 20 tools →

Agents calling destructive-class tools like level have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Destructive risk category across the catalogue. The same policy patterns (deny, require_approval) apply to each.

level is one of the critical-risk operations in Ue. For the full severity-focused view — only the critical-risk tools with their recommended policies — see the breakdown for this server, or browse all critical-risk tools across every MCP server.

What does the level tool do? +

Level actors, selection, components, level management, volumes, lights, and splines. Actions: - get_outliner: List actors. Params: classFilter?, nameFilter?, world? (editor|pie|auto), limit? - place_actor: Spawn actor. Params: actorClass, label?, location?, rotation?, scale?, staticMesh?, material? - delete_actor: Remove actor. Params: actorLabel - get_actor_details: Inspect actor. Params: actorLabel OR actorPath, includeProperties?, propertyName?, world? (editor|pie) - move_actor: Transform actor. Params: actorLabel, location?, rotation?, scale? - select: Select actors. Params: actorLabels[] - get_selected: Get selection - add_component: Add component to actor. Params: actorLabel, componentClass, componentName? - set_component_property: Set component prop. Params: actorLabel, componentName, propertyName, value - get_current: Get current level name and path - load: Load level. Params: levelPath - save: Save current level - list: List levels. Params: directory?, recursive? - create: Create new level. Params: levelPath?, templateLevel? - spawn_volume: Place volume. Params: volumeType, location?, extent?, label? - list_volumes: List volumes. Params: volumeType? - set_volume_properties: Edit volume. Params: actorLabel, properties - spawn_light: Place light. Params: lightType, location?, rotation?, intensity?, color?, label? - set_light_properties: Edit light. Params: actorLabel, intensity?, color?, rotation? (DirectionalLight sun angle), recaptureSky?, temperature?, castShadows?, attenuationRadius? - set_fog_properties: Edit ExponentialHeightFog. Params: actorLabel?, fogDensity?, fogHeightFalloff?, startDistance?, fogInscatteringColor? - get_actors_by_class: List actors by class name. Params: className, world? (editor|pie) - count_actors_by_class: Histogram of actor classes in the level (sorted desc). Params: world? (editor|pie), topN? (#146) - get_runtime_virtual_texture_summary: List RuntimeVirtualTextureVolume actors + their bound VirtualTexture assets (#150) - set_water_body_property: Set a property on an actor's WaterBodyComponent (ShapeDilation, WaterLevel, etc.). Params: actorLabel, propertyName, value. Requires Water plugin. For spline edits use level(set_spline_points) (#151) - build_lighting: Build lights. Params: quality? - get_spline_info: Read spline. Params: actorLabel - set_spline_points: Set spline points. Params: actorLabel, points[], closedLoop? - set_actor_material: Set material on actor. Params: actorLabel, materialPath, slotIndex? - get_world_settings: Read world settings (GameMode, KillZ, gravity, etc.) - set_world_settings: Set world settings. Params: defaultGameMode?, killZ?, globalGravityZ?, enableWorldBoundsChecks?. It is categorised as a Destructive tool in the Ue MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on level? +

Add a rule in your Intercept YAML policy under the tools section for level. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Ue MCP server.

What risk level is level? +

level is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit level? +

Yes. Add a rate_limit block to the level rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block level completely? +

Set action: deny in the Intercept policy for level. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides level? +

level is provided by the Ue MCP server (ue-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Ue

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

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

Message sent.

We'll get back to you soon.