Skip to main content
Glama

Paint map tiles

paint_tiles

Paints tiles onto RPG Maker MV maps by applying cell, rectangle, and flood-fill operations. Automatically calculates autotile shapes, supports erasing, and applies changes per layer.

Instructions

Paint tiles onto a map. Takes a list of operations applied in order: cells (individual positions), rect (filled or hollow rectangle) and fill (flood fill from a cell). Tiles are chosen as {sheet:'A2', kind:N} (autotile sheets A1-A4), {sheet:'B', index:N} (A5/B-E) or a raw tile id; 0 erases. Autotile edge, corner and wall shapes are calculated automatically, including re-shaping neighbours, just like painting in the editor. Layers: 0-1 ground, 2-3 upper tiles, 4 shadows, 5 regions. Typical map: fill layer 0 with a ground kind from A2, then place water/walls/objects on top. Use get_tileset_info / get_tileset_image to pick tiles and render_map to check the result.

Input Schema

NameRequiredDescriptionDefault
mapIdYes
operationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the load and does so well: it discloses that autotile edge/corner/wall shapes are computed automatically and that neighbouring tiles get re-shaped, that tile id 0 erases, and that operations apply in order. It does not say whether edits are persisted immediately or only staged in a changeset (begin_changeset / commit_changeset are siblings), which is the main remaining behavioral gap for a mutation tool.

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?

Front-loaded with the core action, then organized by operations, tile encoding, layers, and workflow. Dense but every clause carries information; only the example workflow sentence could be trimmed without loss.

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 nested, multi-shape mutation tool with no output schema, the description covers operation semantics, tile formats, layer conventions and a starter recipe. It omits the return value / result reporting and the persistence model, both relevant to an agent calling a write tool.

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?

Top-level schema coverage is effectively 0% (mapId and operations are undocumented), so the description has to compensate and largely does: it enumerates the three operation types (cells/rect/fill), the three tile encodings with their sheet families, the meaning of 0, and the layer map 0-1/2-3/4/5. It adds real value beyond the nested schema, though mapId itself is never explained.

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?

Opens with a specific verb+resource ("Paint tiles onto a map") and immediately scopes it to an ordered list of operations, which distinguishes it from generic map mutators like update_map and from read-only siblings like get_tileset_info and render_map.

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?

Explicitly routes the agent to get_tileset_info / get_tileset_image for tile selection and render_map for verification, and gives a concrete typical workflow (fill layer 0 with an A2 ground kind, then place water/walls/objects). It stops short of stating when NOT to use this (e.g., vs. update_map for non-tile edits).

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