Skip to main content
Glama

for_each_frame

Apply the same operations to every frame of an animation or imported video to batch-edit clips, such as color grading, with optional start, end, and step controls.

Instructions

Apply the same tool calls to every frame of an animation / imported video, e.g. colour-grade a clip: [{"tool": "adjust_image", "args": {"operation": "temperature", "settings": {"temperature": 30}}}]. Frames default to the playback range (max 1000 frames, 20 operations).

Input Schema

NameRequiredDescriptionDefault
endNo
stepNo
startNo
operationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden. It does disclose valuable operational limits (max 1000 frames, 20 operations) and the default frame range (playback range), which no structured field provides. It says nothing about cost, latency, undo behaviour, or whether the original frames are replaced or a new result is produced.

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?

Two sentences, front-loaded with the core action, followed by the example payload and the limits. The example is long but earns its space by resolving the undocumented 'operations' format. Nothing reads as filler.

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?

For a 4-parameter, no-annotation, no-output-schema tool, the description covers the essentials: what gets operated on, the operations payload format, the default range, and the hard caps. The remaining gap is behavioural (what happens to source frames, cost of a 1000-frame run), which is a real but secondary omission.

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?

Schema description coverage is 0%, so the description must carry parameter meaning, and it does: it specifies the exact shape of each element in 'operations' ({tool, args}) with a concrete worked example, and explains that start/end default to the playback range. That is meaning an agent cannot derive from an array-of-objects schema. Only 'step' is left to the default value.

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?

States a specific verb and resource: apply the same tool calls to every frame of an animation or imported video. The example (colour-grading a clip) pins down the kind of work it is for. It does not explicitly distinguish itself from the sibling 'batch' tool, which is the one nearby capability an agent might confuse it with.

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

Usage Guidelines3/5

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

Usage is conveyed by example ('colour-grade a clip') rather than by an explicit when-to-use rule, and there is no statement of when not to use it. With 'batch' among the siblings, the absence of any routing guidance between the two leaves a real decision to inference.

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