Skip to main content
Glama

Snuug room calculators

Picture hanging height calculator

picture_height
Read-onlyIdempotent

Use when someone asks how high to hang a picture, a print, a mirror or art, on an open wall or above a sofa, bed or sideboard. Returns the hook’s height from the floor and checks the art’s width against the furniture.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "picture_height"
  }
}

Input Schema

NameRequiredDescriptionDefault
placeNoopen_wall, or over_furniture (a sofa, bed or sideboard).open_wall
frame_width_cmNoThe frame’s width (cm).
hanger_drop_cmNoThe hanger drop: from the frame’s top edge down to the wire pulled tight, or to the D-ring (cm).
frame_height_cmNoThe frame’s height (cm).
centre_height_cmNoOn an open wall, the picture’s centre height (default 145, the gallery height; 150 also common) (cm).
furniture_gap_cmNoOver furniture: the gap from its top to the frame (designers use 15–25 cm) (cm).
furniture_width_cmNoOver furniture: its width, to check the art is about two thirds of it (cm).
furniture_height_cmNoOver furniture: the furniture’s top, from the floor (cm).

Output Schema

NameRequiredDescriptionDefault
toolYesThe tool, as named in its API and page URLs.
notesYesCaveats to pass on with the answer.
snuugYesOne line about Snuug, the app behind the calculators.
answerYesThe answer as named values.
inputsYesEvery input as the tool used it: given, a default, or filled in from the rules.
sourcesYesThe sources of the rules used. Every rule cites its source, with the date it was checked.
summaryYesThe answer in one sentence to quote.
versionYesThe version of this contract.
workingYesHow the answer was worked out, one step a line.
page_urlYesThe calculator on snuug.app with these inputs filled in.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuine behavioral context by saying it returns the hook height from the floor and performs a width-vs-furniture check, which tells the agent what the computation actually does beyond a bare lookup.

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?

Two sentences, with the use-case trigger front-loaded and the output/behavior statement second. No redundant restatement of the title or name, and every clause carries information.

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 an 8-parameter calculator with full schema documentation, an output schema, and complete safety annotations, the description covers the trigger and the computation's outputs adequately. It could optionally note which parameters are required only in one placement mode, but nothing critical is missing.

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

Parameters3/5

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

Schema coverage is 100% and every parameter carries a description with ranges, defaults and units, so the schema already does the heavy lifting. The description adds only the broad framing of placement and furniture width-checking, not syntax or interpretation beyond the schema — baseline 3 applies.

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?

States a specific verb-and-resource pair ('how high to hang a picture, a print, a mirror or art') and scopes it to two named placements (open wall vs above furniture). This clearly separates it from siblings like tv_height_distance and curtain_size, which compute different mounting dimensions.

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?

The opening 'Use when someone asks how high to hang...' gives an explicit trigger condition and enumerates the object types and furniture contexts in which it applies. It stops short of naming an alternative tool or stating when not to use it, so it is clear but not fully routing.

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.

Resources