Skip to main content
Glama

ue_flow_run

Executes a YAML/JSON sequence of Unreal Engine tool calls as one batch, returning a summary instead of each response. Supports variables, dry-run, and stop-on-error for repetitive scenes.

Instructions

Esegue una sequenza di chiamate a tool descritta in YAML (o JSON).

Serve quando la stessa scena si costruisce con dieci o venti chiamate sempre uguali: il flow le descrive una volta e le esegue in un colpo solo, restituendo il riassunto invece di venti risposte intere.

Forma di un flow::

variables:
  base: {x: 0, y: 0, z: 100}
steps:
  - tool: ue_spawn_actor
    args: {class_name: StaticMeshActor, location: "${base}", label: Cubo}
    save: cubo
  - tool: ue_set_actor_transform
    args: {label: "${cubo.label}", scale: [2, 2, 2]}
  - tool: ue_screenshot
    when: {exists: cubo.label}

Ogni passo accetta tool, args, save (nome della variabile in cui mettere il risultato), when (booleano, ${riferimento}, o {equals: [a,b]} / {not_equals: [a,b]} / {exists: percorso}), continue_on_error e name.

Nei valori, ${nome} e ${nome.chiave.0} riprendono quello che un passo precedente ha salvato. Una stringa fatta solo di riferimento conserva il tipo del valore (un dict resta un dict); dentro una frase viene interpolata come testo.

Non ci sono cicli né espressioni, ed è voluto: la logica sta in chi scrive il flow, non nel flow.

Args: flow: il testo YAML/JSON, oppure il path di un file .yaml/.json. variables: variabili iniziali, che si sommano a quelle del flow. dry_run: valida forma, nomi dei tool e riferimenti senza eseguire niente. Da usare sempre la prima volta che un flow gira. stop_on_error: fermarsi al primo passo fallito. Con False prosegue e riporta gli errori nel riassunto (un singolo passo può comunque dichiarare continue_on_error: true).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flowYes
dry_runNo
variablesNo
stop_on_errorNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and meets it: it details step semantics (tool, args, save, when, continue_on_error), variable interpolation rules, the return of a summary instead of full responses, and the behavior of dry_run (validates without executing) and stop_on_error (stop vs. continue). It explicitly states the intentional lack of loops/expressions, making the tool's execution model transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every section earns its place: purpose, when-to-use, an illustrative flow example, step field semantics, variable interpolation rules, explicit constraints, and parameter documentation. It is front-loaded with the core purpose and structured with headings and code example, making it easy to scan without redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a flow interpreter with conditional steps and variable references), the description is remarkably complete: it covers the YAML/JSON format, step fields, variable notation with type preservation, dry_run validation, error handling options, and the summary output behavior. No output schema exists, but the description sufficiently explains what the agent can expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 0%, the description's 'Args' section fully compensates by explaining each parameter: flow (YAML/JSON text or file path), variables (initial variables merged with the flow's), dry_run (validate without executing, 'Da usare sempre la prima volta'), and stop_on_error (stop at first failure or continue and report errors). This adds meaning well beyond the raw schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Esegue una sequenza di chiamate a tool descritta in YAML (o JSON)' — it clearly states that the tool executes a sequence of tool calls defined in YAML/JSON. This distinguishes it from the many direct UE-operation siblings by framing it as an orchestration/meta-tool, and the use case of building a scene with repeated identical calls further clarifies its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Serve quando la stessa scena si costruisce con dieci o venti chiamate sempre uguali' (use when the same scene requires ten or twenty identical calls). It also states a clear exclusion: 'Non ci sono cicli né espressioni, ed è voluto' — no loops or expressions, so complex logic is out of scope. This gives the agent clear decision-making criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/FFZackFair92/unreal-engine-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server