Skip to main content
Glama

slice_sprite_sheet

Cut a sprite sheet into frames. Give columns/rows, or cell_width/cell_height, or neither to auto-detect the grid like voidless.dev/tools (gaps between frames first, else square frames along the long side). Returns each frame as a PNG plus a JSON list of where each sat on the sheet. Images up to 2048x2048, 256 frames, 32 MB of input per call. Free: no credits.

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": {
      "image": "<image>"
    },
    "name": "slice_sprite_sheet"
  }
}

Input Schema

NameRequiredDescriptionDefault
rowsNo
saveNoAlso save the result to your Voidless library (free, private) and return its asset id and cdn.voidless.dev URL, for passing to the next tool without base64
trimNoCrop each frame to its visible pixels (the JSON says where the crop sat in its cell)
imageYesAn image: an https URL (e.g. a cdn.voidless.dev link from get_asset or a saved result), a library image key (assets/…png, as get_asset lists it), a data: URI, or base64 PNG/GIF.
columnsNo
cell_widthNoCell size in px instead of columns/rows
max_imagesNoHow many frames to return as images (the JSON lists all)
skip_emptyNoLeave out fully transparent cells
cell_heightNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations, the description discloses the auto-detect algorithm (gaps first, else square cells along the long side), numeric limits (2048x2048, 256 frames, 32 MB per call), and cost (free, no credits). It also states the return shape — one PNG per frame plus a JSON position list — which the annotations do not cover. It does not say what happens on an uneven grid or when a frame is clipped.

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?

Four dense sentences, all front-loaded: action first, then input-mode selection, then behavior, then limits and cost. Nothing is repeated from the schema and no sentence is 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?

With no output schema, the description correctly takes on the burden of describing returns (PNG frames plus a JSON layout list) and adds hard resource ceilings so an agent can size its request. Missing only edge-case behavior such as how a non-divisible sheet is handled or what errors look like.

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?

The three-way mode split between columns/rows, cell_width/cell_height, and neither is genuine meaning the schema alone does not convey, and the auto-detect fallback is spelled out. The remaining parameters (save, trim, skip_empty, max_images) are already documented in the schema at 67% coverage, so this is a modest addition over structured data.

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?

"Cut a sprite sheet into frames" names a specific verb and resource, and the three input modes make the operation concrete. It never names pack_sprite_sheet (its inverse) or animate_sprite (its likely consumer), so sibling differentiation is by inference rather than explicit statement.

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?

The description usefully tells the agent which of three modes to pick depending on what it knows about the grid (explicit columns/rows, cell size, or neither for auto-detect), which is real selection guidance. It gives no when-to-use-vs-alternative routing against siblings like pack_sprite_sheet, extract_parts, or animate_sprite.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources