com.civilquants/civilquants
REMOTE · API.CIVILQUANTS.COM · SCANNED SEP 21
Parametric estimating engine: CESMM4/NRM2/SMM7/MMHW Bills of Quantities for civils assemblies.
Available components
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 → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 55 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 56 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 58 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the com.civilquants/civilquants MCP server?
com.civilquants/civilquants is a hosted endpoint at https://api.civilquants.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.civilquants.com
claude mcp add --transport http com-civilquants-civilquants 'https://api.civilquants.com/mcp'
{
"mcpServers": {
"com-civilquants-civilquants": {
"url": "https://api.civilquants.com/mcp"
}
}
} {
"servers": {
"com-civilquants-civilquants": {
"type": "http",
"url": "https://api.civilquants.com/mcp"
}
}
} [mcp_servers.com-civilquants-civilquants] url = "https://api.civilquants.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-civilquants-civilquants": {
"type": "remote",
"url": "https://api.civilquants.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-civilquants-civilquants --url 'https://api.civilquants.com/mcp' --transport streamable-http
mcp_servers:
com-civilquants-civilquants:
url: "https://api.civilquants.com/mcp" {
"McpServers": {
"com-civilquants-civilquants": {
"Transport": "http",
"Url": "https://api.civilquants.com/mcp"
}
}
} assistant mcp add com-civilquants-civilquants -t streamable-http -u 'https://api.civilquants.com/mcp'
{
"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.
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.
- 29 Aug 26 0
- Server version: 3.4.2 → 3.4.7 functional
- 27 Aug 26 0
- Endpoint reachability: not serving MCP → reachable ▲ functional
- 26 Aug 26 +53
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Aug 26 23
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.90 → unverified ▼ security
- Transport: pass → fail ▼ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 7 Aug 26 0
- The server no longer declares the “experimental” capability functional
- 31 Jul 26 0
- 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 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
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 21 Sept 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=YE2,O=Let's Encrypt,C=US | 14 Aug 2026 | 12 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 5ed3bdd6d3fb4da4b02e45b63fa8b347dc8 |
| SANs: *.civilquants.com, civilquants.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 |
Background: What to check on a remote MCP endpoint →
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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
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 |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compute_utility_kiosk_base Compute Utility Kiosk Base BoQ ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| deliverables | – | – | – |
| output_mode | string | – | – |
| params | object | yes | Parameters for a utility kiosk base. Fields marked "(None → catalogue)" resolve from the catalogue entry at ``__post_init__`` time; an explicit non-None value always wins. |
| standard | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
compute_vehicle_restraint_system Compute Vehicle Restraint System (VRS) BoQ ~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…
| Name | Type | Req | Description |
|---|---|---|---|
| deliverables | – | – | – |
| output_mode | string | – | – |
| params | object | yes | Parameters for a single vehicle restraint system run. Geometry interpretation: - ``length_m`` is the run length along the highway alignment. - ``post_spacing_m`` is the centre-to-centre spacing… |
| standard | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
get_document_pipeline Get the customer-side 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.
| Name | Type | Req | Description |
|---|---|---|---|
| component | string | – | Which part to fetch; omit for the whole kit. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_project 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.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
get_skill Get senior-QS skill methodology ~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").
| Name | Type | Req | Description |
|---|---|---|---|
| skill | string | yes | Skill slug from list_skills. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_projects 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.
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
list_skills List senior-QS 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.
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
recompute_project 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.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
| request | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
render_skill_report Render Bill of Quantities deliverable ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| request | object | yes | Wire shape for POST /api/v1/mcp/render. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
resolve_assembly_from_description 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"}.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | – |
| preferred_standard | – | – | – |
| return_resolution_log | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
save_project 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.
| Name | Type | Req | Description |
|---|---|---|---|
| request | object | yes | Body for ``POST /api/v1/mcp/project/save``. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
What is the com.civilquants/civilquants MCP server?
com.civilquants/civilquants is an MCP server listed in the public MCP registry as com.civilquants/civilquants. Parametric estimating engine: CESMM4/NRM2/SMM7/MMHW Bills of Quantities for civils assemblies. This page covers its hosted endpoint (https://api.civilquants.com/mcp).
Is the com.civilquants/civilquants MCP server safe to use?
com.civilquants/civilquants scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.civilquants/civilquants MCP server expose?
com.civilquants/civilquants exposes 56 tools: compute_connection_to_existing, compute_hard_material_in_trench, compute_ditch, compute_pipework_testing, compute_catchpit, and 51 more. Their descriptions and schemas cost roughly 25,690 tokens of context every time the server is loaded.
Does the com.civilquants/civilquants MCP server require authentication?
No. We connected to com.civilquants/civilquants without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.civilquants/civilquants MCP server still maintained?
com.civilquants/civilquants is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.