Skip to main content
Glama

run_batch

Execute multiple engine commands in sequence within one session, then save once; stops at first failure unless keepGoing is enabled.

Instructions

Run several engine commands in one session, in order, then save once. Faster than many single calls; stops at the first failure unless keepGoing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "steps": "<steps>"
    },
    "name": "run_batch"
  }
}

Input Schema

NameRequiredDescriptionDefault
stepsYes
projectNoPath to the .fcproj project file; omit to edit the FilmCraft app connected with connect_app
keepGoingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and openWorldHint=false; the description adds genuinely new context - in-order execution, session scoping, one consolidated save, and the stop-on-first-failure default. One meaningful ambiguity remains: it does not say whether the single save still occurs when an early step fails, which matters for a mutating tool.

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?

Two sentences, zero padding. The primary purpose and the failure-mode caveat are both front-loaded, and every clause carries operational information.

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

Completeness3/5

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

For a nested-array batch tool with no output schema and one undocumented required parameter, the description should say where valid step ids come from and what the call returns or saves. It covers the execution semantics but leaves the agent to guess at command identification and result reporting.

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

Parameters3/5

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

Schema coverage is only 33%: `project` is documented in the schema while `steps` and `keepGoing` are not. The description explains keepGoing's semantics well, but leaves `steps` underspecified - notably that each step's `id` is a command identifier (presumably from list_commands) and how `params` map to that command. That is the most important parameter and it receives no meaning beyond the schema's bare object shape.

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

Purpose4/5

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

The description gives a concrete verb ('Run') and resource ('several engine commands') plus the key mechanics: sequential execution in one session with a single save at the end. It implicitly contrasts with the sibling run_command by calling out that batching is 'faster than many single calls', though it never names that sibling directly.

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?

It states the selection condition clearly: use this instead of many single calls when you have multiple engine commands to execute, and it explains the failure policy ('stops at the first failure unless keepGoing'). It stops short of naming run_command or list_commands as the alternatives, so the routing is inferred rather than explicit.

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