Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

com.civilquants/civilquants

REMOTE · API.CIVILQUANTS.COM · SCANNED AUG 3

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

+6 this week 60 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability50
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 26746 tokens (~417/item across 64 items; 56 tools + 8 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage77
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 19% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · api.civilquants.com

# add to Claude Code
claude mcp add --transport http com-civilquants-civilquants https://api.civilquants.com/mcp
# ~/.codex/config.toml
[mcp_servers.com-civilquants-civilquants]
url = "https://api.civilquants.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-civilquants-civilquants": {
      "type": "remote",
      "url": "https://api.civilquants.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-civilquants-civilquants --url https://api.civilquants.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-civilquants-civilquants:
    url: "https://api.civilquants.com/mcp"
// mcp.json
{
  "mcpServers": {
    "com-civilquants-civilquants": {
      "type": "http",
      "url": "https://api.civilquants.com/mcp"
    }
  }
}

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

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

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

  • 1 Aug 26 +1

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

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

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

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 53

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://api.civilquants.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=civilquants.com CN=YE1,O=Let's Encrypt,C=US 16 Jun 2026 14 Sept 2026 ECDSA 256 ECDSA-SHA384 61df89dec87f25936a13a098e86a27b34b0
SANs: *.civilquants.com, civilquants.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of api.civilquants.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
civilquants.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.civilquants.com/mcp Verified 200
http (plaintext) http://api.civilquants.com/mcp HTTPS enforced 301 https://api.civilquants.com/mcp
MCP tools — 56 exposed · ~25,690 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
compute_utility_kiosk_base ~426

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

NameTypeReqDescription
deliverables
output_modestring
paramsobjectyesParameters 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.
standardstring
NameTypeReqDescription
resultyes

No examples provided.

compute_vehicle_restraint_system ~922

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

NameTypeReqDescription
deliverables
output_modestring
paramsobjectyesParameters 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…
standardstring
NameTypeReqDescription
resultyes

No examples provided.

get_document_pipeline ~175

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

NameTypeReqDescription
componentstringWhich part to fetch; omit for the whole kit.
NameTypeReqDescription
resultstringyes

No examples provided.

get_project ~103

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

NameTypeReqDescription
project_idstringyes
NameTypeReqDescription
resultyes

No examples provided.

get_skill ~192

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

NameTypeReqDescription
skillstringyesSkill slug from list_skills.
NameTypeReqDescription
resultstringyes

No examples provided.

list_projects ~85

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

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultyes

No examples provided.

list_skills ~177

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

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes

No examples provided.

recompute_project ~105

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

NameTypeReqDescription
project_idstringyes
request
NameTypeReqDescription
resultyes

No examples provided.

render_skill_report ~87

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.

NameTypeReqDescription
requestobjectyesWire shape for POST /api/v1/mcp/render.
NameTypeReqDescription
resultyes

No examples provided.

resolve_assembly_from_description ~161

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

NameTypeReqDescription
descriptionstringyes
preferred_standard
return_resolution_logboolean
NameTypeReqDescription
resultyes

No examples provided.

save_project ~181

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

NameTypeReqDescription
requestobjectyesBody for ``POST /api/v1/mcp/project/save``.
NameTypeReqDescription
resultyes

No examples provided.