Structomat
REMOTE · STRUCTOMAT.COM
Structural steel: cost from an IFC model, 3D frame analysis, portal frame tonnage, connections.
Available components
Last scanned (1 hour ago)
Scores higher than 58% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Developer Tools
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 Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- 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 Usability55
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3093 tokens (~386/item across 8 items; 8 tools + 0 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 Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
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.
- 5 Nov 26 +3
- HSTS header: fail → pass ▲ security
- Tool “estimate_steel_cost” rewrote its description, which is the text the model reads security
- 4 Nov 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.
- 3 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 323 → 385 ▼ functional
- Server version: 1.4.4 → 1.5.0 functional
- New tool “estimate_steel_cost” functional
- 2 Nov 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “analyze_frame” rewrote its description, which is the text the model reads security
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 29 Oct 26 66
First indexed and scored.
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 5 Nov 2026 · Probed https://structomat.com/mcp/
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=structomat.com | CN=Sectigo Public Server Authentication CA DV R36,O=Sectigo Limited,C=GB | 14 Jan 2026 | 4 Feb 2027 | RSA 2048 | SHA256-RSA | 3e365b691ef028cc828cbc918f8d29e6 |
| SANs: structomat.com, www.structomat.com | ||||||
| CN=Sectigo Public Server Authentication CA DV R36,O=Sectigo Limited,C=GB (CA) | CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB | 22 Mar 2021 | 21 Mar 2036 | RSA 3072 | SHA384-RSA | 397a66cc2756362e0daa87ca6eabe3b1 |
| CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB (CA) | CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US | 22 Mar 2021 | 18 Jan 2038 | RSA 4096 | SHA384-RSA | d27fbbc1de359e5216ad6149586099c4 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of structomat.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| structomat.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 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://structomat.com/mcp/ | Verified | 200 | |
| http (plaintext) | http://structomat.com/mcp/ | HTTPS enforced | 301 | https://structomat.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 →
about_structomat About Structomat ~61
Facts about Structomat, an AI engineering agent for structural steel: what it does, design codes, who signs designs for construction, what to send, what comes back, how to start. Use when the user asks about Structomat or how to engage it.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
analyze_frame Analyze a 3D steel frame (finite elements, returns the numbers) ~1,378
Runs a 3D finite-element frame analysis and returns the numbers: equilibrium check, largest deflection along the members, largest joint displacement and sway in X and Y, every support reaction, the axial force, shears and moments of every member (the envelope with the governing combination when there are several), and natural periods with mass participation (modal analysis); linear or second order (P-Delta). The model is either a template (a pitched portal frame building, an open mono-pitch canopy, or a multi-storey frame, from a few dimensions, sections and loads) or a full model in JSON (nodes, members, sections, supports, loads, combinations). It is solved by the code of Structomat's free 3D frame analysis page, so the result also has a link that shows the same model and results in 3D (deflected shape, force diagrams, mode shapes). Use it to check a frame, compare sections or see how loads flow, and run it again with changed sections or loads. Elastic analysis only, not a code check: member buckling, connection design and code load combinations are not covered. The model is not stored.
| Name | Type | Req | Description |
|---|---|---|---|
| analysis | string | – | Second order (default) or linear. |
| bases | string | – | Column bases (default fixed). |
| bay_x_m | number | – | storey: bay width in X, m. |
| bay_z_m | number | – | storey: bay width in Y, m. |
| bays_x | integer | – | storey: bays in X. |
| bays_z | integer | – | storey: bays in Y (the second horizontal direction; Z is vertical). |
| beam_section | string | – | Hot-rolled I-section for beams / rafters. |
| brace_section | string | – | portal, mono: hollow section for the bracing (default CHS 139.7x5). |
| column_section | string | – | Hot-rolled I-section for columns. |
| column_web | string | – | Direction of the column webs: x (default) = strong axis resists sway in X, the frame direction; y = strong axis resists sway in Y. |
| combination_set | string | – | single (default) = one combination with the factors given; en = a typical EN 1990 ultimate set (expression 6.10); asce = ASCE 7 LRFD basic combinations. en and asce are solved as an envelope. |
| dead_kN_m2 | number | – | Dead load on roof/floor, kN/m2 (self-weight of members is added). |
| eave_height_m | number | – | portal: eave height, m. |
| factors | object | – | Combination factors {"G":1.0,"Q":1.0,"W":1.0} (default all 1.0). |
| frame_spacing_m | number | – | portal, mono: frame spacing, m. |
| frames | integer | – | portal, mono: number of frames. |
| high_height_m | number | – | mono: height of the high side, m. |
| leeward_kN_m2 | number | – | portal, storey: leeward suction, kN/m2 (not used for mono). |
| live_kN_m2 | number | – | Live or snow load, kN/m2. |
| low_height_m | number | – | mono: height of the low side, m. |
| modal | boolean | – | Also run a modal analysis: natural periods, mode shapes and mass participation (default true). |
| modal_live_share | number | – | Share of the live or snow load in the modal mass, psi (default 0.3); mass = self-weight + dead + psi x live. |
| model | object | – | Instead of a template: a full model, units kN and m, Z vertical. {"up":"Z", "nodes":{"N1":[x,y,z],...}, "members":[{"id":"M1","i":"N1","j":"N2","sec":"S1","rot":0,"pinned":false}], "sections":{"S1":{… |
| ridge_rise_m | number | – | portal: ridge rise above eave, m. |
| span_m | number | – | portal (4-60) or mono (3-30): frame span, m. |
| storey_height_m | number | – | storey: storey height, m. |
| storeys | integer | – | storey: number of storeys. |
| template | string | – | portal = pitched portal frame building; mono = open mono-pitch canopy; storey = multi-storey frame. Omit when sending model. |
| wind_direction | string | – | portal, storey: x (default) = wind on the long wall / the face at X = 0; y = wind on the gable / the face at Y = 0; xy = both together in the same combination (conservative). |
| wind_kN_m2 | number | – | portal, storey: wind pressure on the windward face (see wind_direction); mono: net wind pressure on the roof, positive upward (uplift); kN/m2. |
No output schema declared.
No examples provided.
draft_project_request Draft a project request e-mail ~161
Prepare an e-mail to Structomat (info@structomat.com) describing a project, ready for the user to review and send. This tool sends nothing and stores nothing; it returns the draft text and a mailto link.
| Name | Type | Req | Description |
|---|---|---|---|
| available_files | string | – | Optional: drawings, photos, IFC or analysis model the user can send. |
| deadline | string | – | Optional. |
| design_code | string | – | Optional: Eurocode, AISC 360 or the code the project requires. |
| need | string | yes | What the user needs, e.g. "structural analysis and calculation report for a 12 x 6 m steel canopy". |
| structure_type | string | – | Optional: canopy, mezzanine, warehouse, stair, connection, ... |
No output schema declared.
No examples provided.
estimate_portal_frame_steel Estimate the steel of a portal frame building ~237
Steel tonnage estimate for a single-span pitched portal frame building (span 15-30 m) before any design: total tonnes, kg per m2 of floor, a range, the weight by part (frames, gable posts, bracing, eave struts, purlins, side rails, plates and connections) and typical member sizes. Interpolated between complete finite-element designs and calibrated against published designs. Use for budgets, tenders and feasibility; a real design needs the actual loads and code.
| Name | Type | Req | Description |
|---|---|---|---|
| bracing | string | – | Optional: tube (default, tension and compression) or tension-only rods. |
| eave_height_m | number | yes | Eave height, m (5-11). |
| ground_snow_kN_m2 | number | yes | Characteristic ground snow load sk, kN/m2 (0.5-2.0). Roof load = 0.8 sk. |
| length_m | number | yes | Building length, m. Frames are at 6 m. |
| span_m | number | yes | Clear span of the frames, m (15-30). |
No output schema declared.
No examples provided.
estimate_steel_cost Estimate the cost of a steel structure from its IFC model ~805
Cost of fabricating and erecting a steel structure, worked out part by part from its IFC model: every part, hole, weld and lift is timed as a shop or site operation and priced at the region's employer labour cost, steel price and crane rate. Returns the cost floor (total, per tonne, per m2 of floor) with its breakdown, the published market band next to it and the gap, the process groups that drive the cost, the ten costliest parts with their IFC ids, a programme from shop drawings to erection in working days, upfront embodied carbon (modules A1-A5: steel production, fabrication, delivery, erection), and what an example design review (lighter sections, fewer plate fittings) would save in cost and carbon. Regions: UK, DE (Germany), US, AU, or own rates in any currency. Give the IFC as a public link (ifc_url, up to 30 MB) or as its text (ifc_text, up to 12 MB), or sample=true for a sample 18 x 30 m portal frame shed. It is the engine of Structomat's free Steel Cost Estimator page, which shows the same result with a 3D cost heat map when the same IFC is dropped on it. An estimate, not a quote. The IFC is read in memory and not stored.
| Name | Type | Req | Description |
|---|---|---|---|
| carbon_route | string | – | Steel route for embodied carbon: bof = blast furnace mix, eaf = electric arc (recycled). Default eaf for US, bof elsewhere. |
| design_review | object | – | Example design review: steel_saved_pct (default 10) and plate_fittings_removed_pct (default 25, smallest plates first). |
| erection | string | – | norms (default) = crew man-hours by section class; cycle = crane lift cycles per piece (reads low on single-storey sheds). |
| erection_crew | integer | – | Erection crew size (default 5). |
| floor_area_m2 | number | – | Gross floor area, m2. Default: the column grid found in the model. |
| ifc_text | string | – | The IFC file content as text (STEP, starting with ISO-10303-21), up to 12 MB. Use instead of ifc_url. |
| ifc_url | string | – | Public http(s) link to the IFC file (IFC2x3 or IFC4, up to 30 MB). |
| market_price_per_t | number | – | region "own": the market price per tonne you see, to show the gap to the floor. |
| paint | boolean | – | Shop blasting and painting (default true). |
| programme | object | – | Programme inputs in working days: drawing_days (shop drawings + approval, default 10), lead_days (steel lead time, default 10), shop_crew (default 4). |
| rates | object | – | Optional overrides of the region's rates (required for region "own"): currency code, eur_rate = 1 EUR in that currency, shop_wage and site_wage = employer cost per hour worked (not a sell rate), stee… |
| region | string | – | Labour, steel and crane rates and the market band: UK (GBP), DE (EUR), US (USD), AU (AUD), or own = your rates in "rates". Default UK. |
| sample | boolean | – | true = use the sample building (18 x 30 m portal frame shed, 799 parts) instead of an IFC. |
| scrap_pct | number | – | Material scrap, % (default 10). |
| shop | string | – | mixed (default) = automated saw-drill line and plate cutting plus handling and marking; cnc = machine times only; manual = conventional shop. |
| transport_km | number | – | Shop to site, km (default 250). |
No output schema declared.
No examples provided.
find_examples Find examples of past work ~160
Search Structomat's published work: steel projects, case studies, example situations, checked steel connections, measured benchmarks (e.g. scan-to-BIM from a point cloud), sample deliverables (e.g. a complete US AISC shop drawing submittal with a clouded revision, or an erectability check that finds the pieces of a clash-free model that cannot get into place during erection) and free tools. Returns titles, links and short summaries.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Default 8. |
| query | string | – | What to look for, e.g. "canopy", "mezzanine", "base plate", "HEB 600", "crane", "point cloud". |
| type | string | – | Optional filter. |
No output schema declared.
No examples provided.
get_connection Get a checked steel connection ~63
Details of one connection from the Structomat steel connection library: members, plates, bolts, welds, design code and the utilisation of each component. Use find_examples with type "connection" to get slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Connection slug from find_examples. |
No output schema declared.
No examples provided.
list_services List services ~60
Structomat services (analysis & design, connection design, shop drawings, erectability check of a steel model before erection, automation consulting, custom tools) with what the client sends and what comes back.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Optional: one service only. |
No output schema declared.
No examples provided.
How do I install the Structomat MCP server?
Structomat is a hosted endpoint at https://structomat.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 · structomat.com
claude mcp add --transport http com-structomat-steel 'https://structomat.com/mcp/'
What is the Structomat MCP server?
Structomat is an MCP server listed in the public MCP registry as com.structomat/steel. Structural steel: cost from an IFC model, 3D frame analysis, portal frame tonnage, connections. This page covers its hosted endpoint (https://structomat.com/mcp/).
Is the Structomat MCP server safe to use?
Structomat scores 72 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 Structomat MCP server expose?
Structomat exposes 8 tools: about_structomat, list_services, find_examples, get_connection, estimate_portal_frame_steel, and 3 more. Their descriptions and schemas cost roughly 2,925 tokens of context every time the server is loaded.
Does the Structomat MCP server require authentication?
No. We connected to Structomat without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Structomat MCP server still maintained?
Structomat is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.