Skip to main content
Glama

batch

Runs multiple Aseprite sprite operations in one all-or-nothing call, opening and saving once to apply steps such as create, draw, edit, and animate.

Instructions

Many steps on one sprite in one call (one open, one save, all-or-nothing). Step = {op, ...that tool's args minus path/preview}. e.g. [{"op":"create_sprite","width":16,"height":16,"palette":"pico8"},{"op":"draw","rows":["kk"],"legend":{"k":"#000"}},{"op":"edit","action":"outline"}]

Input Schema

NameRequiredDescriptionDefault
pathYes
stepsYes
previewNotrue or preview options

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.3.0

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description does real work: it discloses atomicity ("all-or-nothing"), a single open and single save around the batch, and that per-step path/preview args are stripped. It does not say what happens on a mid-batch failure (file untouched? error shape?), whether steps execute in order, or whether read-only ops like sprite_info/read_pixels are permitted mid-batch.

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?

Three dense fragments: the contract, the step shape, then a runnable example. Scope and atomicity are front-loaded, and the example justifies its length by showing how cross-tool args compose.

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 batch executor with no annotations and no output schema, the return value is entirely unspecified — does it return per-step results, a preview, or just success? That gap matters because the enum mixes mutations with reads (sprite_info, read_pixels, run_lua).

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 only 33% and the steps schema is a bare enum with additionalProperties, so the description carries the semantics: step = {op, ...that tool's args minus path/preview}, illustrated with a full example. It adds little for `path` and leaves `preview` to the schema's short note, keeping it short of a 5.

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 scope: apply many steps to one sprite in a single call. The phrase "...that tool's args" explicitly ties it to the sibling tools whose operations it bundles, so an agent can tell it apart from calling draw/edit/palette individually.

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?

Implies the use case clearly (multiple steps on one sprite, one open/one save) and shows a concrete three-step example of a typical composition. It never states exclusions such as when to prefer individual tool calls, or that steps cannot span multiple sprites/files beyond the "one sprite" phrasing.

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