Skip to main content
Glama

Snuug room calculators

Sofa fit calculator

sofa_fit
Read-onlyIdempotent

Use when someone asks whether a sofa (or another large piece) will fit through a door, round a turn in a hall or up to a room. Applies the furniture shops’ straight, tipped-back, on-end and swing tests and grades each ok, tight or no.

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": "sofa_fit"
  }
}

Input Schema

NameRequiredDescriptionDefault
routeNoturn if the sofa must turn into the room after the door, straight if it goes straight on.turn
door_width_cmNoThe door’s clear width: the gap with the door open, frame to door edge (cm).
hall_width_cmNoThe width of the hall or landing beyond the door, where the sofa must turn (cm).
sofa_depth_cmNoThe sofa’s depth, back to front (cm).
sofa_width_cmNoThe sofa’s width, arm to arm (its length when carried) (cm).
door_height_cmNoThe door’s clear height (cm).
sofa_height_cmNoThe sofa’s height, floor to the top of the back (cm).
sofa_diagonal_cmNoThe sofa’s diagonal depth: from the back bottom corner to a straight edge laid from the top of the back to the front of the arm (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.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile needs no restating. The description adds genuine behavioral substance: it names the four physical tests applied (straight, tipped-back, on-end, swing) and the grading scale (ok, tight, no), which tells the agent what kind of answer to expect and how to interpret a marginal result. It does not discuss assumptions such as clear-width measurement or rounding, which keeps it from a 5.

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, zero padding, and front-loaded with the trigger condition before the method. Every clause earns its place: the first routes the agent, the second explains what the tool actually computes and returns.

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?

An output schema exists, so return values need no explanation, and all eight parameters are fully documented in the schema with ranges and defaults. The description supplies the remaining context an agent needs — the tests being applied and the grade vocabulary — making the definition complete for a read-only calculator of this complexity.

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 description coverage is 100% and every parameter carries a unit, range and plain-language definition, so the schema already does the semantic work. The description adds only an indirect hint at the route enum via 'round a turn' and 'straight', and says nothing about defaults or that all eight inputs are optional. Baseline 3 applies when the schema is this rich.

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 concrete verb-and-resource: it evaluates whether a sofa (or other large piece) fits through a door, round a hall turn, or up to a room, and returns per-test grades of ok/tight/no. That is specific enough that an agent can distinguish it from sizing calculators like curtain_size or rug_size purely on the domain described.

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?

'Use when someone asks whether a sofa ... will fit through a door, round a turn in a hall or up to a room' gives an explicit triggering condition with three concrete scenarios. There are no when-not cases or named alternatives, but the sibling calculators are non-overlapping so no routing ambiguity is left open.

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