Skip to main content
Glama

Add an object

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "type": "<type>",
      "on": "<on>"
    },
    "name": "add_object"
  }
}

Input Schema

NameRequiredDescriptionDefault
onYesThe block's side it hangs on
topNoOn a floor or ceiling, the way a picture's top points: north (the default), south, east or west. Ignored on a wall.
lookNo
textNo
typeYes
widthNo
heightNo
pictureNo
arrive_atNo
destinationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / top / description
      Added value: +"On a floor or ceiling, the way a picture's top points: north (the default), south, east or west. Ignored on a wall."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnly=false and destructive=false; the description goes well beyond them with per-type behavior such as 'fan: blows away from its side,' 'look 0 is frameless, the others frames,' lamp dimensions limited to 1 or 2, and door semantics for destination/arrive_at. The bare 'In your own room also, on walls' clause hints at a placement restriction but is too terse to be actionable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and anchor rule come first, followed by a compact type-by-type enumeration with no redundant sentences. The telegraphic style ('lamp: width and height 1 or 2') is dense but every clause carries distinct information, which is appropriate for a 10-parameter tool.

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 a nested `on` object, 20% schema coverage, and no output schema, the description covers type/parameter meaning well but omits what is returned (an object id?), failure modes (block absent, object collision), and whether any limits exist on object count. The room-permission clause is present but under-explained.

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 description coverage is only 20%, so the description has to compensate, and it largely does: it maps width/height/look to canvas, picture to canvas and prop, width/height constraints to lamp, text to label, and text/destination/arrive_at to door, plus the meaning of `top`. It leaves some ambiguity about which optional fields are ignored for which types and never mentions value ranges (e.g., look 0-255).

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 sentence gives a specific verb and resource: 'Hangs something on a block's side, as near its middle as it fits,' which tells an agent this is decorative attachment rather than block placement (place_blocks) or modification (edit_object). The per-type breakdown (canvas/prop/lamp/fan/label/door) further pins down what can be created, though it never names the sibling tools it competes with.

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 only implied through the type list and the cryptic clause 'In your own room also, on walls: label ... and door,' which hints at a permission boundary without stating it. There is no explicit statement of when to prefer this over place_blocks, edit_object, or move_object, and no prerequisites (e.g., that a block must already exist at the target side) are spelled out.

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.