# Craft Quantities: construction material calculators

> Construction quantities from cited calculators, takeoffs, a planner and house drawings. No prices.

- name: com.craftquantities/engine
- version: 1.4.0
- connection class: unknown (unknown)
- trust: 58/100 flags: no-repository
- quality: 81/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.craftquantities%2Fengine
- tools: https://api.protogrid.dev/v1/servers/com.craftquantities%2Fengine/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "engine": {
      "type": "http",
      "url": "https://api.craftquantities.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 17
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website -unreachable(2 failures) +updated-1d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 81/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 28 of 28 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 21,372 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 34 tool changes in 30 days
- fail `stability.rug_pull`: 7 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 28, about 21,372 tokens to load them all
- tool set hash: 31fd17e981898d99b631e4409ecb2893
- tools last changed: 2026-10-12T18:20:59.083Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.craftquantities/engine.svg)](https://protogrid.dev/servers/com.craftquantities/engine)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `create_my_project_file` removed
  - Creates ONE backup file for My Project on craftquantities.com from ONE kind of line per file — calculators, takeoffs, houses, a planned space or project, or a drawing — each worked as the site adds it, so the reader restores it as a new project. A mixture of kinds is refused. Nothing is stored or sent; no prices.
- 2026-10-12 `translate_term` changed (title, description, annotations)
  - before: What is plasterboard called in the US, skirting in Canada, render in Australia? Returns a building-trade word in each market's usage, how close each equivalent is, and the false-friend warning where the same word means something else, from the site's glossary, with its page. Words only: no figures.
  - after: Translates one building-trade word between US, Canadian, UK and Australian usage, such as plasterboard (drywall in the US): the concept, each market's word, how close each is, and a false-friend warning where the same word means something else, with the glossary page. Words only: no figures.
- 2026-10-12 `market_documents` changed (title, description, annotations)
  - before: Which building code or standard covers wiring, stairs, gas, drainage, concrete or roofing in the US, Canada, the UK or Australia (or a country mapped to one), and who publishes it, with the site's standards pages. It does not say which edition is in force or from when: adoption is local, and the answer names who decides.
  - after: Finds which family of building codes or standards governs one kind of work in one market (US, Canada, UK or Australia, or a country mapped to one), who publishes it and the site's standards page. It does not say which edition is in force: adoption is local, and the answer names who decides.
- 2026-10-12 `solve_backwards` changed (title, description, annotations) **meaning changed**
  - before: How much will it cover? From what the reader already has (20 drywall sheets, 24 gal of paint, 500 bricks, bags of concrete, a yard of gravel) to the area and the room, deck, wall or slab it covers, as the site's Solve Backwards page works it, waste taken off. It does not size structure: slab thickness and reinforcement are an engineer's.
  - after: Works out how far one amount of material goes, such as 40 bags of concrete or 24 gallons of paint: the area it covers and the size of slab, room, deck or wall that is, as the site's Solve Backwards page works it, waste taken off. It does not size structure.
- 2026-10-12 `diagnose_symptom` changed (title, description, annotations)
  - before: What causes a crack, damp patch, leak or ceiling stain, mould, a tripping breaker, banging pipes or a sticking door? Returns the site's diagnosis pages for a defect in plain words: candidate causes, what tells them apart, checks in order and when to call a professional; ambiguous words return candidates. It does not say which cause it is.
  - after: Matches one building defect described in plain words, such as a crack, a damp patch, a water leak or a tripping breaker, to the site's diagnosis pages, and returns the candidate causes, what tells them apart, the checks in order and when to call a professional; ambiguous words return candidates. It does not say which cause it is.
- 2026-10-12 `create_drawing` changed (title, description, annotations)
  - before: Draws a plan on the Construction Canvas — a room with doors and windows, a deck, patio, bed or path, a fence of legs and turns, a whole house from a few figures, drawing commands or a canvas document — and returns every material, plans, labour hours, a one-click link that opens it on the canvas, and a file. It does not size structure.
  - after: Draws one plan on the Construction Canvas from the shapes, house figures, drawing commands or canvas document given, and returns its materials list, a plan of each level, labour hours, a link that opens the drawing on the canvas, and a file. It does not size structure.
- 2026-10-12 `plan_project` changed (title, description, annotations)
  - before: Materials for a renovation or extension of several rooms: up to 12 spaces (rooms, bathrooms, slabs, decks …) and a roof over them, planned together in one planner model, with each space's rows, every line together, labour hours and the plan. Quantities only; it does not size structure.
  - after: Plans several spaces together, with an optional roof over them, as one project in the site's room planner, and returns each space's rows, every line together, labour hours and the plan. Quantities only; it does not size structure.
- 2026-10-12 `plan_room` changed (title, description, annotations)
  - before: What materials does a room, bathroom, deck, patio slab, driveway, fence, loft, retaining wall or stair need? Plans one space as the site's planner does, with the reader's finishes (paint, tile, flooring, trim), and returns every row, what it still needs, what is not built and why, and labour hours. Quantities only; it does not size structure.
  - after: Plans one space, such as a room or a bathroom, from its size, openings and the finishes chosen, as the site's room planner does, and returns its materials list: each row with its quantity, what it still needs, what is not built and why, and labour hours. Quantities only; it does not size structure.
- 2026-10-12 `get_planner` changed (title, description, annotations) **meaning changed**
  - before: What does the room planner need for a room, bathroom, slab, deck, driveway, fence, loft, retaining wall, exterior wall or stair? Returns its figures, surfaces and finishes, scope questions, trades and rows, with their ids.
  - after: Returns the room planner's fields for one kind of space: its figures, surfaces and finish ids, scope questions and rows, with their ids.
- 2026-10-12 `estimate_house` changed (title, description, annotations)
  - before: How much material for a whole house? The House Estimator: a rectangular one- or two-storey house from a few figures (footprint, walls, roof, windows, doors), and every quantity of its footing, slab, walls, openings and roof, with what to order, assumptions, plans and labour hours. It counts; it does not design a structure. No prices.
  - after: Estimates the materials to build one rectangular house of one or two storeys from a few figures (footprint, walls, roof, openings): every quantity with what to order, assumptions, plans of each storey and labour hours, as the site's House Estimator does. It counts; it does not design a structure. No prices.

Full history: https://api.protogrid.dev/v1/servers/com.craftquantities%2Fengine/changes

## Remotes

- https://api.craftquantities.com/mcp (streamable-http, auth none, reachable false, uptime30d 0.9230769)

## Packages

_none_

## Tools (28)

- `calculate`: Computes the result of one calculator, identified by its slug, from the input values given: the amount of material a job needs, such as the bags of concrete for a slab or the sheets of drywall for a room, counted in bags, sheets, studs, tiles, litres, gallons, cubic yards or m³. Returns it in metric and US units with the inputs used, sources, a citation and the page link. No prices.
- `check_quote`: Is a builder's quote right on quantities? Reads a contractor's quote (pasted text) against the reader's own job and returns each quoted quantity against the range the job's calculators give, the lines it leaves out or adds, and the questions to ask. Money is removed and not judged; a difference is a question, not a verdict.
- `convert_units`: Converts one value from one unit to another, for example 2 m³ to cubic yards, with the exact factor the site's calculators apply, and returns the converted value and the factor.
- `create_drawing`: Draws one plan on the Construction Canvas from the shapes, house figures, drawing commands or canvas document given, and returns its materials list, a plan of each level, labour hours, a link that opens the drawing on the canvas, and a file. It does not size structure.
- `create_project_file_from_calculations`: Creates one My Project backup file from a list of calculator lines (each a calculator slug and its input values). Each line is computed as the site's page adds it; the reader restores the file on craftquantities.com as a new project. Nothing is stored or sent; no prices.
- `create_project_file_from_drawing`: Creates one My Project backup file from a Construction Canvas drawing: its lines, and the drawing itself, which the site's canvas reopens. The reader restores the file on craftquantities.com as a new project. Nothing is stored or sent; no prices.
- `create_project_file_from_house`: Creates one My Project backup file from a House Estimator form: the house's lines, and its drawing, which the site's canvas reopens. The reader restores the file on craftquantities.com as a new project. Nothing is stored or sent; no prices.
- `create_project_file_from_plan`: Creates one My Project backup file from a room plan: one planned space, or several spaces and a roof. Its lines and its plan are saved as the site's planner saves them; the reader restores the file on craftquantities.com as a new project. Nothing is stored or sent; no prices.
- `create_project_file_from_takeoffs`: Creates one My Project backup file from a list of whole-job takeoffs (each a takeoff id and its measurements). Each takeoff's lines are worked as its page commits them; the reader restores the file on craftquantities.com as a new project. Nothing is stored or sent; no prices.
- `create_supplier_quote_request`: Creates a request for quote from a materials list or bill of materials (the lines of a takeoff, house, plan or calculation, or the reader's own): Markdown to paste, a CSV, the site's link a merchant opens to price it, and a My Project file. It carries no price and sends nothing to anyone.
- `diagnose_symptom`: Matches one building defect described in plain words, such as a crack, a damp patch, a water leak or a tripping breaker, to the site's diagnosis pages, and returns the candidate causes, what tells them apart, the checks in order and when to call a professional; ambiguous words return candidates. It does not say which cause it is.
- `estimate_house`: Estimates the materials to build one rectangular house of one or two storeys from a few figures (footprint, walls, roof, openings): every quantity with what to order, assumptions, plans of each storey and labour hours, as the site's House Estimator does. It counts; it does not design a structure. No prices.
- `fetch`: Returns the full text of one Craft Quantities page, identified by its id: what the page works out, its inputs or measurements with units and opening values, and its sources.
- `get_calculator`: Returns the input fields of one calculator, identified by its slug: each field's id, label, accepted units, range and default value in metric and US units, with the calculator's version, page and citation. It computes nothing.
- `get_example`: Returns one worked construction estimate from the site, identified by its slug: the measurements, the steps in order with the calculator each uses, the figure each step pins and the waste chosen.
- `get_planner`: Returns the room planner's fields for one kind of space: its figures, surfaces and finish ids, scope questions and rows, with their ids.
- `get_sources`: Where does a figure come from, and how is it cited? Returns a calculator's sources as it cites them, the codes and standards they name, the site's standards pages, and a citation in plain, APA, Harvard and BibTeX. It adds no source the calculator does not cite.
- `get_takeoff`: Returns the measurements one whole-job takeoff needs, identified by its id: each measurement's id, unit and opening figure, its build-up choices, the calculators it runs and what it leaves out.
- `import_quote`: Turns a supplier's or builder's quote the reader has, prices and all, into a My Project file, as the site's Quote to Estimate does, and checks its own arithmetic. The prices are the reader's figures from their document, not the site's.
- `market_documents`: Finds which family of building codes or standards governs one kind of work in one market (US, Canada, UK or Australia, or a country mapped to one), who publishes it and the site's standards page. It does not say which edition is in force: adoption is local, and the answer names who decides.
- `open_in_site_link`: Returns a link that opens a construction calculator's page on craftquantities.com with the reader's figures filled in and their unit system, so a person can see or change the working on the page.
- `plan_project`: Plans several spaces together, with an optional roof over them, as one project in the site's room planner, and returns each space's rows, every line together, labour hours and the plan. Quantities only; it does not size structure.
- `plan_room`: Plans one space, such as a room or a bathroom, from its size, openings and the finishes chosen, as the site's room planner does, and returns its materials list: each row with its quantity, what it still needs, what is not built and why, and labour hours. Quantities only; it does not size structure.
- `run_example`: Re-runs every pinned step of a worked construction estimate now, in both unit systems, and returns whether each still meets the published figure.
- `run_takeoff`: Works one whole-job takeoff, identified by its id, from the measurements given: the materials list of a job such as a slab or a deck, each line from its own calculator, with what to order, waste allowances, metric and US units, labour hours (not a price), what is not counted, a citation and the page link. It does not size structure.
- `search`: Searches the site's construction pages for a question in everyday words, such as how much concrete or tile a job needs, and returns the matching pages: id, kind, title, link, description and slug. It finds; it computes nothing.
- `solve_backwards`: Works out how far one amount of material goes, such as 40 bags of concrete or 24 gallons of paint: the area it covers and the size of slab, room, deck or wall that is, as the site's Solve Backwards page works it, waste taken off. It does not size structure.
- `translate_term`: Translates one building-trade word between US, Canadian, UK and Australian usage, such as plasterboard (drywall in the US): the concept, each market's word, how close each is, and a false-friend warning where the same word means something else, with the glossary page. Words only: no figures.
