# com.civilquants/civilquants (remote · api.civilquants.com)

Parametric estimating engine: CESMM4/NRM2/SMM7/MMHW Bills of Quantities for civils assemblies.

- Trust score: 60/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.civilquants.com`: 60/100 (this document), [markdown](https://verifymcp.io/servers/com-civilquants-civilquants/api.md), [page](https://verifymcp.io/servers/com-civilquants-civilquants/api)

## Channel facts

- Endpoint: `https://api.civilquants.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.0.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 55 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 50/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (poor).
  - Context-footprint check failed: tool/resource definitions use about 26746 tokens (~417/item across 64 items; 56 tools + 8 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 77/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 19% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-civilquants-civilquants https://api.civilquants.com/mcp
```

### Codex

```toml
[mcp_servers.com-civilquants-civilquants]
url = "https://api.civilquants.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-civilquants-civilquants": {
      "type": "remote",
      "url": "https://api.civilquants.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-civilquants-civilquants --url https://api.civilquants.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-civilquants-civilquants:
    url: "https://api.civilquants.com/mcp"
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 58, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 56, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 55, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 54, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 53)

First indexed and scored.

## MCP tools (56)

### `compute_connection_to_existing` (~431 tokens)

Compute Connection to Existing (drainage) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Enumerated extra-over connection of a new drainage carrier pipe into an existing asset: existing manhole / inspection chamber, existing sewer or drain (via saddle / wye / cut-in junction), or existing outfall / watercourse / surface system. Routes via CESMM4 I.7.1/2/3 (Class I §I.7 Pipework Ancillaries — Connections), NRM2 33.6.1/2/3, MMHW 500.5.1/2/3 (SHW Cl. 506 Connections to existing sewers, drains and service runs), SMM7 R12.4.1/2/3, with a bore-size digit suffix appended in all four. The connection_type attribute is the discriminator that routes to the right sub-code; the bore digit refines within. Six variant presets cover all three connection types × two characteristic bores. Unit: Nr. Opens the new `drainage_ancillaries` L2 leaf (reserved for ditch, hard-material extra-over, CCTV testing, etc. in future sessions). Sibling assembly: carrier_pipe_run — the S32 pair that delivers a complete tender drainage line. Example params: diameter_mm=225 mm (100–2400). Example call: {"params": {"diameter_mm": 225}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single connection-to-existing extra-over item.
- `standard` (string)

Output parameters:

- `result`

### `compute_hard_material_in_trench` (~753 tokens)

Compute Hard Material in Trench (extra-over) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear extra-over measurement of hard material encountered during drainage trench excavation. Discriminates between natural rock (CESMM4 E.6 / NRM2 5.6.1 / MMHW 500.6.1 / SMM7 R12.6.1) and artificial hard material — buried concrete / masonry / obstructions (CESMM4 E.7 / NRM2 5.6.2 / MMHW 500.6.2 / SMM7 R12.6.2). The platform's first dual-quantity WorkItem: carries both length_m and volume_m3 so CESMM4/NRM2 (m³) and MMHW/SMM7 (m) each render with their correct unit per the standards' rules. Eight variant presets cover both hard-material types × four depth bands. SMM7 R12 deems trench excavation (including hard material) included in the pipe-run rate — the SMM7 handler emits a zero-priceable annotated line for tender transparency (third use of the deemed-included extra-over annotation pattern). Closes the drainage_ancillaries L2 leaf at 4/4 members. Sibling assemblies: connection_to_existing (S32), ditch (S33), pipework_testing (S33). Example params: length_m=10 m (0.5–500), max_depth_m=1.5 m (0.3–10), trench_width_m=0.7 m (0.3–3). Example call: {"params": {"length_m": 10, "max_depth_m": 1.5, "trench_width_m": 0.7}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single hard-material extra-over scenario. Geometry interpretation:   - `length_m` is the chainage extent of the hard-material zone     (i.e. how many metres of pipe-run encounter ha…
- `standard` (string)

Output parameters:

- `result`

### `compute_ditch` (~501 tokens)

Compute Open Ditch (drainage channel) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear primary measurement of an open earthwork drainage channel — trapezoidal cross-section, four lining variants (unlined / geotextile / granular / concrete). Routes via CESMM4 Class E.4 (excavation for cuttings), NRM2 Group 34.10 (site works: open drains and ditches), MMHW Series 500.4 (SHW Cl. 514 Earthwork ditches and drains), SMM7 R13.4 (Land Drainage — ditches). Eight variant presets cover all four lining types x two characteristic size scenarios each. Unit: M. Second member of the drainage_ancillaries L2 leaf (opened at S32 with connection_to_existing). 20th use of the classed-then-legacy attribute discrimination pattern via the lining_type discriminator. The four standards genuinely diverge on which work-section heading owns ditches (Class E vs Group 34 vs Series 500 vs R13) — the platform renders all four honestly from one source WorkItem. Example params: run_length_m=100 m (1–1000), top_width_mm=1700 mm (200–10000), bottom_width_mm=500 mm (100–5000). Example call: {"params": {"run_length_m": 100, "top_width_mm": 1700, "bottom_width_mm": 500}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single open-ditch primary measurement. The geometry is a trapezoidal cross-section run linearly along the ditch alignment. side_slope_h_per_v is the side slope expressed as horizont…
- `standard` (string)

Output parameters:

- `result`

### `compute_pipework_testing` (~396 tokens)

Compute Pipework Testing (drainage) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear measurement of testing on new drainage pipework — CCTV survey, air pressure test, water pressure test, or mandrel pull-through. Routes via CESMM4 Class I §I.8 (Tests on new pipework), NRM2 Group 33.18 (Testing of drainage) as priceable lines; via MMHW Series 500.7 (per SHW Cl. 507 deemed included in pipe-run rate) and SMM7 R12.7 (R12 coverage rules deemed included) as zero-priceable annotated lines for tender transparency. Introduces the platform's third named maturity pattern: deemed-included extra-over annotation (joining classed-then-legacy and declared-then-banded). Eight variant presets cover all four test methods x two bore scenarios each. Unit: M. Third member of the drainage_ancillaries L2 leaf. 21st use of the discriminator pattern via test_method. Example params: length_tested_m=100 m (1–2000), diameter_mm=225 mm (100–2400). Example call: {"params": {"length_tested_m": 100, "diameter_mm": 225}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single pipework testing measurement.
- `standard` (string)

Output parameters:

- `result`

### `compute_catchpit` (~533 tokens)

Compute Precast Concrete Catchpit / Silt Trap BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Precast concrete catchpit / silt trap to BS 5911-3 comprising factory-cast monolithic base with integral silt sump (600-900mm below outlet invert), stacked precast chamber rings, precast cover slab, ductile-iron frame and cover (BS EN 124 loading classes), optional step irons, granular or concrete bedding, granular surround, geotextile separator, and excavation. Catalogue-driven sizing from CP_900 (900mm ID) to CP_1800 (1800mm ID). Routes via chamber_type='catchpit' attribute discrimination through CESMM4 K.1.6.x, NRM2 33.7.14, MMHW 500.5.16 (SHW Cl. 511 silt traps), and SMM7 R12.3.13. Distinct from manholes by the silt-sump-below-channel geometry; typical position upstream of petrol/oil interceptor (S24) in a forecourt or service-area drainage train. Example params: invert_depth=2.5 m (0.5–10), bedding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.15 m (0.1–0.3). Example call: {"params": {"invert_depth": 2.5, "bedding_thickness_mm": 150, "bedding_overhang_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a precast concrete catchpit / silt trap. Catalogue-driven: pick a ``size`` and the chamber's nominal dimensions, masses, and silt-sump depth are read from ``_CATALOGUE``. Override…
- `standard` (string)

Output parameters:

- `result`

### `compute_manhole` (~298 tokens)

Compute Precast Concrete Circular Manhole BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite assembly: precast concrete circular manhole with base slab, chamber rings (optional reducing slab + shaft), cover slab, frame & cover (BS EN 124 loading classes), step irons or ladder, in-situ benching with pre-formed channel, granular surround, geotextile separator, and excavation. Supports both open-battered and sheet-piled excavations. Example params: internal_diameter=1.5 m (1–3), wall_thickness=0.15 m (0.1–0.25), invert_depth=3.5 m (0.5–12). Example call: {"params": {"internal_diameter": 1.5, "wall_thickness": 0.15, "invert_depth": 3.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_manhole_precast` (~476 tokens)

Compute Precast Concrete Monolithic Manhole BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Fully monolithic precast concrete circular manhole comprising factory-cast base + bottom ring + integral benching + pre-formed channel as a single delivered unit (BS 5911-3), with stacked precast chamber rings, optional reducing slab and access shaft, precast cover slab, ductile-iron frame and cover (BS EN 124 loading classes), step irons cast into rings, granular or concrete bedding, granular surround, geotextile separator, and excavation. Catalogue-driven sizing from PMC_1200 (1200mm ID) to PMC_2400 (2400mm ID). Routes via manhole_type=precast_monolithic attribute discrimination through CESMM4 Class K.1.2.x, NRM2 33.7.5, MMHW 500.5.5-.8 (SHW Cl. 507), and SMM7 R12.3.1.x. Example params: invert_depth=3.5 m (0.5–12), bedding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.15 m (0.1–0.3). Example call: {"params": {"invert_depth": 3.5, "bedding_thickness_mm": 150, "bedding_overhang_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a fully monolithic precast concrete manhole. Catalogue-driven: pick a ``size`` and the chamber's nominal dimensions, masses, and ring heights are read from ``_CATALOGUE``. Overrid…
- `standard` (string)

Output parameters:

- `result`

### `compute_box_culvert` (~617 tokens)

Compute Precast Concrete Box Culvert BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Precast concrete box culvert run (Marshalls / FP McCann / CPM ranges, BS EN 14844 / BS 5911-3) of one of eight catalogue sizes from BC_600 (600 × 600mm) to BC_3000x2000 (3000 × 2000mm). Composes the precast units (N per run), concrete blinding bedding, geotextile separator, selected granular surround per SHW Cl. 503, and foundation excavation with optional sheet pile support. Optional headwall_attenuation_outlet (2nd use of S21) at each termination with independently parameter-selectable scour protection (rock armour, gabion mattress, concrete apron, or none). Routes BOX_CULVERT_UNIT via CESMM4 H.7.3/.4/.5 (precast concrete, size banded), NRM2 33.8.1/.2/.3, MMHW 500.12.1/.2/.3 (with Series 2500 signpost for large units per Volume 4 NG 25), and SMM7 R12.4.5/.6/.7. Example params: total_length_m=12 m (1–200), invert_depth_m=2.5 m (0.5–15), invert_gradient=0.005 (0–0.08). Example call: {"params": {"total_length_m": 12, "invert_depth_m": 2.5, "invert_gradient": 0.005}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a precast concrete box culvert run. Catalogue-driven: pick a ``size`` and the section's nominal span / height / mass / wall thickness are read from ``_CATALOGUE``. Override indivi…
- `standard` (string)

Output parameters:

- `result`

### `compute_gully` (~311 tokens)

Compute Highway / Curtilage Gully with Connection BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite drainage inlet: precast gully pot with trap, ductile-iron grating, optional kerb outlet, and a short connection drain to the carrier sewer. The connection drain re-uses the bedding primitive. Four-standard rendering with component-aware sub-codes (CESMM4 K.6.x, NRM2 33.8.x, MMHW 500.7.x, SMM7 R12.3.6.x). Example params: pot_internal_diameter_mm=450 mm (300–750), pot_depth_m=0.9 m (0.45–2.5), pot_wall_thickness_mm=60 mm (50–100). Example call: {"params": {"pot_internal_diameter_mm": 450, "pot_depth_m": 0.9, "pot_wall_thickness_mm": 60}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_headwall_attenuation_outlet` (~422 tokens)

Compute Headwall — Attenuation Outlet BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_headwall. Controlled attenuation outlet: precast concrete headwall plus outlet-control ironmongery (orifice plate, optional flap valve, weir overflow, penstock) and downstream scour protection. 2nd use of the bundle-with-shared-envelope pattern (template: combined_services_trench S14). Composes headwall_precast for the structural unit and bedding; emits ironmongery items as CONTRACTOR_INSTALL_PC_SUPPLY by default (3rd commercially significant PC-supply emitter after utility_chamber and utility_kiosk_base). Scour protection extended to three variants: rock armour, gabion mattress, concrete apron. Example params: orifice_diameter_mm=150 mm (20–600), orifice_target_discharge_ls=5 l/s (0.1–200), flap_valve_size_mm=0 mm (0–1200). Example call: {"params": {"orifice_diameter_mm": 150, "orifice_target_discharge_ls": 5, "flap_valve_size_mm": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for an attenuation outlet headwall. Composes a precast headwall (size, bedding) with one always-present orifice plate and up to three optional outlet-control ironmongery items (flap v…
- `standard` (string)

Output parameters:

- `result`

### `compute_headwall_precast` (~419 tokens)

Compute Precast Concrete Outfall Headwall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_headwall. Precast concrete outfall headwall, supplied as a whole unit from a UK manufacturer (Marshalls CPM, FP McCann, Stanton Bonna or equivalent). Catalogue-driven sizing from PHW_300 (300mm pipe ID) to PHW_1500 (1500mm). Includes excavation, concrete or granular bedding, and optional rock-armour scour protection. Routes precast unit through CESMM4 Class H, NRM2 33.9.1, MMHW 500.8.1 (SHW Cl. 511), and SMM7 R12.3.7 via headwall_type=precast attribute discrimination. Example params: bedding_thickness_mm=150 mm (75–300), bedding_overhang_m=0.15 m (0.075–0.3), working_space_each_side_m=0.45 m (0.3–1.5). Example call: {"params": {"bedding_thickness_mm": 150, "bedding_overhang_m": 0.15, "working_space_each_side_m": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a precast headwall. Catalogue-driven: pick a `size` and the unit's nominal physical dimensions are read from `_CATALOGUE`. Override individual physical fields if a specific manufa…
- `standard` (string)

Output parameters:

- `result`

### `compute_headwall` (~302 tokens)

Compute Reinforced Concrete Outfall Headwall BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Composite RC outfall headwall: back wall pierced by the outfall pipe, splayed wing walls flaring downstream, apron slab, and rock-armour scour protection. In-situ or precast construction; BS 8666:2020 bar schedule composed across back wall, apron and wing walls. Four-standard rendering across CESMM4 / NRM2 / MMHW / SMM7. Example params: pipe_internal_diameter_mm=300 mm (100–1800), pipe_wall_thickness_mm=50 mm (15–120), invert_below_apron_m=0 m (0–1.5). Example call: {"params": {"pipe_internal_diameter_mm": 300, "pipe_wall_thickness_mm": 50, "invert_below_apron_m": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_carrier_pipe_run` (~560 tokens)

Compute Carrier Pipe Run (banded) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear carrier-pipe measurement assembly with full four-standard depth-banded rendering. CESMM4 Class I (I.{material}.{bore}.{depth}, 9 depth bands), NRM2 Group 33 (33.1.{bore}.{depth}, equivalent banding), MMHW Series 500 (500.1.{bore}.{depth}, 11 depth bands extending to 6 m for highway-scale carriers per SHW Cl. 501), SMM7 R12 (R12.1.{bore}.{depth}, 10 depth bands starting at 1 m for housing-scale carriers). Twelve variant presets exercise all 9 CESMM4 Class I depth bands and all 5 carrier materials (vitrified clay / concrete / HDPE / ductile iron / uPVC) — 12 × 4 = 48 distinguishable BoQ rows from a single parameter form. 19th use of the classed-then-legacy attribute discrimination pattern, FIRST applied to a Class I (Pipework) category — discriminator here is `material` itself, with the CESMM4 handler routing through the 5 Class I material sub-class digits while NRM2/MMHW/SMM7 stay within their respective groups but distinguish material in the description. Companion assembly: connection_to_existing (S32 sibling pair) — the enumerated extra-over connection line that ties a carrier run into an adopted asset. Example params: diameter_mm=225 mm (100–2400), invert_depth_m=1.8 m (0.5–10), run_length_m=30 m (1–2000). Example call: {"params": {"diameter_mm": 225, "invert_depth_m": 1.8, "run_length_m": 30}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a carrier pipe run. Geometric defaults yield a DN225 vitrified clay carrier at 1.8 m average invert depth over a 30 m run — the textbook small-civils foul carrier described in the QS…
- `standard` (string)

Output parameters:

- `result`

### `compute_french_drain` (~308 tokens)

Compute French (Filter) Drain BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Perforated land drain in a granular-filled trench with non-woven filter geotextile wrap. Composes the bedding primitive at Class S geometry (full granular envelope) with three additions: perforated carrier, filter geotextile wrap, and optional top seal. Renders cleanly across CESMM4 / NRM2 / MMHW (Series 500 filter drain) and SMM7. Example params: pipe_internal_diameter_mm=150 mm (80–600), pipe_wall_thickness_mm=25 mm (5–80), drain_length=50 m (1–500). Example call: {"params": {"pipe_internal_diameter_mm": 150, "pipe_wall_thickness_mm": 25, "drain_length": 50}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_edge_drain` (~320 tokens)

Compute Highway Pavement Edge Drain (HD 33/16) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Highway pavement edge drain per HD 33/16. Perforated carrier in a granular-filled trench with filter geotextile wrap; optional top separator under the pavement build-up. Highway-specific defaults: Type B filter aggregate, 200 g/m² geotextile, supported excavation. Headline standard mapping: MMHW 500.7 (filter drain with perforated pipe). Renders cleanly across all four standards with HA 40/01 references. Example params: pipe_internal_diameter_mm=150 mm (80–300), pipe_wall_thickness_mm=25 mm (5–50), drain_length=100 m (1–1000). Example call: {"params": {"pipe_internal_diameter_mm": 150, "pipe_wall_thickness_mm": 25, "drain_length": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_pipe_bedding` (~318 tokens)

Compute Pipe Bedding and Surround BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Linear pipe trench with class-driven bedding and surround. Strategy pattern on (BeddingContext × BeddingClass): Highway (HA 40/01 / MMHW Series 500) vs Building (BS EN 1610 / NRM2 §33), Class N/F/B/S/A/Z. Emits trench excavation, granular bed, surround or concrete cradle/encasement, selected backfill, disposal and pipework. All four standards render with class and clause references. Example params: pipe_internal_diameter_mm=300 mm (100–1800), pipe_wall_thickness_mm=50 mm (10–200), pipe_length=25 m (1–500). Example call: {"params": {"pipe_internal_diameter_mm": 300, "pipe_wall_thickness_mm": 50, "pipe_length": 25}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_soakaway` (~944 tokens)

Compute Infiltration Soakaway (CIRIA C753) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_attenuation_tank. Infiltration soakaway per CIRIA C753 Chapter 25. Granular-fill or modular-crate storage envelope with infiltration discharge through the base and side walls. Wraps attenuation_tank for the storage envelope and emits an INFILTRATION_SURFACE item plus optional PERFORATED_DISTRIBUTION_PIPE on top. Includes the C753 rational-method sizing engine with hot-spot and cold-spot factors of safety per C753 Tables 25.4 / 25.5; the engine refuses to size for VERY_HIGH hot-spot catchments (fuel forecourts, lorry parks) which C753 prohibits from direct infiltration without pre-treatment. Half-emptying time checked against the 24h C753 §25.4 limit. Renders cleanly across CESMM4 / NRM2 / MMHW / SMM7 using existing earthworks / drainage handlers plus the two new categories (INFILTRATION_SURFACE, PERFORATED_DISTRIBUTION_PIPE) added in S22. Example params: catchment_area_m2=500 m² (10–10000), rainfall_depth_mm=60 mm (10–300), measured_infiltration_rate_m_per_s=0.0001 m/s (1e-07–0.01). Example call: {"params": {"catchment_area_m2": 500, "rainfall_depth_mm": 60, "measured_infiltration_rate_m_per_s": 0.0001}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a CIRIA C753 infiltration soakaway. Two ways to specify the design storm:   (a) ``design_storm_volume_m3`` directly (from an upstream       MicroDrainage / InfoWorks ICM model) — pre…
- `standard` (string)

Output parameters:

- `result`

### `compute_attenuation_tank` (~265 tokens)

Compute Stormwater Attenuation Tank BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Stormwater attenuation tank supporting two configurations: modular geocellular crates (high void ratio, compact footprint) or large-bore pipe arrays (1.5m+ ID concrete pipes in parallel runs). Excavation may be open-battered or vertical-sided with sheet pile support. Example params: tank_length=30 m (2–200), crate_width=6 m (1–20), crate_height=1.2 m (0.4–3.6). Example call: {"params": {"tank_length": 30, "crate_width": 6, "crate_height": 1.2}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_swale` (~359 tokens)

Compute SuDS Swale (CIRIA C753) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_attenuation_tank. Vegetated, geotextile-reinforced or rip-rap-lined linear drainage swale per CIRIA C753. Trapezoidal prismatic channel with three lining strategies covering the UK design palette from low-velocity amenity grass channels (1V:3H, 1-3% gradient) to high-velocity rip-rap-lined stretches. Optional check-dams (stone or concrete) for steeper sections. Renders cleanly across all four standards using existing earthworks / geosynthetics / concrete handlers — no PC items, all contractor-full supply route. Example params: bed_width=0.5 m (0.2–3), left_side_slope_h_per_v=3 (1.5–6), right_side_slope_h_per_v=3 (1.5–6). Example call: {"params": {"bed_width": 0.5, "left_side_slope_h_per_v": 3, "right_side_slope_h_per_v": 3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_petrol_oil_interceptor` (~594 tokens)

Compute Prefabricated Petrol/Oil Interceptor (Separator) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Prefabricated petrol/oil interceptor (separator) per BS EN 858-1:2002 / BS EN 858-2:2003 and SHW Cl. 519. Catalogue-driven on three axes: Class (1 with coalescer + auto-closure for ≤5 mg/l surface-water discharge, or 2 for ≤100 mg/l foul-sewer discharge), Type (full retention NSF for high-spill-risk forecourts, or bypass NSB for low-spill-risk car parks), and Nominal Size (NS3 to NS100 l/s flow rating — 7 catalogue entries). Composite of the procured interceptor unit (Nr, default supply route CONTRACTOR_INSTALL_PC_SUPPLY for engineer-specified prefab), concrete blinding bedding, granular surround per SHW Cl. 803, geotextile separator, and foundation excavation with optional sheet pile support. Oil storage capacity derived per BS EN 858-2 cl. 4.3.6 (V = NS×10 for full retention, NSB×15 for bypass). Opens drainage_treatment leaf; the canonical pre-treatment for hot-spot catchments draining to soakaway, watercourse, or foul sewer. Routes via CESMM4 K.5.x.n (size-banded), NRM2 33.9.x, MMHW 500.13.x (SHW Cl. 519), SMM7 R12.5.x. Example params: bedding_blinding_thickness_mm=150 mm (100–300), bedding_overhang_m=0.3 m (0.15–0.5), surround_thickness_each_side_m=0.3 m (0.15–0.5). Example call: {"params": {"bedding_blinding_thickness_mm": 150, "bedding_overhang_m": 0.3, "surround_thickness_each_side_m": 0.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a petrol/oil interceptor installation. Catalogue-driven on three axes: size (NS rating, catalogue lookup for dimensions/mass/silt), class (performance — CLASS_1/CLASS_2), and type…
- `standard` (string)

Output parameters:

- `result`

### `compute_gabion_wall` (~654 tokens)

Compute Gabion Retaining Wall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Modular gabion retaining wall built from welded or hexagonal-mesh wire baskets filled with hard angular graded stone (SHW Cl. 622). The first non-concrete retaining structure in the platform and the FIRST member of the earth_structures L1 leaf — opening Phase E. Spans four structural forms via the gabion_form discriminator: STACKED_RECTANGULAR (standard highway boundary), STACKED_STEPPED (architectural / heritage), BATTERED (tall walls with back batter), and FACING_MATTRESS (Reno-type mattresses for slope facing / scour protection). Eight variant presets exercise the parameter form covering all four gabion_form values: highway boundary, landscape, stepped front, heritage stepped, battered, river training, scour apron, and tall battered. Routes via three new WorkCategory entries (GABION_BASKET, GABION_FACING_MATTRESS, STONE_FILL) — the first session where the classed-then-legacy discriminator pattern is applied to fundamentally new measurement vocabulary rather than to existing concrete categories. Codes: CESMM4 E.8.1-3 (Class E — Earthworks), NRM2 5.20-22 (Group 5 — Excavating and filling), MMHW 600.12-14 (Series 600 — Earthworks; SHW Cl. 622/623), and SMM7 D41.1/D41.2/D20.20 (D41 — Crib walls / gabions / reinforced earth — the only standard with a NAMED home). 16th use of the discriminator pattern, first applied to new WorkCategories rather than legacy ones. Example params: wall_height=3 m (0.1–8), wall_length=25 m (5–200), basket_length_m=2 m (1–3). Example call: {"params": {"wall_height": 3, "wall_length": 25, "basket_length_m": 2}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the…

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a gabion retaining wall. A single dataclass that — through combinations of its fields and the ``gabion_form`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary use…
- `standard` (string)

Output parameters:

- `result`

### `compute_reinforced_soil_wall` (~703 tokens)

Compute Reinforced Soil Wall (RSW) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Reinforced soil retaining wall (RSW) using granular fill reinforced with horizontal layers of geogrid or steel tie strips, with one of four facing systems: precast concrete panels (Reinforced Earth™ / VSL Retained Earth style), segmental modular blocks (Allan Block / Keystone), wraparound soft face (vegetated or biodegradable mat), or Terramesh-style steel mesh face (re-using the S29 gabion vocabulary). The SECOND member of the earth_structures L1 leaf (after gabion_wall at S29), the SIXTH member of the wall family, the FIFTH structural system, and the FIRST wall family member with a face-area-primary measurement basis (m² of face + m² × layers of geogrid, both m²; every prior wall body was m³). 17th use of the classed-then-legacy attribute discrimination pattern. Routes via four new WorkCategory entries (RSW_FACING_PANEL, RSW_MODULAR_BLOCK, RSW_WRAPAROUND_FACE, RSW_TIE_STRIP) plus the GEOGRID category (whose handler is gap-filled in CESMM4/NRM2/MMHW this session) plus re-use of GABION_BASKET on the STEEL_MESH_FACE variant. Codes: CESMM4 E.8.4-8 (Class E Earthworks §E.8 stabilisation), NRM2 5.23-27 (Group 5 Excavating and filling), MMHW 600.15-19 (Series 600 Earthworks; SHW Cl. 624 reinforced earth retaining structures), and SMM7 D41.3/D41.4/D41.5/D20.21/D20.14.2 (D41 — Crib walls / gabions / REINFORCED EARTH — the NAMED home, now serving TWO wall families). Eight variant presets exercise all four RSWFacing values (2/2/2/2 split). Example params: wall_height=6 m (0.5–12), wall_length=40 m (5–200), depth_into_fill_m=4.5 m (0.35–15). Example call: {"params": {"wall_height": 6, "wall_length": 40, "depth_into_fill_m": 4.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-s…

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a reinforced soil wall. A single dataclass that — through combinations of its fields and the ``rsw_facing`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary user-…
- `standard` (string)

Output parameters:

- `result`

### `compute_soil_nailed_slope` (~915 tokens)

Compute Soil-Nailed Slope BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Cut slope stabilised by passively-stressed soil nails with an applied face system. Discriminates between four face systems via the face_system enum: SHOTCRETE_MESH (dominant UK highway-cutting choice per SHW Cl. 644), HARD_FACING_PANEL (premium permanent works), FLEXIBLE_MESH (weathered rock drape), and VEGETATED_GEOGRID (landscape-sensitive schemes). Third member of the earth_structures L1 leaf (after gabion_wall S29 and reinforced_soil_wall S30). Eight variant presets cover all four face systems × representative slope geometries. Routes via three new WorkCategory entries (SOIL_NAIL, SHOTCRETE_FACE, FACE_MESH_REINFORCEMENT) plus reuse of EXCAVATION_GENERAL, DISPOSAL, CONCRETE_REINFORCED, GEOTEXTILE_FILTER, GEOGRID, and TOPSOIL_PLACE. Codes: CESMM4 C.5.X (soil nail) + E.8.10 (shotcrete) + G.5.8 (mesh), NRM2 7.7.X + 5.28.1 + 11.6.1, MMHW 600.20.X + 600.21.1 + 600.22.1 (SHW Cl. 638-639 / Cl. 644), SMM7 D32.3.X (steel piling — soil nails) + D41.6/D41.7 (the NAMED home for the three earth-structures families now). 23rd use of the classed-then-legacy attribute discrimination pattern; 4th use of the declared-then-banded pattern (nail_length_m bands the C.5.X / 7.7.X / 600.20.X / D32.3.X third digit). Example params: slope_height_m=8 m (0.5–25), slope_angle_deg=65 ° (10–89), slope_length_m=30 m (2–500). Example call: {"params": {"slope_height_m": 8, "slope_angle_deg": 65, "slope_length_m": 30}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single soil-nailed slope. Geometry interpretation:   - ``slope_height_m`` is the vertical extent of the cut slope     (top of crest to toe of slope).   - ``slope_angle_deg`` is the…
- `standard` (string)

Output parameters:

- `result`

### `compute_embankment_cross_section` (~438 tokens)

Compute Embankment Cross-Section BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Geometry-driven embankment per MMHW Series 600 — trapezoidal cross-section with crest width, asymmetric side slopes (h:v), and per-chainage height profile. Auto-generates the CrossSection series and delegates volume integration + mass-haul + standards routing to the end_area_earthworks engine, inheriting the four-standard rendering invariant. Auto-computes topsoil strip footprint from toe-to-toe envelope and supports an optional founding-strip excavation below ground level. Example params: crest_width_m=10 m (3–30), side_slope_h_per_v=2 (1–4), strip_envelope_offset_m=0.5 m (0–2). Example call: {"params": {"crest_width_m": 10, "side_slope_h_per_v": 2, "strip_envelope_offset_m": 0.5}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Inputs for a geometry-driven embankment cross-section assembly. The assembly generates a `CrossSection` list from the profile + geometry parameters, builds an `EndAreaEarthworksParameters` from the…
- `standard` (string)

Output parameters:

- `result`

### `compute_end_area_earthworks` (~515 tokens)

Compute End-Area Earthworks BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. Linear earthworks reach measured by the end-area method per MMHW Series 600 — Simpson's Rule with UK-QS even-ordinate trapezoidal-boundary fallback, with full SHW Series 600 Table 6/1 class tagging, mass-haul diagram (bulking + shrinkage per SHW Cl. 605), cut/fill balance, DISPOSAL vs FILL_GENERAL routing, capping and sub-base build-up, and topsoil strip + replacement. Renders identically across CESMM4 / NRM2 / MMHW / SMM7 with per-class line distinction. Example params: unacceptable_proportion=0 (0–1), topsoil_strip_depth_m=0.15 m (0–1), topsoil_replace_depth_mm=150 mm (0–500). Example call: {"params": {"unacceptable_proportion": 0, "topsoil_strip_depth_m": 0.15, "topsoil_replace_depth_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Inputs for a linear earthworks reach measured by the end-area method. The five area streams in each `CrossSection` are integrated independently along the chainage axis. `topsoil_strip_area` is the p…
- `standard` (string)

Output parameters:

- `result`

### `compute_parapet` (~659 tokens)

Compute Parapet (Bridge / Structural Deck) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Bridge / structural-deck parapet installation per BS 6779-1 + BS EN 1317-2 + SHW Cl. 408. Discriminates between four UK parapet system classifications via the parapet_type enum (pedestrian_only per BS 7818; vehicle_p1_p2 — low-containment BS EN 1317-2; vehicle_h1_h2_h3 — higher-containment; combined_pedestrian_vehicle — composite design). Plus parallel discriminators on two further WorkCategory entries: same parapet_type on PARAPET_POST, transition_type on PARAPET_TRANSITION (to_vrs / to_abutment / expansion_joint). The MMHW Series 400 _parapet handler is the platform's SEVENTH 1D-banded handler — code `400.4.1.{c}` bands by containment_level (4 bands per BS EN 1317-2). 1D choice is disciplined — second principled rejection of forced 2D banding (after S38 road_marking). LAUNCH-COMPLETING 45TH ASSEMBLY — opens highway_bridge_edge L2 leaf, closing the highway suite at 5/5 populated leaves and the platform at 45/45 launch target. SMM7 routes BACK to Q40 (sibling slot to VRS at Q40.5) — preserves UK trade reality. Example params: parapet_height_mm=1100 mm (900–1800), parapet_length_m=25 m (1–2000), post_count=0 Nr (0–200). Example call: {"params": {"parapet_height_mm": 1100, "parapet_length_m": 25, "post_count": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Inputs for the parapet assembly. Required:   parapet_type        — ParapetType enum (or string equivalent)   containment_level   — ContainmentLevel enum (or string)   parapet_height_mm   — nominal p…
- `standard` (string)

Output parameters:

- `result`

### `compute_highway_drainage_channel` (~643 tokens)

Compute Highway Drainage Channel BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Highway / surface-water drainage channel installation per BS EN 1433 + SHW Cl. 511-514 + HD 33/16. Discriminates between five UK channel product classifications via the channel_type enum (linear_polymer_concrete — ACO-pattern; linear_concrete — Charcon-pattern precast; slot_drain — narrow-slot recessed; combined_kerb_drainage — Beany/Safeticurb integrated unit per SHW Cl. 514; steel_grated_channel — heavy-duty stainless/galvanised). Plus parallel discriminators on two further WorkCategory entries: outfall_type on CHANNEL_OUTFALL (end / branch / side), silt_box_type on CHANNEL_SILT_BOX (standard / heavy-duty / deep-sump). The MMHW Series 500 _highway_drainage_channel handler is the platform's FOURTH 2D-banded handler — code `500.8.{t}.{d}` bands by channel_type (5 bands) AND depth_class (4 bands). 5×4 = 20-cell grid. SMM7 routes to R12 (Drainage below ground) — SECOND highway L1 family outside Section Q after S39 lighting → V41. Example params: channel_depth_mm=100 mm (50–1500), channel_length_m=50 m (1–500), outfall_count=1 nr (0–20). Example call: {"params": {"channel_depth_mm": 100, "channel_length_m": 50, "outfall_count": 1}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Inputs for the highway_drainage_channel assembly. Required:   channel_type           — ChannelType enum (or string equivalent)   depth_class            — DepthClass enum (or string)   channel_depth_…
- `standard` (string)

Output parameters:

- `result`

### `compute_lighting_column` (~488 tokens)

Compute Lighting Column BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Highway / street lighting column installation per BS EN 40 + BS 5489-1:2020 + TR 22. Discriminates between four UK column material classifications via the column_type enum (steel_galvanised, aluminium, composite_grp, decorative_cast_iron). Plus parallel discriminators on three further WorkCategory entries: foundation_type on COLUMN_FOUNDATION, luminaire_type on LUMINAIRE, bracket_type on COLUMN_BRACKET. The MMHW Series 1300 _lighting_column handler is the platform's THIRD 2D-banded handler — code `1300.4.1.{h}.{c}` bands by column_height_class (6 bands per TR 22) AND column_loading_class (4 bands per BS EN 40-3). 6×4 = 24-cell grid (the LARGEST banded grid in the platform). Example params: mounting_height_m=6 m (4–16), luminaire_wattage_W=60 W (10–1000), bracket_count=0 Nr (0–4). Example call: {"params": {"mounting_height_m": 6, "luminaire_wattage_W": 60, "bracket_count": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Inputs for the lighting_column assembly. Defaults anchored to URBAN_6M_LED — UK urban distributor: 6 m steel galvanised column on precast socket, BS EN 40-3 Class B, LED M-class luminaire (~60 W typ…
- `standard` (string)

Output parameters:

- `result`

### `compute_vehicle_restraint_system` (~922 tokens)

Compute Vehicle Restraint System (VRS) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Vehicle restraint system (VRS) for highway works per SHW Cl. 401-419 and BS EN 1317. Discriminates between six structural system types via the vrs_system_type enum: tensioned and untensioned corrugated steel beam, wire rope, in-situ concrete step barrier, precast concrete single-slope, and combined heavy-duty (corrugated beam over concrete kerb upstand). FIRST member of the highway_restraint L2 leaf — opens the brand-new highway L1 category as the 40th assembly. Six variant presets cover the principal UK commercial scenarios: motorway verge TCB N2/W4, motorway central wire rope N2/W6, urban untensioned N2/W2, bridge approach concrete step H2/W1, median precast single-slope H2/W2, and high-containment verge H4a/W4. Routes via three new WorkCategory entries (VEHICLE_RESTRAINT_SYSTEM, VRS_TERMINAL, VRS_TRANSITION) plus reuse of CONCRETE_REINFORCED, REINFORCEMENT, FORMWORK and EXCAVATION_TRENCH for the concrete variants. Codes: CESMM4 X.3 (Class X §3 — crash barriers), NRM2 34.7 (Site works — crash barriers), MMHW 400.1.{ww}.{cl} (Series 400 — Road Restraint Systems, with 2D banding by working_width × containment), SMM7 Q40.5 (Section Q40 — Fencing, crash barriers). 24th use of the classed-then-legacy attribute discrimination pattern; 5th use of the declared-then-banded pattern AND the FIRST 2D-banded handler (MMHW 400.1.{ww}.{cl} bands by both axes simultaneously). Example params: length_m=100 m (12–10000), post_spacing_m=2 m (0.5–8), foundation_width_m=0.9 m (0.2–2). Example call: {"params": {"length_m": 100, "post_spacing_m": 2, "foundation_width_m": 0.9}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, wat…

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single vehicle restraint system run. Geometry interpretation:   - ``length_m`` is the run length along the highway alignment.   - ``post_spacing_m`` is the centre-to-centre spacing…
- `standard` (string)

Output parameters:

- `result`

### `compute_road_marking` (~1089 tokens)

Compute Road Marking BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Road marking installation per SHW Cl. 1207-1215 and TSRGD 2016. Discriminates between five UK marking-line classifications via the marking_line_type enum: continuous, broken_short, broken_long, double_continuous, lane_line. Plus parallel discriminators on three further WorkCategory entries: area_marking_type on ROAD_MARKING_AREA, symbol_type on ROAD_MARKING_SYMBOL, and stud_type on ROAD_STUD. THIRD member of the highway L1 leaf (after S36 VRS, S37 traffic_sign) and SECOND member of the highway_signs_markings L2 leaf — 42nd assembly. The highway_signs_markings L2 leaf becomes the first L2 leaf in the highway L1 to reach 2 members. Five variant presets cover the principal UK commercial scenarios: urban continuous white line, rural broken centreline with hazard, motorway hatched chevron, junction give-way with triangle, and motorway lane line with studs. Routes via four new WorkCategory entries (ROAD_MARKING_LINE, ROAD_MARKING_AREA, ROAD_MARKING_SYMBOL, ROAD_STUD). Codes: CESMM4 X.5 (Class X §5 — road markings), NRM2 34.9 (Site works — markings), MMHW 1200.1.{w} (Series 1200 — Traffic Signs and Road Markings, with 1D banding by line_width_class), SMM7 Q40.7 (Section Q40 — Fencing/site furniture). 26th use of classed-then-legacy attribute discrimination pattern; 7th use of declared-then-banded (remains 1D — material rejected as a banding axis). Broadest unit-mix in any single CivilQuants assembly: m of line + m² of area + nr of symbol + nr of stud. Example params: actual_line_width_mm=100 mm (50–450), line_length_m=200 m (0–10000), secondary_line_length_m=0 m (0–10000). Example call: {"params": {"actual_line_width_mm": 100, "line_length_m": 200, "secondary_line_length_m": 0}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverable…

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single road marking installation. Defaults anchored to URBAN_CONTINUOUS_WHITE_LINE — 200 m of continuous 100 mm thermoplastic edge/centre line. Required-field defaults added per G.6…
- `standard` (string)

Output parameters:

- `result`

### `compute_traffic_sign` (~796 tokens)

Compute Traffic Sign BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Traffic sign installation per SHW Cl. 1201-1206 and TSRGD 2016. Discriminates between five TSRGD sign classifications via the sign_type enum: warning triangular, regulatory circular, regulatory rectangular, directional rectangular, and information rectangular. SECOND member of the highway L1 leaf (after S36 VRS) and FIRST member of the highway_signs_markings L2 leaf — 41st assembly. Five variant presets cover the principal UK commercial scenarios: rural warning triangle on single post, urban regulatory circular, rural advance directional on twin posts, motorway gantry ADS, and urban information rectangle. Routes via three new WorkCategory entries (TRAFFIC_SIGN_POST, TRAFFIC_SIGN_FACE, SIGN_FOUNDATION). Codes: CESMM4 X.4 (Class X §4 — traffic signs), NRM2 34.8 (Site works — signs), MMHW 1300.1.{a}.{h} (Series 1300 — Road Lighting/Traffic Signs/Bollards, with 2D banding by face_area × mounting_height), SMM7 Q40.6 (Section Q40 — Fencing/site furniture). 25th use of classed-then-legacy attribute discrimination pattern; 6th use of declared-then-banded AND the SECOND 2D-banded handler (MMHW 1300.1.{a}.{h} bands by both axes simultaneously). Example params: post_length_m=3 m (1.5–12), post_count=1 Nr (1–4), faces=1 Nr (1–6). Example call: {"params": {"post_length_m": 3, "post_count": 1, "faces": 1}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single traffic sign installation. Geometry interpretation:   - ``post_length_m`` is the length of the supporting post above     ground (UK convention measures the *above-ground* len…
- `standard` (string)

Output parameters:

- `result`

### `compute_flexible_pavement` (~462 tokens)

Compute Flexible (Bituminous) Pavement Build-Up BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Flexible pavement build-up: optional capping (Class 6F) + Type 1 (Class 1A) granular sub-base + asphalt concrete base (AC) + binder course (AC/HRA) + optional tack coat + surface course (AC/HRA/SMA/TSCS). Routes the bound layers through PAVEMENT_BASE/BINDER/SURFACE handlers with pavement_family discrimination across all four standards. Sub-base and capping route through the v8 FILL_SUB_BASE/FILL_CAPPING SHW-class-aware handlers. Four traffic-category defaults (domestic/light/medium/heavy) per DMRB CD 226. All four standards render (CESMM4 R.1-R.4, NRM2 34.4-34.6, MMHW 700, SMM7 Q20+Q22). Example params: length=100 m (0.5–2000), width=6 m (0.5–30), sub_base_thickness_mm=150 mm (100–500). Example call: {"params": {"length": 100, "width": 6, "sub_base_thickness_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Input parameters for a flexible pavement assembly. Geometric defaults match a 100m × 6m urban access road (medium traffic) per DMRB CD 226 starting build-up: 150mm Type 1 sub-base, 150mm AC 32 base,…
- `standard` (string)

Output parameters:

- `result`

### `compute_permeable_pavement` (~522 tokens)

Compute Permeable Pavement (CIRIA C753 SuDS) BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Permeable pavement build-up per CIRIA C753 — The SuDS Manual Chapter 20. Covers the three principal UK permeable surface types (Permeable Block Paving per BS 7533-13; Porous Asphalt per SHW Cl. 938; Porous no-fines Concrete per CIRIA C753) and the three CIRIA infiltration regimes (System A full infiltration; System B partial / sides-tanked; System C no infiltration / fully tanked). Emits excavation + formation prep + tanking liner (Systems B/C) + geotextile separator + Class 3 open-graded reservoir sub-base + laying course (PBP) + permeable surface + perforated outlet pipe (Systems B/C) + disposal. Routes the reservoir sub-base, the tanking liner, and the permeable surface through three parallel classed-then-legacy discriminators (is_reservoir_sub_base, is_pavement_tanking, pavement_family) across all four standards. SMM7 PBP routes to Q25 (block pavings — different trade) while PA/PC stay at Q22 (asphalt trade) — UK trade-boundary platform principle. First launch-class assembly built entirely on existing WorkCategory vocabulary. Example params: length=12 m (0.5–500), width=5 m (0.5–100), reservoir_thickness_mm=350 mm (150–1000). Example call: {"params": {"length": 12, "width": 5, "reservoir_thickness_mm": 350}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Input parameters for a permeable pavement assembly. Geometric defaults match a 12m × 5m residential drive with PBP surface and System A (full infiltration) — the dominant UK small-civils SuDS use ca…
- `standard` (string)

Output parameters:

- `result`

### `compute_rigid_pavement` (~506 tokens)

Compute Rigid (Concrete) Pavement Build-Up BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_end_area_earthworks. Rigid pavement build-up: optional capping (Class 6F) + Type 1 (Class 1A) granular sub-base + optional separation membrane + PQC slab (URC, JRC, or CRCP variant) with joint formwork (transverse contraction, longitudinal construction, expansion) and reinforcement (dowel bars + tie bars + optional fabric mesh for JRC, continuous longitudinal for CRCP). Routes the slab and its joints/reinforcement through the v12 is_pavement_slab discrimination to pavement-specific codes across all four standards (CESMM4 Class R, NRM2 Group 34.7, MMHW Series 1000, SMM7 Q21). Sub-base and capping route through the v8 FILL_SUB_BASE/FILL_CAPPING SHW-class-aware handlers. Three pavement-type defaults (URC/JRC/CRCP) per DMRB CD 226. Reinforcement scheduled per BS 8666:2020 (shape 00 dowels and tie bars; mass-only mesh and CRCP continuous). Example params: length=50 m (0.5–2000), width=7 m (0.5–30), sub_base_thickness_mm=150 mm (100–500). Example call: {"params": {"length": 50, "width": 7, "sub_base_thickness_mm": 150}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Input parameters for a rigid pavement assembly. Defaults: 50m × 7m urban distributor — JRC with 25m bay length, 230mm slab on 150mm Type 1 sub-base, A393 mesh mid-depth. Tie bars at 3.5m lane bounda…
- `standard` (string)

Output parameters:

- `result`

### `compute_anchored_wall` (~688 tokens)

Compute Anchored Retaining Wall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Anchored retaining wall — the only wall family member that pre-stresses the retained soil mass into the wall via post-tensioned ground anchors per BS EN 1537. Three structural variants: in-situ reinforced concrete (INSITU_RC, economic 5-10m); steel king-post-and-lagging (KING_POST, typical 4-8m, often temporary); driven sheet pile (SHEET_PILED, quays/cofferdams/deep basements). Eight VARIANT_PRESETS exercise the 'one parameter form, eight variants, four standards' moat #1 claim across all three structural variants. The in-situ RC body routes via wall_type='anchored' attribute discrimination: CESMM4 F.6.4, NRM2 11.3.4, MMHW 1700.4.3 (SHW Cl. 1709/1710), SMM7 E10.3.3. Ground anchors and stressing route to new specialist handlers (CESMM4 Class C; NRM2 Group 7; MMHW Series 1600; SMM7 D32). King-post sections to CESMM4 P.5 / NRM2 7.3 / MMHW 1600.3 / SMM7 D32; sheet piles to CESMM4 P.4 / NRM2 7.4 / MMHW 1600.4 / SMM7 D31; timber lagging to CESMM4 O.3 / NRM2 16.4 / MMHW 2500.7 / SMM7 G20.1. Example params: stem_height=6 m (2–15), stem_thickness=0.5 m (0–1.5), wall_length=25 m (5–200). Example call: {"params": {"stem_height": 6, "stem_thickness": 0.5, "wall_length": 25}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.

Input parameters:

- `deliverables`
- `freeboard`
- `output_mode` (string)
- `params` (object, required): Parameter form for an anchored retaining wall. A single dataclass that — through combinations of its fields and the ``wall_form`` discriminator — produces all eight VARIANT_PRESETS plus arbitrary us…
- `standard` (string)

Output parameters:

- `result`

### `compute_bored_pile_wall` (~783 tokens)

Compute Bored Pile Retaining Wall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Cast-in-place bored concrete pile retaining wall, the SEVENTH member of the wall family and the FIFTH of the retaining_walls L1 leaf. The SIXTH structural system in the retaining / earth-structures domain (after mass concrete / RC / steel / mesh-and-stone / reinforced-soil-with-facing). Four structural forms via the bored_pile_form discriminator: CONTIGUOUS (clear-spaced piles, shotcrete face), SECANT_HARD_SOFT (alternating soft/hard overlapping piles, intermediate watertightness), SECANT_HARD_HARD (overlapping RC piles, maximum watertightness; deep basements), and KING_POST_AND_LAGGING_RC (widely-spaced RC king posts with lagging panels). 18th use of the classed-then-legacy attribute discrimination pattern, applied via the CONCRETE_REINFORCED handler's new wall_type='bored_pile' branch for the capping beam (when included). Routes via five new WorkCategory entries (BORED_PILE_CONCRETE, BORED_PILE_BORE, BORED_PILE_NR, BORED_PILE_HEAD_PREP, BORED_PILE_INTERLOCK) covering the CESMM4 Class P §P.8 three-line cast-in-place pile measurement convention plus the Class Q ancillaries head-prep line and the secant-specific interlock line. Codes: CESMM4 P.8.1-4 + Q.1.1, NRM2 7.6.1-4 + 7.5.1, MMHW 1600.5-6 (SHW Cl. 1602/1603), and SMM7 D30.1-5 — D30 (Cast in place piling) is OPENED at this session as the conventional UK QS named home. Capping beam routes via CONCRETE_REINFORCED with wall_type='bored_pile' to F.6.5 / 11.3.5 / 1700.4.4 / E10.3.4. Reinforcement billed itemised (separate audit line per BS 8666:2020 cage) on top of the pile rate by S31 decision. Eight variant presets exercise all four BoredPileForm values (2/2/2/2 split). Example params: wall_length_m=20 m (5–200), retained_height_m=6 m (2–20), embedment_below_formation_m=4 m (1–15). Example call: {"params": {"wall_le…

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a bored pile retaining wall. A single dataclass that — through combinations of its fields and the ``bored_pile_form`` discriminator — produces all eight VARIANT_PRESETS plus arbit…
- `standard` (string)

Output parameters:

- `result`

### `compute_cantilever_wall` (~309 tokens)

Compute Cantilever Retaining Wall BoQ

Free tier. Renders the MMHW standard only — CESMM4, NRM2 and SMM7 require a paid tier. Anonymous callers welcome. In-situ reinforced concrete cantilever retaining wall with toe, heel, and stem. Includes excavation, blinding, drainage, and backfill quantities. Example params: stem_height=4 m (2–8), stem_thickness_top=0.3 m (0.2–0.6), stem_thickness_bottom=0.45 m (0.25–0.9). Example call: {"params": {"stem_height": 4, "stem_thickness_top": 0.3, "stem_thickness_bottom": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.

Input parameters:

- `deliverables`
- `freeboard`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_counterfort_wall` (~501 tokens)

Compute Counterfort Retaining Wall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. In-situ reinforced concrete counterfort retaining wall. Discrete RC counterforts on the retained face enhance moment capacity, making the wall economic for 4-10m retained heights (above cantilever-economic range, below anchored-wall range). Includes base slab, thin curtain wall, counterforts at configurable centres, drainage, and backfill. Eight VARIANT_PRESETS exercise the 'one parameter form, eight variants, four standards' moat #1 claim. Routes via wall_type='counterfort' attribute discrimination: CESMM4 F.6.3, NRM2 11.3.3, MMHW 1700.4.2 (SHW Cl. 1704), SMM7 E10.3.2. Example params: stem_height=5 m (3–12), curtain_thickness=0.35 m (0.2–0.6), toe_length=0.6 m (0–3). Example call: {"params": {"stem_height": 5, "curtain_thickness": 0.35, "toe_length": 0.6}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier). Pass `freeboard` (clearance below the wall top, m) instead of the retained-height field to set the retained fill by clearance — the engine back-calculates it as stem − freeboard. Supplying both is rejected.

Input parameters:

- `deliverables`
- `freeboard`
- `output_mode` (string)
- `params` (object, required): Parameter form for an in-situ RC counterfort retaining wall. A single dataclass that — through combinations of its fields — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometrie…
- `standard` (string)

Output parameters:

- `result`

### `compute_gravity_wall` (~558 tokens)

Compute Mass Concrete Gravity Retaining Wall BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. In-situ mass concrete gravity retaining wall (typical C20/25 to C25/30) with trapezoidal cross-section, retaining soil by self-weight rather than structural action. Eight variant presets exercise the parameter form — landscape, highway boundary, trapezoidal, stepped-front, toe-projection, keyed-base, stepped-foundation, and battered-back-vertical-front. Routes via wall_type='gravity' attribute discrimination through CESMM4 F.5.3, NRM2 11.2.3, MMHW 1700.5 (SHW Cl. 1704 structural concrete), and SMM7 E10.2.3. Reinforcement default zero (gravity walls are nominally unreinforced); optional nominal face mesh available via nominal_face_reinforcement_kg_per_m3 parameter. Includes excavation (battered or supported, level or stepped foundation), blinding, drainage system (subsoil drain + granular surround + geotextile separator), Class 6N backfill, disposal, and formwork to vertical and battered faces. 13th use of the classed-then-legacy attribute discrimination pattern, and first use in the retaining wall family — opening the wall moat for subsequent counterfort (S30), anchored (S31) and bored pile (S32) variants. Example params: stem_height=3 m (1.5–6), stem_thickness_top=0.4 m (0.2–1), stem_thickness_bottom=1.3 m (0.4–2.5). Example call: {"params": {"stem_height": 3, "stem_thickness_top": 0.4, "stem_thickness_bottom": 1.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a mass concrete gravity retaining wall. A single dataclass that — through combinations of its fields — produces all eight VARIANT_PRESETS plus arbitrary user-specified geometries.…
- `standard` (string)

Output parameters:

- `result`

### `compute_kerb_run` (~420 tokens)

Compute Precast Concrete Kerb Run BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Linear precast concrete kerb run on concrete bed and haunch over Type 1 (Class 1A) granular sub-base. Emits excavation, sub-base (v8 SHW-class-aware), concrete bed, kerb units to BS EN 1340 / SHW Cl. 1101, concrete haunch to back face, optional channel block, and disposal. Supports HB2/HB1/SP/BN/EF/ER kerb profiles and CS1/CS2/dish channels. All four standards render with type designators (CESMM4 R.7, NRM2 34.10, MMHW 1100, SMM7 Q10). Example params: kerb_length=25 m (1–1000), bed_thickness_mm=150 mm (75–300), bed_extra_each_side_mm=100 mm (0–300). Example call: {"params": {"kerb_length": 25, "bed_thickness_mm": 150, "bed_extra_each_side_mm": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Input parameters for a kerb run assembly. Geometric defaults match a standard UK HB2 road kerb on 150mm concrete bed over 150mm Type 1 sub-base, with triangular haunch rising to half the kerb height…
- `standard` (string)

Output parameters:

- `result`

### `compute_pad_foundation` (~247 tokens)

Compute Concrete Pad Foundation BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Single isolated reinforced concrete pad foundation with optional pedestal. Demonstrates BS 8666:2020 reinforcement scheduling integrated with the four-standard rendering invariant. Example params: length=2 m (0.5–10), width=2 m (0.5–10), thickness=0.45 m (0.15–2). Example call: {"params": {"length": 2, "width": 2, "thickness": 0.45}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_strip_foundation` (~356 tokens)

Compute Concrete Strip Foundation BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_cantilever_wall. Linear reinforced concrete strip foundation, level or stepped. Closes the P1 launch set alongside pad_foundation. Integrates BS 8666:2020 reinforcement scheduling. Stepping is the v10 demonstration of cross-cutting standards-handler discrimination. Example params: length=10 m (1–100), width=0.75 m (0.3–2.5), thickness=0.35 m (0.15–1.5). Example call: {"params": {"length": 10, "width": 0.75, "thickness": 0.35}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for the strip foundation assembly. Defaults are tuned to a typical UK domestic / light commercial strip: 750mm wide, 350mm deep, 10m long, founded ~700mm below GL on 75mm blinding. Reinfo…
- `standard` (string)

Output parameters:

- `result`

### `compute_utility_chamber` (~645 tokens)

Compute Utility Access Chamber BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Catalogue-driven utility access chamber covering ten standard UK types: BT/Openreach jointing chambers JC1-JC4 (defaulting to UTILITY_PROVIDER_SUPPLY routing), water meter chamber (FW6), wastewater inspection chamber (RW9), valve chamber, gas Emergency Control Valve pit (ECV), LV electrical link box, and cable draw pit. Composite emission: precast chamber unit + BS EN 124 cover & frame (PC supply) + excavation + bedding (SHW Cl. 803) + granular surround + optional geotextile + selected fill + disposal. Routes via manhole_type=utility_chamber attribute discrimination through CESMM4 Class K.1.5.x, NRM2 33.7.11-.13, MMHW 500.5.13-.15 (SHW Cl. 507), and SMM7 R12.3.10-.12. JC types route their chamber unit through the v18 statutory-undertaker supply route infrastructure (CESMM4 Class A.4.3, NRM2 Group 1, MMHW Series 100, SMM7 A53) as a PC sum plus contractor attendance line. Example params: bedding_thickness_mm=150 mm (75–300), bedding_overhang_m=0.1 m (0.075–0.3), surround_thickness_m=0.15 m (0.1–0.3). Example call: {"params": {"bedding_thickness_mm": 150, "bedding_overhang_m": 0.1, "surround_thickness_m": 0.15}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameter form for a utility access chamber. Catalogue-driven: pick a ``chamber_type`` and the chamber's nominal plan dimensions, depth, wall thickness, cover loading and supply route default are re…
- `standard` (string)

Output parameters:

- `result`

### `compute_utility_kiosk_base` (~426 tokens)

Compute Utility Kiosk Base BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Foundation + kiosk hardware composite for utility cabinets — LV electricity feeder pillars (DNO-supplied), Openreach FTTC cabinets (PIA-supplied), EV rapid-charging plinths, packaged DNO substations, and generic precast plinths. Light-wrapper delegation around pad_foundation for the substructure (excavation, RC pad with pedestal, reinforcement), plus kiosk-specific PC-supply hardware (1 complete unit on UPS route, 4 components — body / door / lock / base-plate — on Employer-PC route). Catalogue-driven supply-route defaults encode that LV pillars and FTTC cabinets are normally utility-provider-supplied complete units, while EV chargers, DNO substations, and generic plinths are normally Employer-PC-nominated per component. Example params: quantity=1 Nr (1–100), blinding_thickness_m=0.075 m (0.05–0.15), working_space_m=0.3 m (0–1). Example call: {"params": {"quantity": 1, "blinding_thickness_m": 0.075, "working_space_m": 0.3}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a utility kiosk base. Fields marked "(None → catalogue)" resolve from the catalogue entry at ``__post_init__`` time; an explicit non-None value always wins.
- `standard` (string)

Output parameters:

- `result`

### `compute_combined_services_trench` (~343 tokens)

Compute Combined Services Trench BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Shared utility trench carrying multiple services side by side, each at its own cover depth (water, gas, electricity, telecoms) per NJUG Volume 1. One excavation envelope sized from the services, one disposal, one backfill column, with per-service lane-width bedding, surround, pipe/duct, and warning tape. Renders through CESMM4 Class I, NRM2 Group 41, MMHW Series 1300 and SMM7 Group T for the services, with the shared envelope routing through the existing earthworks/drainage handlers. Example params: trench_length_m=50 m (1–2000), service_spacing_mm=100 mm (50–500), working_space_below_bed_mm=100 mm (0–500). Example call: {"params": {"trench_length_m": 50, "service_spacing_mm": 100, "working_space_below_bed_mm": 100}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required)
- `standard` (string)

Output parameters:

- `result`

### `compute_single_service_run` (~474 tokens)

Compute Single Service Run BoQ

Paid tier only. Calling this without an authenticated CivilQuants account returns TIER_INSUFFICIENT — sign up at https://civilquants.com/pricing or use the free-tier alternative compute_manhole. Single-service utility run per NJUG Volume 1 — one water main OR one gas main OR one electricity cable duct OR one telecoms duct (or fibre / street-lighting / HV cable duct) in a dedicated trench. Wraps the combined-services-trench engine with a single-band envelope and re-tags emissions back to this assembly. Renders through CESMM4 Class I / NRM2 Group 41 / MMHW Series 1300 / SMM7 Group T (services) on top of the shared earthworks / drainage handlers (excavation, disposal, bedding, surround, fill, tape). Example params: bedding_thickness_m=0.1 m (0.05–0.3), surround_above_crown_m=0.15 m (0–0.5), trench_length_m=50 m (1–1000). Example call: {"params": {"bedding_thickness_m": 0.1, "surround_above_crown_m": 0.15, "trench_length_m": 50}, "standard": "MMHW"}. Omitted parameters use sensible engineering defaults. Pass deliverables=["xlsx","dxf","pdf"] (any subset) to also receive one-shot download URLs in the same call: Excel BoQ (both tiers, watermarked free) plus the dimensioned DXF (CAD) and PDF drawing sheets (paid tier).

Input parameters:

- `deliverables`
- `output_mode` (string)
- `params` (object, required): Parameters for a single-service utility run. Maps neatly to a one-column UI form: the user picks a service type from a dropdown, optionally tweaks cover/OD/material, sets length and trench width, an…
- `standard` (string)

Output parameters:

- `result`

### `render_skill_report` (~87 tokens)

Render Bill of Quantities deliverable

Render previously-computed BoQ results into a deliverable (Excel workbook or Word report). Excel is free with watermark + sheet protection; Word is paid-tier only and returns a TIER_INSUFFICIENT envelope for anonymous callers. The wire shape matches POST /api/v1/mcp/render exactly.

Input parameters:

- `request` (object, required): Wire shape for POST /api/v1/mcp/render.

Output parameters:

- `result`

### `save_project` (~181 tokens)

Save project

Persist a CivilQuants project with its assembly list. Each call creates a new project — it never overwrites an existing one. To revise a saved project's parameters: call get_project to recover its assemblies, amend the values, then call save_project again with the amended list (a revision-suffixed name like 'Pump Station R02' keeps the history browsable) and run recompute_project on the new project_id — recompute_project takes no parameter overrides. To measure a different assembly type instead, route via resolve_assembly_from_description. Re-find saved work in a later conversation with list_projects or get_project by exact name. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope pointing at https://civilquants.com/pricing.

Input parameters:

- `request` (object, required): Body for ``POST /api/v1/mcp/project/save``.

Output parameters:

- `result`

### `get_project` (~103 tokens)

Get project

Fetch a previously saved CivilQuants project by project_id. When the id is not in context (e.g. a new conversation reopening 'Demo - Cantilever Wall'), pass the project's exact display name in the project_id field instead. If several projects share the name, the error envelope lists the candidate project_ids; call list_projects to browse everything saved. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.

Input parameters:

- `project_id` (string, required)

Output parameters:

- `result`

### `list_projects` (~85 tokens)

List projects

List every project saved by the calling subscriber — project_id, name, client, status, default standard, assembly count, timestamps. Use this to re-find a saved project from a new conversation when its project_id is no longer in context, then pass the project_id to get_project or recompute_project. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.

Output parameters:

- `result`

### `recompute_project` (~105 tokens)

Recompute project

Re-run every enabled assembly in a saved project and render aggregated BoQs across the requested measurement standards. recompute_project takes no parameter overrides — it re-runs the saved assemblies exactly as stored. To revise a parameter, save an amended copy with save_project (see its description for the recipe) and recompute the new project_id. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.

Input parameters:

- `project_id` (string, required)
- `request`

Output parameters:

- `result`

### `compute_multi_section_assembly` (~235 tokens)

Compute multi-section assembly BoQ

Compute one sectioned/linear assembly across multiple sections in a single call and return a combined Bill of Quantities plus per-section results. Each section sets its own run_length and geometry; shared_params apply to all sections. Use for a wall, kerb run, drain or barrier that changes along its length. assembly_slug must be a sectioned assembly (e.g. cantilever_wall, kerb_run, edge_drain); non-linear items return INVALID_INPUT. Free tier: MMHW only, each section consumes one daily slot. Example: {"assembly_slug":"cantilever_wall","standard":"MMHW","sections":[{"label":"Bay 1","run_length":20,"stem_height":1.5},{"label":"Bay 2","run_length":15,"stem_height":2.4}]}.

Input parameters:

- `aggregate_boq` (boolean)
- `assembly_slug` (string, required)
- `deliverables`
- `include_backup` (boolean)
- `include_section_boq` (boolean)
- `sections` (array, required)
- `shared_params`
- `standard` (string)

Output parameters:

- `result`

### `resolve_assembly_from_description` (~161 tokens)

Resolve assembly from description

Resolve a plain-English job description to candidate catalogue assemblies and the fields you'll need to compute one. Deterministic router — it does NOT return a Bill of Quantities and NEVER guesses parameter values; it returns candidate slugs (plural when ambiguous, with clarifying questions), each assembly's tier, whether it supports compute_multi_section_assembly, and per-field metadata (unit, min/max, default). Then call compute_<slug> (or compute_multi_section_assembly) with the values you fill in. Also known as compute_from_description. Example: {"description":"a 3 m deep manhole","preferred_standard":"MMHW"}.

Input parameters:

- `description` (string, required)
- `preferred_standard`
- `return_resolution_log` (boolean)

Output parameters:

- `result`

### `list_skills` (~177 tokens)

List senior-QS skills

List the 10 senior-QS skill methodologies CivilQuants exposes (tender review, risk assessment, QS measurement/contract advice, geotechnical + geo-environmental interpretation, earthworks, preliminaries, pavement design, subcontract analysis). Universal discovery — both tiers see the full list. Returns each skill's slug, title, one-line summary and tier; then call get_skill(skill=<slug>) to fetch the methodology body. The skills are paid-tier; a free caller gets a sign-up prompt from get_skill. NOTE: the document-heavy skills (tender review, the interpretation skills) need a code-execution client (Claude Code / Codex / VS Code) plus the chunking pack from get_document_pipeline to run a real tender pack — on a chat connector you can read the methodology but cannot chunk/parse files.

Output parameters:

- `result` (array)

### `get_skill` (~192 tokens)

Get senior-QS skill methodology

Paid tier only. Fetch a senior-QS skill methodology by slug (see list_skills) and APPLY it to the user's documents — the returned body is the system instruction for you to run the methodology on the customer's tokens; CivilQuants does not run inference. Paid callers get the full methodology; anonymous/free callers get a TIER_INSUFFICIENT upsell body; a rejected token gets an INVALID_TOKEN re-authenticate body. The document-heavy skills assume you can chunk/parse the customer's files and render a Word pack locally — that needs a code-execution client (Claude Code / Codex / VS Code) and the pack from get_document_pipeline; on a chat connector you can still read and reason with the methodology. Sign up at https://civilquants.com/pricing. Example: get_skill(skill="tender_risk_assessment").

Input parameters:

- `skill` (string, required): Skill slug from list_skills.

Output parameters:

- `result` (string)

### `get_document_pipeline` (~175 tokens)

Get the customer-side document pipeline

Obtain the CivilQuants customer-side document pipeline — the toolkit the document-heavy skills (tender review, geotechnical / geo-environmental interpretation) use to chunk a tender pack and render a Word pack on the user's machine. Returns the self-unpacking chunking package, the pipeline discipline, and the python-docx render helpers. Universal (free + paid). NOTE: running the pipeline over real documents requires a code-execution client (Claude Code / Codex / VS Code) — a chat connector can read the toolkit but cannot execute it. The full kit is large (~60 KB); pass component='chunking'|'discipline'|'render' for one part (~20 KB each), or omit it for the whole kit.

Input parameters:

- `component` (string): Which part to fetch; omit for the whole kit.

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-civilquants-civilquants/api#diagnostics

## Score history

- 2026-08-03: 60
- 2026-08-02: 59
- 2026-08-01: 59
- 2026-07-31: 58
- 2026-07-30: 56
- 2026-07-29: 55
- 2026-07-28: 55
- 2026-07-27: 54
- 2026-07-26: 53

## Links

- Remote endpoint: https://api.civilquants.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-civilquants-civilquants/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-civilquants-civilquants/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-civilquants-civilquants/api
