Skip to main content
Glama

Banquish

Arrange Tiles

arrange
Idempotent

Place any number of Tiles (Panels and Notes, by id) on a Workspace's grid in one call: x and w in 12 columns, y and h in rows of 8 px at the user's laptop window (1512 px wide; gaps 16 px, margins 24 px). No h means the Tile is as tall as its Panel or Note, at most about two-thirds of the user's window height (a taller Panel scrolls inside it). With h, a Panel's Tile is that tall: a taller Panel scrolls inside it, and a shorter one shows centred in it, which the Fit report mentions. With h, a Note's Tile is that tall, even taller than its text. To give a row one height, give its Tiles one h. Only the listed Tiles move. Tiles float up: y orders them, and each sits right under whatever is above it in its columns; a Tile placed on others pushes them, and those under them, down, hidden Tiles too. y is a row in the placements as the last call returned them (this one or read_workspace), so reuse those values, not ones you sent earlier: a Tile given the y of another lands on it. add_panel and add_note return only their own Tile's placement, and one placed on others pushes them down, so call read_workspace before reusing the other Tiles' y. Tiles given the same y in the same columns stack in the order you list them, the first on top. x + w over 12, or a negative or zero value, is refused with the reason, and then nothing moves; so is a Tile you can't see. A width below a Panel's minimum width is taken, and its Panel shows scaled down to as little as 85% of that minimum on the user's screen; below 85% of it, the whole Workspace shows as one column. Returns every Tile's placement. Returns the Fit report: at the user's window, which Tiles are scaled below their Panel's minimum width, scroll inside, fell back to crop, are broken or ambiguous, or leave their Tile's width unused, and any gaps between Tiles; and, not as an issue, which Panels are shorter than the h of their Tile, so show centred in it. A Tile whose page hasn't laid it out at its width yet (one not on screen, say) is settling: a later report says how it fits. While a settling Tile's minimum width isn't known, whether the Workspace shows as one column isn't either: oneColumn is left out, and the summary says so.

Input Schema

NameRequiredDescriptionDefault
tilesYes
workspaceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Far beyond the annotations, it explains layout semantics, push-down behavior, validation refusal rules, fallback scaling, settling behavior, and the Fit report contents. This is unusually rich disclosure 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?

The core action and constraints are front-loaded, and nearly every detail serves the complex layout behavior. However, it is a dense run-on paragraph with some repeated push-down phrasing that could be structured more cleanly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's layout complexity, no output schema, and sparse annotations, the description is complete: it covers return values, the Fit report, validation failures, and the settling case. An agent has enough to call it correctly.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates thoroughly: x and w are 12-column values, y and h are rows of 8 px, h has different effects for Panels and Notes, and tile refers to Panels/Notes by id. It adds meaning well beyond the bare schema.

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?

The description opens with a specific verb and resource: placing Tiles on a Workspace grid in one call. It explicitly distinguishes this bulk arrangement operation from add_panel and add_note, which only return their own Tile's placement.

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?

It gives clear context for arranging existing Tiles and states an important prerequisite: call read_workspace before reusing other Tiles' y values. It does not spell out explicit when-not-to-use conditions, but the sibling distinction and read_workspace guidance make the intended usage clear.

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.