Skip to main content
Glama

ThingsPool

add_object

Hangs something on a block's side, as near its middle as it fits. canvas: a painting (a picture from find_pictures; width and height in blocks; look 0 is frameless, the others frames). prop: an everyday object (a picture from find_pictures). lamp: width and height 1 or 2. fan: blows away from its side. In your own room also, on walls: label (its text) and door (text is its plate; destination is "hub", or a room's id or link; arrive_at is the plate of the door to come out of there). On a floor or ceiling, top is the way a picture's top points.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
onYesThe block's side it hangs on
topNo
lookNo
textNo
typeYes
widthNo
heightNo
pictureNo
arrive_atNo
destinationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this as a non-readonly, non-destructive write, so the safety profile is covered. The description adds real behavioral nuance (fan 'blows away from its side', look 0 is frameless, doors need a destination and arrive_at plate), but says nothing about permissions, collision/overwrite behavior, size limits beyond params, or failure modes.

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?

It is a single dense paragraph, but the general action is front-loaded and the per-type details are compressed efficiently. Given 10 params and 6 enum variants, the length is justified rather than padded.

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 complex, high-arity build tool with no output schema and near-zero schema coverage, the description covers the action, all six types, and most type-specific parameters. Gaps remain around the 'on' coordinate semantics (delegated to schema) and any notion of what is returned or what happens on a conflicting placement.

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?

With only 10% schema description coverage and 10 parameters, the description carries the load and does so well: it explains each type, ties width/height to canvas and lamp, look to canvas framing, text to label/door plates, destination/arrive_at to doors, and top to picture orientation. Row/column bounds and picture sourcing are only lightly touched, keeping it from a 5.

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?

The opening clause gives a concrete verb+resource ('Hangs something on a block's side') and the rest enumerates the six attachable object types with their distinguishing features. It is clear what the tool does, though it never names a sibling (edit_object, move_object, place_blocks) to sharpen the boundary.

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 type-by-type breakdown implicitly tells the agent which variant fits which intent (canvas vs prop vs lamp vs door), which is genuinely useful selection guidance. It stops short of any explicit when-to-use / when-not-to-use statement relative to the sibling mutation tools.

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.