Skip to main content
Glama

civilquants

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 50 of 50 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct civil engineering element or task, with highly detailed descriptions that clearly differentiate them. Even similar wall types (e.g., cantilever, counterfort, anchored) are unambiguously separated by structural form and behavior.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase underscores (e.g., compute_anchored_wall, save_project). No mixed naming conventions are present.

Tool Count3/5

At 50 tools, the server is large but each tool addresses a specific, justified calculation in civil engineering quantity surveying. However, the count is on the higher side, potentially overwhelming for an agent.

Completeness4/5

The tool surface covers a wide range of civil engineering elements (walls, drainage, pavements, foundations, highways, utilities) and includes project management functions. Minor gaps exist (e.g., bridges), but core workflows are well-represented.

Available Tools

50 tools
compute_anchored_wallCompute Anchored Retaining Wall BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 user-specified geometries across all three structural variants (INSITU_RC, KING_POST, SHEET_PILED). Sensible defaults yield a 6m in-situ RC wall with a single row of permanent anchors.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint: true, which is consistent with a read-only computation. The description adds transparency about authentication requirements and error behavior beyond the annotation. It does not mention side effects, and no contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and includes extensive standard code references and variant details. While structured, it could be more concise. Every sentence adds value but the length may hinder quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (many parameters, output schema exists), the description covers purpose, alternatives, variants, and standards. It could omit minor details like every standard code for each component, but overall it equips an agent to decide when and how to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (many parameters lack descriptions), and the tool description does not elaborate on parameter meaning. It focuses on variants and standards rather than clarifying individual parameters. This leaves the agent underinformed for parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a Bill of Quantities for anchored retaining walls. It lists three structural variants (INSITU_RC, KING_POST, SHEET_PILED) and distinguishes itself from the sibling tool compute_cantilever_wall via the paid-tier and anchor-specific scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly warns about paid-tier requirement and the TIER_INSUFFICIENT error, directly names the free-tier alternative compute_cantilever_wall. Also provides guidance on which variant to choose based on height and application (e.g., sheet piles for quays/cofferdams).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_attenuation_tankCompute Stormwater Attenuation Tank BoQA
Read-only
Inspect

Free 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true; description adds 'Free tier. Anonymous callers welcome.', clarifying it's free and requires no auth, beyond annotation context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-loaded with key context (free, anonymous) and essential technical details; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given tool complexity and many siblings, description lacks guidance on parameter interplay and selection scenarios; output schema exists but does not compensate for missing usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%; description only hints at configurations (crate vs pipes) but does not explain individual parameters or their roles for the 20+ parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Compute Stormwater Attenuation Tank BoQ' with specific verb 'compute' and resource, and distinguishes from siblings by mentioning two configurations and excavation types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for stormwater attenuation tank BoQ but lacks explicit when-to-use vs alternatives, and does not advise on selecting configurations or excavation methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_bored_pile_wallCompute Bored Pile Retaining Wall BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 arbitrary user-specified geometries across all four BoredPileForm options. Sensible defaults yield a 6m basement-wall CONTIGUOUS bored pile wall.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, description discloses paywall behavior and required authentication. Details four structural forms, measurement codes, and variant presets, enriching understanding of how the tool operates and what it produces.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is detailed but somewhat verbose with enumerations and codes. It front-loads the critical paywall and alternative info. Could be trimmed without losing essential guidance, but structure is logical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (30+ parameters, nested objects, enums, presets), the description covers usage context, authentication, structural forms, measurement standards, and variant presets. With an existing output schema, this is fully adequate for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description provides an overview of the params object, explaining the discriminators and defaults. This adds context that helps interpret parameter combinations, though individual parameter details rely on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a BoQ for a bored pile retaining wall, specifying cast-in-place bored concrete pile. It distinguishes from siblings by mentioning free-tier alternative compute_cantilever_wall and placing it as the seventh member of the wall family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Paid tier only' and warns about TIER_INSUFFICIENT error without authentication. Provides clear alternative: free-tier compute_cantilever_wall. This gives strong when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_box_culvertCompute Precast Concrete Box Culvert BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 individual fields if a specific manufacturer differs. The run is composed of ``ceil(total_length_m / unit_length_m)`` precast sections of the chosen size. Headwalls at each end are optional and each independently selectable, with the headwall_attenuation_outlet sub-assembly owning its size, bedding, outlet ironmongery, and scour protection. Per the S23 spec, the headwalls are emitted as fully separate sub-assemblies — their WorkItems carry their own ``source_assembly`` tag.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark readOnlyHint: true, and the description does not contradict this (it says 'compute', implying read-only calculation). The description adds behavioral context about authentication requirements and paid-tier restriction, but does not explicitly state that no state is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but well-structured, starting with the most critical usage restriction (paid tier) and then the alternative. While verbose, each sentence serves a purpose, covering the tool's scope, composition, and standards. Minor redundancy could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (nested params, 2 top-level parameters), the description provides a good overview of what the computation includes (precast units, blinding, bedding, geotextile, etc.). With an output schema present, it does not need to detail return values. The description covers constraints and alternatives adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides rich descriptions for nested parameters (e.g., size enum with size explanations). The description adds additional meaning beyond the schema, including product ranges, standards, and the overall composition of the BoQ. With high schema coverage, the description still adds value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a BoQ for a precast concrete box culvert run, specifying brands (Marshalls/FP McCann/CPM), standards (BS EN 14844/BS 5911-3), and catalogue sizes. It distinguishes from sibling tool compute_manhole by explicitly mentioning the free-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and that unauthenticated calls return TIER_INSUFFICIENT, providing clear when-to-use guidance. It also names the free alternative compute_manhole, helping agents decide between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_cantilever_wallCompute Cantilever Retaining Wall BoQB
Read-only
Inspect

Free tier. Anonymous callers welcome. In-situ reinforced concrete cantilever retaining wall with toe, heel, and stem. Includes excavation, blinding, drainage, and backfill quantities.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true, so the description adds marginal value by stating 'Free tier. Anonymous callers welcome.' It does not disclose any additional behavioral traits like rate limits or data handling. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (three sentences) and front-loaded with the main function. However, the first sentence about free tier could be integrated or placed after the core description for better structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (18 parameters), the description is too sparse. It does not explain units, parameter relationships, or expected values. While an output schema exists, the lack of parameter context makes the tool hard to use correctly without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for the nested params object (18 parameters), the description fails to explain parameters like toe_length, backfill_class, or reinforcement_kg_per_m3. The agent has no semantics beyond parameter names and defaults, severely hindering correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool computes a Bill of Quantities for an in-situ reinforced concrete cantilever retaining wall, listing key components (toe, heel, stem) and included items (excavation, blinding, drainage, backfill). This distinguishes it from sibling wall types like gravity or anchored walls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to choose this tool over alternatives such as compute_gravity_wall or compute_anchored_wall. No prerequisites or conditions are mentioned, leaving the agent to guess based on the wall type name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_carrier_pipe_runCompute Carrier Pipe Run (banded) BoQB
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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 measurement examples.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly notes the paid-tier restriction and the error response TIER_INSUFFICIENT, which adds critical behavioral context beyond the readOnlyHint annotation. No contradictions with annotations are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively long (4 paragraphs) and includes tangential details like variant presets and discrimination patterns. It could be trimmed to focus on essential information without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the paid-tier limitation and the combination of four standards, but does not clearly state the tool's output (a set of BoQ rows) even though an output schema exists. For a complex tool with nested parameters, more clarity on return format is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds semantic context for parameters (e.g., material sub-class digits, depth bands) beyond the schema's descriptions, which have 50% coverage. However, not all parameters are covered, and the added info is scattered rather than structured per parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes BoQ for carrier pipe runs with four standards (CESMM4, NRM2, MMHW, SMM7) and distinguishes it from the companion tool compute_connection_to_existing. However, it is verbose and mixes implementation details like the 19th discrimination pattern, which slightly obscures the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a free-tier alternative (compute_manhole) and a companion assembly (connection_to_existing), but does not give explicit guidance on when to use this tool versus its siblings. There is no clear 'when-to-use' or 'when-not-to-use' statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_catchpitCompute Precast Concrete Catchpit / Silt Trap BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 individual fields if a specific manufacturer differs. The catchpit is treated as a **manhole-family chamber** (same WorkCategory.MANHOLE) discriminated on chamber_type='catchpit'.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare readOnlyHint=true, which the description reinforces by indicating the tool computes a BoQ without mutating state. The description adds behavioral context beyond annotations: the tier restriction, authentication requirement, and the return of a TIER_INSUFFICIENT error. However, since annotations already cover the read-only nature, the description's added value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly long (multiple paragraphs) but each sentence contributes value—purpose, tier restriction, alternative, typical use, and construction details. It is front-loaded with critical tier info. While verbose, it remains structured and relevant. Could be tightened without losing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, catalogue-driven, multiple standards), the description covers all important aspects: what it does, limitations, alternative, typical drainage context, standards used, and relationship to manholes. An output schema exists, so return values are covered elsewhere. The description is complete for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 50% description coverage; the main description mentions catalogue-driven sizing and override capability, but does not detail individual parameters. It adds minimal semantic context beyond the schema's own descriptions, which are present for some parameters. The description compensates partially by explaining the structure and the catalogue, but not extensively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a BoQ for a precast concrete catchpit/silt trap, specifies the resource (catchpit) and action (compute), and explicitly distinguishes it from the sibling 'compute_manhole' by detailing the silt-sump geometry and typical drainage position. The verb 'Compute' and resource 'Catchpit' are specific and unique among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: it is paid-tier only, requires an authenticated CivilQuants account, and directs users to the free-tier alternative 'compute_manhole' if unauthorized. It also gives contextual usage information (upstream of interceptor in forecourt/service area), making when-to-use and when-not-to-use very clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_combined_services_trenchCompute Combined Services Trench BoQA
Read-only
Inspect

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 at staggered depths (water, gas, electricity, telecoms) per NJUG Volume 1. One excavation envelope, one disposal, one backfill column, with per-service 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only (readOnlyHint: true). The description adds context about paid tier and error behavior but does not contradict annotations. It does not elaborate on other behavioral traits beyond what annotations cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is four sentences, front-loaded with critical usage info (paid tier). It is relatively concise, though acronym-heavy. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, the description does not need to explain return values. However, for a complex tool with many parameters and standards, more explanation of methodology and parameter relationships would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate but only provides a high-level overview of the trench model. Individual parameters are not explained, but some schema properties have their own descriptions. The description adds some context about services and standards.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a Bill of Quantities for a combined services trench, specifying the services and standards. However, it does not clearly distinguish from sibling tools like compute_single_service_run; mentioning compute_manhole as a free alternative is misleading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states it is paid tier only and describes the error response for unauthenticated calls. Provides a free alternative (compute_manhole), though that alternative may not be functionally equivalent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_connection_to_existingCompute Connection to Existing (drainage) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters for a single connection-to-existing extra-over item.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. The description adds important behavioral context: it requires an authenticated account (paid tier), and describes that it enumerates standard-specific sub-codes based on connection_type. The phrase 'Opens the new drainage_ancillaries L2 leaf' implies output structure, consistent with readOnly operation. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: tier restriction first, then purpose, standards, parameter guidance, and sibling reference. It is packed with information but each sentence adds value. Could be slightly more streamlined, but overall effective and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (multiple standards, sub-codes, nested parameters, output schema exists), the description covers essential context: tier limitation, what gets computed, the mapping of connection_type to standards, and relation to sibling tools. It does not detail output format but output schema exists, so not needed. Completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has two parameters with nested objects; only 50% schema description coverage. The main description explains the role of connection_type as a discriminator and the bore digit, adding meaning beyond the schema. However, it does not elaborate on other parameters like method or diameter_mm, leaving some gaps. Baseline 3 is appropriate as description partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes an extra-over connection item for a new drainage carrier pipe into an existing asset, referencing specific standards (CESMM4, etc.) and distinguishing from the free-tier sibling compute_manhole. The verb 'compute' and resource 'connection to existing' are specific and differentiated from many siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions when to use this tool (paid tier), and provides alternatives: compute_manhole for free tier. Also references sibling assembly carrier_pipe_run as the companion tool. However, does not list all other siblings or give exhaustive when-not-to-use scenarios, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_counterfort_wallCompute Counterfort Retaining Wall BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 geometries. Sensible defaults yield a 5 m high standard highway counterfort wall with counterforts at 4.0 m centres.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description adds that the tool requires paid authentication and returns TIER_INSUFFICIENT on failure. It also mentions variant presets and standards routing, giving behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is fairly long but well-structured, front-loading critical information (paid tier, alternative) before structural details and variant presets. Some jargon could be trimmed, but it's appropriate for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description does not need to detail return values. It provides enough domain context (height ranges, standards, presets) for an agent to select and invoke the tool appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 50% description coverage, and the tool description adds overall context (e.g., 'includes base slab, thin curtain wall, counterforts at configurable centres') but does not explain the many individual parameters. The description of the 'params' object itself is in the schema, and the tool description mentions sensible defaults, providing baseline value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a BoQ for in-situ reinforced concrete counterfort retaining walls. It distinguishes from siblings by explicitly mentioning the free-tier alternative compute_cantilever_wall and providing height range context (4-10m, above cantilever-economic, below anchored-wall range).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that this is a paid-tier tool requiring authentication, and directs users to the free-tier alternative compute_cantilever_wall. It also provides context on when the tool is appropriate (4-10m retained heights).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_ditchCompute Open Ditch (drainage channel) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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 horizontal-per-vertical (1.0 = 45 deg, 1.5 = ~34 deg, 0.5 = ~63 deg).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint: true; description adds context on paid-tier restriction, standard routing, and variant presets. No contradiction. Could be more explicit about being read-only, but overall adds value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with tier info and alternative, then detailed standards and variants. Somewhat verbose but structured coherently for specialized use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, tier restrictions, alternatives, geometry, lining variants, standards (with differences), discriminator pattern, and unit. Output schema exists; no need to describe return values. Complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% with good descriptions for params and lining_type. The description adds context on geometry and lining types but mostly aligns with schema. Adequate but not exceptional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it computes a BoQ for an open ditch, defines the cross-section, lining variants, standards, and unit (M). It distinguishes itself from siblings by mentioning compute_manhole as free-tier alternative and its position in the drainage_ancillaries leaf.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states paid-tier requirement and directs free users to compute_manhole. Provides context on standards (CESMM4, NRM2, MMHW, SMM7) and the discriminator lining_type for variant selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_edge_drainCompute Highway Pavement Edge Drain (HD 33/16) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint: true, which is consistent with a computation tool. The description adds behavioral context beyond annotations: paid-tier restriction, error message, and the need for authenticated account. It does not contradict annotations, and the additional disclosure about tier limitations increases transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is 5 sentences long, front-loaded with the critical paid-tier warning. It includes technical jargon and standard references that may be dense but relevant. Some details (e.g., headline standard mapping) could be shortened, making it slightly less concise than ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has many parameters (2 top-level, many nested) and an output schema (not shown). The description provides high-level context and standard mappings but fails to explain the parameters or the output structure. Given the complexity, this is incomplete for an agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% according to context, meaning no parameter descriptions exist in the schema. The description provides no explanations of individual parameters such as drain_length, invert_depth, or pipe_type. Without any parameter-level guidance, the agent cannot understand what values to provide or how they affect the computation, making this score very low.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes highway pavement edge drain BoQ per HD 33/16, naming standard HD 33/16 and components (perforated carrier, granular-filled trench, filter geotextile wrap). It differentiates from sibling compute_french_drain by noting 'same enum as French drain' and mentions free-tier alternative compute_manhole, establishing unique purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Paid tier only' and describes the error response for unauthenticated calls (TIER_INSUFFICIENT). Points to signing up at a URL or using free-tier alternative compute_manhole. This provides clear when-to-use and when-not-to-use guidance with a direct alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_embankment_cross_sectionCompute Embankment Cross-Section BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInputs for a geometry-driven embankment cross-section assembly. The assembly generates a `CrossSection` list from the profile + geometry parameters, builds an `EndAreaEarthworksParameters` from the result + the material/method parameters carried here, and delegates compute to `EndAreaEarthworks.compute(...)`. Per Session 12 Q2 decision: left and right slopes are exposed separately, both defaulting to `side_slope_h_per_v` so the common symmetric case is a single-parameter call.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint:true indicates no side effects. The description elaborates on behavior: auto-generates CrossSection series, delegates to end_area_earthworks engine, inherits rendering invariant, and computes topsoil strip footprint. It does not contradict annotations and adds useful behavioral context beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of about 5 sentences, front-loading the critical paid-tier warning, then covering geometry, delegation, and additional features. Each sentence adds value, though a bulleted list could improve scannability. Still concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple nested parameters, output schema exists), the description covers core functionality, delegation, special features (topsoil strip, founding excavation), and rendering standards. It provides sufficient context for an AI agent to understand what the tool does and its key characteristics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but many parameters have detailed descriptions in the schema. The description adds meaning by mentioning crest width, side slopes, height profile, topsoil strip, and founding excavation, which map to schema parameters. It enriches understanding of how these parameters are used without repeating schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool computes embankment cross-section BoQ, specifies geometry-driven, trapezoidal, per MMHW Series 600, and lists key parameters (crest width, side slopes, height profile). It distinguishes itself from siblings by mentioning the paid-tier requirement and the free alternative compute_end_area_earthworks, making purpose and differentiation clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage conditions: paid-tier only, authentication needed, returns TIER_INSUFFICIENT otherwise, and recommends the free alternative compute_end_area_earthworks. This provides clear when-to-use and when-not-to-use guidance, along with a direct alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_end_area_earthworksCompute End-Area Earthworks BoQA
Read-only
Inspect

Free 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInputs 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 planar (m²) strip area at each section; the volume is computed as `trap-integrate(topsoil_strip_area) × topsoil_strip_depth_m / strip_area_mean` — i.e. we multiply the integrated planar strip area by the strip depth to get a volume in m³. Conventionally `topsoil_strip_area` per the designer is planar in m² per running metre (m² of plan area per metre of chainage = m of width), but to keep CrossSection symmetric with the other four area streams we treat it as a true area (m²) at that station and apply the depth multiplication here.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, and description is consistent. Beyond annotations, the description details the computation method (Simpson's Rule, trapezoidal fallback) and mentions rendering across standards. It adds context about free tier and anonymous access, which is helpful for understanding usage constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is 3 sentences, front-loaded with 'Free tier. Anonymous callers welcome.' It packs substantial technical detail without being overly verbose. Could be slightly more structured, but it is efficient for the complexity involved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex inputs (nested objects, many parameters) and presence of an output schema, the description covers the main computation aspects: integration method, class tagging, mass-haul, cut/fill balance, routing, and rendering standards. It misses some specifics but provides sufficient context for an AI agent to understand the tool's scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are detailed for many parameters (e.g., bulking factor with typical values). The tool description adds overall context about the method and standard but does not significantly enhance individual parameter meaning beyond what the schema already provides. Schema coverage is high, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it computes end-area earthworks BoQ using Simpson's Rule with fallback, and specifies the standard (MMHW Series 600). The title 'Compute End-Area Earthworks BoQ' uses a specific verb and resource, and the description distinguishes it from sibling tools (e.g., compute_embankment_cross_section) by mentioning BoQ rendering and class tagging.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description mentions 'Free tier. Anonymous callers welcome.' which implies it's freely available but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives. The context of linear earthworks is clear, but no exclusions or alternative tool references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_flexible_pavementCompute Flexible (Bituminous) Pavement Build-Up BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInput 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, 60mm AC 20 binder, 40mm SMA 10 surface.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the paid tier restriction and the TIER_INSUFFICIENT error, which is beyond what annotations provide. The readOnlyHint annotation is consistent with the tool's read-only computation nature. However, it does not mention other behavioral details like idempotency or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear hierarchy and front-loads the paid tier warning. It is appropriately sized for the complexity, though slightly verbose in listing components.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (nested params, output schema, standards), the description provides high-level context: components, standards, traffic categories, and access restrictions. It does not detail the output format, but an output schema exists to cover that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value by summarizing the build-up components and indicating defaults for a typical road, but it does not provide detailed semantics for each parameter. With schema description coverage at 50%, the description partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a flexible (bituminous) pavement build-up BoQ, listing specific components and standards. It also distinguishes from the sibling tool compute_end_area_earthworks as a free-tier alternative, providing a specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions the paid tier requirement and provides a free-tier alternative (compute_end_area_earthworks). It also gives context on traffic categories and standards rendered. However, it does not explicitly state when to use this tool versus other pavement-related siblings like compute_rigid_pavement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_french_drainCompute French (Filter) Drain BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses that the tool is paid-tier only and will return TIER_INSUFFICIENT without authentication. It also explains the internal composition (bedding primitive with additions) and supported standards, adding behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loading the critical tier restriction, then defining the tool's function concisely. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested objects, and an output schema), the description covers the core function, tier restriction, alternative tool, and supported standards. It does not explain parameter interactions or output format, but the output schema presumably handles that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides high-level context for parameters (e.g., three additions: perforated carrier, filter geotextile wrap, optional top seal) which maps to parameters like has_top_seal and has_filter_wrap. However, it does not detail individual parameter meanings or syntax beyond what the schema (with some descriptions) already provides. Schema description coverage is low, but the description partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for a French (filter) drain, using specific verb 'compute' and resource 'French (Filter) Drain BoQ'. It distinguishes from the sibling tool 'compute_manhole' by noting it as a free-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the paid tier requirement and provides a free-tier alternative (compute_manhole). It also explains the context of use (perforated land drain in granular-filled trench with geotextile wrap) and the standards supported, helping the agent decide when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_gabion_wallCompute Gabion Retaining Wall BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 user-specified geometries across all four GabionForm options. Sensible defaults yield a 3m highway-boundary STACKED_RECTANGULAR wall with 1m × 1m × 2m galvanised hexagonal baskets filled with 100-200mm graded stone.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses the paid-tier requirement, the TIER_INSUFFICIENT error, and details about internal structure (discriminator pattern, WorkCategories, standards). This adds significant behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively verbose with many technical details that are not essential for selecting/invoking the tool. It could be significantly shortened while retaining key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers the structural forms, presets, and standards comprehensively. The presence of an output schema reduces the need to explain return values, so the description is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides context for the gabion_form discriminator and mentions sensible defaults, but does not systematically explain all parameters. With 50% schema coverage, the description adds some value but not enough to fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a BoQ for a gabion retaining wall, and distinguishes it from the free-tier alternative compute_cantilever_wall. The purpose is specific, though the description buries the main verb somewhat.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes this is a paid-tier tool and names the free-tier alternative compute_cantilever_wall, giving clear context on when to use it versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_gravity_wallCompute Mass Concrete Gravity Retaining Wall BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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. Sensible defaults yield a 3 m high standard highway boundary wall.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses paid tier and authentication behavior (returns TIER_INSUFFICIENT), default reinforcement zero, and lists computed items (excavation, drainage, etc.). No contradiction with annotations. Could mention idempotency or side effects, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is informative but somewhat verbose, with detailed standards codes and pattern discussion. It front-loads the critical paid tier info, but the length could be reduced without loss of essential meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested object, output schema), the description is comprehensive: covers variants, standards, alternatives, authentication, and computed outputs. Leaves little ambiguity for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaningful context to parameters beyond the schema, e.g., explaining the 'wall_type' discrimination, the nominal_face_reinforcement parameter, and the eight variant presets. Schema description coverage is 50%, and the description compensates by explaining parameter combinations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for a mass concrete gravity retaining wall, specifying concrete grades and cross-section. It distinguishes from the sibling tool 'compute_cantilever_wall' by mentioning it as a free-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states paid tier requirement, provides alternative free tool, lists eight variant presets, and describes typical use cases (e.g., highway boundary wall). Also gives conditions for when to use (gravity walls) and when not (use cantilever if not authenticated).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_gullyCompute Highway / Curtilage Gully with Connection BoQB
Read-only
Inspect

Free 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description does not contradict this. It adds behavioral details: 'Free tier. Anonymous callers welcome.' and internal logic like 'connection drain re-uses the bedding primitive,' providing useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

At five sentences, the description is relatively concise. However, the first two sentences ('Free tier...') are tangential to purpose and could be moved or integrated. The technical details are front-loaded but could be more focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested object, output schema), the description is incomplete. It does not explain the output format or how parameters affect the computation. The mention of 'four-standard rendering' is vague without defining the output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for top-level parameters. The description mentions only a few sub-parameters implicitly (kerb outlet, connection drain) but does not explain the majority (e.g., pot_depth_m, grating_type, connection_material). An agent must rely entirely on the schema, which also lacks descriptions for many fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a 'composite drainage inlet' consisting of specific components (gully pot, grating, kerb outlet, connection drain). The name and title reflect this, distinguishing it from sibling compute tools for other drainage structures like catchpits or manholes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description mentions 'highway/curtilage' in the title but does not provide scenarios or exclusions. With many sibling tools, an agent lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_hard_material_in_trenchCompute Hard Material in Trench (extra-over) BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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 hard material). This is the MMHW/SMM7 quantity directly. - `trench_width_m` is the trench plan width at the level of the hard material — used (with height_of_hard_material_m and length_m) to compute the volumetric quantity used by CESMM4/NRM2. - `height_of_hard_material_m` is the vertical extent of hard material within the trench section — the bottom of the trench wraps the pipe envelope, so the hard-material height is typically less than the full trench depth. This is the QS's judgment, informed by site investigation. - `max_depth_m` is the depth (from finished ground level) to the bottom of the hard-material zone — drives the depth banding in all four handlers. - `pipe_diameter_mm` is descriptive only — propagated to the WorkItem for cross-referencing the carrier pipe. Volume = length_m × trench_width_m × height_of_hard_material_m.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, and the description adds critical behavioral context: paid tier requirement, error handling (TIER_INSUFFICIENT), output format (dual-quantity WorkItem with length_m and volume_m3), and special handling for SMM7 (zero-priceable annotated line). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with critical info (paid tier, purpose) and organized into clear sections. However, it includes some extraneous details (closure of leaf, sibling assembly numbers) that could be omitted for conciseness. Still, every sentence adds value to an agent selecting or invoking the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (multiple standards, dual quantities, eight presets, paid tier) and the presence of an output schema, the description covers all necessary aspects: purpose, usage restrictions, parameter details, output behavior, and sibling context. It is comprehensive and leaves no major gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides extensive semantics beyond the schema, including a detailed 'Geometry interpretation' section explaining each parameter's role (e.g., length_m as chainage extent, trench_width_m for volume computation). The volume formula is given, and the hard_material_type enum is explained with standard mappings. This compensates for low schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb ('linear extra-over measurement') and identifies the resource ('hard material encountered during drainage trench excavation'). It clearly distinguishes between two types of hard material and references multiple standards, making the tool's purpose unmistakable among many similar computational tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that the tool is paid tier only and provides a free-tier alternative (compute_manhole). It also mentions the context of closing a leaf and lists sibling assemblies, giving the agent clear context for when this tool should be used versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_headwallCompute Reinforced Concrete Outfall Headwall BoQB
Read-only
Inspect

Free 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description adds that it is a free tier with anonymous callers welcome, which is a behavioral disclosure beyond annotations. It does not contradict annotations and provides additional context about accessibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences, front-loading the free and anonymous nature. It efficiently describes the headwall components and standards without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (30+ parameters, multiple siblings, output schema exists), the description only covers the tool's purpose and high-level features. It lacks details on parameter usage, return values, or how to properly configure inputs, making it incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (only one property has a description). The description does not explain any parameters beyond vague mentions of construction method and standards. It fails to compensate for the lack of schema descriptions, leaving the agent without guidance on the many dimensions, reinforcements, and other inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state the tool computes a BoQ for a reinforced concrete outfall headwall. The description specifies the structure (back wall, wing walls, apron, scour protection) and construction types (in-situ or precast), distinguishing it from siblings like compute_headwall_precast and compute_headwall_attenuation_outlet.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for outfall headwall BoQ calculation and mentions four standards (CESMM4, NRM2, MMHW, SMM7), but does not explicitly state when to use this tool over alternatives or when not to use it. No direct comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_headwall_attenuation_outletCompute Headwall — Attenuation Outlet BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 valve, weir overflow, penstock), plus a scour protection variant.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the `readOnlyHint` annotation by disclosing the paid tier requirement and the TIER_INSUFFICIENT response. It also explains the composition pattern and commercial significance, which are not captured by annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and includes technical jargon (e.g., 'bundle-with-shared-envelope pattern') that may reduce clarity for some users. It front-loads critical information (paid tier, alternative) but could be more concise to improve readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity with multiple components and parameters, the description provides a good overview of what it does, its commercial implications, and how it relates to siblings. It omits details about the output schema, but since an output schema exists, this is acceptable. Slightly more detail on usage patterns would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides detailed descriptions for many parameters (e.g., size, bedding_type, scour_protection_type). The tool description adds high-level context but does not directly elaborate on each parameter. Schema description coverage is 50%, so the description complements adequately but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: computing a BoQ for a controlled attenuation outlet headwall with precast concrete headwall, outlet-control ironmongery, and scour protection. It distinguishes from the free-tier sibling `compute_headwall` and specifies the paid tier requirement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and directs users to the free-tier alternative `compute_headwall` for cases without authentication or budget. It also explains when to use this tool over others based on commercial and pattern constraints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_headwall_precastCompute Precast Concrete Outfall Headwall BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 manufacturer differs.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide 'readOnlyHint: true', and the description adds context about authentication requirements, tier-based access, and the error message returned otherwise. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and front-loaded with the critical paid-tier warning. All sentences add value, though it could be slightly restructured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count and existence of an output schema, the description covers the essential purpose, scope, and alternatives. It lacks detailed parameter guidance but is sufficient for understanding the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, and the tool description provides general context (excavation, bedding, scour protection) but does not individually explain all parameters. Some parameters lacking schema descriptions are not addressed in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title 'Compute Precast Concrete Outfall Headwall BoQ' and description clearly state the tool's purpose: computing a Bill of Quantities for precast concrete outfall headwalls. It specifies the resource (precast headwall), verb (compute), and distinguishes from the free-tier sibling 'compute_headwall'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and directs users to the free-tier alternative 'compute_headwall' for non-authenticated access. It clearly indicates when to use this tool (paid, authenticated account) and when not to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_highway_drainage_channelCompute Highway Drainage Channel BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInputs for the highway_drainage_channel assembly. Required: channel_type — ChannelType enum (or string equivalent) depth_class — DepthClass enum (or string) channel_depth_mm — actual channel depth in mm channel_length_m — channel run length in metres Optional: outfall_type — OutfallType enum (or string); defaults to END_OUTFALL when outfall_count > 0 outfall_count — number of primary outfalls (default 1) branch_outfall_count — number of additional branch outfalls (default 0) silt_box_type — SiltBoxType enum (or string); required when silt_box_count > 0 silt_box_count — number of silt boxes (default 0)
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond the readOnlyHint annotation, including the tier restriction and detailed computation logic (e.g., 20-cell grid via 5 channel types × 4 depth classes). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and includes highly specific internal details (e.g., 'FOURTH 2D-banded handler', 'code 500.8.{t}.{d}'), which may hinder quick scanning. It is structured but lacks brevity for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested objects) and the presence of an output schema, the description provides substantial context about standards, classification, and processing logic. It adequately supports agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions for parameters are already comprehensive, covering enums and defaults. The tool description does not add further parameter semantics beyond what the schema provides. Baseline of 3 applies as schema coverage is effectively 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes Highway Drainage Channel BoQ, referencing specific standards (BS EN 1433, SHW, HD 33/16) and listing channel classifications. It distinguishes from siblings by mentioning the free-tier alternative compute_end_area_earthworks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes it is paid tier only and provides a free alternative, effectively guiding when to use. However, it does not elaborate on alternative tools for related drainage tasks within the same tier.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_kerb_runCompute Precast Concrete Kerb Run BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInput 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 on the back face.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, and the description adds behavioral context: paid tier requirement, output items (excavation, sub-base, concrete, etc.), and supported standards. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough and front-loaded with the critical tier restriction. Every sentence adds value, though it could be slightly more concise given the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers all essential aspects: purpose, outputs, standards, and tier restriction. Since an output schema exists, return values are not expected in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%. The description provides overall context for the parameters but does not add detailed per-parameter semantics beyond what's in the schema. Adequate but not compensatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a BoQ for linear precast concrete kerb run, specifying materials and standards. It differentiates from the sibling tool compute_cantilever_wall by noting the paid-tier restriction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Paid tier only' and provides an alternative free-tier tool (compute_cantilever_wall). Does not elaborate on other when-to-use scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_lighting_columnCompute Lighting Column BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInputs 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 typical). Required-field defaults added per G.6.7.24 precedent — non-breaking API enrichment opens the slug to schema- driven workspace defaults.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, which is consistent with a compute operation. The description adds no contradictions. It discloses the paid tier requirement and authentication, but does not elaborate further on side effects or state changes beyond the read-only nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long with three sentences containing many technical details. It is front-loaded with the paid tier info, but the detailed classification grid discussion could be streamlined. It is adequately concise for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (24-cell grid, multiple enums) and the presence of an output schema, the description covers authentication, purpose, discrimination logic, and standard references. It does not describe return values, but the output schema fills that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains how enums like column_type, foundation_type, luminaire_type, and bracket_type are used as discriminators in the computation, adding meaning beyond the schema descriptions. Schema coverage is ~50%, but the description compensates by explaining the role of parameters in the banding grid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies 'Highway / street lighting column installation per BS EN 40 + BS 5489-1:2020 + TR 22', clearly stating it computes BoQ for lighting columns. It distinguishes from siblings by mentioning the free-tier alternative compute_end_area_earthworks, but does not explicitly differentiate among other compute_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and provides an alternative: 'use the free-tier alternative compute_end_area_earthworks'. It also warns of the TIER_INSUFFICIENT error without authentication. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_manholeCompute Precast Concrete Circular Manhole BoQB
Read-only
Inspect

Free 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds that it is free tier and accepts anonymous callers, which is valuable context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with important free/anonymous info, but the second sentence is a long list that could be more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, and the description states it computes BoQ, but for a tool with many parameters, it lacks detailed input instructions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain individual parameters despite listing the composite assembly components.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a BoQ for a precast concrete circular manhole and lists components, but does not explicitly distinguish from the sibling compute_manhole_precast, which could be confusing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as compute_manhole_precast or other compute tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_manhole_precastCompute Precast Concrete Monolithic Manhole BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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``. Override individual fields if a specific manufacturer differs.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and description does not contradict. Description adds context about paid tier error (TIER_INSUFFICIENT) and the full scope of manhole components and standards, providing behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is dense and informative but lengthy (several sentences). Front-loads the paid tier info, but overall structure is a single paragraph. Could be more concise with bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given complex tool with many parameters and existing output schema, description covers purpose, constraints, standards, and alternatives. Lacks example usage but is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 50% schema description coverage, the description adds context about catalogue-driven sizing and overriding fields, but does not explain individual parameters beyond size range. Adequate but could do more to highlight key parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Compute Precast Concrete Monolithic Manhole BoQ' and describes the specific type of manhole. Distinguishes from sibling compute_manhole by noting paid tier and free alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions paid tier requirement and provides free alternative compute_manhole. Implicitly indicates usage for monolithic precast manhole calculations. Does not explicitly exclude other manhole types but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_pad_foundationCompute Concrete Pad Foundation BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals beyond annotations that the tool requires a paid account and returns a specific error if not authenticated. Annotations already indicate readOnlyHint (non-destructive), and the description adds paid-tier context, which is valuable behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, tightly packed with critical information first (paid tier, error, alternative), followed by the foundation type and technical details. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description sets high-level context (paid tier, foundation type, standards) but lacks parameter guidance and does not explain what the BoQ output contains. An output schema exists, which partially compensates, but for a complex tool with many parameters, more detail is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and 19 parameters in the nested params object, the description provides no per-parameter meaning. It only mentions 'optional pedestal' but does not explain any of the defaulted parameters or how they influence the computation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a Bill of Quantities for a concrete pad foundation, distinguishing it from the free-tier alternative compute_cantilever_wall. It also mentions specific standards (BS 8666:2020) and features like optional pedestal, making the purpose explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and provides a clear alternative (compute_cantilever_wall) for free use. It also warns about the TIER_INSUFFICIENT error for unauthenticated calls. However, it does not cover other usage conditions like parameter constraints or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_parapetCompute Parapet (Bridge / Structural Deck) BoQB
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInputs for the parapet assembly. Required: parapet_type — ParapetType enum (or string equivalent) containment_level — ContainmentLevel enum (or string) parapet_height_mm — nominal parapet height above deck in mm parapet_length_m — parapet run length in metres Optional: post_count — number of enumerated posts (default 0 — posts deemed-included in parapet m-rate). Set > 0 only for contracts requiring specialist per-post pricing. transition_type — TransitionType enum (or string). Required if transition_count > 0. transition_count — number of transition pieces (default 0).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, implying no side effects, but the description details 'opens highway_bridge_edge L2 leaf,' 'closing the highway suite,' and 'launch target,' suggesting state-modifying actions. This is a direct contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly verbose with many technical details and internal platform references (e.g., 'MMHW Series 400 _parapet handler,' 'LAUNCH-COMPLETING 45TH ASSEMBLY'). It front-loads important info but then descends into confusing jargon, reducing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite complexity (multiple enums, standards, and an output schema likely present), the description focuses on internal mechanics rather than explaining what the tool outputs (e.g., BoQ quantities) or how parameters affect results. Missing context on return values and practical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description adds context for parapet_type and containment_level with standard references. However, much of the description is extraneous internal jargon (e.g., 'SEVENTH 1D-banded handler') that does not aid parameter understanding, limiting added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for bridge/structural deck parapet installation per multiple UK standards (BS 6779-1, BS EN 1317-2, SHW Cl. 408). It specifies the parapet system classifications and discriminators, making its purpose distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes it is paid-tier only and names a free-tier alternative (compute_end_area_earthworks). It provides authentication requirements and references standards, but lacks comprehensive guidance on when to prefer this over all 44 sibling compute tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_permeable_pavementCompute Permeable Pavement (CIRIA C753 SuDS) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInput 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 case.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true, but description adds critical behavioral traits: requires paid account, details output components (excavation, tanking liner, etc.) and routing logic via discriminators. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is dense but well-structured, front-loading the paid tier warning. Every sentence adds value, though overall length could be reduced. Technical details are necessary for this complex tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested object, output schema exists), the description covers standards, output components, and routing logic. It is sufficiently complete for an agent to use, though some parameter details rely on schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% and schema includes descriptions for many parameters (surface_type, infiltration_system, etc.). Description adds context on UK standards and mapping to PavementFamily enum, but does not significantly enhance understanding beyond schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes permeable pavement BoQ per CIRIA C753, specifies the three UK surface types and infiltration regimes, and distinguishes it from siblings like compute_flexible_pavement and compute_end_area_earthworks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states it is paid tier only, warns of TIER_INSUFFICIENT error without authentication, and provides a free-tier alternative (compute_end_area_earthworks). Also implies usage context for UK civil engineering projects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_petrol_oil_interceptorCompute Prefabricated Petrol/Oil Interceptor (Separator) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 (full retention vs bypass).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations declare readOnlyHint=true, the description adds valuable behavioral context: it requires authentication, returns TIER_INSUFFICIENT on failure, and opens the drainage_treatment leaf. It does not contradict annotations and supplements them with concrete behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the critical paid-tier warning, but it is lengthy and includes many engineering specifics (e.g., code references) that, while informative, reduce conciseness. It is organized but could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the presence of an output schema (which doesn't need explanation), and the detailed parameter descriptions in the schema, the tool description covers the essential aspects for correct selection and invocation, though it could explicitly state the output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 50% schema description coverage, the description adds meaning for key parameters (size, class, type) by explaining their roles and values, but many sub-parameters (dimensions, quantity) lack elaboration. The description partially compensates but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description explicitly state the tool computes a Bill of Quantities for a prefabricated petrol/oil interceptor, specifying the resource (BoQ) and action (compute). It distinguishes from sibling tools like compute_manhole by noting it's a paid-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states the tool is paid-tier only and provides an alternative (compute_manhole) for free-tier users. It also explains when to use it (e.g., for hot-spot catchments) and routes via multiple standards, giving explicit context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_pipe_beddingCompute Pipe Bedding and Surround BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide readOnlyHint: true. The description adds the tier restriction and error response, which is beyond annotations. It also describes the design pattern (strategy) and standards used, aiding understanding. No behavioral contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the tier restriction. Every sentence provides distinct value: tier info, alternative, design pattern, standards, and outputs. Slightly long but justified by complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex nested schema and presence of output schema, the description covers overall strategy, standards, and emission items. It lacks detailed parameter explanations but provides enough context for tool selection. With output schema available, return values are documented elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It explains the key parameters like bedding_class and bedding_context at a high level (highway vs building, class list) but does not detail other parameters like pipe_length or invert_depth. The schema has good enum descriptions, so the description adds some but not full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes pipe bedding and surround BoQ, specifies the domain (highway vs building with standard references), and lists emitted items. It explicitly distinguishes from sibling tool compute_manhole by noting the free-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states paid-tier requirement and error behavior ('TIER_INSUFFICIENT'), provides sign-up link, and names the free-tier alternative compute_manhole. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_pipework_testingCompute Pipework Testing (drainage) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters for a single pipework testing measurement.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses paid tier authentication requirement and TIER_INSUFFICIENT error beyond the readOnlyHint annotation. Explains the maturity pattern introduced, adding valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise relative to information density; front-loaded with critical usage constraint. Each sentence adds value, though length is justified by complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, constraints, standards, maturity pattern, sibling relation, and presets. Complete for a complex tool with output schema present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description adds context about variant presets and test_method as discriminator, but schema already provides detailed descriptions for test_method. Schema coverage is 50%, so description could compensate more but only marginally adds value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it provides linear measurement of testing on new drainage pipework, listing specific test methods and standards. Distinguishes from siblings by being part of drainage_ancillaries L2 leaf.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Specifies paid tier requirement and suggests free-tier alternative compute_manhole. Provides context for when to use this tool, though not explicit exclusions for all siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_reinforced_soil_wallCompute Reinforced Soil Wall (RSW) BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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-specified geometries across all four RSWFacing options. Sensible defaults yield a 6m highway-approach PRECAST_PANEL wall.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description adds behavioral context about returning TIER_INSUFFICIENT without authentication, which is valuable. No contradiction noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the most critical info (paid tier, free alternative) but becomes excessively detailed with references to work codes and variant presets, reducing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with many parameters and siblings, the description covers purpose, authentication, alternative, and facing options. Output schema exists, so return values need not be detailed, but error handling beyond authentication is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides detailed explanations of the four facing systems and typical uses, adding meaning beyond the schema's descriptions. While many sub-parameters have schema descriptions, the tool-level description contextualizes parameter choices effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it computes an RSW BoQ, names the paid tier requirement, and distinguishes from the free sibling tool compute_cantilever_wall. This gives a clear verb+resource with differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use (paid tier) and provides an explicit free alternative (compute_cantilever_wall). However, it does not guide on choosing among other wall compute tools like compute_gabion_wall or compute_gravity_wall, leaving some gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_rigid_pavementCompute Rigid (Concrete) Pavement Build-Up BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesInput 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 boundary. No capping by default.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations indicate readOnlyHint, the description adds important behavioral context: it requires authentication, returns TIER_INSUFFICIENT for unpaid accounts, and details the computational routing. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed and well-structured, front-loading critical info (paid tier) and organizing components and routing. It is slightly long but every sentence adds value; minimal redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (rigid pavement with multiple layers, standards, and reinforcement), the description is comprehensive. It covers paid restriction, components, defaults, routing, and even cites specific standards (DMRB CD 226, BS 8666:2020). The presence of an output schema further reduces need for return value explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains defaults (e.g., 50m x 7m urban distributor, JRC with 25m bay) and context for parameters beyond the schema. The schema itself has detailed descriptions (e.g., pavement_type enum meanings), but the description adds real-world usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a rigid pavement build-up BoQ, specifying components like capping, sub-base, membrane, and slab variants. It distinguishes itself from siblings like compute_flexible_pavement and compute_end_area_earthworks, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions paid tier requirement and provides an alternative free-tier tool (compute_end_area_earthworks). It also implies use for rigid pavement, not other pavement types, giving clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_road_markingCompute Road Marking BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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.7.24 precedent — non-breaking API enrichment opens the slug to schema-driven workspace defaults and defaults- based parity-fixture regen. Geometry interpretation: - ``line_length_m`` is the linear length of the primary marking line (continuous edge/centre line, broken pattern, etc.). UK practice measures along the line centreline. Set to 0 if no primary line is part of the installation. - ``secondary_line_length_m`` is for installations with two distinct line types (e.g. broken_short main centreline + broken_long hazard section). Set to 0 to omit. The secondary line shares the same width_class and material as the primary line. - ``area_m2`` is the m² of painted area marking (hatched chevron, ghost island, box junction, etc.). Set to 0 if no area is present. - ``symbol_count`` is the number of distinct painted symbol occurrences (arrows, words, give-way triangles). Set to 0 if no symbols are present. - ``stud_count`` is the number of reflective road studs. Set to 0 if no studs are present. Discrimination & banding: - ``marking_line_type`` discriminates the description text for the ROAD_MARKING_LINE WorkItem(s). Required if line_length_m > 0. - ``line_width_class`` discriminates the BANDED CODE in MMHW (1D-banding axis) and the description text in other standards. - ``area_marking_type`` discriminates description for the ROAD_MARKING_AREA WorkItem. Required if area_m2 > 0. - ``symbol_type`` discriminates description for the ROAD_MARKING_SYMBOL WorkItem. Required if symbol_count > 0. - ``stud_type`` and ``reflective_colour`` discriminate description for the ROAD_STUD WorkItem. Required if stud_count > 0. - ``marking_material`` is carried on every description but is NOT a discriminator or banding axis (UK QS convention).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses authentication requirements and tier insufficiency, and references read-only behavior via the 'readOnlyHint' annotation. The annotation confirms it's a read operation, and the description adds context about authentication and tier restrictions, which are helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose and includes internal implementation details (e.g., 'THIRD member of the highway L1 leaf', '26th use of classed-then-legacy') that are not helpful for an agent. It could be more concise and front-loaded with agent-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, nested objects, enums, discriminators, and UK standards references), the description covers the purpose, usage constraints, parameter semantics, and presets thoroughly. The output schema exists, so return values need not be explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the schema by explaining geometry interpretation (line_length_m vs area_m2), discrimination/banding logic, and defaults anchored to a specific scenario. Given 50% schema coverage, the description compensates well, providing essential usage context for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a road marking Bill of Quantities, specifies it is paid tier, and distinguishes from sibling 'compute_end_area_earthworks' as a free alternative. It details the classifications (marking_line_type, area_marking_type, symbol_type, stud_type) making it easy to understand its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions the tool is paid tier and suggests the free alternative 'compute_end_area_earthworks'. It also notes authentication requirements, but does not explicitly state when to use this tool over other siblings beyond the paid/free distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_single_service_runCompute Single Service Run BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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, and that's it. The wrapper builds the equivalent ``ServiceBand`` + single-band ``CombinedServicesTrenchParameters`` internally. All defaults align with NJUG 7 minimum-cover guidance for the selected service type (resolved at compute-time via the same ``_NJUG_DEFAULTS`` table that CST consumes).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation readOnlyHint=true indicates no side effects. The description adds context about wrapping the combined engine and re-tagging emissions. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively long but efficiently packs essential info (pricing, alternatives, internal mechanics, standards) without redundancy. Front-loaded with the most critical detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (many parameters, standards, internal wrapping) and the presence of an output schema, the description covers the core functionality and integrates well with the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but the description adds value by explaining that defaults align with NJUG 7 and that the function builds internal objects. Some sub-parameters have schema descriptions, but the overall description compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Single-service utility run per NJUG Volume 1' and lists the specific services (water, gas, etc.). It distinguishes from siblings like compute_combined_services_trench by noting it wraps the combined engine for a single band.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions it is paid-tier only and directs users to the free-tier alternative compute_manhole. This provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_soakawayCompute Infiltration Soakaway (CIRIA C753) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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) — preferred for any catchment > 1 ha or where the upstream model is the design-of-record. (b) ``catchment_area_m2`` + ``rainfall_depth_mm`` + ``runoff_surface_type`` (or ``runoff_coefficient_override``) — the rational-method shortcut, appropriate for small-catchment soakaways (housing estate, supermarket forecourt, small commercial yard) where a senior QS / drainage engineer would sketch the design from these three numbers. If both are specified, ``design_storm_volume_m3`` wins. Soil characterisation: - ``measured_infiltration_rate_m_per_s``: from a BRE 365 falling-head soakage test on site - ``confidence``: per C753 Table 25.4 — LOW (single test, FoS=10), MEDIUM (2-3 tests, FoS=4), HIGH (≥3 tests + groundwater monitoring, FoS=2) - ``hot_spot``: per C753 §25.5 — LOW (residential / amenity), MEDIUM (car parks, minor roads), HIGH (A-roads, large car parks), VERY_HIGH (forecourts, lorry parks — not permitted without pre-treatment) Geometry: Rectangular plan, prismatic depth. The depth here is the effective storage depth (water level at design fill); the attenuation_tank's ``cover_to_tank_top`` covers the soil cover above the granular surround. The granular fill type is governed by the underlying attenuation_tank delegate — pick ``tank_type=CRATE`` for modular geocellular soakaways (typical for high storage / low footprint) or ``tank_type=PIPES`` for large-bore concrete pipe soakaways (typical for highway and industrial). The ``void_ratio`` here applies to the granular-fill case (TankType.CRATE with ``crate_void_ratio`` becomes a free user choice; for the pipe case the pipes themselves provide the storage volume).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite readOnlyHint annotation, description adds substantial behavioral context: authentication needed, wraps attenuation_tank, emits specific items, and imposes constraints on hot-spot categories. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with critical access info. While thorough, the description is somewhat lengthy; however every sentence provides value and maintains logical flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers authentication, usage constraints, parameter semantics, behavioral notes, and references to standard and output. Fully equips agent to decide and invoke correctly despite complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond input schema by explaining two design storm specification methods, soil characterization parameters (infiltration rate, confidence, hot-spot), and geometry usage. Complements the detailed schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it computes a CIRIA C753 infiltration soakaway and BoQ. Differentiates from sibling compute_attenuation_tank by specifying it is a paid-tier alternative. Specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states paid-tier requirement, authentication behavior, and refers to free-tier alternative compute_attenuation_tank. Also notes the engine refuses VERY_HIGH hot-spot catchments per C753 restrictions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_soil_nailed_slopeCompute Soil-Nailed Slope BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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 slope angle from horizontal (typically 50-80° for soil-nailed cuts). - ``slope_length_m`` is the horizontal length along the slope crest — the spatial extent of the assembly along the highway alignment. - ``nail_rows`` is the number of horizontal rows of nails; ``nail_horizontal_spacing_m`` and ``nail_vertical_spacing_m`` give the in-row and between-row centres (m). - ``nail_length_m`` is the design nail length (excavation + bond length; same for all nails in this assembly — for variable-length schemes, instantiate multiple assemblies). - ``nail_inclination_deg`` is the angle below horizontal of the nail axis (typically 10-20°). Face-system attributes (used only if relevant to ``face_system``): - ``shotcrete_thickness_mm`` / ``shotcrete_grade`` / ``face_mesh_designation`` — SHOTCRETE_MESH only. - ``panel_thickness_mm`` / ``panel_concrete_grade`` — HARD_FACING_PANEL only. - ``geogrid_grade`` / ``topsoil_thickness_mm`` — VEGETATED_GEOGRID only.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true. The description adds value by disclosing the authentication requirement and the TIER_INSUFFICIENT error, which is beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very long and dense with detailed code references and enumeration of patterns. While front-loaded with critical info, it could be trimmed for readability without losing essential guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, four face systems, multiple standards), the description is remarkably comprehensive. It covers geometry, face system choices, and coding standards, leaving little ambiguity for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 50% schema description coverage, the description provides extensive context for parameters, including geometry interpretation, face-system-specific attributes, and instructions on how to handle variable-length schemes. This greatly enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for soil-nailed slopes. It distinguishes itself from siblings by mentioning its place in the earth_structures hierarchy and comparing to the free-tier alternative compute_cantilever_wall.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states this tool is for paid users only and provides the free alternative. It details when to use each face system for different scenarios, giving clear guidance on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_strip_foundationCompute Concrete Strip Foundation BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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. Reinforcement is 2T16 bottom + 2T12 top with T8 transverse distribution at 250 centres — a conservative starting point refineable per loading.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. Description adds authentication requirement, error behavior, standards integration, and stepping feature. No contradictions; adds valuable context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence adds value: paid tier warning, alternative, functionality, launch context, standards, and stepping demo. Front-loaded with critical info. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage constraints, standards, and integration. Output schema exists so return values are not needed. Missing guidance on the 'standard' parameter, but overall sufficient given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description covers the params object with detailed defaults explanation (baseline 3). Description does not add further parameter details beyond the schema, nor does it explain the 'standard' enum. Adequate but not exceptional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a Bill of Quantities for linear reinforced concrete strip foundations, level or stepped. It distinguishes itself from siblings by naming the free-tier alternative compute_cantilever_wall and positioning itself alongside pad_foundation in the P1 launch set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states paid-tier requirement, returns TIER_INSUFFICIENT if not authenticated, and provides free-tier alternative. Mentions integration with BS 8666:2020. However, it lacks explicit guidance on when to use this vs other foundation tools like pad_foundation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_swaleCompute SuDS Swale (CIRIA C753) BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, consistent with a computation tool. Description adds authentication requirements and error handling context. No contradictions, but lacks details on output or side effects beyond the tier check.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is informative and well-structured, but slightly verbose. Key information is front-loaded (paid tier, alternative) and technical details follow. Could be trimmed slightly without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (19 parameters, nested objects) and presence of output schema, the description provides a solid overview of the tool's domain and design palette. Lacks detailed parameter explanations but sufficient for an experienced agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% - no parameter descriptions in schema. The description adds high-level context (lining strategies, optional check-dams) but does not explain each parameter individually. Baseline 3 is appropriate given moderate compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a SuDS swale BoQ per CIRIA C753, with specific channel types and strategies. It distinguishes itself from sibling tools by naming the free-tier alternative compute_attenuation_tank.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly declares paid-tier requirement and auth failure behavior (TIER_INSUFFICIENT). Provides a direct alternative (compute_attenuation_tank) for free tier users. Mentions cross-standard compatibility.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_traffic_signCompute Traffic Sign BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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* length, not the often-greater driven/embedded length). For gantry signs, this is the height of each gantry leg. - ``post_count`` is the number of supporting posts. Typical values: 1 (small warning/regulatory), 2 (twin-post directional, gantry legs). - ``faces`` is the number of distinct sign faces on the assembly. A single gantry can carry 1-3 distinct sign faces (one per lane); a twin-post directional can carry advance and confirmation faces. Face geometry: - ``actual_face_area_m2`` is the m² of a single face (used for face-area descriptions; the WorkItem quantity is enumerated per face). Foundation: - ``foundation_type`` carries the SHW Cl. 1204 classification. - ``concrete_grade`` is for description text — concrete is deemed-included in the foundation unit rate (no separate CONCRETE line emitted). - ``approximate_foundation_volume_m3`` is for description text only — UK QS convention does not measure sign-foundation concrete separately (see SHW Cl. 1204).
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, implying no state mutation. The description adds value by disclosing the authentication behavior (returns TIER_INSUFFICIENT without account) and the paid tier requirement. It also lists classification standards but does not explicitly confirm read-only nature. The added context about error handling justifies a 4.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively verbose, including irrelevant internal metadata such as '25th use of classed-then-legacy attribute discrimination pattern' and '41st assembly'. This padding detracts from conciseness and readability. The key information could be conveyed in half the length, making it harder for an agent to parse efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, multiple classification standards, output schema exists), the description covers essential contextual information like TSRGD classifications and work category entries. With the output schema handling return structure, the description does not need to explain output format. It is sufficiently complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has detailed descriptions for most parameters (e.g., sign_type, face_area_class), giving high schema coverage. The tool description adds strategic context, such as the five commercial presets ('rural warning triangle on single post') and the standards codes (CESMM4, NRM2, MMHW). This extra layer helps the agent understand real-world usage beyond the schema, warranting a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a bill of quantities for traffic sign installation per specific standards (SHW, TSRGD). It identifies the verb 'compute' and the resource 'Traffic Sign BoQ'. It also differentiates from the free-tier sibling tool compute_end_area_earthworks. However, the description is cluttered with internal assembly hierarchy details (e.g., 'SECOND member of the highway L1 leaf') that do not directly aid purpose clarity, so it falls short of a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Paid tier only' and warns of a TIER_INSUFFICIENT error if not authenticated. It provides an immediate alternative: 'use the free-tier alternative compute_end_area_earthworks'. This gives clear when-to-use and when-not-to-use guidance, which is excellent for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_utility_chamberCompute Utility Access Chamber BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameter 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 read from ``_CATALOGUE``. Any field left as ``None`` resolves to the catalogue default at ``__post_init__`` time; an explicit value wins. The ``supply_route`` parameter follows the same rule: ``None`` → catalogue default (UTILITY_PROVIDER_SUPPLY for JC1–JC4, CONTRACTOR_FULL for the other six). Setting an explicit value overrides — e.g. setting ``SupplyRoute.CONTRACTOR_FULL`` on a JC2 captures the private-estate case where the chamber is contractor- supplied rather than Openreach-supplied.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses catalogue-driven behavior and defaulting mechanisms for chamber type and supply route. Annotations indicate readOnlyHint=true, which is consistent with a computation tool. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose (over 150 words) with dense technical details. While informative, it could be more concise; the front-loading of payment info is good, but the latter part may overwhelm an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (catalogue, multiple standards, many parameter defaults), the description provides a comprehensive overview. References to CESMM4, NRM2, etc., and an output schema likely fill remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 50% schema coverage, the description adds significant semantic value: explains catalogue defaults, supply route overrides, and how parameters resolve. It more than compensates for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for a utility access chamber, covering ten standard UK types. It distinguishes itself from the sibling compute_manhole by specifying it's a paid-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Paid tier only' and provides a free-tier alternative (compute_manhole). Also mentions authentication requirement and points to a sign-up link for access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_utility_kiosk_baseCompute Utility Kiosk Base BoQA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description adds important behavioral context: it requires authentication, returns a TIER_INSUFFICIENT error if unauthorized, delegates to pad_foundation for substructure, and has catalogue-driven defaults for supply routes. This helps the agent understand side effects and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph containing all critical information (pricing, types, delegation, defaults). It is front-loaded with the most important detail (paid tier) but could benefit from bullet points or sub-sections for readability. Every sentence adds value, but overall density makes it less scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (19 parameters, nested schema, output schema exists), the description covers the essential aspects: what it computes, the kiosk types, supply route logic, relation to pad_foundation, and access requirements. The output schema is already defined, so return values need not be explained. The description is sufficient for an agent to select and use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the kiosk_type and supply_route parameters by explaining typical defaults (e.g., LV pillars are normally utility-provider-supplied). However, many other parameters (top_mat, cover_mm, etc.) are not elaborated, and the schema itself has minimal descriptions (only kiosk_type has a description). The domain context helps but doesn't fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it computes a BoQ for utility kiosk bases, listing specific types (LV pillar, FTTC cabinet, etc.) and distinguishing it from siblings like compute_manhole (free-tier alternative) and compute_pad_foundation (which it delegates to). The verb 'compute' combined with the resource 'Utility Kiosk Base BoQ' is specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states this is a paid-tier tool, requires authentication, and points to a free alternative (compute_manhole). It also explains the typical usage context (utility cabinets). While it doesn't exhaustively list when not to use, the guidance is clear and practical.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compute_vehicle_restraint_systemCompute Vehicle Restraint System (VRS) BoQA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters 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 of supporting steel posts (irrelevant for INSITU and PRECAST_SLAB foundation types). Typical UK values: 2.0m (TCB), 4.0m (TCB W6 variant), 3.2m (wire rope), 1.5m (high-containment hybrid). - ``terminals_per_run`` is typically 2 (one at each end of a continuous run); can be 1 for a barrier that returns into a structure at one end. - ``transitions`` is the number of system-type transitions within the run (e.g. to a parapet or to a different VRS type). Zero is normal for a single-system run. System-type-specific attributes (set only those relevant to the variant's ``vrs_system_type``): - ``beam_thickness_mm`` — corrugated-beam variants only. - ``wire_strands`` / ``wire_tension_kn`` — wire rope only. - ``concrete_grade`` / ``concrete_cross_section_m2`` / ``reinforcement_kg_per_m`` — concrete variants only. - ``foundation_width_m`` / ``foundation_depth_m`` — INSITU_FOUND foundation only. - ``precast_unit_length_m`` — precast variants only.
standardNoMMHW

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true, consistent with computing a BoQ. The description adds valuable behavioral context, such as the tool being part of a larger assembly system and pattern usage, without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with clear sections and bullet points. Front-loads the important paid tier warning and purpose. Every sentence adds value, though could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters, 50% schema coverage, existing output schema), the description is highly complete. Explains purpose, usage, parameter details, coding references, and even notes the tool's novelty in patterns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, but the description extensively explains enum parameters (vrs_system_type, foundation_type, etc.) and geometry interpretation. Adds meaning beyond the schema for critical parameters, compensating for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes a Bill of Quantities for vehicle restraint systems per SHW Cl. 401-419 and BS EN 1317. It distinguishes itself from siblings by noting it is the first member of the highway_restraint leaf and mentions a free-tier alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Paid tier only' and provides instructions on authentication failure. Recommends the free-tier alternative compute_end_area_earthworks. Provides detailed guidance on when to use each vrs_system_type, containment level, and working width class.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_projectGet projectA
Read-only
Inspect

Fetch a previously saved CivilQuants project by id. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds value beyond readOnlyHint annotation by disclosing the paid-tier constraint and the TIER_INSUFFICIENT error envelope. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the core action. Every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Suitable for a simple retrieval tool with an output schema. Covers purpose, auth requirement, and existence condition. No missing critical details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description only adds 'by id', which is minimal. Does not elaborate on project_id format or where to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches a project by ID, using a specific verb and resource. It distinguishes from sibling compute_* and save_project tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions paid-tier restriction, providing clear context on who can use it. Does not explicitly exclude alternatives, but the purpose is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recompute_projectRecompute projectB
Read-only
Inspect

Re-run every enabled assembly in a saved project and render aggregated BoQs across the requested measurement standards. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Re-run every enabled assembly' implying a mutation, while annotations have readOnlyHint=true. This is a direct contradiction, severely undermining trust.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, but the paid-tier warning could be more integrated. Overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description misses explaining the standard_codes parameter and contradicts annotations, leaving the agent confused about side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should explain parameters. It mentions measurement standards but does not connect to 'standard_codes'. The schema's own description (not part of tool description) covers it, but the tool description adds no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool re-runs all enabled assemblies and renders aggregated BoQs for requested measurement standards, distinguishing it from sibling tools that compute individual components.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions paid tier restriction and anonymous caller error, providing clear context. However, it lacks explicit guidance on when not to use this vs. individual compute tools, though sibling names imply differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_skill_reportRender Bill of Quantities deliverableA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesWire shape for POST /api/v1/mcp/render.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavioral traits beyond annotations: Excel free with watermark/protection, Word paid and returns TIER_INSUFFICIENT for anonymous. The readOnlyHint annotation is consistent; description adds actionable constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph but efficiently conveys purpose, usage rules, and wire shape. Every sentence is informative with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with nested schema and output schema, the description covers the core behavior and tier restrictions. It does not detail output format, but the presence of an output schema mitigates this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The tool description does not add meaning beyond the schema; it mentions skill options but does not elaborate on details already present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Render previously-computed BoQ results into a deliverable (Excel workbook or Word report),' with specific details on free vs. paid versions. It distinguishes from sibling tools (all compute_* or project management) and provides context on wire shape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use each skill (Excel free, Word paid) and the consequences for anonymous callers. It lacks explicit 'when not to use' but the context from siblings and the 'previously-computed' phrasing implies prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_projectSave projectAInspect

Persist a CivilQuants project with its assembly list. Paid tier only — anonymous callers receive a TIER_INSUFFICIENT envelope pointing at https://civilquants.com/pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesBody for ``POST /api/v1/mcp/project/save``.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals the paid tier restriction and the resulting error envelope, which annotations (readOnlyHint=false, destructiveHint=false) do not cover. However, it does not disclose side effects like overwriting behavior or idempotency. Annotations already indicate mutation, so the description adds moderate value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: one for purpose, one for usage restriction. No redundant words, front-loaded with key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers core functionality and a key restriction, but lacks details on whether the tool creates or updates, or what is returned on success. Given the nested input schema, the description is somewhat terse and could better explain the save operation's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add any parameter-level details beyond the schema. The nested request object's properties are not explained in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool persists a CivilQuants project with its assembly list, distinguishing it from sibling compute/get/recompute tools. The verb 'persist' and resource 'project' are specific, and the paid tier note adds clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only mentions a paid tier restriction but provides no explicit guidance on when to use this tool versus alternatives like get_project or recompute_project. There is no when-not or context for selecting this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources