Skip to main content
Glama

gameforge_generate_tileset_spec

Generates deterministic 2D/2.5D tileset specifications by computing Blob/Wang/isometric tile coordinates, rendering pixel-exact PNG control masks, and writing LDtk JSON plus PBR recipes.

Instructions

Generate deterministic 2D / 2.5D environment tilesets: computes canonical 47-tile Blob or 16-tile Wang bitmask coordinates, renders a real pixel-exact .png Auto-Tile / 2:1 Isometric Diamond ControlNet guide mask on disk, and writes LDtk JSON + Material Maker PBR recipes.

Input Schema

NameRequiredDescriptionDefault
project_idYes
tileset_idYes
autotile_modeNo
biome_descriptionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry behavior, and it does disclose that this is a write operation producing multiple on-disk artifacts (PNG mask, LDtk JSON, PBR recipes) and that output is deterministic. However, it omits critical traits: where files are written, whether existing tileset_id artifacts are overwritten, and whether the operation requires a locked style bible or initialized project.

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?

A single dense sentence that front-loads the verb and resource before listing outputs; every clause adds distinct information. It is a run-on, but that is a minor style cost rather than wasted content.

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 4-parameter generative tool with no output schema and no annotations, the description explains the artifacts produced but leaves parameter meaning, output file locations, and prerequisites unresolved. It is enough to understand what the tool makes, not enough to invoke it confidently the first time.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, so the description must compensate, yet project_id, tileset_id, and biome_description are never explained. Only the autotile_mode enum is lightly implied by the mode names in prose, leaving most parameter meaning unstated.

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 and resource ('Generate deterministic 2D / 2.5D environment tilesets') and enumerates the concrete outputs it produces: canonical 47-tile Blob or 16-tile Wang bitmask coordinates, a pixel-exact .png ControlNet guide mask, LDtk JSON, and Material Maker PBR recipes. No sibling tool in the list produces tilesets, so the agent can identify this tool's role instantly.

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

Usage Guidelines2/5

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

The description names the three modes but never says when to pick blob_47 vs wang_16_cardinal vs isometric_diamond_2to1, nor whether project_id must reference an initialized project (gameforge_init_project exists as a sibling). No exclusions or alternatives are offered, so the agent gets no usage routing.

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