Skip to main content
Glama

tilemap

Read or write tile indices for an Aseprite layer's cel, using action 'get' or 'set' with cells or rows at a given column and row.

Instructions

Reads (action 'get') or writes (action 'set') the tile indices of a tilemap layer's cel. Set with 'cells' [{col,row,tile}] or 'rows' (2D array of tile indices, -1/null to skip) starting at col/row.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colNo
rowNo
rowsNo
saveNoBatch mode: write changes back to the sprite file (default true)
cellsNo
frameNo1-based frame number. Defaults to the active frame (or 1).
layerNoLayer name, 'Group/Child' path, or 1-based index from get_sprite_info. Defaults to the active layer.
actionNo
spriteNoFile path, open tab title, or sprite id. Defaults to the active sprite (live). Batch mode needs a file path.
backendNoauto (default): live Aseprite if connected, else headless batch

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, which the description is consistent with (it performs reads and writes). The description adds useful write semantics (-1/null to skip, starting at col/row) but omits persistence behavior (the save flag writing back to file) and what a 'get' returns, so it adds only moderate value over the annotations.

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 tight sentences, front-loaded with the get/set distinction and the write formats. No padding or repetition.

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 10-parameter tool with no output schema, the description covers get/set intent and the two write formats, but says nothing about the return value of a 'get' or how the frame/layer defaults interact. Adequate but with clear gaps.

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 50%, and the description compensates well for the undocumented 'cells' and 'rows' parameters by giving their exact shapes and the -1/null skip convention. The remaining parameters (layer, sprite, frame, save, backend) are already described in the schema.

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 specific verbs (reads/writes) and resource (tile indices of a tilemap layer's cel), and distinguishes the 'get' vs 'set' modes. It does not differentiate from similarly-named siblings like tileset, get_cels, or update_cel, so it stays at 4 rather than 5.

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 implied by the action enum ('get'/'set'), and the description tells the agent how to supply writes via 'cells' or 'rows'. However, it never says when to prefer this over get_cels/update_cel/tileset, nor any prerequisites or exclusions.

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