Skip to main content
Glama

Proper Job Building Cost Calculator

Server Details

Free UK building-cost estimates, US beta estimates and scenario comparisons. No account needed.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
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

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
calculate_building_workCalculate building workA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
landNoIN 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.
scopeNoOnly 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.
stateNoUS two-letter state or DC code.
countryNoTwo-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.
jobTypeNoWork type supported by the selected country's catalog. Window replacement is FR/ES; air-to-water heat pump is FR only.
zipCodeNoOptional US five-digit ZIP code. Never send a street address.
currencyNoOptional currency check against a known market. No exchange or borrowed foreign rates. Unknown market currency does not enable pricing.
drawingsNoStructured analysis performed by the host on the user's attachments. No file URLs, file bytes, account IDs or extraction API calls are accepted.
languageNoCard 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.
ukDetailsNoGB 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.
usDetailsNoUS 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.
localScopeNoAU/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.
regionCodeNoGB 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.
worksLevelNoLevel 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.
workDetailsNoOptional 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.
displayUnitsNoPreferred quantity display, independent of pricing market/currency. All scope area fields use scope.areaUnit; drawing quantities each carry their own unit.
indiaDetailsNoIN 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.
japanDetailsNoJP 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.
postcodeAreaNoGB outward postcode only, for example BS3. Never send a full address.
projectDetailsNoFR/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

NameRequiredDescription
dataNo
errorNo
statusYes
schemaVersionYes

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

NameRequiredDescriptionDefault
scopeNoCountry-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values.
stateNoUS two-letter state or DC code.
countryNoCountry pricing policy. Use GB for Great Britain or US for the United States. If omitted, GB is used for backwards compatibility.
jobTypeNoResidential project type supported by the selected country policy.
zipCodeNoOptional US five-digit ZIP code. Never send a street address.
postcodeAreaNoGB outward postcode only, for example BS3. Never send a full address.

Output Schema

NameRequiredDescription
dataNo
errorNo
statusYes
schemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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.

NameRequiredDescriptionDefault
baselineYes
scenariosYes

Output Schema

NameRequiredDescription
dataNo
errorNo
statusYes
schemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 exampleA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
scopeNoCountry-specific project scope. Use UK fields for GB and US fields for US; do not invent unanswered values.
stateNoUS two-letter state or DC code.
countryNoCountry pricing policy. Use GB for Great Britain or US for the United States. If omitted, GB is used for backwards compatibility.
jobTypeNoResidential project type supported by the selected country policy.
zipCodeNoOptional US five-digit ZIP code. Never send a street address.
postcodeAreaNoGB outward postcode only, for example BS3. Never send a full address.

Output Schema

NameRequiredDescription
dataNo
errorNo
statusYes
schemaVersionYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/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 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines5/5

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. 1 tool update
    • Changedcalculate_building_work2 fields changed
      • changedInput schema / properties / regionCode / description
        Previous 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."
      • addedInput schema / properties / ukDetails
        Added 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"
        +}
  2. 1 tool update
    • Changedcalculate_building_work9 fields changed
      • addedInput schema / properties / jobType / anyOf
        Added 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"
        +  }
        +]
      • changedInput schema / properties / jobType / description
        Previous 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."
      • removedInput schema / properties / jobType / enum
        Removed 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"
        -]
      • removedInput schema / properties / jobType / type
        Removed value: -"string"
      • addedInput schema / properties / projectDetails / properties / city
        Added 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"
        +}
      • addedInput schema / properties / projectDetails / properties / floorRemoval
        Added value: +{
        +  "description": "Vancouver cosmetic flooring only: remove existing flooring? Unknown widens the removal allowance; stairs and major subfloor repair remain separate.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / projectDetails / properties / heatPumpCapacity
        Added 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"
        +}
      • addedInput schema / properties / projectDetails / properties / hotWater
        Added value: +{
        +  "description": "FR air-to-water heat pump only: also supplies domestic hot water? Unknown retains both source possibilities.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / projectDetails / properties / windowCount
        Added 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"
        +}
  3. 1 tool update
    • Changedcalculate_building_work4 fields changed
      • addedInput schema / properties / localScope / properties / propertyType
        Added value: +{
        +  "enum": [
        +    "detached_house",
        +    "apartment"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / localScope / properties / roomCount
        Added 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"
        +}
      • addedInput schema / properties / localScope / properties / roomExtent
        Added 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"
        +}
      • addedInput schema / properties / localScope / properties / roomSize
        Added value: +{
        +  "enum": [
        +    "compact",
        +    "typical",
        +    "large"
        +  ],
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedcalculate_building_work13 fields changed
      • addedInput schema / properties / indiaDetails / properties / city
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / airconCount
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / flooringArea
        Added value: +{
        +  "description": "JP selected work: wooden floor area in m2. Exclude the area receiving new tatami.",
        +  "maximum": 10000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / japanDetails / properties / kitchens
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / lightCount
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / tatamiCount
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / wallpaperArea
        Added value: +{
        +  "description": "JP selected work: wall/ceiling surface area in m2 being repapered; never substitute floor area.",
        +  "maximum": 10000,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • changedInput schema / properties / japanDetails / properties / workExtent / enum
        Previous value: -[
        -  "refresh",
        -  "partial",
        -  "full",
        -  "skeleton"
        -]New value: +[
        +  "refresh",
        +  "partial",
        +  "full",
        +  "skeleton",
        +  "selected"
        +]
      • addedInput schema / properties / localScope / properties / foundation
        Added 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"
        +}
      • addedInput schema / properties / localScope / properties / primaryConstruction
        Added 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"
        +}
      • addedInput schema / properties / localScope / properties / wallConstruction
        Added 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"
        +}
      • addedInput schema / properties / projectDetails / properties / propertyType
        Added 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"
        +}
      • addedInput schema / properties / projectDetails / properties / refreshScope
        Added 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"
        +}
  5. 1 tool update
    • Changedcalculate_building_work1 field changed
      • addedInput schema / properties / workDetails
        Added 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"
        +}
  6. 4 tool updates
    • Changedcalculate_building_work1 field changed
      • addedInput schema / properties / scope / properties / vatTreatment
        Added 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"
        +}
    • Changedcalculate_guide_price1 field changed
      • addedInput schema / properties / scope / properties / vatTreatment
        Added 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"
        +}
    • Changedcompare_guide_scenarios2 fields changed
      • addedInput schema / properties / baseline / properties / scope / properties / vatTreatment
        Added 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"
        +}
      • addedInput schema / properties / scenarios / items / properties / changes / properties / vatTreatment
        Added 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"
        +}
    • Changedget_estimate_requirements1 field changed
      • addedInput schema / properties / scope / properties / vatTreatment
        Added 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"
        +}
  7. 1 tool update
    • Changedcalculate_building_work24 fields changed
      • changedInput schema / properties / country / description
        Previous 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."
      • changedInput schema / properties / drawings / properties / observations / items / properties / calculationInputs / items / properties / unit / enum
        Previous 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",
        +  "畳",
        +  "帖"
        +]
      • addedInput schema / properties / drawings / properties / observations / items / properties / tatamiSize
        Added 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"
        +}
      • changedInput schema / properties / drawings / properties / observations / items / properties / unit / enum
        Previous 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",
        +  "畳",
        +  "帖"
        +]
      • addedInput schema / properties / japanDetails / properties / layout
        Added 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"
        +}
      • changedInput schema / properties / localScope / description
        Previous 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."
      • addedInput schema / properties / localScope / properties / access
        Added value: +{
        +  "enum": [
        +    "straightforward",
        +    "constrained",
        +    "remote"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / localScope / properties / accessAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • changedInput schema / properties / localScope / properties / areaBasis / description
        Previous 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."
      • addedInput schema / properties / localScope / properties / energyUpgrade
        Added value: +{
        +  "type": "boolean"
        +}
      • changedInput schema / properties / localScope / properties / extensionForm / description
        Previous 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."
      • addedInput schema / properties / localScope / properties / hazardProtection
        Added value: +{
        +  "enum": [
        +    "ordinary",
        +    "bushfire",
        +    "cyclone",
        +    "seismic"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / localScope / properties / protectionAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / localScope / properties / siteConditions
        Added value: +{
        +  "enum": [
        +    "ordinary",
        +    "sloping",
        +    "difficult_ground",
        +    "liquefaction"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / localScope / properties / siteCostsAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • changedInput schema / properties / projectDetails / description
        Previous 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."
      • addedInput schema / properties / projectDetails / properties / accessAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / projectDetails / properties / envelopeAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / projectDetails / properties / siteCostsAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / projectDetails / properties / structureAlreadyIncluded
        Added value: +{
        +  "type": "boolean"
        +}
      • changedInput schema / properties / regionCode / description
        Previous 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."
      • changedInput schema / properties / scope / description
        Previous 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."
      • changedInput schema / properties / scope / properties / areaUnit / anyOf
        Previous 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"
        +  }
        +]
      • addedInput schema / properties / scope / properties / tatamiSize
        Added 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"
        +}
  8. 1 tool update
    • Changedcalculate_building_work4 fields changed
      • changedInput schema / properties / country / description
        Previous 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."
      • addedInput schema / properties / drawings / properties / observations / items / properties / parentScopeEntity
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / bathroomType
        Added 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"
        +}
      • addedInput schema / properties / japanDetails / properties / roomCount
        Added 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"
        +}
  9. 1 tool update
    • Changedcalculate_building_work3 fields changed
      • addedInput schema / properties / drawings / properties / observations / items / properties / label / description
        Added value: +"Human-readable work label in the conversation language. Keep literal drawing wording in sourceReference."
      • changedInput schema / properties / drawings / properties / observations / items / properties / scopeEntity / description
        Previous 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."
      • addedInput schema / properties / drawings / properties / unresolvedItems / items / properties / description / description
        Added value: +"Human-readable issue in the conversation language; preserve literal evidence in sourceReference."
  10. 1 tool update
    • Changedcalculate_building_work6 fields changed
      • changedInput schema / properties / country / description
        Previous 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."
      • addedInput schema / properties / indiaDetails
        Added 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"
        +}
      • addedInput schema / properties / land
        Added 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"
        +}
      • changedInput schema / properties / language / description
        Previous 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."
      • changedInput schema / properties / regionCode / description
        Previous 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."
      • changedInput schema / properties / worksLevel / description
        Previous 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

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.