Skip to main content
Glama

Batch Run

batch_run
Destructive

Runs multiple domain-tool calls in one ordered server-side request, stopping at the first failed or unverified step and reporting every outcome; steps can reference earlier results via templates.

Instructions

Run several domain-tool calls in ONE call, in order, server-side.

Prefer it whenever the next calls are known: e.g. set metadata and color on four clips, add markers, rename tracks. Each step is {tool, op} exactly as you would call that tool, and is validated, verified and audited the same way. A step's op may read an earlier step's output with a template: "{{ steps..receipt.result.id }}" (writes), "{{ steps..result... }}" (reads), [n] and [*] supported. Stops at the first failed or unverified step; every outcome is reported. With *_delete steps the first call returns a plan + confirm_token for the whole batch.

Input Schema

NameRequiredDescriptionDefault
stepsYesSteps, in order.
dry_runNoPlan only.
verboseNoFull receipts for every step.
confirm_tokenNoWhen it contains *_delete steps: token from the plan.

Output Schema

NameRequiredDescriptionDefault
planNo
stepsNo
recipeYes
statusYes
outputsNo
duration_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond destructiveHint=true: execution is ordered, halts at the first failed or unverified step, all outcomes are reported, and each step is validated/verified/audited like a direct call. The *_delete two-phase plan + confirm_token flow is exactly the kind of consequence disclosure the destructive annotation alone cannot convey.

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

Conciseness4/5

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

Front-loaded with the one-line definition, then progressively more specific detail; almost no waste. It is dense — the template-syntax parenthetical is the least readable sentence — but every sentence carries operational information.

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

Completeness4/5

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

Return values are covered by the output schema, and the description handles ordering, failure semantics, limits, and the confirm flow. The remaining meaningful gap is whether a mid-batch failure rolls back earlier successful steps or leaves them applied — critical context for a destructiveHint tool.

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

Parameters4/5

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

Schema coverage is already 100%, so 3 is the floor; the description earns more by explaining what the schema cannot — that a step's `op` is templated from earlier output, the two template roots for writes vs reads (`receipt.result.id` vs `result...`), and that [n]/[*] indexing works. Expected behaviour of dry_run and confirm_token is also implied. Minor gap: `wait` and `snapshot` are left entirely to the schema.

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?

States a specific verb and resource — batch execution of several domain-tool calls — with the distinguishing scope 'in ONE call, in order, server-side'. That immediately separates it from every single-domain sibling like media_write or timeline_write.

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

Usage Guidelines4/5

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

Gives a clear routing rule ('prefer it whenever the next calls are known') plus three concrete instance examples (metadata+color on four clips, add markers, rename tracks), and the deletion path is called out separately. It never names a sibling alternative (recipe_run, or the individual tools) or states an explicit 'do not use when', so it stops short of a 5.

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