Skip to main content
Glama

Review ergonomics

ergonomics
Read-only

Ensure a home floor plan fits its occupants: check walking space, kitchen layout, wheelchair turning, beds and windows. Receive a habitability score and detailed findings.

Instructions

Ergonomics and habitability review for the people living there. It never blocks anything: it reads the drawing and says what it finds, and the drawing stays the user's — somebody sketching to learn or to see an idea is not stopped by a standard. People (occupants, children, elderly, wheelchair, stature cm, city, scope) given here weigh this review only; set_home(people=…) keeps them with the project, and every review and dry run then scores for them. It covers room to walk beside beds and in front of kitchen equipment, beds/seats/bathrooms/wardrobes per person, kitchen (work triangle, counter heights, Alexander's counter lengths, five work zones, sockets, gas ventilation, extraction), doors, ceiling heights, windows, minimum furniture, wheelchair turning. Reply {score, score_basis, scope, scores:{architecture,electrical,plumbing}, layout, coverage, capacity, findings:[{sev, place, msg, key, weight, discipline, in_scope, src?, fix?, accepted?}], sources:{src:[title, tier, url]}}. scope={electrical:false,plumbing:false} scores architecture only; all findings remain visible, excluded ones weigh zero. layout includes geometric checks on the active storey; coverage declares limits. Scores are heuristic, not project completion or certification. weight is what the score would gain if that one went away, so a score that moved can be read. src is the source the finding stands on, empty when it is common practice; resolve it in sources instead of asking. tier is the reliability ladder A obliges (Brazilian standard, municipal code) · B references (foreign standard) · C doctrine · D measured · E survey — and it is why a finding is an error or only a tip. fix, when present, is a checked change as tool arguments (move or update): apply one, then review again (fixes of one review may overlap). city, e.g. sao-paulo, lets the municipal code judge instead of only advising; against a standard the more restrictive one wins — set it once with set_home(city=…) so dry runs and check_layout weigh the same rules. key names the finding for the accept tool: a finding accepted there stays in the report with its reason and stops costing score, which is what lets a correct plan reach zero pendencies honestly. orphaned [[key, reason]] lists acceptances no current finding answers to — the problem was fixed, and would come back already silenced; accept(prune=true) drops them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity whose building code applies for this call only, e.g. `sao-paulo`; `set_home(city=…)` keeps it with the project
scopeNoDisciplines included in the score. Architecture always counts; excluded findings remain visible
elderlyNoOf them, elderly people
statureNoHeight of the main cook, cm, to size the countertop (default 165)
childrenNoOf them, children (sleep in single beds or cribs)
occupantsNoPeople living in the home (default 2)
wheelchairNoSomeone uses a wheelchair: NBR 9050 turning space, doors and reach

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNoDisciplines counted: {electrical, plumbing}
scoreYesHabitability score 0-100
layoutNoLayout issues of the storey, as check_layout gives them
scoresNoScore by discipline: {architecture, electrical, plumbing}
sourcesNoStandards cited, by code: [title, tier, url]
capacityNoWhat the home holds: beds, bedrooms, bathrooms, seats, wardrobe cm
coverageNoWhat was checked and what was not
findingsYes{sev, place, msg, key, weight, discipline, in_scope, src?, fix?, accepted?}
orphanedNoAcceptances whose finding is gone: [key, reason, successor key?]
score_basisNoWhat the score is: habitability_heuristic

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint: it explicitly says the tool never blocks anything, leaves the drawing with the user, only reports findings, and is heuristic rather than certification. It also discloses scoring mechanics, visibility of excluded findings, fix behavior, source tiers, and how accepted findings affect scores—outstanding transparency.

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 description is dense and long, but nearly every sentence carries unique operational information essential to correct use. It is front-loaded with purpose and non-blocking behavior, though the prose could be better structured with separators or bullets given the amount of content.

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?

For a complex review tool with seven optional parameters and heavy integration with set_home, check_layout, and accept, the description covers the full workflow: what is reviewed, what the response contains, how scores are weighted, what findings mean, how fixes prunes and acceptances work, and limits of the review. Nothing needed to invoke it correctly is missing.

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 100%, so the baseline is 3, but the description adds real value by explaining that people parameters are call-local unless persisted via set_home, how scope excludes disciplines while keeping findings visible, and how city selection affects which standard applies. This supplements the schema without overexplaining parameters already well documented.

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 description clearly states the tool reviews ergonomics and habitability for occupants, with a specific, well-scoped resource. It is not merely a restatement of the title, but it does not explicitly name or differentiate itself from sibling tools like check_layout, so it falls short of full distinction.

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 description gives rich context on when parameters should be set once via set_home, how scope narrows scoring, and how fixes and acceptances interact with future reviews. It does not explicitly state 'use this instead of X', but it conveys clear usage context and references sibling workflows like set_home and check_layout.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.