{
  "name": "Craft Quantities Engine",
  "description": "Construction materials and quantities computed by Craft Quantities' published, cited calculators: concrete, drywall or plasterboard, paint, tile, brick, gravel, lumber and roofing quantities; whole-job takeoffs; rooms and houses planned or drawn; a builder's quote checked against the job; building defects matched to their candidate causes. Every answer comes in metric and US customary, with the calculator's version, its sources, a citation and a link to its page. Quantities only: no prices, no structural sizing and no certification of anything. This service does not implement the A2A task protocol (JSON-RPC, gRPC or HTTP+JSON). It answers over MCP (Streamable HTTP, no sign-in) at https://api.craftquantities.com/mcp and over a REST API at https://api.craftquantities.com/v1 described by https://api.craftquantities.com/openapi.json; the interfaces below name those two as custom bindings. It is stateless: it keeps no record of a request.",
  "supportedInterfaces": [
    {
      "url": "https://api.craftquantities.com/mcp",
      "protocolBinding": "https://modelcontextprotocol.io/specification/2026-07-28/basic/transports#streamable-http",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://api.craftquantities.com/v1",
      "protocolBinding": "https://spec.openapis.org/oas/v3.1",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "url": "https://craftquantities.com",
    "organization": "Craft Quantities"
  },
  "version": "1.4.0",
  "documentationUrl": "https://craftquantities.com/api/",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown"
  ],
  "skills": [
    {
      "id": "search",
      "name": "Search",
      "description": "Finds calculators by what the job is, in American, British or Australian words; returns ids and slugs, best first.",
      "tags": [
        "construction",
        "quantities",
        "lookup"
      ],
      "examples": [
        "Which calculator works out a concrete slab?"
      ]
    },
    {
      "id": "fetch",
      "name": "Fetch",
      "description": "One search result as a plain-text document: what the calculator works out, each input with its units and opening value, its sources and how to cite it.",
      "tags": [
        "construction",
        "quantities",
        "lookup"
      ],
      "examples": [
        "Everything about the concrete calculator, as one document."
      ]
    },
    {
      "id": "get_calculator",
      "name": "Get calculator",
      "description": "Each input's id, accepted units, range, options and the value the page opens on in both systems, with sources, version and a citation.",
      "tags": [
        "construction",
        "quantities",
        "lookup"
      ],
      "examples": [
        "What does the paint calculator ask for?"
      ]
    },
    {
      "id": "calculate",
      "name": "Calculate",
      "description": "Runs the calculator as its page does. The answer in metric and US customary, each input used and where it came from, the breakdown, the version, the sources, a citation and a link.",
      "tags": [
        "construction",
        "quantities",
        "calculation"
      ],
      "examples": [
        "How much concrete for a 10 × 10 ft slab, 4 inches thick?"
      ]
    },
    {
      "id": "convert_units",
      "name": "Convert units",
      "description": "Converts between the units the calculators use, by the exact statutory factors in units.json.",
      "tags": [
        "construction",
        "quantities",
        "calculation"
      ],
      "examples": [
        "10 feet in metres."
      ]
    },
    {
      "id": "get_sources",
      "name": "Get sources",
      "description": "The sources as the calculator cites them, the codes and standards they name, the matching standards pages here, and the citation in four formats.",
      "tags": [
        "construction",
        "quantities",
        "lookup"
      ],
      "examples": [
        "Where do the concrete calculator's figures come from?"
      ]
    },
    {
      "id": "open_in_site_link",
      "name": "Open in site link",
      "description": "A link that opens the calculator's page with the same inputs and unit system, for handing the working to a person.",
      "tags": [
        "construction",
        "quantities",
        "calculation"
      ],
      "examples": [
        "A link that opens the concrete calculator on a 3 × 3 m slab."
      ]
    },
    {
      "id": "get_takeoff",
      "name": "Get takeoff",
      "description": "A whole-job takeoff's measurements with their units and opening figures, its build-up choices, the calculators it runs and what it leaves out.",
      "tags": [
        "construction",
        "quantities",
        "takeoff"
      ],
      "examples": [
        "What does the concrete slab takeoff measure?"
      ]
    },
    {
      "id": "run_takeoff",
      "name": "Run takeoff",
      "description": "Works the whole job as its takeoff page does: every row's quantity, what to order, the allowance and its source, every input and where it came from, both systems, the sources and a link to the page on this job.",
      "tags": [
        "construction",
        "quantities",
        "takeoff"
      ],
      "examples": [
        "Everything to order for a 6 × 4 m slab, 100 mm thick."
      ]
    },
    {
      "id": "get_example",
      "name": "Get example",
      "description": "A worked example as published: the measurements, the calculators in order and why, and the figure each step pins.",
      "tags": [
        "construction",
        "quantities",
        "worked-example"
      ],
      "examples": [
        "The published bathroom re-tile example."
      ]
    },
    {
      "id": "run_example",
      "name": "Run example",
      "description": "Runs every pinned step of a worked example now, in both systems, and says whether each still meets the published figure.",
      "tags": [
        "construction",
        "quantities",
        "worked-example"
      ],
      "examples": [
        "Does the bathroom example still meet its published figures?"
      ]
    },
    {
      "id": "create_project_file_from_calculations",
      "name": "Create project file from calculations",
      "description": "A My Project backup file from calculator lines, each computed as the page adds it, for Restore from a backup. Nothing is stored; no prices.",
      "tags": [
        "construction",
        "quantities",
        "project-file"
      ],
      "examples": [
        "A My Project file with the garage slab's concrete."
      ]
    },
    {
      "id": "create_project_file_from_takeoffs",
      "name": "Create project file from takeoffs",
      "description": "A My Project backup file from whole-job takeoffs, each worked as its page commits it. Nothing is stored; no prices.",
      "tags": [
        "construction",
        "quantities",
        "takeoff"
      ],
      "examples": [
        "A My Project file with the garage slab's takeoff."
      ]
    },
    {
      "id": "create_project_file_from_house",
      "name": "Create project file from house",
      "description": "A My Project backup file from a House Estimator form: its lines and its drawing, which the canvas reopens. Nothing is stored; no prices.",
      "tags": [
        "construction",
        "quantities",
        "project-file"
      ],
      "examples": [
        "A My Project file for the House Estimator's opening house, with its drawing."
      ]
    },
    {
      "id": "create_project_file_from_plan",
      "name": "Create project file from plan",
      "description": "A My Project backup file from a room plan (one space, or spaces and a roof), saved as the planner saves it. Nothing is stored; no prices.",
      "tags": [
        "construction",
        "quantities",
        "project-file"
      ],
      "examples": [
        "A My Project file for a 4 × 3 m bedroom."
      ]
    },
    {
      "id": "create_project_file_from_drawing",
      "name": "Create project file from drawing",
      "description": "A My Project backup file from a Construction Canvas drawing: its lines and the drawing itself. Nothing is stored; no prices.",
      "tags": [
        "construction",
        "quantities",
        "project-file"
      ],
      "examples": [
        "A My Project file for a 6 × 4 m deck drawn on the canvas."
      ]
    },
    {
      "id": "check_quote",
      "name": "Check quote",
      "description": "Reads a contractor's quote against the reader's own job as the site's quote check does: each quantity against the range the job's calculators give, what it leaves out and adds, and the questions to ask. Money is taken out and never judged; nothing is kept.",
      "tags": [
        "construction",
        "quantities",
        "quote"
      ],
      "examples": [
        "Is anything missing from this bathroom quote?"
      ]
    },
    {
      "id": "estimate_house",
      "name": "Estimate house",
      "description": "The House Estimator: a one- or two-storey house drawn from the form, and every quantity of its footing, slab, walls, openings and roof with what to order, both systems, what the drawing could not hold, its assumptions, each storey's plan and labour hours. It counts; it never designs.",
      "tags": [
        "construction",
        "quantities",
        "drawing"
      ],
      "examples": [
        "Everything a 12 × 8 m one-storey house is built from."
      ]
    },
    {
      "id": "get_planner",
      "name": "Get planner",
      "description": "The room planner's own ids for one kind of space: its figures, surfaces and finishes, scope questions, trades, rows and how a decision is written, stable within the model schema version it names.",
      "tags": [
        "construction",
        "quantities",
        "planning"
      ],
      "examples": [
        "What does the planner ask for a deck?"
      ]
    },
    {
      "id": "plan_room",
      "name": "Plan room",
      "description": "Plans one space as the site's planner does — a room, bathroom, slab, deck, driveway, fence, loft, retaining wall, exterior wall or stair — and returns every row it works, what it waits for, what is not built and why, the finishes compared, labour hours and the plan.",
      "tags": [
        "construction",
        "quantities",
        "planning"
      ],
      "examples": [
        "Plan a 4 × 3 m bedroom with a door and two windows."
      ]
    },
    {
      "id": "plan_project",
      "name": "Plan project",
      "description": "Plans several spaces in one planner model — rooms, bathrooms, slabs, decks and the rest — and a roof over the rooms and bathrooms with its pitch, as the site's planner holds a whole project; each space's rows, every line together, labour hours and the plan.",
      "tags": [
        "construction",
        "quantities",
        "planning"
      ],
      "examples": [
        "Plan a bedroom and a bathroom with a 6-in-12 roof over both."
      ]
    },
    {
      "id": "create_drawing",
      "name": "Create drawing",
      "description": "Makes a Construction Canvas drawing from simple shapes (a room with doors and windows, a deck, patio, bed or path, a fence of legs and turns), from the House Estimator's form, from drawing commands or from a canvas document, lists every material the canvas lists for it, and returns a one-click link that opens it on the canvas and a My Project file that carries it.",
      "tags": [
        "construction",
        "quantities",
        "drawing"
      ],
      "examples": [
        "Draw a 6 × 4 m studio with a door and a window, list it, and give me the file."
      ]
    },
    {
      "id": "import_quote",
      "name": "Import quote",
      "description": "The reader's own quote, prices and all, read as Quote to Estimate reads it, its arithmetic checked, and returned as a My Project file. The prices are the reader's figures, never the site's.",
      "tags": [
        "construction",
        "quantities",
        "quote"
      ],
      "examples": [
        "Turn my supplier's quote into a My Project file, prices and all."
      ]
    },
    {
      "id": "diagnose_symptom",
      "name": "Diagnose symptom",
      "description": "Matches a defect described in plain words to the site's diagnosis pages: each candidate cause with what tells it apart and the one check, the checks in order and when to call a professional. Never says which cause you have; ambiguous words return the candidates.",
      "tags": [
        "construction",
        "quantities",
        "defects"
      ],
      "examples": [
        "My breaker keeps tripping. What could it be, and how do I tell?"
      ]
    },
    {
      "id": "solve_backwards",
      "name": "Solve backwards",
      "description": "Works backwards from what the reader has — sheets, tins, bags, bricks, a volume — to the area and the room, wall, deck or slab it covers, as the Solve Backwards page does: its calculator at its own settings, the waste taken off. Never sizes structure.",
      "tags": [
        "construction",
        "quantities",
        "solve-backwards"
      ],
      "examples": [
        "I have 24 gallons of wall paint. How much wall will it cover?"
      ]
    },
    {
      "id": "market_documents",
      "name": "Market documents",
      "description": "Names the family of codes or standards that governs a kind of work, or a calculator's subject, in the US, Canada, the UK or Australia, who publishes it and the site's page for it — never an edition or a date. Adoption is local; the answer says who decides.",
      "tags": [
        "construction",
        "quantities",
        "codes-and-standards"
      ],
      "examples": [
        "Which document governs wiring a kitchen in England, and who decides what is in force?"
      ]
    },
    {
      "id": "translate_term",
      "name": "Translate term",
      "description": "A trade word in each market's usage — plasterboard and drywall, skirting and baseboard — matched however it is written (a brand said for the product such as gyprock or sheetrock, spaced, plural or misspelt), how close each equivalent is, the warning where the same word is a false friend, each market's unit system, the unit traps it raises (US and imperial gallons, short, long and metric tons, the survey foot, board feet, a yard of concrete, bag sizes) with their conversions, and the market's document family — never an edition.",
      "tags": [
        "construction",
        "quantities",
        "terminology"
      ],
      "examples": [
        "My American contractor says \"casing\". What is that in the UK, and is it the same thing?"
      ]
    },
    {
      "id": "create_supplier_quote_request",
      "name": "Create supplier quote request",
      "description": "Turns a bill of materials into a request for quote to merchants, as the site's request does: Markdown to paste, a CSV, the site's link each merchant opens to price it, and a My Project file. It carries no price and sends nothing.",
      "tags": [
        "construction",
        "quantities",
        "request-for-quote"
      ],
      "examples": [
        "Turn my slab's bill into a request for quote I can send to two merchants."
      ]
    },
    {
      "id": "get_benchmark",
      "name": "Get benchmark",
      "description": "The Construction Quantities Benchmark a page at a time, or one calculator's items: each question's inputs and prompt in metric and US units, the answer the page gives in each with its tolerance, and the worked steps, with the dataset's edition, download and citation. CC BY 4.0; no model results.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "Show me the benchmark items for the concrete calculator, with the answer in both unit systems."
      ]
    },
    {
      "id": "measure_sketch",
      "name": "Measure sketch",
      "description": "Measures areas, perimeters and lengths from points an assistant reads off a plan, sketch or photo, scaled by one known dimension or an ID-1 card, A4 or Letter sheet in the same image: both systems, an uncertainty band from the pixel error and the reference, closure and crossing checks, optionally a calculator run on the figure, and a link that opens the scaled shapes on the canvas. No image is sent.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "From the plan in my photo: the living room's floor area and the fence along the garden, scaled from the 6 m dimension."
      ]
    },
    {
      "id": "export_drawing",
      "name": "Export drawing",
      "description": "A Construction Canvas drawing (a template, shapes, a room layout, commands, house figures or a canvas document) as DXF with the site's CQ-* layers and as SVG, one plan per level in millimetres, painted by the canvas's own exporters; a file too large to return is rebuilt from the drawing's link.",
      "tags": [
        "construction",
        "quantities",
        "drawing"
      ],
      "examples": [
        "The single-room template as a DXF and an SVG I can open in CAD."
      ]
    },
    {
      "id": "layout_reinforcement",
      "name": "Layout reinforcement",
      "description": "A bar layout for a rectangular slab or footing from the bar size, spacing and cover the engineer gives: bars each way inside the cover by the Rebar Calculator's count, bar lengths, total with lap, stock sticks, weight where the Rebar Weight Calculator carries the size, and the layout as SVG and DXF. A quantity layout, never a design.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "Lay out #4 bars at 12 in each way with 2 in cover in a 20 × 12 ft slab, and count them."
      ]
    },
    {
      "id": "calculate_batch",
      "name": "Calculate batch",
      "description": "Up to 25 calculator runs in one request, each a slug or permanent id with its own inputs, each answered exactly as calculate answers it, in order; a refused run leaves the others answered.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "In one request: the concrete for a 6 × 4 m slab, the drywall and the paint for the room (by its permanent id)."
      ]
    },
    {
      "id": "update_project",
      "name": "Update project",
      "description": "Changes a project carried in a state token — a space added or removed, a dimension changed, a takeoff or calculator line added or removed, a roof's pitch — rebuilds every line and returns the new token, the diff, the totals and a link that opens it in My Project. The token is compact, not encrypted; nothing is stored.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "Make the bedroom 4.5 m long, add a bathroom and put a 6-in-12 roof over both."
      ]
    },
    {
      "id": "classify_items",
      "name": "Classify items",
      "description": "Groups lines, calculators or a project's token by MasterFormat 2018 division with My Project's own rule: a suggestion to read a list by, not a specification. No Uniclass or NRM grouping, which no calculator here cites.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "Group my slab's bill by MasterFormat division."
      ]
    },
    {
      "id": "resolve_id",
      "name": "Resolve id",
      "description": "A permanent id, an old slug or a site address to the page as it is today, with its slug history. Every calculator, takeoff, guide, worked example, glossary term and diagnosis has one; /id/<id>/ on the site redirects to it.",
      "tags": [
        "construction",
        "quantities",
        "solve-backwards"
      ],
      "examples": [
        "Where is page cq-c0187 today?"
      ]
    },
    {
      "id": "plan_programme",
      "name": "Plan programme",
      "description": "A build programme from a project's labour hours (a state token, a My Project file, takeoffs or a drawing): tasks by trade, stage and level in the usual order of work, each the site's labour hours or the reader's own over the crew and working day given, in working days rounded up to the half day, with level-by-level overlaps, totals, a CSV and, with a start date, a calendar file. A planning aid in hours and days, no prices; a contractor's programme decides.",
      "tags": [
        "construction",
        "quantities",
        "planning"
      ],
      "examples": [
        "How long would a crew of two take to build the two-storey house template, eight-hour days, starting 2 November?"
      ]
    },
    {
      "id": "optimise_cuts",
      "name": "Optimise cuts",
      "description": "A cut list optimised with the site's own optimiser, as its cut-list tool and the Construction Canvas run it: pieces cut from the stock lengths a merchant sells, or rectangles nested on sheets in edge-to-edge cuts; the stock or sheets to buy, a cutting plan per bar or sheet, the real waste and the bound no plan beats. A piece no stock takes is listed, never split.",
      "tags": [
        "construction",
        "quantities",
        "tool"
      ],
      "examples": [
        "A wall's 24 studs, 3 sills and 3 plates: which lengths of timber to buy from 2.4, 3, 3.6 and 4.8 m, with a 3 mm saw?"
      ]
    }
  ],
  "iconUrl": "https://craftquantities.com/icon-512.png"
}
