Proper Job Building Cost Calculator
RemoteAbout Proper Job Building Cost Calculator
Proper Job Building Cost Calculator is a Claude connector for indicative UK and US beta building-work budgets. It uses Proper Job’s hosted pricing service for new estimates and comparisons without requiring an account.
Key features
- 01Indicative GBP and USD price ranges
- 02Compare up to three scenarios
- 03Explain tax, assumptions, and exclusions
- 04Optional result card in supported hosts
Use cases
- 01Estimate an early budget for building work
- 02Compare alternative sizes, finishes, or scopes
MCP support
Connects to Proper Job’s hosted MCP endpoint over Streamable HTTP. It sends typed scope details and returns structured and textual results.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://www.proper-job.uk/api/mcpclaude mcp add --transport http falsalama-proper-job https://www.proper-job.uk/api/mcp{"mcpServers":{"falsalama-proper-job":{"type":"http","url":"https://www.proper-job.uk/api/mcp"}}}Open in Cursor{"servers":{"falsalama-proper-job":{"type":"http","url":"https://www.proper-job.uk/api/mcp"}}}Open in VS Code{"mcpServers":{"falsalama-proper-job":{"type":"http","url":"https://www.proper-job.uk/api/mcp"}}}{"mcpServers":{"falsalama-proper-job":{"serverUrl":"https://www.proper-job.uk/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
4| Parameter | Type | Required | Description |
|---|---|---|---|
| land | object | 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. |
| land.fees | object | No | |
| land.fees.low | number | Yes | |
| land.fees.high | number | Yes | |
| land.tenure | enum | Yes | owned | purchase | leasehold |
| land.areaUnit | enum | No | sq_m | sq_ft | acre | hectare |
| land.plotArea | number | No | |
| land.annualRent | object | No | |
| land.annualRent.low | number | Yes | |
| land.annualRent.high | number | Yes | |
| land.priceBasis | enum | No | asking | agreed | official_valuation |
| land.leasePremium | object | No | |
| land.leasePremium.low | number | Yes | |
| land.leasePremium.high | number | Yes | |
| land.purchaseRate | object | No | |
| land.purchaseRate.low | number | Yes | |
| land.purchaseRate.high | number | Yes | |
| land.purchaseRate.unit | enum | Yes | sq_m | sq_ft | acre | hectare |
| land.purchasePrice | object | No | |
| land.purchasePrice.low | number | Yes | |
| land.purchasePrice.high | number | Yes | |
| scope | object | 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. |
| scope.access | enum | No | straightforward | constrained | remote |
| scope.areaUnit | any | No | |
| scope.doorCount | integer | No | |
| scope.roomCount | integer | No | |
| scope.scopeBand | enum | No | Breadth of work: Lean is a reduced scope, Balanced is a normal complete scope, and Expanded is a broader scope. This is not a confidence or risk setting.Lean | Balanced | Expanded |
| scope.finishBand | enum | No | Finish specification: Builder grade is budget, Good domestic is a normal quality domestic finish, and Premium domestic is higher specification.Builder grade | Good domestic | Premium domestic |
| scope.foundation | enum | No | slab | crawl_space | basement | existing_not_applicable |
| scope.scopeLevel | enum | No | defined | typical | expanded |
| scope.tatamiSize | enum | No | 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.listing | edoma | kyoma | chukyoma | danchima |
| scope.finishLevel | enum | No | builder_grade | standard | premium |
| scope.urgencyBand | enum | No | Flexible | Soon | Urgent |
| scope.windowCount | integer | No | |
| scope.accessIssues | boolean | No | |
| scope.availability | enum | No | Ready now | 2–4 weeks | 1–2 months | 3+ months | 6+ months | Next year |
| scope.basementArea | number | No | |
| scope.bedroomCount | integer | No | |
| scope.kitchenScope | enum | No | Kitchen work included anywhere in this project. If Kitchen work is also selected as an additional internal package, this scope defines that same kitchen allowance; do not describe it as a second kitchen.No kitchen work | Kitchen allowance | New kitchen: supply and install | New kitchen: install only | Client-supplied kitchen, builder prepares room | Kitchen / diner works |
| scope.propertyForm | enum | No | Existing property type. Use only the user's answer; do not infer it from the project type.Flat | Maisonette | Terraced house | Semi-detached house | Detached house | Barn / agricultural building | Other / not sure | Commercial office | Office suite |
| scope.vatTreatment | enum | No | 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.unconfirmed | standard_20 | qualifying_conversion_5 | qualifying_empty_home_5 | qualifying_new_dwelling_0 | mixed |
| scope.basementScope | enum | No | Existing basement refurbishment | Existing cellar conversion | Lower / enlarge existing cellar | New basement beneath extension | New basement beneath existing house |
| scope.bathroomScope | enum | No | Bathroom work included anywhere in this project. If Bathroom work is also selected as an additional internal package, this scope defines that same bathroom allowance; do not describe it as a second bathroom.No bathroom work | Bathroom allowance | New bathroom: supply and install | New bathroom: install only | Ensuite / shower room | WC / cloakroom |
| scope.parkingSpaces | integer | No | |
| scope.basementAccess | enum | No | Direct external access | Restricted side / rear access | Removal through house | Highly constrained urban access |
| scope.lowerGroundUse | enum | No | Part of the main home | Dependent annexe | Separate dwelling / unit |
| scope.propertyPeriod | enum | No | Not sure | Modern / new build | 1970s-1990s | 1950s-1960s | 1930s-1940s | Victorian / Edwardian | Older / period property | Listed / heritage |
| scope.approximateSize | number | No | |
| scope.hvacReplacement | boolean | No | |
| scope.lowerGroundArea | number | No | |
| scope.basementHeadroom | enum | No | No floor lowering | Minor lowering up to 300 mm | Lowering 300-600 mm | Major lowering over 600 mm | Not confirmed |
| scope.externalWallArea | number | No | |
| scope.lowerGroundScope | enum | No | Refresh existing finished rooms | Refurbish existing habitable floor | Convert existing ancillary / storage rooms |
| scope.barnStructureType | enum | No | Not sure | Traditional timber / oak frame | Steel portal frame | Stone / brick load-bearing walls | Mixed structure |
| scope.basementOccupancy | enum | No | Vacant during works | House occupied during works |
| scope.lowerGroundAccess | enum | No | Direct external access | Access through main home | Constrained access |
| scope.planningStageOnly | boolean | No | |
| scope.structuralChanges | boolean | No | |
| scope.basementStairScope | enum | No | Existing stair retained | Alter existing stair / opening | New basement staircase |
| scope.complexGroundworks | boolean | No | |
| scope.occupiedDuringWork | boolean | No | |
| scope.refurbishmentScope | enum | No | General refurbishment | Mixed room upgrade | Decoration only | External walls / insulation | Windows / doors / glazing | Kitchen works | Bathroom works | Kitchen and bathroom works | Whole property refurbishment |
| scope.basementGroundwater | enum | No | No known issue | Possible / high water table | Known groundwater / water ingress | Not confirmed |
| scope.basementIntendedUse | enum | No | Storage / utility | Habitable room(s) | Bedroom / bathroom accommodation | Kitchen / living accommodation | Separate dwelling / unit |
| scope.commercialDataScope | enum | No | No data / comms work | Data points and Wi-Fi alterations | New structured cabling, Wi-Fi and comms cabinet |
| scope.commercialHvacScope | enum | No | Retain existing HVAC | Alter existing AC / ventilation | New or substantially replaced HVAC |
| scope.commercialOccupancy | enum | No | Vacant during works | Phased / partly occupied | Fully occupied live office | Out-of-hours works only |
| scope.decoratingDoorCount | integer | No | |
| scope.lowerGroundDaylight | enum | No | Existing windows retained | Alter or enlarge openings | New lightwell / external excavation | Not confirmed |
| scope.lowerGroundExposure | enum | No | Mostly above ground | Split-level / partly below ground | Mostly below ground |
| scope.lowerGroundMoisture | enum | No | Dry / no known issue | Local damp repairs | Known damp / waterproofing work | Not confirmed |
| scope.lowerGroundServices | enum | No | Existing services retained | Alter existing services | New kitchen / bathroom services | Independent services / meters |
| scope.primaryConstruction | enum | No | wood_frame | masonry_concrete | other_unknown |
| scope.includesBasementWork | boolean | No | |
| scope.lowerGroundOccupancy | enum | No | Vacant during works | House occupied during works |
| scope.basementDrainageScope | enum | No | Existing gravity drainage retained | Drainage alterations | Pumped drainage required | Not confirmed |
| scope.basementWaterproofing | enum | No | Existing dry system retained | Local repairs / upgrades | Full tanking system | Cavity-drain membrane and pumps | Not confirmed |
| scope.commercialFloorAccess | enum | No | Ground / first floor | Upper floors with goods lift | Upper floors with passenger lift only | Upper floors by stairs only | Multiple floors |
| scope.decoratingWindowCount | integer | No | |
| scope.refurbishmentPackages | array | No | |
| scope.structuralSteelLikely | boolean | No | |
| scope.basementLightwellCount | integer | No | |
| scope.combinedAdditionalSize | number | No | |
| scope.combinedPrimaryJobType | enum | No | Rear extension | Kitchen extension | Side extension | Wraparound extension | Loft conversion | Barn conversion | Refurbishment | Office / summerhouse | Garage conversion | Basement work / conversion | New build |
| scope.refurbishmentCondition | enum | No | Good | Average | Poor | Damp / cracks / problematic |
| scope.refurbishmentPrepLevel | enum | No | Simple refresh | Normal prep | Heavy prep |
| scope.refurbishmentRoomState | enum | No | Empty | Partly furnished | Occupied |
| scope.basementUtilityIncluded | boolean | No | |
| scope.climateCodeRequirements | boolean | No | |
| scope.commercialWashroomCount | integer | No | |
| scope.includesLowerGroundWork | boolean | No | |
| scope.basementBathroomIncluded | boolean | No | |
| scope.commercialAsbestosStatus | enum | No | Refurbishment survey clear | Management survey only | Survey required / not confirmed | Known asbestos constraints |
| scope.commercialBuildingAccess | enum | No | Standalone / direct street access | Shared building, straightforward access | Managed building / booked access | Constrained central-London access |
| scope.commercialLandlordStatus | enum | No | Approval confirmed / not needed | Licence to alter in progress | Approval not started | Not sure |
| scope.electricalServiceUpgrade | boolean | No | |
| scope.basementStructuralSupport | enum | No | No underpinning expected | Local structural support | Sequential underpinning | Piled / engineered support | Not confirmed |
| scope.combinedAdditionalJobType | enum | No | Rear extension | Kitchen extension | Side extension | Wraparound extension | Loft conversion | Barn conversion | Refurbishment | Office / summerhouse | Garage conversion | Basement work / conversion | New build |
| scope.commercialElectricalScope | enum | No | Retain existing / minor electrical works | Lighting and small-power alterations | New lighting, power and floor-box layout |
| scope.commercialPartitionsScope | enum | No | Retain layout / minor making good | Some partitions and ceiling alterations | Extensive partitions and suspended ceilings |
| scope.refurbishmentFlooringArea | number | No | |
| scope.commercialKitchenetteCount | integer | No | |
| scope.commercialWorkstationCount | integer | No | |
| scope.additionalInternalWorksArea | number | No | Total floor area of existing rooms affected outside the main extension or loft, in the supplied area unit. |
| scope.commercialFireSecurityScope | enum | No | Existing systems retained | Fire-safety alterations and interfaces | Fire, access control, intercom and security package |
| scope.commercialFurnitureIncluded | boolean | No | |
| scope.refurbishmentDecoratingArea | number | No | |
| scope.refurbishmentPlasteringArea | number | No | |
| scope.hazardousMaterialRemediation | boolean | No | |
| scope.additionalInternalWorkPackages | array | No | Packages in existing rooms outside the main extension or loft. Kitchen work and Bathroom work use kitchenScope and bathroomScope to define the same room allowance and are counted once. |
| scope.includesAdditionalInternalWorks | boolean | No | True only when the project also changes existing internal rooms outside the main extension or loft. |
| state | enum | No | US two-letter state or DC code.CT | ME | MA | NH | RI | VT | NJ | NY | PA | IN | IL | MI | OH | WI | IA | KS | MN | MO | NE | ND | SD | DE | DC | FL | GA | MD | NC | SC | VA | WV | AL | KY | MS | TN | AR | LA | OK | TX | AZ | CO | ID | MT | NV | NM | UT | WY | CA | OR | WA | AK | HI |
| country | string | 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 | enum | No | Residential project type supported by the selected country policy.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 |
| zipCode | string | No | Optional US five-digit ZIP code. Never send a street address. |
| currency | enum | No | Optional currency check against a known market. No exchange or borrowed foreign rates. Unknown market currency does not enable pricing.AED | AFN | ALL | AMD | ANG | AOA | ARS | AUD | AWG | AZN | BAM | BBD | BDT | BGN | BHD | BIF | BMD | BND | BOB | BRL | BSD | BTN | BWP | BYN | BZD | CAD | CDF | CHF | CLP | CNY | COP | CRC | CUC | CUP | CVE | CZK | DJF | DKK | DOP | DZD | EGP | ERN | ETB | EUR | FJD | FKP | GBP | GEL | GHS | GIP | GMD | GNF | GTQ | GYD | HKD | HNL | HRK | HTG | HUF | IDR | ILS | INR | IQD | IRR | ISK | JMD | JOD | JPY | KES | KGS | KHR | KMF | KPW | KRW | KWD | KYD | KZT | LAK | LBP | LKR | LRD | LSL | LYD | MAD | MDL | MGA | MKD | MMK | MNT | MOP | MRU | MUR | MVR | MWK | MXN | MYR | MZN | NAD | NGN | NIO | NOK | NPR | NZD | OMR | PAB | PEN | PGK | PHP | PKR | PLN | PYG | QAR | RON | RSD | RUB | RWF | SAR | SBD | SCR | SDG | SEK | SGD | SHP | SLE | SLL | SOS | SRD | SSP | STN | SVC | SYP | SZL | THB | TJS | TMT | TND | TOP | TRY | TTD | TWD | TZS | UAH | UGX | USD | UYU | UZS | VES | VND | VUV | WST | XAF | XCD | XCG | XDR | XOF | XPF | XSU | YER | ZAR | ZMW | ZWG | ZWL |
| drawings | object | 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. |
| drawings.documents | array | Yes | |
| drawings.observations | array | Yes | |
| drawings.unresolvedItems | array | Yes | |
| drawings.reviewedObservationIds | array | No | Only IDs the user explicitly checked against the source; never mark an AI reading as user reviewed. |
| language | string | 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. |
| usDetails | object | 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. |
| usDetails.storeys | integer | No | |
| usDetails.kitchens | integer | No | |
| usDetails.bathrooms | integer | No | |
| usDetails.workExtent | enum | No | Optional US amount of work, separate from finish quality: refresh keeps main fitout; replace is full replacement; reconfigure changes layout/services. Send only facts stated in the conversation.refresh | replace | reconfigure |
| usDetails.locationCost | enum | No | Optional explicit US setting. Never infer rural or typical from a state/ZIP alone. Adjustments are broad model assumptions, not city quotes.typical | high_cost_metro | rural |
| localScope | object | 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. |
| localScope.access | enum | No | straightforward | constrained | remote |
| localScope.storeys | integer | No | |
| localScope.bedrooms | integer | No | |
| localScope.kitchens | integer | No | |
| localScope.roomSize | enum | No | compact | typical | large |
| localScope.areaBasis | enum | No | 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.gross_floor_area | internal_floor_area | living_floor_area |
| localScope.bathrooms | integer | No | |
| localScope.laundries | integer | No | |
| localScope.roomCount | integer | No | AU/NZ/IE kitchen or bathroom work only: actual rooms being renovated, never inferred from floor area or combined bathroom/WC counts. |
| localScope.foundation | enum | No | 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.slab | basement | timber_piles | engineered_piles |
| localScope.roomExtent | enum | No | 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.refresh | replace |
| localScope.houseDesign | enum | No | project_home | custom_home | prefabricated_home |
| localScope.extensionUse | enum | No | Work scope, not finish level. wet_area includes kitchen/bathroom work.dry_room | family_living | wet_area |
| localScope.propertyType | enum | No | detached_house | apartment |
| localScope.energyUpgrade | boolean | No | |
| localScope.extensionForm | enum | No | IE: rear, side or wraparound; affects the guide. Send total floor area across all storeys, not the footprint.rear | side | wraparound |
| localScope.siteConditions | enum | No | ordinary | sloping | difficult_ground | liquefaction |
| localScope.hazardProtection | enum | No | ordinary | bushfire | cyclone | seismic |
| localScope.wallConstruction | enum | No | AU new homes only: select the actual wall construction, matched to BMT house type/storeys/finish. Unknown uses the existing construction envelope.weatherboard | brick_veneer | full_brick |
| localScope.primaryConstruction | enum | No | DE only: masonry or timber-frame house; timber comparison widens a provisional native-EUR guide, not a calibrated quote.masonry | timber_frame |
| localScope.accessAlreadyIncluded | boolean | No | |
| localScope.siteCostsAlreadyIncluded | boolean | No | |
| localScope.protectionAlreadyIncluded | boolean | No | |
| regionCode | string | No | 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 | enum | 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.budget | standard | premium | luxury |
| workDetails | object | 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. |
| workDetails.access | enum | No | straightforward | constrained | stairs_only |
| workDetails.occupied | boolean | No | |
| workDetails.liftProtection | boolean | No | |
| workDetails.structuralWork | boolean | No | |
| workDetails.finalDecoration | boolean | No | |
| workDetails.serviceRelocation | boolean | No | |
| workDetails.structuralOpening | boolean | No | |
| workDetails.utilityConnections | boolean | No | |
| displayUnits | enum | No | Preferred quantity display, independent of pricing market/currency. All scope area fields use scope.areaUnit; drawing quantities each carry their own unit.metric | imperial |
| indiaDetails | object | 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. |
| indiaDetails.city | enum | No | 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.bengaluru | delhi |
| indiaDetails.access | enum | No | normal | remote_road | no_vehicle_access | seasonal_or_island |
| indiaDetails.hazard | enum | No | ordinary | enhanced_seismic | cyclone_exposed | flood_exposed |
| indiaDetails.climate | enum | No | ordinary | hot_dry | humid_monsoon | cold_snow |
| indiaDetails.landUse | enum | No | residential | agricultural | protected_or_tribal | unknown |
| indiaDetails.setting | enum | No | rural | town | metro | high_cost_metro |
| indiaDetails.workExtent | enum | No | refresh | partial | full |
| indiaDetails.construction | enum | No | vernacular_hut | rural_masonry | rcc_home |
| indiaDetails.siteConditions | enum | No | ordinary | difficult_ground |
| indiaDetails.hazardAlreadyIncluded | boolean | No | |
| indiaDetails.climateAlreadyIncluded | boolean | No | |
| japanDetails | object | 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. |
| japanDetails.access | enum | No | normal | remote_road | island_ferry | air_or_seasonal |
| japanDetails.layout | string | No | 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. |
| japanDetails.climate | enum | No | temperate | cold | heavy_snow | hot_humid |
| japanDetails.kitchens | integer | No | JP selected work: complete kitchens supplied and fitted, counted once instead of a whole-home area-rate allowance. |
| japanDetails.condition | enum | No | fair | poor |
| japanDetails.roomCount | integer | No | 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. |
| japanDetails.structure | enum | No | timber | steel | reinforced_concrete |
| japanDetails.landTenure | enum | No | owned | leasehold |
| japanDetails.lightCount | integer | No | JP selected work: fitting installation at existing power points. User-supplied ordinary fitting; new wiring or luxury chandelier work excluded. |
| japanDetails.vacantHome | boolean | No | |
| japanDetails.workExtent | enum | No | refresh | partial | full | skeleton | selected |
| japanDetails.airconCount | integer | No | 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. |
| japanDetails.seismicWork | enum | No | assess | retrofit | enhanced_new_build |
| japanDetails.tatamiCount | integer | No | JP selected work only: actual full-size mats being replaced, not room-area tatami. Never derive this count from layout or floor area. |
| japanDetails.bathroomType | enum | No | Existing bathroom type; conventional tiled-bath conversion differs from replacing a unit bath. Unknown stays optional.unit_bath | conventional_bath |
| japanDetails.flooringArea | number | No | JP selected work: wooden floor area in m2. Exclude the area receiving new tatami. |
| japanDetails.propertyType | enum | No | detached_house | apartment |
| japanDetails.wallpaperArea | number | No | JP selected work: wall/ceiling surface area in m2 being repapered; never substitute floor area. |
| japanDetails.constructionEra | enum | No | before_1981 | 1981_to_2000 | after_2000 |
| japanDetails.climateAlreadyIncluded | boolean | No | |
| japanDetails.seismicAlreadyIncluded | boolean | No | |
| postcodeArea | string | No | GB outward postcode only, for example BS3. Never send a full address. |
| projectDetails | object | 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. |
| projectDetails.access | enum | No | straightforward | constrained | remote_road | seasonal_or_air |
| projectDetails.climate | enum | No | ordinary | cold_exposed | hot_exposed | severe |
| projectDetails.foundation | enum | No | standard | basement | engineered |
| projectDetails.workExtent | enum | No | refresh | partial | full |
| projectDetails.propertyType | enum | No | FR/ES/CA renovation: apartment/private interior versus detached home. Changes relevant questions and scope boundaries; common-building exterior/structure is separate.detached_house | apartment |
| projectDetails.refreshScope | enum | No | CA cosmetic refresh only: installed painting, flooring, or both. Unknown assumes both; full/partial renovations use their own scope.paint | flooring | paint_and_flooring |
| projectDetails.siteConditions | enum | No | ordinary | difficult_ground | permafrost |
| projectDetails.envelopeUpgrade | boolean | No | |
| projectDetails.structuralRetrofit | boolean | No | |
| projectDetails.primaryConstruction | enum | No | timber | masonry | concrete | other_unknown |
| projectDetails.accessAlreadyIncluded | boolean | No | |
| projectDetails.envelopeAlreadyIncluded | boolean | No | |
| projectDetails.siteCostsAlreadyIncluded | boolean | No | |
| projectDetails.structureAlreadyIncluded | boolean | No |
Details
From the project READMEProper Job for Claude
Calculate and compare indicative UK and US beta building-work budgets with Proper Job from Claude Code or Cowork. The plugin connects Claude to Proper Job’s hosted, deterministic pricing service and adds a focused estimating workflow. It contains no pricing engine, internal rates or customer database.
Proper Job is owned and operated by SR3H Ltd. See the calculator documentation, privacy policy, terms and support.
What Claude can do
- Ask for the material scope details needed for a supported UK or US beta estimate.
- Calculate a new indicative GBP or USD guide-price range using
calculate_guide_price. - Compare up to three supplied size, finish or scope alternatives using
compare_guide_scenarios. - Explain country-specific tax treatment, assumptions, exclusions and items still to confirm.
- Render the optional Proper Job result card where the host supports MCP Apps.
No Proper Job account, subscription, API key or bearer token is required. Ordinary calculations have no Proper Job payment gate or free-use allowance. Short-window abuse controls and the host’s own limits remain. Proper Job still pays its normal hosting and database costs.
Data and security boundary
The plugin connects only to https://www.proper-job.uk/api/mcp over Streamable HTTP. It sends typed scope supplied in the conversation. For the UK, use an outward postcode such as BS3. For the US, use a two-letter state and optional five-digit ZIP. Do not send an exact address.
There are no tools for customer accounts, jobs, saved estimates, exact addresses, drawings, payments, email, SQL, file access, source code or full rate-table exports. Calculations are not saved as projects. The package has no executable scripts, hooks, dependency installation, local-file access or telemetry. Public requests may produce standard operational logs and short-lived abuse counters as described in Proper Job’s privacy policy.
Example
Ask Claude:
Use Proper Job to calculate a guide price for a 30 m² rear extension in BS3, good domestic finish, balanced scope, semi-detached house, no kitchen work and no bathroom work. Then compare 40 m² with everything else unchanged.
A Guide Price is an early indicative budget, not a fixed contractor quotation. UK results state VAT treatment; US beta results use square feet and exclude sales and use taxes.
Card and scope support
Release 1.0.2 restores Claude sandbox compatibility in the hosted MCP Apps card and keeps the older resource aliases available. The same account-free endpoint continues to return structured and textual results to hosts without MCP Apps support.
An area range needs a chosen size or explicitly agreed size scenarios. Do not silently use its midpoint or assume structural steel is required. Patios, sliding-door specifications and new underfloor heating are not separately priced by the public calculator. Only named returned inclusions are confirmed: a finish band or allowance total does not establish coverage of those extras.
Publication status
This public repository is the reviewable source for a Claude community-plugin-directory submission. A submitted or installed plugin is separate from Anthropic’s verified Connectors Directory. Directory acceptance and recommendation are not guaranteed.
License
The connector configuration and documentation are MIT licensed. The Proper Job logo and brand marks are excluded and remain their owner’s property; the included logo may be displayed to identify this integration. No rights to the hosted service, pricing data or source code are granted.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.