Skip to main content
Glama

SA Build & Renovation Costs

Roof replacement: materials from current supplier prices

roof_replacement_estimate
Read-only

Material list and cost for replacing a roof with IBR or corrugated steel sheeting in South Africa: number of sheets, screws and ridge capping, priced from current supplier prices that a person has checked and approved, with the supplier and price date on each line. Use estimate_works for an all-in installed rate instead.

Input Schema

NameRequiredDescriptionDefault
area_m2YesRoof surface area in m² (the sloped area, not the floor area)
profileNoSheet profile (default ibr)
ridge_mNoOptional ridge length in metres, to include ridge capping
gauge_mmNoOptional sheet thickness, e.g. 0.47
include_labourNoAdd a labour rate per m² if one has been set

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=true and openWorldHint=false, so the description doesn't need to restate safety. It adds genuinely new behavioral context: prices come from current supplier data that a human has checked and approved, and each line carries the supplier and price date — provenance an agent needs for trust and attribution. It doesn't say how stale prices can get or what happens if no approved price exists.

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?

One dense sentence delivers scope, line items, and pricing provenance; a second short sentence handles routing. Front-loaded with what the tool returns, and nothing is repeated from the schema or annotations.

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?

No output schema exists, and the description compensates by describing the return shape (per-line supplier and price date, enumerated material components). Safety is covered by annotations, and the alternative is named, so nothing an agent needs to select or call this correctly 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 description coverage is 100%, so all five parameters (including the profile enum and the sloped-area clarification) are already documented; a 3 is the baseline. The description adds only indirect meaning — that ridge_m yields ridge capping and include_labour yields a per-m² labour rate — without new format or constraint details.

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 (material list and cost for a roof replacement in IBR/corrugated steel sheeting), enumerates the line items produced (sheets, screws, ridge capping) and the pricing basis. It also explicitly names the sibling it is not ('Use estimate_works for an all-in installed rate instead'), so an agent can route without opening a schema.

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?

Explicitly gives the alternative tool and the condition selecting it: use estimate_works when an all-in installed rate is wanted, this tool for a priced material list. That is a real routing rule. It stops short of stating negative conditions (e.g. that this is materials-only, not a quote, or when ridge_m/gauge_mm should be supplied).

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