Proper Job Building Cost Calculator
Server Details
Free UK building-cost estimates, US beta estimates and scenario comparisons. No account needed.
- Status
- Healthy
- Uptime
- 100.0% over 52 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- falsalama/properjob-claude-plugin
- GitHub Stars
- 0
TDQS
Scored across 4 tools
The tools are mostly distinct: calculate_building_work is clearly the general budgeting/drawing path, while calculate_guide_price and compare_guide_scenarios are explicitly limited to GB/US Guide Price policies. Some potential confusion remains between calculating a guide price and comparing guide scenarios, but the descriptions provide clear routing rules.
All tool names follow a consistent snake_case verb_noun pattern: calculate_building_work, calculate_guide_price, compare_guide_scenarios, get_estimate_requirements. The verbs are specific and predictable, with no mixed casing or naming styles.
Four tools is well-scoped for a building cost calculator: one primary estimation tool, one guide-price calculator, one comparison tool, and one requirements/reference helper. Each appears to earn its place without excessive surface area.
The surface covers the core lifecycle for cost estimation: general building costs, guide-price costs, scenario comparison, and input requirements. Minor gaps may exist around explicit market/support lookup or saved project workflows, but the stated exclusions clarify that those are out of scope.
Available Tools
4 toolscalculate_building_workCalculate building workARead-onlyIdempotentInspect
Use this when a user asks the cost of building, extending or renovating a home, remodelling a kitchen/bathroom, refining a budget or costing drawings, even without naming Proper Job. Computes repeatable local-currency estimates using versioned country-specific construction benchmarks, scope and allowance rules, checked measurement conversions and source-cited drawing quantities. Returns an interactive budget card, tax basis, exclusions and a refinementQuestion. After the card, ask that question in one short sentence when present; keep unknown details optional and do not repeat the country checklist. Supported work: GB, US, AU, NZ, IE, DE, FR, ES, CA, JP, IN; exact scope limits are in the schema and market-coverage resource. Do not substitute UK rates or exchange-rate conversions. Read the drawing skill before host-only attachment analysis; send reconciled structured facts in one call. Detailed trade costing is GB-only; other countries still accept drawing quantities. Reuse unchanged results and use the returned price without inventing or narrowing it. Country, language and units are independent. Do not use for property valuations, land-price discovery, account/project lookup, purchases, issued quotes or legal/safety certification.
| Name | Required | Description | Default |
|---|---|---|---|
| land | No | IN only. Optional separate plot and user-supplied INR purchase price/rate, upfront lease premium, yearly rent and fees. Land area never becomes building floor area. Unknown land prices stay unpriced without blocking the construction estimate. Official valuation is a reference, never treated as market purchase cost. No generic bigha/ground/marla conversion; ask for the local conversion. State rules/title/lease rights need local verification. | |
| scope | No | Only known project facts. All area fields share areaUnit. JP accepts tsubo (坪), tatami/jo/jou/畳/帖. Tsubo is 400/121 m2; tatami defaults to approximately 1.62 m2. Room labels such as LDK 12畳 are that room's area, not the whole apartment. Use dimensioned m2 where supplied. Physical replacement-mat counts are not floor areas. Prefer worksLevel over legacy finishBand/finishLevel. | |
| state | No | US two-letter state or DC code. | |
| country | No | Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has extension guides and matching Dublin project ranges; DE has rough new-home guides and separate unscaled manufacturer examples. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes, whole-home/akiya renovation and kitchen/bathroom work. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country. | |
| jobType | No | Work type supported by the selected country's catalog. Window replacement is FR/ES; air-to-water heat pump is FR only. | |
| zipCode | No | Optional US five-digit ZIP code. Never send a street address. | |
| currency | No | Optional currency check against a known market. No exchange or borrowed foreign rates. Unknown market currency does not enable pricing. | |
| drawings | No | Structured analysis performed by the host on the user's attachments. No file URLs, file bytes, account IDs or extraction API calls are accepted. | |
| language | No | Card and follow-up language from the conversation, e.g. fr-CA, es, de, it, pt, ja or hi. English fallback for unsupported languages. Never infer country, currency or units from language. | |
| ukDetails | No | GB extensions only. Optional requested extras and work still to price, read from the user's brief. Existing kitchen/steel/access inputs keep their own allowance and must not be duplicated. Unknown items stay unpriced. No extra form steps. | |
| usDetails | No | US only, optional scope facts. Never ask the user to complete a form. Missing details widen the estimate. Kitchen/bathroom jobs cover one room; counts are for whole-home/addition/new-home scope. | |
| localScope | No | AU/NZ/IE/DE only. Send confirmed facts; never copy provisional assumptions as user answers. AU uses separate project/custom and one/two-storey house anchors, plus counted extension fitout. NZ wet-area extensions count the first standard wet room once; additional declared rooms use local references. IE uses a fixed Dublin bucket only for matching scope; other extensions use a broader Irish build guide. DE has a broad new-home guide; named manufacturer examples are never scaled to the user's area. | |
| regionCode | No | GB extensions: use a stated pricing-region code such as LONDON or NW when no outward postcode was supplied; never invent a postcode. AU new-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ national guides; AKL/CAN/QLDC/OTA have selected home anchors; Auckland extensions have their own source. IE: DUB retains a 25–35 m² rear-extension reference; other extension sizes/forms/regions use wider Irish builder guides. DE: a broad native-EUR new-house guide; an explicitly matching prefab bungalow can show a manufacturer example (mainland only). FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address. | |
| worksLevel | No | Level of materials, finishes and detailing: Budget, Standard, Premium or Luxury. US/FR/ES/CA/JP/IN Luxury returns a wide rough starting range, not a ceiling; bespoke details need individual pricing. Other markets retain their published reference limits. This does not change the amount of work. | |
| workDetails | No | Optional extra scope for supported overseas work: an occupied home, additional service relocation, lift/shared-area protection, an enlarged extension opening, excluded German painting/flooring, or physical new-home utility connections. ES also accepts access restrictions and whole-home structuralWork. Send only explicitly requested facts. Ordinary installation is already in the country baseline. Never apply these to UK work or copy assumptions into answers; omit extras already included. Missing answers never block a price. | |
| displayUnits | No | Preferred quantity display, independent of pricing market/currency. All scope area fields use scope.areaUnit; drawing quantities each carry their own unit. | |
| indiaDetails | No | IN only: optional known construction/site facts. Simple local-material hut, durable rural masonry and RCC home have distinct INR models. Rural never implies poor road access. State alone does not prove climate/hazard. Ordinary construction is counted once; only stated extra protection is added. Missing facts give a rough price. Rates/allowances are estimates, not safety certification or state cost schedules. | |
| japanDetails | No | JP only: optional facts from the user/drawings about new homes, renovations and vacant homes (akiya). Existing age or timber construction never certifies earthquake safety. Ordinary new-build seismic/energy provisions are included once; explicit retrofit/enhancement is separate. Leasehold land premiums, ground rent and consent costs stay outside building work. Unknown facts still return a rough price. | |
| postcodeArea | No | GB outward postcode only, for example BS3. Never send a full address. | |
| projectDetails | No | FR/CA: optional declared work extent, access, climate, ground, construction and upgrade facts. AlreadyIncluded flags suppress the corresponding allowance only when the supplied scope already contains that work. Ordinary local code/climate provisions are already in the base. Never infer permafrost from country or remote access from rural location. ES accepts workExtent only. Missing details widen the price; never require a questionnaire. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| status | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, and the description adds substantial context beyond them: what the call returns (budget card, tax basis, exclusions, refinementQuestion), how to handle the follow-up question, that estimates are versioned and repeatable, that unchanged results should be reused, and that UK rates and exchange-rate conversion must not be substituted. This is behavioral guidance an agent could not derive from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the trigger condition and the returned artifacts come first, followed by scope limits, then exclusions. Nearly every sentence is an actionable constraint, though the closing paragraph stacks several separate rules (drawing skill, reuse, price integrity, country/language/unit independence) that read as a packed list rather than a structured sequence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-parameter, deeply nested tool with an output schema, the description covers everything the schema cannot: activation conditions, the returned card and refinementQuestion handling, market coverage and its limits, precision caveats (no exchange-rate or UK-rate substitution), and a clear negative scope. The schema handles field-level detail, so no material gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the per-parameter semantics are already carried by the schema and the baseline would be 3. The description still adds cross-parameter meaning that the schema does not state as a unit: 'Country, language and units are independent', the country/work-type coverage summary, and the instruction to send reconciled drawing facts in one call rather than incrementally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Computes repeatable local-currency estimates using versioned country-specific construction benchmarks') and enumerates the exact trigger situations (cost of building, extending, renovating, kitchen/bathroom, budget refinement, costing drawings). The supported-country list and the explicit exclusion list make it distinguishable from calculate_guide_price and compare_guide_scenarios without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit activation rule ('Use this when a user asks the cost of...') including the case where the user does not name the product, plus an explicit negative list ('Do not use for property valuations, land-price discovery, account/project lookup, purchases, issued quotes or legal/safety certification'). It also routes adjacent work: detailed trade costing is GB-only, and drawing analysis requires reading the drawing skill first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_guide_priceCalculate building cost estimateAInspect
Calculate the established GB/US Guide Price contract with its required project inputs, when explicitly requested or used with guide comparisons. For the conversational building budget, other countries or drawings, use calculate_building_work. Returns the original guide card and does not read files, save projects or issue quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Country-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values. | |
| state | No | US two-letter state or DC code. | |
| country | No | Country pricing policy. Use GB for Great Britain or US for the United States. If omitted, GB is used for backwards compatibility. | |
| jobType | No | Residential project type supported by the selected country policy. | |
| zipCode | No | Optional US five-digit ZIP code. Never send a street address. | |
| postcodeArea | No | GB outward postcode only, for example BS3. Never send a full address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| status | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this is a non-destructive, non-read-only, non-idempotent write operation. The description adds value by stating what the tool returns (the original guide card) and what it does not do (does not read files, save projects, or issue quotes), which adds behavioral context beyond annotations. It doesn't state side effects or rate limits, but with annotations covering the safety profile, a 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose and followed by usage guidelines and scope limitations. Every sentence earns its place; no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no required parameters, a complex nested schema (fully described), an output schema, and annotations, the description is nearly complete. It states the tool's scope and limitations clearly. A minor gap: it doesn't explicitly mention the output format, but an output schema exists, so that's acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds nothing about parameter semantics; it only mentions 'required project inputs' generically. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Calculate the established GB/US Guide Price contract'. It clearly distinguishes this tool from calculate_building_work by naming the sibling and its scope. However, 'contract' is slightly ambiguous; it could be read as a legal contract rather than a pricing guide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use this tool: 'when explicitly requested or used with guide comparisons'. It also names the alternative tool (calculate_building_work) and the conditions for using it (conversational building budget, other countries, drawings), leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_guide_scenariosCompare building cost scenariosAInspect
Compare GB/US Guide Price scenarios when the user explicitly asks to compare alternatives within those existing policies. Returns the original comparison card and deltas. For other countries or drawing-based refinements, use calculate_building_work with each requested scenario. No foreign-rate conversion or saved-project access.
| Name | Required | Description | Default |
|---|---|---|---|
| baseline | Yes | ||
| scenarios | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| status | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=false and openWorld=false, and the description adds scope guards beyond them: no foreign-rate conversion and no saved-project access, plus the return shape ('original comparison card and deltas'). It does not explain why readOnlyHint=false on what looks like a compute operation, but it does not contradict the annotations either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core purpose and immediately following with the alternative routing and scope exclusions. No filler, though the final sentence's two constraints could be folded into the routing sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't detail the comparison card contents, and it correctly avoids that. Given the deeply nested baseline/scope schema, however, an agent gets no guidance on parameter structure or the required baseline-plus-scenarios relationship, leaving a gap for a two-required-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Top-level schema description coverage is 0%: neither 'baseline' nor 'scenarios' is explained in either the schema or the description. The description says nothing about how a baseline relates to scenario deltas, that scenarios are capped at three labeled options ('Option 1/2/3'), or that 'changes' overrides baseline values. With low coverage, the description should compensate here and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Compare GB/US Guide Price scenarios') and scopes it to existing policies, which cleanly separates it from calculate_guide_price and calculate_building_work. An agent can identify the function without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger ('when the user explicitly asks to compare alternatives within those existing policies') and names the alternative for the excluded cases ('For other countries or drawing-based refinements, use calculate_building_work with each requested scenario'). Both when-to-use and when-not-to-use are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_estimate_requirementsGet a rough building cost exampleARead-onlyIdempotentInspect
Retrieve UK/US input requirements or labelled reference examples when specifically requested. For a project budget, vague cost question or drawings, use calculate_building_work. Reference examples are not the user's project price. No account or drawing-file access.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Country-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values. | |
| state | No | US two-letter state or DC code. | |
| country | No | Country pricing policy. Use GB for Great Britain or US for the United States. If omitted, GB is used for backwards compatibility. | |
| jobType | No | Residential project type supported by the selected country policy. | |
| zipCode | No | Optional US five-digit ZIP code. Never send a street address. | |
| postcodeArea | No | GB outward postcode only, for example BS3. Never send a full address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| status | Yes | |
| schemaVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds genuinely new context: reference examples are not the user's project price, and no account or drawing-file access is needed, which sets agent expectations for auth and interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, zero filler, with the retrieval purpose and the sibling routing front-loaded. The caveat about reference examples not being a real price is terse but earns its place by preventing misreading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 annotations cover the safety profile. Given six optional parameters and a nested scope object, the description is sufficient for correct invocation, though it never clarifies what 'input requirements' concretely look like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents scopes, country, state, jobType, zip and postcode. The description adds no parameter-level guidance beyond that, which is the correct baseline when structured fields carry the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb (Retrieve) and a resource (UK/US input requirements or labelled reference examples), and explicitly distinguishes itself from calculate_building_work. The phrase 'input requirements' remains somewhat opaque about what is actually returned, so it falls short of a fully self-explanatory purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the triggering condition ('when specifically requested') and routes three concrete cases (project budget, vague cost question, drawings) to the named alternative calculate_building_work. Nothing about when to pick this tool versus its sibling is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
calculate_building_work2 fields changed- changed
Input schema / properties / regionCode / descriptionPrevious value: -"AU new-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ national guides; AKL/CAN/QLDC/OTA have selected home anchors; Auckland extensions have their own source. IE: DUB retains a 25–35 m² rear-extension reference; other extension sizes/forms/regions use wider Irish builder guides. DE: a broad native-EUR new-house guide; an explicitly matching prefab bungalow can show a manufacturer example (mainland only). FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address."New value: +"GB extensions: use a stated pricing-region code such as LONDON or NW when no outward postcode was supplied; never invent a postcode. AU new-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ national guides; AKL/CAN/QLDC/OTA have selected home anchors; Auckland extensions have their own source. IE: DUB retains a 25–35 m² rear-extension reference; other extension sizes/forms/regions use wider Irish builder guides. DE: a broad native-EUR new-house guide; an explicitly matching prefab bungalow can show a manufacturer example (mainland only). FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address." - added
Input schema / properties / ukDetailsAdded value: +{ + "additionalProperties": false, + "description": "GB extensions only. Optional requested extras and work still to price, read from the user's brief. Existing kitchen/steel/access inputs keep their own allowance and must not be duplicated. Unknown items stay unpriced. No extra form steps.", + "properties": { + "extras": { + "default": [], + "description": "Only explicitly requested extension extras. Where a researched local construction benchmark already covers an item, it is included once without an extra charge. Otherwise existing provisional app allowances apply. Choose one glazing upgrade. UFH excludes the heat pump. Do not substitute whole-house heating, fencing or landscaping packages for a small requested item.", + "items": { + "enum": [ + "underfloor-heating", + "glazing-upgrade", + "level-access-sliders", + "rooflights" + ], + "type": "string" + }, + "maxItems": 8, + "type": "array" + }, + "rooflightCount": { + "description": "Known rooflight count only. Do not guess; the local construction benchmark includes one standard unit.", + "maximum": 8, + "minimum": 1, + "type": "integer" + }, + "unpricedWork": { + "default": [], + "description": "Requested or conditional work outside these allowances. Retain these items without inventing a price. Internal kitchen service connections do not establish a new utility-provider connection.", + "items": { + "enum": [ + "heat-pump", + "air-conditioning", + "drainage-alterations", + "reclaimed-brickwork", + "tree-removal", + "external-tap", + "patio", + "side-paving", + "side-gate", + "outside-lighting-data", + "asbestos-survey", + "professional-fees", + "leasehold-consent", + "conservation-conditions", + "utility-supply", + "consumer-unit-check" + ], + "type": "string" + }, + "maxItems": 20, + "type": "array" + } + }, + "type": "object" +}
1 tool update
- Changed
calculate_building_work9 fields changed- added
Input schema / properties / jobType / anyOfAdded value: +[ + { + "description": "Residential project type supported by the selected country policy.", + "enum": [ + "Combined project", + "Rear extension", + "Kitchen extension", + "Side extension", + "Wraparound extension", + "Loft conversion", + "Barn conversion", + "Refurbishment", + "Commercial office refurbishment", + "New kitchen", + "New bathroom", + "Office / summerhouse", + "Garage conversion", + "Basement work / conversion", + "Lower-ground floor refurbishment", + "New build", + "home_addition", + "whole_home_remodel", + "kitchen_remodel", + "bathroom_remodel", + "attic_conversion", + "garage_conversion", + "basement_remodel", + "backyard_studio", + "new_home_construction" + ], + "type": "string" + }, + { + "enum": [ + "window_replacement", + "heat_pump_installation" + ], + "type": "string" + } +] - changed
Input schema / properties / jobType / descriptionPrevious value: -"Residential project type supported by the selected country policy."New value: +"Work type supported by the selected country's catalog. Window replacement is FR/ES; air-to-water heat pump is FR only." - removed
Input schema / properties / jobType / enumRemoved value: -[ - "Combined project", - "Rear extension", - "Kitchen extension", - "Side extension", - "Wraparound extension", - "Loft conversion", - "Barn conversion", - "Refurbishment", - "Commercial office refurbishment", - "New kitchen", - "New bathroom", - "Office / summerhouse", - "Garage conversion", - "Basement work / conversion", - "Lower-ground floor refurbishment", - "New build", - "home_addition", - "whole_home_remodel", - "kitchen_remodel", - "bathroom_remodel", - "attic_conversion", - "garage_conversion", - "basement_remodel", - "backyard_studio", - "new_home_construction" -] - removed
Input schema / properties / jobType / typeRemoved value: -"string" - added
Input schema / properties / projectDetails / properties / cityAdded value: +{ + "description": "CA cosmetic work only: explicit Toronto/GTA (ON) or Vancouver (BC) reference, never a province-wide multiplier.", + "enum": [ + "toronto_gta", + "vancouver" + ], + "type": "string" +} - added
Input schema / properties / projectDetails / properties / floorRemovalAdded value: +{ + "description": "Vancouver cosmetic flooring only: remove existing flooring? Unknown widens the removal allowance; stairs and major subfloor repair remain separate.", + "type": "boolean" +} - added
Input schema / properties / projectDetails / properties / heatPumpCapacityAdded value: +{ + "description": "FR air-to-water heat pump only: installer-confirmed kW band. Do not infer capacity from floor area.", + "enum": [ + "under_5", + "from_5_to_7", + "over_7" + ], + "type": "string" +} - added
Input schema / properties / projectDetails / properties / hotWaterAdded value: +{ + "description": "FR air-to-water heat pump only: also supplies domestic hot water? Unknown retains both source possibilities.", + "type": "boolean" +} - added
Input schema / properties / projectDetails / properties / windowCountAdded value: +{ + "description": "FR/ES PVC window replacement only: actual windows replaced in existing openings. Never derive the count from floor area.", + "maximum": 100, + "minimum": 1, + "type": "integer" +}
1 tool update
- Changed
calculate_building_work4 fields changed- added
Input schema / properties / localScope / properties / propertyTypeAdded value: +{ + "enum": [ + "detached_house", + "apartment" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / roomCountAdded value: +{ + "description": "AU/NZ/IE kitchen or bathroom work only: actual rooms being renovated, never inferred from floor area or combined bathroom/WC counts.", + "maximum": 5, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / localScope / properties / roomExtentAdded value: +{ + "description": "AU/NZ/IE room work: cosmetic refresh or replacement of fittings and finishes. Layout/service changes use workDetails.serviceRelocation; do not count ordinary installation twice.", + "enum": [ + "refresh", + "replace" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / roomSizeAdded value: +{ + "enum": [ + "compact", + "typical", + "large" + ], + "type": "string" +}
1 tool update
- Changed
calculate_building_work13 fields changed- added
Input schema / properties / indiaDetails / properties / cityAdded value: +{ + "description": "IN new RCC home only: own local builder package anchors. City and supplied state must agree. Rural masonry/shelters use their own local-method model, never a metro package.", + "enum": [ + "bengaluru", + "delhi" + ], + "type": "string" +} - added
Input schema / properties / japanDetails / properties / airconCountAdded value: +{ + "description": "JP selected work: wall-mounted indoor/outdoor pairs supplied and fitted; existing balcony or ground-level outdoor location. Central systems, crane/high-access work and new circuits are separate.", + "maximum": 20, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / japanDetails / properties / flooringAreaAdded value: +{ + "description": "JP selected work: wooden floor area in m2. Exclude the area receiving new tatami.", + "maximum": 10000, + "minimum": 0, + "type": "number" +} - added
Input schema / properties / japanDetails / properties / kitchensAdded value: +{ + "description": "JP selected work: complete kitchens supplied and fitted, counted once instead of a whole-home area-rate allowance.", + "maximum": 5, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / japanDetails / properties / lightCountAdded value: +{ + "description": "JP selected work: fitting installation at existing power points. User-supplied ordinary fitting; new wiring or luxury chandelier work excluded.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / japanDetails / properties / tatamiCountAdded value: +{ + "description": "JP selected work only: actual full-size mats being replaced, not room-area tatami. Never derive this count from layout or floor area.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / japanDetails / properties / wallpaperAreaAdded value: +{ + "description": "JP selected work: wall/ceiling surface area in m2 being repapered; never substitute floor area.", + "maximum": 10000, + "minimum": 0, + "type": "number" +} - changed
Input schema / properties / japanDetails / properties / workExtent / enumPrevious value: -[ - "refresh", - "partial", - "full", - "skeleton" -]New value: +[ + "refresh", + "partial", + "full", + "skeleton", + "selected" +] - added
Input schema / properties / localScope / properties / foundationAdded value: +{ + "description": "DE slab/basement; NZ slab/timber piles/engineered piles. Ordinary baseline included once; foundation and adverse-ground allowances overlap. DE basement fitting out is separate.", + "enum": [ + "slab", + "basement", + "timber_piles", + "engineered_piles" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / primaryConstructionAdded value: +{ + "description": "DE only: masonry or timber-frame house; timber comparison widens a provisional native-EUR guide, not a calibrated quote.", + "enum": [ + "masonry", + "timber_frame" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / wallConstructionAdded value: +{ + "description": "AU new homes only: select the actual wall construction, matched to BMT house type/storeys/finish. Unknown uses the existing construction envelope.", + "enum": [ + "weatherboard", + "brick_veneer", + "full_brick" + ], + "type": "string" +} - added
Input schema / properties / projectDetails / properties / propertyTypeAdded value: +{ + "description": "FR/ES/CA renovation: apartment/private interior versus detached home. Changes relevant questions and scope boundaries; common-building exterior/structure is separate.", + "enum": [ + "detached_house", + "apartment" + ], + "type": "string" +} - added
Input schema / properties / projectDetails / properties / refreshScopeAdded value: +{ + "description": "CA cosmetic refresh only: installed painting, flooring, or both. Unknown assumes both; full/partial renovations use their own scope.", + "enum": [ + "paint", + "flooring", + "paint_and_flooring" + ], + "type": "string" +}
1 tool update
- Changed
calculate_building_work1 field changed- added
Input schema / properties / workDetailsAdded value: +{ + "additionalProperties": false, + "description": "Optional extra scope for supported overseas work: an occupied home, additional service relocation, lift/shared-area protection, an enlarged extension opening, excluded German painting/flooring, or physical new-home utility connections. ES also accepts access restrictions and whole-home structuralWork. Send only explicitly requested facts. Ordinary installation is already in the country baseline. Never apply these to UK work or copy assumptions into answers; omit extras already included. Missing answers never block a price.", + "properties": { + "access": { + "enum": [ + "straightforward", + "constrained", + "stairs_only" + ], + "type": "string" + }, + "finalDecoration": { + "type": "boolean" + }, + "liftProtection": { + "type": "boolean" + }, + "occupied": { + "type": "boolean" + }, + "serviceRelocation": { + "type": "boolean" + }, + "structuralOpening": { + "type": "boolean" + }, + "structuralWork": { + "type": "boolean" + }, + "utilityConnections": { + "type": "boolean" + } + }, + "type": "object" +}
4 tool updates
- Changed
calculate_building_work1 field changed- added
Input schema / properties / scope / properties / vatTreatmentAdded value: +{ + "description": "Supplier-confirmed VAT treatment of the priced construction scope. Never infer zero/reduced rating from a project label or registration. Mixed-rate work stays unconfirmed until split; separate fees/goods may differ.", + "enum": [ + "unconfirmed", + "standard_20", + "qualifying_conversion_5", + "qualifying_empty_home_5", + "qualifying_new_dwelling_0", + "mixed" + ], + "type": "string" +}
- Changed
calculate_guide_price1 field changed- added
Input schema / properties / scope / properties / vatTreatmentAdded value: +{ + "description": "Supplier-confirmed VAT treatment of the priced construction scope. Never infer zero/reduced rating from a project label or registration. Mixed-rate work stays unconfirmed until split; separate fees/goods may differ.", + "enum": [ + "unconfirmed", + "standard_20", + "qualifying_conversion_5", + "qualifying_empty_home_5", + "qualifying_new_dwelling_0", + "mixed" + ], + "type": "string" +}
- Changed
compare_guide_scenarios2 fields changed- added
Input schema / properties / baseline / properties / scope / properties / vatTreatmentAdded value: +{ + "description": "Supplier-confirmed VAT treatment of the priced construction scope. Never infer zero/reduced rating from a project label or registration. Mixed-rate work stays unconfirmed until split; separate fees/goods may differ.", + "enum": [ + "unconfirmed", + "standard_20", + "qualifying_conversion_5", + "qualifying_empty_home_5", + "qualifying_new_dwelling_0", + "mixed" + ], + "type": "string" +} - added
Input schema / properties / scenarios / items / properties / changes / properties / vatTreatmentAdded value: +{ + "description": "Supplier-confirmed VAT treatment of the priced construction scope. Never infer zero/reduced rating from a project label or registration. Mixed-rate work stays unconfirmed until split; separate fees/goods may differ.", + "enum": [ + "unconfirmed", + "standard_20", + "qualifying_conversion_5", + "qualifying_empty_home_5", + "qualifying_new_dwelling_0", + "mixed" + ], + "type": "string" +}
- Changed
get_estimate_requirements1 field changed- added
Input schema / properties / scope / properties / vatTreatmentAdded value: +{ + "description": "Supplier-confirmed VAT treatment of the priced construction scope. Never infer zero/reduced rating from a project label or registration. Mixed-rate work stays unconfirmed until split; separate fees/goods may differ.", + "enum": [ + "unconfirmed", + "standard_20", + "qualifying_conversion_5", + "qualifying_empty_home_5", + "qualifying_new_dwelling_0", + "mixed" + ], + "type": "string" +}
1 tool update
- Changed
calculate_building_work24 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has Dublin rear-extension project ranges; DE has named prefabricated bungalow examples only, not project estimates. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes, whole-home/akiya renovation and kitchen/bathroom work. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country."New value: +"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has extension guides and matching Dublin project ranges; DE has rough new-home guides and separate unscaled manufacturer examples. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes, whole-home/akiya renovation and kitchen/bathroom work. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country." - changed
Input schema / properties / drawings / properties / observations / items / properties / calculationInputs / items / properties / unit / enumPrevious value: -[ - "m", - "mm", - "cm", - "ft", - "in", - "yd", - "m2", - "sq_m", - "ft2", - "sq_ft", - "yd2", - "tsubo", - "m3", - "ft3", - "yd3", - "number", - "item", - "set", - "unknown" -]New value: +[ + "m", + "mm", + "cm", + "ft", + "in", + "yd", + "m2", + "sq_m", + "ft2", + "sq_ft", + "yd2", + "tsubo", + "m3", + "ft3", + "yd3", + "number", + "item", + "set", + "unknown", + "tatami", + "jo", + "jou", + "畳", + "帖" +] - added
Input schema / properties / drawings / properties / observations / items / properties / tatamiSizeAdded value: +{ + "description": "For tatami area only: use a supplied mat convention; otherwise use the approximate listing convention. Physical mat counts use item/number, not an area unit.", + "enum": [ + "listing", + "edoma", + "kyoma", + "chukyoma", + "danchima" + ], + "type": "string" +} - changed
Input schema / properties / drawings / properties / observations / items / properties / unit / enumPrevious value: -[ - "m", - "mm", - "cm", - "ft", - "in", - "yd", - "m2", - "sq_m", - "ft2", - "sq_ft", - "yd2", - "tsubo", - "m3", - "ft3", - "yd3", - "number", - "item", - "set", - "unknown" -]New value: +[ + "m", + "mm", + "cm", + "ft", + "in", + "yd", + "m2", + "sq_m", + "ft2", + "sq_ft", + "yd2", + "tsubo", + "m3", + "ft3", + "yd3", + "number", + "item", + "set", + "unknown", + "tatami", + "jo", + "jou", + "畳", + "帖" +] - added
Input schema / properties / japanDetails / properties / layoutAdded value: +{ + "description": "Stated Japanese layout, e.g. 1R, 1K, 1DK, 1LDK, 2LDK, 2SLDK or 2LDK+S. Optional; unfamiliar labels do not block the estimate. The number counts habitable rooms excluding K/DK/LDK; S/N denotes service/storage rooms, not certified bedrooms. Never derive floor area, bathrooms, replacement mat counts or the number of rooms being renovated from layout alone.", + "maxLength": 80, + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / localScope / descriptionPrevious value: -"AU/NZ/IE/DE only. Send confirmed facts; never copy provisional assumptions as user answers. AU adds counted wet fitout; NZ wet-area rates include wet scope. IE uses a fixed 25–35 m² project range, not a scalable per-m² rate. DE examples are not scaled to the user's area."New value: +"AU/NZ/IE/DE only. Send confirmed facts; never copy provisional assumptions as user answers. AU uses separate project/custom and one/two-storey house anchors, plus counted extension fitout. NZ wet-area extensions count the first standard wet room once; additional declared rooms use local references. IE uses a fixed Dublin bucket only for matching scope; other extensions use a broader Irish build guide. DE has a broad new-home guide; named manufacturer examples are never scaled to the user's area." - added
Input schema / properties / localScope / properties / accessAdded value: +{ + "enum": [ + "straightforward", + "constrained", + "remote" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / accessAlreadyIncludedAdded value: +{ + "type": "boolean" +} - changed
Input schema / properties / localScope / properties / areaBasis / descriptionPrevious value: -"AU project homes require gross floor area including covered unenclosed space. DE bungalow examples use living floor area (Wohnfläche); never substitute gross area or footprint."New value: +"AU uses gross floor area including covered unenclosed space; known internal/living area retains its measurement and widens an inferred GFA allowance. DE uses living floor area (Wohnfläche); gross area uses a wider guide and is never asserted equivalent. Manufacturer examples require the stated living area." - added
Input schema / properties / localScope / properties / energyUpgradeAdded value: +{ + "type": "boolean" +} - changed
Input schema / properties / localScope / properties / extensionForm / descriptionPrevious value: -"IE: the Dublin range covers rear extensions only. Confirm form when using home_addition."New value: +"IE: rear, side or wraparound; affects the guide. Send total floor area across all storeys, not the footprint." - added
Input schema / properties / localScope / properties / hazardProtectionAdded value: +{ + "enum": [ + "ordinary", + "bushfire", + "cyclone", + "seismic" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / protectionAlreadyIncludedAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / localScope / properties / siteConditionsAdded value: +{ + "enum": [ + "ordinary", + "sloping", + "difficult_ground", + "liquefaction" + ], + "type": "string" +} - added
Input schema / properties / localScope / properties / siteCostsAlreadyIncludedAdded value: +{ + "type": "boolean" +} - changed
Input schema / properties / projectDetails / descriptionPrevious value: -"FR/CA: optional declared work extent, access, climate, ground, construction and upgrade facts. Ordinary local code/climate provisions are already in the base; exceptional work uses disclosed broad allowances. Never infer permafrost from country or remote access from rural location. ES accepts workExtent only. Missing details widen the price; never require a questionnaire."New value: +"FR/CA: optional declared work extent, access, climate, ground, construction and upgrade facts. AlreadyIncluded flags suppress the corresponding allowance only when the supplied scope already contains that work. Ordinary local code/climate provisions are already in the base. Never infer permafrost from country or remote access from rural location. ES accepts workExtent only. Missing details widen the price; never require a questionnaire." - added
Input schema / properties / projectDetails / properties / accessAlreadyIncludedAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / projectDetails / properties / envelopeAlreadyIncludedAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / projectDetails / properties / siteCostsAlreadyIncludedAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / projectDetails / properties / structureAlreadyIncludedAdded value: +{ + "type": "boolean" +} - changed
Input schema / properties / regionCode / descriptionPrevious value: -"AU project-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ homes: AKL/CAN/QLDC/OTA; NZ extensions: AKL only. IE extension guide: DUB only (Dublin, Republic of Ireland). DE examples exclude islands: use ISLANDS if relevant; no regional adjustment. FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address."New value: +"AU new-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ national guides; AKL/CAN/QLDC/OTA have selected home anchors; Auckland extensions have their own source. IE: DUB retains a 25–35 m² rear-extension reference; other extension sizes/forms/regions use wider Irish builder guides. DE: a broad native-EUR new-house guide; an explicitly matching prefab bungalow can show a manufacturer example (mainland only). FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address." - changed
Input schema / properties / scope / descriptionPrevious value: -"Only known project facts. All area fields share areaUnit. JP also accepts tsubo (坪); one tsubo is 400/121 square metres. Prefer worksLevel over legacy finishBand/finishLevel."New value: +"Only known project facts. All area fields share areaUnit. JP accepts tsubo (坪), tatami/jo/jou/畳/帖. Tsubo is 400/121 m2; tatami defaults to approximately 1.62 m2. Room labels such as LDK 12畳 are that room's area, not the whole apartment. Use dimensioned m2 where supplied. Physical replacement-mat counts are not floor areas. Prefer worksLevel over legacy finishBand/finishLevel." - changed
Input schema / properties / scope / properties / areaUnit / anyOfPrevious value: -[ - { - "description": "Unit for approximateSize. GB defaults to sq_m and US defaults to sq_ft. Common m2 and ft2 forms are accepted.", - "enum": [ - "sq_m", - "sq m", - "m2", - "m^2", - "m²", - "sqm", - "square_metres", - "square_meters", - "square metres", - "square meters", - "sq_ft", - "sq ft", - "ft2", - "ft^2", - "ft²", - "sqft", - "sf", - "square_feet", - "square feet" - ], - "type": "string" - }, - { - "const": "tsubo", - "type": "string" - } -]New value: +[ + { + "description": "Unit for approximateSize. GB defaults to sq_m and US defaults to sq_ft. Common m2 and ft2 forms are accepted.", + "enum": [ + "sq_m", + "sq m", + "m2", + "m^2", + "m²", + "sqm", + "square_metres", + "square_meters", + "square metres", + "square meters", + "sq_ft", + "sq ft", + "ft2", + "ft^2", + "ft²", + "sqft", + "sf", + "square_feet", + "square feet" + ], + "type": "string" + }, + { + "enum": [ + "tsubo", + "tatami", + "jo", + "jou", + "畳", + "帖" + ], + "type": "string" + } +] - added
Input schema / properties / scope / properties / tatamiSizeAdded value: +{ + "description": "JP tatami area only. Optional listing, edoma, kyoma, chukyoma or danchima convention, only if explicitly known. Otherwise the calculator uses an approximate 1.62 m2 per tatami listing basis; never infer a physical mat type from prefecture or apartment type.", + "enum": [ + "listing", + "edoma", + "kyoma", + "chukyoma", + "danchima" + ], + "type": "string" +}
1 tool update
- Changed
calculate_building_work4 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has Dublin rear-extension project ranges; DE has named prefabricated bungalow examples only, not project estimates. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes and residential renovation/akiya. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country."New value: +"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has Dublin rear-extension project ranges; DE has named prefabricated bungalow examples only, not project estimates. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes, whole-home/akiya renovation and kitchen/bathroom work. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country." - added
Input schema / properties / drawings / properties / observations / items / properties / parentScopeEntityAdded value: +{ + "description": "Optional explicitly evidenced containing scope, e.g. kitchen inside whole_home. Supply only when the drawing/brief establishes containment. Keep separate buildings unparented. Never use this to force unrelated floor areas into the main project.", + "pattern": "^[a-zA-Z0-9_-]{1,80}$", + "type": "string" +} - added
Input schema / properties / japanDetails / properties / bathroomTypeAdded value: +{ + "description": "Existing bathroom type; conventional tiled-bath conversion differs from replacing a unit bath. Unknown stays optional.", + "enum": [ + "unit_bath", + "conventional_bath" + ], + "type": "string" +} - added
Input schema / properties / japanDetails / properties / roomCountAdded value: +{ + "description": "Kitchen/bathroom renovation only: number of rooms the user wants worked on. Default one if unknown. Do not infer bathrooms from a combined bathroom/WC drawing count or building floor area.", + "maximum": 20, + "minimum": 1, + "type": "integer" +}
1 tool update
- Changed
calculate_building_work3 fields changed- added
Input schema / properties / drawings / properties / observations / items / properties / label / descriptionAdded value: +"Human-readable work label in the conversation language. Keep literal drawing wording in sourceReference." - changed
Input schema / properties / drawings / properties / observations / items / properties / scopeEntity / descriptionPrevious value: -"Separate construction entity, e.g. rear_extension or garage. Do not merge separate buildings."New value: +"Stable separate building/scope ID. For main residential pricing use whole_home for whole-home renovation, new_home for a new house, home_addition/rear_extension for an addition, kitchen or bathroom for a single-room remodel. Keep garages, annexes and separate buildings separate; do not invent a primary-scope label or merge areas." - added
Input schema / properties / drawings / properties / unresolvedItems / items / properties / description / descriptionAdded value: +"Human-readable issue in the conversation language; preserve literal evidence in sourceReference."
1 tool update
- Changed
calculate_building_work6 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has Dublin rear-extension project ranges; DE has named prefabricated bungalow examples only, not project estimates. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes and residential renovation/akiya. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country."New value: +"Two-letter country code. GB/UK and US/USA have existing guide policies; AU/NZ have limited residential benchmarks; IE has Dublin rear-extension project ranges; DE has named prefabricated bungalow examples only, not project estimates. FR has new homes and whole-home renovation; ES whole-home/kitchen/bathroom renovation; CA new homes and whole-home renovation. JP new homes and residential renovation/akiya. IN rural shelters, masonry/RCC new homes and whole-home renovation with separate user-priced land/lease costs. Other countries return unpriced quantities. EU needs a member country. SA means Saudi Arabia; ZA is South Africa. Units never determine country." - added
Input schema / properties / indiaDetailsAdded value: +{ + "additionalProperties": false, + "description": "IN only: optional known construction/site facts. Simple local-material hut, durable rural masonry and RCC home have distinct INR models. Rural never implies poor road access. State alone does not prove climate/hazard. Ordinary construction is counted once; only stated extra protection is added. Missing facts give a rough price. Rates/allowances are estimates, not safety certification or state cost schedules.", + "properties": { + "access": { + "enum": [ + "normal", + "remote_road", + "no_vehicle_access", + "seasonal_or_island" + ], + "type": "string" + }, + "climate": { + "enum": [ + "ordinary", + "hot_dry", + "humid_monsoon", + "cold_snow" + ], + "type": "string" + }, + "climateAlreadyIncluded": { + "type": "boolean" + }, + "construction": { + "enum": [ + "vernacular_hut", + "rural_masonry", + "rcc_home" + ], + "type": "string" + }, + "hazard": { + "enum": [ + "ordinary", + "enhanced_seismic", + "cyclone_exposed", + "flood_exposed" + ], + "type": "string" + }, + "hazardAlreadyIncluded": { + "type": "boolean" + }, + "landUse": { + "enum": [ + "residential", + "agricultural", + "protected_or_tribal", + "unknown" + ], + "type": "string" + }, + "setting": { + "enum": [ + "rural", + "town", + "metro", + "high_cost_metro" + ], + "type": "string" + }, + "siteConditions": { + "enum": [ + "ordinary", + "difficult_ground" + ], + "type": "string" + }, + "workExtent": { + "enum": [ + "refresh", + "partial", + "full" + ], + "type": "string" + } + }, + "type": "object" +} - added
Input schema / properties / landAdded value: +{ + "additionalProperties": false, + "description": "IN only. Optional separate plot and user-supplied INR purchase price/rate, upfront lease premium, yearly rent and fees. Land area never becomes building floor area. Unknown land prices stay unpriced without blocking the construction estimate. Official valuation is a reference, never treated as market purchase cost. No generic bigha/ground/marla conversion; ask for the local conversion. State rules/title/lease rights need local verification.", + "properties": { + "annualRent": { + "additionalProperties": false, + "properties": { + "high": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + }, + "low": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "low", + "high" + ], + "type": "object" + }, + "areaUnit": { + "enum": [ + "sq_m", + "sq_ft", + "acre", + "hectare" + ], + "type": "string" + }, + "fees": { + "additionalProperties": false, + "properties": { + "high": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + }, + "low": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "low", + "high" + ], + "type": "object" + }, + "leasePremium": { + "additionalProperties": false, + "properties": { + "high": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + }, + "low": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "low", + "high" + ], + "type": "object" + }, + "plotArea": { + "exclusiveMinimum": 0, + "maximum": 1000000000, + "type": "number" + }, + "priceBasis": { + "enum": [ + "asking", + "agreed", + "official_valuation" + ], + "type": "string" + }, + "purchasePrice": { + "additionalProperties": false, + "properties": { + "high": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + }, + "low": { + "maximum": 1000000000000, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "low", + "high" + ], + "type": "object" + }, + "purchaseRate": { + "additionalProperties": false, + "properties": { + "high": { + "maximum": 10000000000, + "minimum": 0, + "type": "number" + }, + "low": { + "maximum": 10000000000, + "minimum": 0, + "type": "number" + }, + "unit": { + "enum": [ + "sq_m", + "sq_ft", + "acre", + "hectare" + ], + "type": "string" + } + }, + "required": [ + "low", + "high", + "unit" + ], + "type": "object" + }, + "tenure": { + "enum": [ + "owned", + "purchase", + "leasehold" + ], + "type": "string" + } + }, + "required": [ + "tenure" + ], + "type": "object" +} - changed
Input schema / properties / language / descriptionPrevious value: -"Card and follow-up language from the conversation, e.g. fr-CA, es, de, it, pt or ja. English fallback for unsupported languages. Never infer country, currency or units from language."New value: +"Card and follow-up language from the conversation, e.g. fr-CA, es, de, it, pt, ja or hi. English fallback for unsupported languages. Never infer country, currency or units from language." - changed
Input schema / properties / regionCode / descriptionPrevious value: -"AU project-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ homes: AKL/CAN/QLDC/OTA; NZ extensions: AKL only. IE extension guide: DUB only (Dublin, Republic of Ireland). DE examples exclude islands: use ISLANDS if relevant; no regional adjustment. FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. US uses state. Do not infer a city from a state or send an address."New value: +"AU project-home city: SYD/MEL/BNE/CBR/ADL/PER/HBA/CNS/DRW. AU extensions are national. NZ homes: AKL/CAN/QLDC/OTA; NZ extensions: AKL only. IE extension guide: DUB only (Dublin, Republic of Ireland). DE examples exclude islands: use ISLANDS if relevant; no regional adjustment. FR new homes: ARA/BFC/BRE/CVL/COR/GES/HDF/IDF/NOR/NAQ/OCC/PDL/PAC, FR- prefix accepted; renovation has no city factors. ES broad region. JP: JP-01 through JP-47 or CAPITAL/KINKI/TOKAI/OTHER. CA: province/territory code, e.g. ON/BC/QC. Ontario custom-home anchors extrapolate broadly elsewhere. IN accepts state/UT codes such as IN-KA, IN-AS, IN-HP; these select jurisdiction, not an exact state cost index. US uses state. Do not infer a city from a state or send an address." - changed
Input schema / properties / worksLevel / descriptionPrevious value: -"Level of materials, finishes and detailing: Budget, Standard, Premium or Luxury. US/FR/ES/CA/JP Luxury returns a wide rough starting range, not a ceiling; bespoke details need individual pricing. Other markets retain their published reference limits. This does not change the amount of work."New value: +"Level of materials, finishes and detailing: Budget, Standard, Premium or Luxury. US/FR/ES/CA/JP/IN Luxury returns a wide rough starting range, not a ceiling; bespoke details need individual pricing. Other markets retain their published reference limits. This does not change the amount of work."
Related MCP Connectors
Free real-estate underwriting, no key or account. 6 strategies, stress tests, max offer.
UK solar PV and heat pump calculators that follow the published MCS methods. Open, no key.
AWS pricing and cost estimates with no signup, plus read-only idle-resource scans of your account.
UK property finance: bridging cost, dev appraisal, BTL stress test, stamp duty (SDLT/LBTT/LTT).
Related MCP Servers
- FlicenseAqualityBmaintenanceParametric price benchmarking for engineering and procurement trade-offs. Agentic first, runs on your data, stays on your machine.1235 PyPI2-
- FlicenseNot gradedqualityDmaintenanceLA County ADU buildability checks, zoning rules, permit trends, and cost estimates — free, no auth.-
- AlicenseAqualityAmaintenanceUK property data MCP server — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House. 13 tools.1318MIT

RoofMeasure MCPofficial
AlicenseAqualityBmaintenanceProvides free EagleView-style satellite roof measurements and modular Xactimate-style estimating from Google Solar API data, enabling contractors to generate reports and estimates from any address.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.