Skip to main content
Glama

Roof area and materials take-off

roof_takeoff
Read-onlyIdempotent

Works out a pitched roof's slope area, rafter length, ridge, hips, eaves and verges from the plan size and pitch, then a materials list: tiles or slates, battens, underlay rolls, ridge and hip tiles, hip irons, valleys, nails, eaves trays, ventilation and dry verge units, with waste. Every step of the working is shown. Geometry is exact; quantities resting on product figures are indicative unless you pass the maker's gauge, cover width and headlap. Run complex roofs one section at a time. Typical call: a 10 x 8 m gable roof at 35 degrees in concrete interlocking tiles: {"shape":"gable","plan_length_m":10,"plan_width_m":8,"pitch_deg":35,"covering":"concrete_interlocking"}.

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": {
      "shape": "<shape>",
      "plan_length_m": "<plan_length_m>",
      "plan_width_m": "<plan_width_m>",
      "pitch_deg": "<pitch_deg>",
      "covering": "<covering>"
    },
    "name": "roof_takeoff"
  }
}

Input Schema

NameRequiredDescriptionDefault
shapeYesgable (two slopes, ridge along plan_length_m), hipped (four slopes, same pitch all round), mono_pitch (one slope rising across plan_width_m).
tradeNoOptional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.
coveringYesRoof covering. concrete_interlocking: Concrete interlocking tile (large format); clay_interlocking: Clay interlocking tile; clay_pantile: Clay pantile (traditional); plain_tile: Plain tile, clay or concrete (265 x 165 mm); natural_slate: Natural slate (500 x 250 mm default); fibre_cement_slate: Fibre cement slate (600 x 300 mm default).
gauge_mmNoBatten gauge, mm, if already set (otherwise worked out from length and headlap).
pitch_degYesRafter pitch in degrees (10 to 75).
headlap_mmNoHeadlap, mm.
plan_width_mYesSpan from eaves wall to eaves wall, metres (before overhangs). For mono pitch, low wall to high wall.
plan_length_mYesWall plate length along the ridge, metres (outside of walls, before overhangs).
waste_percentNoWaste on the covering. Default 5 (gable, mono) or 10 (hips or valleys).
cover_width_mmNoMaker's cover width per unit, mm.
tile_length_mmNoMaker's tile or slate length, mm (overrides the typical figure).
eaves_overhang_mNoHorizontal eaves overhang, metres. Default 0.3.
membrane_roll_m2NoUnderlay roll size, m2. Default 50.
valley_lengths_mNoTrue length of each valley, metres, as measured.
verge_overhang_mNoVerge overhang at gable ends, metres. Default 0.05.
rafter_centres_mmNoRafter or truss centres for batten nails. Default 400.
extra_hip_lengths_mNoTrue length of any extra hips (for example on an L-shaped roof), metres.
ridge_tile_cover_mmNoEffective cover of one ridge or hip tile, mm. Default 400.

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 readOnly, idempotent, non-destructive, closed-world, so safety is covered. The description adds genuinely new behavioral context: geometry is exact while quantities resting on product figures are indicative unless maker data is supplied, and the full working is shown. That tells the agent how much to trust the numbers, which annotations cannot.

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?

Front-loaded with the deliverable, then caveats, then the section-by-section advice, then an example. Every sentence carries information, though the appended JSON example costs space that a shorter reference could have saved.

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?

With 18 parameters, a nested trade object, and no output schema, the description does the right work by enumerating what comes back and noting that the working is shown step by step. Units and per-parameter defaults live in the schema, so the only mild gap is any note on response size or how the section-by-section results combine.

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 coverage is 100%, so the baseline is 3. The description still adds meaning by signalling which optional parameters upgrade the result from indicative to authoritative (gauge, cover width, headlap) and by giving a worked example that anchors shape, plan_length_m, plan_width_m, pitch_deg and covering to a real call.

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: it computes pitched-roof slope area, rafter length, ridge, hips, eaves and verges from plan size and pitch, then produces a materials list. It even enumerates the material line items (tiles, battens, underlay, ridge/hip tiles, hip irons, valleys, nails, eaves trays, ventilation, dry verge), which makes it unmistakable next to siblings like check_pitch_headlap or weather_window.

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?

Gives concrete operating guidance: pass the maker's gauge, cover width and headlap when you want figures beyond indicative, and run complex roofs one section at a time. It does not name a sibling or state when-not to use it, but the intended usage context is clear.

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.