Skip to content

MIDAS CIVIL NX tools (MIDAS IT Europe)

com.midasiteurope/civil-nxmidasiteurope.comstreamable-httpv0.7.0Scanned

Build, check and report on MIDAS CIVIL NX bridge models through the MIDAS IT Europe plugins.

69 tools: 21 can delete or cancel things, 28 change things and 20 only read.

Tools: 21 delete, 0 irreversible, 28 write, 20 read.
  • Reads private data · 10
  • Reads text others write · 3
  • Can send data out · 1
  • 4 findings

Anlyon alternative

49 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

69 tools

Deletes or cancels 21Claude Code: deny
  • auto_structure_groups_undoReverses an auto_structure_groups run from the ledger: deletes the groups it created and puts every group it added members to back exactly as it was (from the snapshot taken just b…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reverses an auto_structure_groups run from the ledger: deletes the groups it created and puts every group it added members to back exactly as it was (from the snapshot taken just before the write). Refuses while a construction stage uses one of those groups, because deleting a group strips it from every stage. Default: the latest run not yet undone. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • b2p_convertConverts beam elements into a plate (or solid) mesh of their cross-section with the Beam to Plate plugin's own engine (1.0.6): every section CIVIL NX gives geometry for (rolled/fab…No findings

    Why it is in this group

    • The name "b2p_convert" says "convert": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Converts beam elements into a plate (or solid) mesh of their cross-section with the Beam to Plate plugin's own engine (1.0.6): every section CIVIL NX gives geometry for (rolled/fabricated steel, PSC, boxes, composite, tapered groups, VALUE, catalogue), solid concrete sections as a grid of plates or as solids, exact beam loads / nodal loads / temperatures moved onto the mesh, haunches, diaphragms, deck slabs joined, rigid links to whatever else meets the beam's nodes (staged per construction stage), virtual beams per row of plates, groups and composite casting stages carried across. Previews by default (totals, volume check, per-section verdict, notes, what is left behind such as tendons or lanes, problems, planHash) and writes nothing. With apply: true and confirmPlanHash it re-reads the model, refuses if the plan changed, and writes the plugin's way: nodes, thicknesses and elements written and read back, then links, loads, groups, stages, virtual beams, and only then the source beams deleted (deleteSourceBeams); a write that fails part way is rolled back by the plugin. The run is recorded for b2p_undo. Lengths are in the model's unit. Use b2p_survey first. Runs as a background job on the website (poll job_status).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • b2p_undoUndoes a b2p_convert run from the ledger with the plugin's own Undo: removes the virtual beams, the plates/solids, the rigid links and construction-joint links, the converted loads…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Undoes a b2p_convert run from the ledger with the plugin's own Undo: removes the virtual beams, the plates/solids, the rigid links and construction-joint links, the converted loads and the nodes it made, gives the stages and boundary groups back, then puts the beams back with their beam loads, temperatures, releases, offsets, moved nodal loads and structure-group membership, and reads the model back. Resumable: if CIVIL NX refuses some deletes or the connection goes, the call says what is left and calling again with the same runId carries on (also after a background job that stopped). Afterwards (tidy, default on) it also removes the thickness records and the 'B2P mesh' group the run created when nothing uses them — the plugin's own Undo leaves both. Default run: the latest not undone. Previews unless apply: true; on the website the apply runs as a background job.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • bridge_reshapeChanges the geometry of the bridge in the open model in place, with the Bridge Reshaper plugin's own engine (1.0.5): new span lengths (the deck is stretched - each span keeps its e…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Changes the geometry of the bridge in the open model in place, with the Bridge Reshaper plugin's own engine (1.0.5): new span lengths (the deck is stretched - each span keeps its element count), a skew for each support, a new horizontal alignment (straight, segments, fitted points, LandXML/DXF) and new deck levels (flat, grades with parabolic vertical curves, one-way or crowned cross slope). crossMembers 'parallel' (default) moves nodes only - every element, node, load, group, stage and lane keeps its id; 'square' re-meshes the deck with cross members square to the girders running on to the skewed support lines (straight decks of beam girders only, not with new levels). Loads, structure groups, construction stages, lanes, tapered groups and links follow the deck; beam loads in global axes, plane loads and lane end skews are turned with it; piers and abutments follow their supports ('follow' the skew, or 'rigid' keep their shape). Previews by default: the changes, the issues and a plan drawing (grey = as it is, blue = proposed), with a planHash; nothing is written. With apply: true and confirmPlanHash it re-reads the model, refuses if anything changed since the preview, writes, reads every written node and element back, and records the run for bridge_reshape_undo. Lengths and chainages in the model's unit. Use bridge_reshape_read first. Runs as a background job on the website (poll job_status).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • bridge_reshape_undoUndoes a bridge_reshape run from the ledger with the plugin's own Undo: every row the run overwrote is written back and every row it created is removed, so the model returns exactl…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Undoes a bridge_reshape run from the ledger with the plugin's own Undo: every row the run overwrote is written back and every row it created is removed, so the model returns exactly. Refuses on a different model, or when the model was edited since the apply (force: true undoes anyway, overwriting those edits). Resumable: a step that fails is reported and calling again retries only what is left. Default run: the latest not undone. Previews unless apply: true; on the website the apply runs as a background job.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • construction_stagesBuilds a construction stage sequence with the Construction Stage Wizard plugin's bulk generator and writes it with its stage planner (which keeps composite sections and constructio…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Builds a construction stage sequence with the Construction Stage Wizard plugin's bulk generator and writes it with its stage planner (which keeps composite sections and construction-stage load combinations intact, rewriting and restoring them when CIVIL NX would otherwise delete them). Structure groups are activated in order, groupsPerStage at a time; boundary and load groups (e.g. supports, self weight) ride in the first new stage; an optional temporary group per stage (e.g. a form traveller) is switched on and off with it; an optional final stage closes the sequence. mode 'append' adds after the model's existing stages; 'replace' replaces them all. Every stage is validated against the model's groups first. Previews unless apply: true; the write keeps a snapshot for stages_undo.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • create_nodesCreates nodes in the open CIVIL NX model from X, Y, Z coordinates with the Node Generator plugin's own engine: every check the plugin window makes (blank or non-numeric coordinates…No findings

    Why it is in this group

    • The name "create_nodes" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates nodes in the open CIVIL NX model from X, Y, Z coordinates with the Node Generator plugin's own engine: every check the plugin window makes (blank or non-numeric coordinates, bad or duplicate ids, ids above 999999, ids that already exist, coincident nodes within a tolerance), its numbering modes and its write rules. Give the points as nodes [{id?, x, y, z}] or as table (text pasted from Excel or a CSV; a header like ID,X,Y,Z is recognised, decimal commas and semicolon CSVs too). Coordinates are in inputUnit (m or mm) plus an optional origin offset, and are converted to the model's length unit. numbering: 'auto' continues after the highest existing node id; 'start' uses start + increment; 'column' keeps the ids given (default when every row has one). An id that already exists blocks the write unless overwrite: true, which MOVES those nodes (and the elements on them). Coincident nodes are reported first; choose coincident: 'skip' or 'create'. Previews unless apply: true with confirmPlanHash; new nodes go by POST (create-only, so a node made since the preview is never overwritten), overwrites by PUT, then db/NODE is read back. create_nodes_undo reverses it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • create_nodes_undoReverses a create_nodes run from the ledger: deletes the nodes it created and moves every node it overwrote back to its earlier coordinates.No findings

    Why it is in this group

    • The name "create_nodes_undo" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reverses a create_nodes run from the ledger: deletes the nodes it created and moves every node it overwrote back to its earlier coordinates. Refuses while elements, structure groups or supports use the nodes it created (undo those first). Default: the latest create_nodes run not yet undone. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • cs454_moving_loads_undoRemoves the lanes, vehicles, cases and groups a cs454_moving_loads run wrote, using the plugin's own cleanup: anything edited since the run, or still used by something else, is kep…No findings

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes the lanes, vehicles, cases and groups a cs454_moving_loads run wrote, using the plugin's own cleanup: anything edited since the run, or still used by something else, is kept. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • culvert_buildWrites the 2D Culvert model exactly as the plugin's Build: units, user material, sections, frame, soil springs, supports, every basic load case with its loads, and the nested EN 19…No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Writes the 2D Culvert model exactly as the plugin's Build: units, user material, sections, frame, soil springs, supports, every basic load case with its loads, and the nested EN 1990 Annex A2 combinations; then reads the loads back and fails if CIVIL NX dropped any. Into the open model only if it is empty, or into a new document (newDocument: true — DESTRUCTIVE: CIVIL NX replaces the open model). Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • culvert_build_undoDeletes every row a culvert_build wrote (combinations, loads, load cases, springs, supports, groups, elements, nodes, sections, material) from the ledger's record, and puts back th…No findings

    Why it is in this group

    • The description's first verb is "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deletes every row a culvert_build wrote (combinations, loads, load cases, springs, supports, groups, elements, nodes, sections, material) from the ledger's record, and puts back the model's units. A model replaced by newDocument cannot be brought back. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • dxf_importImports a DXF into the open CIVIL NX model with the Advanced DXF Importer plugin's engine: the same parse, layer mapping, clean-up and write as the plugin.Reads text others writeNo findings

    Why it is in this group

    • The name "dxf_import" says "import": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Imports a DXF into the open CIVIL NX model with the Advanced DXF Importer plugin's engine: the same parse, layer mapping, clean-up and write as the plugin. Nodes and elements get new ids above the model's (existing rows are never overwritten); each layer's structure group is created or added to; blank properties become the plugin's DXF default material (C40/50), section (SB 500x300) and thickness (250), created or reused by name. Previews by default (writes nothing): the plan with id ranges, groups, default properties and any unit switch. To write, call again with the same inputs, apply: true and confirmPlanHash; the model is read again and the write refused if the plan changed. The write creates a master group DXF_<file> #<token> first, then the unit change, properties, nodes, elements and groups, then reads everything back to verify. The import journal is recorded so dxf_import_undo can remove exactly what it created, even after a partial failure. Inputs as for dxf_inspect, plus mergeExisting.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • dxf_import_undoRemoves what one dxf_import created, with the plugin's own removal rules: it refuses unless the import's master group is in the open model; deletes the import's elements, then its …No findings

    Why it is in this group

    • The name "dxf_import_undo" says "import": a word for a change.
    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes what one dxf_import created, with the plugin's own removal rules: it refuses unless the import's master group is in the open model; deletes the import's elements, then its nodes, only where they still match the fingerprint taken before writing (anything edited since is kept, and a node another element uses is kept); deletes the groups and default properties it created once nothing uses them; switches the model's length unit back if the import changed it and it is unchanged since. Works after a partial import too. Default: the latest dxf_import not yet undone. Previews (what would be removed and kept) unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • ec_wind_removeRemoves what the Eurocode Wind Loads plugin writes: every EC1W_ load case, its load group, and their beam/pressure/nodal loads — whether this tool or the plugin window wrote them.No findings

    Why it is in this group

    • The name "ec_wind_remove" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes what the Eurocode Wind Loads plugin writes: every EC1W_ load case, its load group, and their beam/pressure/nodal loads — whether this tool or the plugin window wrote them. Loads anyone else put on the same elements are kept. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • pd6694_route_a_removeRemoves the four PD6694 EP limit-equilibrium load cases with their pressures, load groups and stage activations (the plugin's Remove).No findings

    Why it is in this group

    • The name "pd6694_route_a_remove" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes the four PD6694 EP limit-equilibrium load cases with their pressures, load groups and stage activations (the plugin's Remove). Other load cases are kept. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • pd6694_ssi_removeRemoves everything an SSI run left (design pressure cases, spring groups, analysis cases) and restores the model's own springs from the run's backup (the plugin's Remove SSI).No findings

    Why it is in this group

    • The name "pd6694_ssi_remove" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes everything an SSI run left (design pressure cases, spring groups, analysis cases) and restores the model's own springs from the run's backup (the plugin's Remove SSI). Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • section_writeWrites a section into the open CIVIL NX model exactly as Section Designer's Write button does: VALUE/GEN, PSC/VALU or COMPOSITE-GEN with its computed properties (CIVIL keeps them a…No findings

    Why it is in this group

    • The name "section_write" says "write": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Writes a section into the open CIVIL NX model exactly as Section Designer's Write button does: VALUE/GEN, PSC/VALU or COMPOSITE-GEN with its computed properties (CIVIL keeps them as sent), in the model's units read at the time of writing, then reads it back and compares every value sent. id defaults to the model's next free section id. Refuses unconverged results. If the id is taken it writes nothing and says by what (and how many elements use it); replacing needs replaceExisting: true — DESTRUCTIVE, only with the user's agreement. Previews unless apply: true with confirmPlanHash. Before applying, show the user the drawing (section_preview) and the properties and get their go-ahead. section_write_undo reverses it. Same section input as section_preview.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • section_write_undoReverses a section_write run from the ledger: deletes the section it created (refused while elements use it), or writes back the section it replaced, then reads back.No findings

    Why it is in this group

    • The name "section_write_undo" says "write": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Reverses a section_write run from the ledger: deletes the section it created (refused while elements use it), or writes back the section it replaced, then reads back. Default: the latest section_write run not yet undone. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • skew_grillageGenerates a bridge deck (beam grillage or plate mesh) with the Skew Grillage Geometry Generator plugin's own engine: skew, unequal girders, plan curvature, multi-span, crossfall an…No findings

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Generates a bridge deck (beam grillage or plate mesh) with the Skew Grillage Geometry Generator plugin's own engine: skew, unequal girders, plan curvature, multi-span, crossfall and vertical profile, automatic transverse section sizing and structure groups (GIRDERS, CROSS-BEAMS, END-BEAMS for the support-line members, SPAN-n, or DECK for plates). Without apply it only previews (counts, metrics, groups, planHash). With apply: true it writes to CIVIL NX exactly as the plugin does: it refuses a model that already holds geometry unless replaceExisting is set, creates default material/sections/thickness where the ids are missing, and records the run for skew_grillage_undo.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • skew_grillage_undoRemoves the deck a skew_grillage run wrote (its elements, nodes, new structure groups and any default properties nothing else uses).No findings

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes the deck a skew_grillage run wrote (its elements, nodes, new structure groups and any default properties nothing else uses). Refuses while lanes, other groups or other elements still depend on it. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • stages_undoRestores the rows a stage_groups or construction_stages run changed, from the snapshot taken just before it wrote (the plugin's own restore).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Restores the rows a stage_groups or construction_stages run changed, from the snapshot taken just before it wrote (the plugin's own restore). Default: the latest run not yet undone. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
Changes things 28Claude Code: ask
  • auto_structure_groupsCreates one structure group per section, per material, or per section + material pair, with the Auto Structure Groups plugin's own engine: it reads every element's section and mate…No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Creates one structure group per section, per material, or per section + material pair, with the Auto Structure Groups plugin's own engine: it reads every element's section and material, names each group from the prefix and the section/material names (cleaned and cut to 40 characters, as in the plugin; elements with no section/material go to <prefix>UNASSIGNED), largest group first. Optional: include each group's nodes, skip groups with fewer than minElements elements, or write only the groups named in groups. A name that already exists is skipped unless existing: 'overwrite' — and then this run's members are ADDED to that group (CIVIL NX merges a write into an existing group; it never removes members). Previews unless apply: true with confirmPlanHash; the plugin's writer re-reads db/GRUP, writes in batches and checks the read-back. auto_structure_groups_undo reverses it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • concurrent_forcesConcurrent Force Reporter, step 2.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Concurrent Force Reporter, step 2. For a set of items (elements, nodes, links), finds the load state that makes ONE key effect extreme at ONE key item (max, min or absolute max over the selected load cases and combinations, at every output point), then reports every item's results IN THAT SAME STATE — the coexistent forces a bearing, pier cap or connection check needs, not each item's own envelope. If the governing load is an envelope (or an Add containing one), it is resolved recursively to a single deterministic state (a weighted sum of static/stage cases, pinning each envelope to the child that governs at the key item), re-read at that state, and gated against the value MIDAS itself reports; it refuses rather than approximates. Near-ties are reported. Items: items in set syntax — elements 12 or 15to20, nodes N12, general links L12, elastic links EL12 (a range keeps only ids that exist) — and/or structure groups. keyItem must be in the set. Values come back in the units asked for (default the model's); plate results are per unit length. Read-only (only /post/TABLE result reads). Call concurrent_forces_setup first for names and keyEffect ids. Runs as a job on the website.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • concurrent_forces_probeConcurrent Force Reporter diagnostics.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Concurrent Force Reporter diagnostics. For each result source the plugin reads (beam, truss, plate, general link, elastic link, node reaction, node displacement), asks this CIVIL NX build with one item of that kind which table token answers, the columns it returns and how they map, the output-point tokens, and the result series published. Use it when concurrent_forces reports a missing table, column or series. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • concurrent_forces_setupConcurrent Force Reporter, step 1.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Concurrent Force Reporter, step 1. Reads the open CIVIL NX model the way the plugin does when it connects and lists what a concurrent-forces run can use: every load case and combination (all ten LCOM tables) with how MIDAS addresses it, whether it is envelope-valued, and whether it is AVAILABLE — moving load, settlement, response spectrum, ABS and SRSS (anywhere down the combination tree) cannot give a coexistent state and are listed with the reason and the workaround; the items the model has per result source (beam/truss/plate elements, general/elastic links, node reactions/displacements); the key effects available for them (keyEffect ids such as BEAM:Moment-y, REACTION:FZ, ELASTICLINK:Axial, with units); structure groups (element and node ranges, links found on their nodes); construction stages with their step tokens; criteria and output positions; the model's units; whether results are published. Read-only. Use search to narrow a long case list; includeConstituents shows each combination's children.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs_stage_reportMakes the Construction Stage Reporter plugin's own reports of the open model's construction stages and returns download links (never the file inline): the Excel workbook (summary, …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Makes the Construction Stage Reporter plugin's own reports of the open model's construction stages and returns download links (never the file inline): the Excel workbook (summary, stage matrices for structure/boundary/load groups, group tables, stage details, composite sections, displacements, beam results, warnings) and the A4 PDF (cover, summary, matrices, one page per stage with a picture of CIVIL NX's own view of that stage from /view/CAPTURE, and the warnings). Construction-stage displacements (series, default Summation) are included when the analysis has been run; members (as cs_stage_results) adds one beam result component. The MP4 animation is not available here — use the plugin in CIVIL NX. Read-only, but the pictures make CIVIL NX show each stage in turn. Runs as a job.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs454_lane_layoutLays out CS 454 notional lanes, remaining areas, footways and strips on a carriageway cross-section with the CS454 - Moving Load Wizard's own layout engine (Table 5.9a, cl 5.10, AL…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Lays out CS 454 notional lanes, remaining areas, footways and strips on a carriageway cross-section with the CS454 - Moving Load Wizard's own layout engine (Table 5.9a, cl 5.10, ALL model 1 single/convoy, ALL model 2, SV/HB placements), and lists the case groups each loading model needs. Needs no model — use it to answer layout questions or to choose inputs before cs454_moving_loads.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs454_moving_loadsCS 454 assessment live loading with the CS454 - Moving Load Wizard plugin's own engine: notional lanes laid out on the carriageway (line lanes on a grillage, surface lanes on a pla…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    CS 454 assessment live loading with the CS454 - Moving Load Wizard plugin's own engine: notional lanes laid out on the carriageway (line lanes on a grillage, surface lanes on a plate deck), the ALL model 1/2 vehicles up to the chosen level, SV/HB where picked, and the moving load cases with remaining areas — each written and read back. It reads the deck from the model the way the plugin does (reference girder, width, kerb, cross-beam group, skew) unless reference/surface/section.width are given. Without apply it only previews (lanes, vehicles, cases, blockers, planHash). With apply: true it writes, records the run for cs454_moving_loads_undo, and never overwrites lanes, vehicles or cases it did not write.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • cs455_assessCS 455 ULS assessment of reinforced concrete beam sections with the plugin's own engine: reads the concurrent force rows (BEAMFORCE / BEAMFORCEVBM for envelopes and moving loads, k…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    CS 455 ULS assessment of reinforced concrete beam sections with the plugin's own engine: reads the concurrent force rows (BEAMFORCE / BEAMFORCEVBM for envelopes and moving loads, kN·m; a moving-load case from a model analysed without 'Normal + Concurrent Force' is refused as NOT CONCURRENT) at the chosen element ends for the chosen combinations, and runs every row — N–M flexure by strain-compatibility equilibrium, shear (additive approach, links optional), torsion (cl 5.17–5.27) — with status per row (PASS / FAIL / BLOCKED / OUTSIDE RANGE OF VALIDITY) and the utilisation of each check. Read-only. Takes a while for many rows (a job on the website).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs455_describe_sectionStart here when the user shares a reinforcement drawing, photo or schedule.1 finding

    Why it is in this group

    • The name "cs455_describe_section" says "describe": a word for reading.
    • The description's first verb is "start": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "cs455_describe_section" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "cs455_describe_section" says "describe": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Start here when the user shares a reinforcement drawing, photo or schedule. Read from it: cover, for each face the layers (number of bars or spacing, and Ø - mm, inches or #US sizes are all accepted), side bars, links (Ø, legs, spacing); then call this tool. It reads one beam section from the open model through the shared MIDAS section library (outline checked against CIVIL NX's published properties), places the bars with the CS 455 plugin's own placement (cover to every edge) and RETURNS A DRAWING of the section with every bar placed - compare it with the user's drawing and correct rebar until they match (ask the user about anything the drawing does not show, e.g. cover). Then cs455_export_calc_sheet gives the report. Also returns what the plugin's engine derives: area, centroid, depth, usable_for_capacity, parts, the bars placed per schedule row (or why a row failed), and the model's concrete grade. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs455_export_calc_sheetThe report.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The report. Assesses one element end exactly as cs455_assess and writes the plugin's reference-format calculation sheet (.xlsx: A4 pages, title block, geometry, materials, reinforcement, section properties, sagging/hogging bending, shear and torsion with live formulas and charts, summary of results, and a Summary sheet with demand, resistance and ratio per check). Returns a download link. Use the same rebar/links that cs455_describe_section confirmed against the user's drawing. Read-only on the model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • culvert_analyse_and_checkOn the culvert model built from the same inputs (refused if the open model's counts differ): runs the CIVIL NX analysis (unless analyse: false), reads the basic-case results (force…1 finding

    Why it is in this group

    • The name "culvert_analyse_and_check" says "analyse": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "culvert_analyse_and_check" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "culvert_analyse_and_check" says "analyse": a word for reading.

      What this check looks for
    Description, as the server wrote it
    On the culvert model built from the same inputs (refused if the open model's counts differ): runs the CIVIL NX analysis (unless analyse: false), reads the basic-case results (forces, reactions, displacements) and runs the plugin's checks — every Annex A2 combination and vehicle position: ULS flexure and shear, SLS stresses and crack width, detailing, bearing and uplift. Returns the verdict and the governing locations. Takes minutes: a job on the website.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • culvert_reportRuns the checks on the analysed culvert model (as culvert_analyse_and_check, without re-analysing unless analyse: true) and writes the plugin's report: format xlsx (default) = the …1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "culvert_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Runs the checks on the analysed culvert model (as culvert_analyse_and_check, without re-analysing unless analyse: true) and writes the plugin's report: format xlsx (default) = the calculation book in the MIDAS report format with result diagrams captured from CIVIL NX, pdf, or both (one run of the checks). Returns download links.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • ec_wind_applyCalculates §8 wind on the deck and writes it with the Eurocode Wind Loads plugin's adapter: one EC1W_ load case per global direction, then beam loads (beam deck) or a pressure + fa…No findings

    Why it is in this group

    • The name "ec_wind_apply" says "apply": a word for a change.
    Description, as the server wrote it
    Calculates §8 wind on the deck and writes it with the Eurocode Wind Loads plugin's adapter: one EC1W_ load case per global direction, then beam loads (beam deck) or a pressure + fascia nodal loads (plate deck) on the target elements — one element written and read back first, then the rest, with a direction audit. Target: elementIds, a structure group, or (neither) the deck the plugin finds itself. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • ec_wind_bridgeCalculates EN 1991-1-4 §8 wind actions on a bridge deck with the Eurocode Wind Loads plugin's own engine: v_b, q_p(z_e), c_sc_d, d_tot, the transverse (x), longitudinal (y) and ver…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculates EN 1991-1-4 §8 wind actions on a bridge deck with the Eurocode Wind Loads plugin's own engine: v_b, q_p(z_e), c_sc_d, d_tot, the transverse (x), longitudinal (y) and vertical (z, at e = ±b/4) forces, and the load cases the plugin would write. Needs no model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • export_result_tablesExports one or more CIVIL NX tables (each like the preview_result_table arguments, full scope, no sampling) into one Excel workbook built by the exporter plugin: one sheet per tabl…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Exports one or more CIVIL NX tables (each like the preview_result_table arguments, full scope, no sampling) into one Excel workbook built by the exporter plugin: one sheet per table (and per sub-table; split above 1,048,575 rows), unit-labelled headers, numeric cells, and a 'Contents & Export Log' sheet listing each table's request, rows and any failure. format csv gives one CSV file per sheet instead. Returns download links (never the file inline) and a per-table summary; a table that fails is logged and the rest still export. Read-only. Can run long on big models, so it runs as a job on the website.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_qc_checkRuns the Model Report plugin's fourteen quality checks on the open CIVIL NX model: duplicate (coincident) nodes, orphan nodes, zero-length and duplicate elements, elements without …1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "model_qc_check" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Runs the Model Report plugin's fourteen quality checks on the open CIVIL NX model: duplicate (coincident) nodes, orphan nodes, zero-length and duplicate elements, elements without material/section, unused properties, disconnected regions, support adequacy, load cases with no loads, loads on missing nodes/elements, combinations citing a missing case, elements in no structure group, length outliers and end releases that make a mechanism. Returns each check's result (pass / fail / not applicable / not run), severity, criterion, count and the ids involved, a model summary (counts, units) and what was read from each table. Reads only the tables the checks use (GET only). Read-only; on the website it runs as a job.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_report_exportBuilds the Model Report plugin's 'Model report' for the open CIVIL NX model — cover, contents, materials, sections (with drawings), supports and springs, load cases, combinations a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Builds the Model Report plugin's 'Model report' for the open CIVIL NX model — cover, contents, materials, sections (with drawings), supports and springs, load cases, combinations and loads, nodes/elements/groups appendix, cross sections, tendons, CIVIL NX pictures, the QC checks and the data sources read — and returns it as download links: html (default), xlsx, docx and/or pdf, in English, French, German, Greek or Polish. Document details (project, client, job no., revision, author, checker, date …) go on the cover. Pictures are rendered by CIVIL NX (POST /view/CAPTURE, the user's own view is left as it is): by default the isometric model view and every figure saved in the model; choose model views, load views, saved figures and beam diagrams with `images` (model_report_images lists them), and the beam diagrams' legend format (exponential/fixed, decimals) there too. Otherwise reads only (GET, plus POST /post/TABLE for tendon coordinates). Runs as a job.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_to_dxfDraws the open CIVIL NX model as DXF with the Model to IFC plugin's drawing engine: a 2D drawing file (DXF 2000: plan, elevation developed along the deck, hidden-line isometric, se…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Draws the open CIVIL NX model as DXF with the Model to IFC plugin's drawing engine: a 2D drawing file (DXF 2000: plan, elevation developed along the deck, hidden-line isometric, section cuts with hatched faces and tendon ducts, and every section in use dimensioned) and a 3D DXF (one polyface mesh per element, layered by role, DXF 2000 or R12). Cuts are given in metres: {kind:'cross', at: chainage} across the deck, {kind:'long', at: offset left of the centreline}, {kind:'level', at: height}, with depth = how far beyond the cut to draw; none given = one across mid-span, cutsAtSupports adds one at each pier and abutment. Only reads the model; returns download links.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_to_ifcExports the open CIVIL NX model to IFC with the Model to IFC plugin: real section outlines with voids, smooth tapers, tendons, composite deck slabs, materials, structure groups and…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Exports the open CIVIL NX model to IFC with the Model to IFC plugin: real section outlines with voids, smooth tapers, tendons, composite deck slabs, materials, structure groups and stages; in IFC4.3 also the bridge structure (deck, piers, abutments, bearings, alignment); optionally the structural analysis model with loads, combinations, support reactions, and — for the series named in resultSeries — node displacements and member/plate forces; optionally a second file of the deformed shape for one load case or combination. Only reads the model. Returns download links (never the file inline) and the exporter's report (sections, volumes, bridge parts, checks). Results are read on demand and can take long on big models (one live model: 40 s for all displacements), which is why this runs as a job.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • pd6694_route_aPD 6694-1 integral abutment earth pressures by the limit-equilibrium route (K*, cl.9.4.3/9.4.4) with the PD 6694-1 Integral Abutment plugin's own engine: thermal movement and desig…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    PD 6694-1 integral abutment earth pressures by the limit-equilibrium route (K*, cl.9.4.3/9.4.4) with the PD 6694-1 Integral Abutment plugin's own engine: thermal movement and design displacement, the route (A1/A2, or B / review when Annex A is needed), applicability checks, coefficients, and the four states EXPMAX/EXPMIN/CONMAX/CONMIN (force, peak pressure, resultant, moment per metre). Needs no model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • pd6694_route_a_writeWrites the four PD 6694 limit-equilibrium states as plate pressures on one or two abutment wall groups, exactly as the plugin's Write button: same-model guard, the PD6694 EP load c…No findings

    Why it is in this group

    • The name "pd6694_route_a_write" says "write": a word for a change.
    Description, as the server wrote it
    Writes the four PD 6694 limit-equilibrium states as plate pressures on one or two abutment wall groups, exactly as the plugin's Write button: same-model guard, the PD6694 EP load cases and groups, pressure items (other loads on the plates kept), then verification of the totals against the calculation; optionally activates them in a construction stage. Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • pd6694_ssi_planPlans the PD 6694-1 Annex A soil-structure interaction run on the open model with the plugin's planner: spring nodes on each wall, piles, the stiffness range, and every blocker.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Plans the PD 6694-1 Annex A soil-structure interaction run on the open model with the plugin's planner: spring nodes on each wall, piles, the stiffness range, and every blocker. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • pd6694_ssi_runRuns the PD 6694-1 Annex A iteration with the plugin's own runner: Winkler springs on the walls (multi-linear), repeated analyses until the wall displacements settle, then the two …No findings

    Why it is in this group

    • The name "pd6694_ssi_run" says "run": a word for a change.
    Description, as the server wrote it
    Runs the PD 6694-1 Annex A iteration with the plugin's own runner: Winkler springs on the walls (multi-linear), repeated analyses until the wall displacements settle, then the two design pressure cases written and the analysis set-up removed — keeping a backup of the model's own springs for undo. Takes minutes: on the website it runs as a job (poll job_status). Previews unless apply: true.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • section_propertiesComputes the full CIVIL NX property set of a section with Section Designer's solver: exact area, centroid, second moments, extreme fibres and perimeters from the outlines, and tors…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Computes the full CIVIL NX property set of a section with Section Designer's solver: exact area, centroid, second moments, extreme fibres and perimeters from the outlines, and torsion J and shear areas ASY/ASZ from a finite-element mesh refined until all three settle to 0.5 % (converged: true). Composites (two or more parts) give each part alone (STIFF) and each construction stage transformed to the reference material (STIFF_SUM). Results use CIVIL's names (AREA, ASY, ASZ, RXX = J, RYY = Iyy, RZZ = Izz, …) in the section's units. Needs no model. Same section input as section_preview.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • slab_capacities_from_barsBar arrangement → everything the RC Slab & Shell Assessment routes need, with the plugin's own core: per layer area, d, x, z, moment capacity (kNm/m) and force (kN/m); the Denton/W…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Bar arrangement → everything the RC Slab & Shell Assessment routes need, with the plugin's own core: per layer area, d, x, z, moment capacity (kNm/m) and force (kN/m); the Denton/Wood-Armer capacity pairs, the four Annex LL steel forces and the covers to the reinforcement centroid. Needs no model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • sls_stress_checkThe Stress Profile Generator's SLS report check (EN 1992-2 §7.2 concrete, EN 1993-2 §7.3 structural steel; normal stress σx at the fibres) over many elements × positions × combinat…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The Stress Profile Generator's SLS report check (EN 1992-2 §7.2 concrete, EN 1993-2 §7.3 structural steel; normal stress σx at the fibres) over many elements × positions × combinations — or, with source stages, its construction-stage checks (fck(t) from CIVIL NX's concrete age, steel fy/γM0, tendons from CIVIL NX's tendon stresses). Every state is generated and matched with CIVIL NX as in stress_profile; composite parts are checked against their own concrete's fck. LIMITS ARE OPT-IN exactly as in the plugin: with no limit chosen the verdict is NO LIMIT APPLIED; nothing that could not be evaluated passes (INCOMPLETE). Combination categories (characteristic / frequent / quasi-permanent / none) are taken as given, else guessed from the name and reported. Returns the one verdict, the limits used, counts, the governing state, failures, what was not evaluated and why, per combination/stage and per element, and the plugin's SLS CSV as a download link. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • stage_groupsCreates structure groups with the Construction Stage Wizard plugin's group builder: pick a scope of elements, split it by rules (slice along X/Y/Z into n segments or at cuts, by se…No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Creates structure groups with the Construction Stage Wizard plugin's group builder: pick a scope of elements, split it by rules (slice along X/Y/Z into n segments or at cuts, by section, material, element type, thickness, id ranges, existing groups), name them from a template, and resolve clashes with existing groups by policy. Typical use: segments of a deck for staged construction, e.g. rules [{kind:'slice', axis:'X', mode:'count', count:8, cuts:[]}] with naming {template:'Seg_{SLICE}'}. Previews unless apply: true; the write keeps a snapshot for stages_undo.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • stress_profileThe Stress Profile Generator's profile for ONE beam element: from CIVIL NX's beam forces and the true section outline it calculates σx (or σx from N / My / Mz, τ from Vz / Vy, von …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The Stress Profile Generator's profile for ONE beam element: from CIVIL NX's beam forces and the true section outline it calculates σx (or σx from N / My / Mz, τ from Vz / Vy, von Mises, principal, Tresca) over the section at the chosen positions and loads, and checks every profile against CIVIL NX's own published stresses (effective PSC sections are drawn through CIVIL NX's stress points; composite sections part by part from CIVIL NX's per-part results; envelopes give CIVIL NX's values at the stress points plus the governing member or static part as a profile). Returns per profile: status (ok/unchecked/points/refused) with reasons, forces, extremes and where they occur, CIVIL NX vs calculated at stress points 1–4, per-part σx for composites, and min/max across the section at each depth. With `thermal` it gives the EN 1991-1-5 temperature stresses instead, split into total, restraint, self-equilibrating, uniform and linear parts (Type 3 heating/cooling with 100 mm surfacing, a user ΔT profile, or CIVIL NX's own section temperature; restraint free, full, axial, rotation, or CIVIL NX's forces of a load). Optional csv gives the plugin's CSV export as a download link. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
Only reads 20Show 20 read-only tools
  • b2p_surveyReads the model the way the Beam to Plate plugin (1.0.6) does and studies every section the chosen beams use, against CIVIL NX's own published properties (/ope/SECTPROP): whether t…No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Reads the model the way the Beam to Plate plugin (1.0.6) does and studies every section the chosen beams use, against CIVIL NX's own published properties (/ope/SECTPROP): whether the outline was READ correctly (A/Iyy/Izz vs published) and how far the PLATE model sits from it, the verdict (converts / blocked / not read, with the reason), the plugin's plate-or-solid suggestion with the mesh a solid would need, material slots of composite parts, the model's length/force units, the beams that cannot be converted and why, and an element estimate for the mesh. Choose beams with ONE of elementIds, sections, groups or useCivilSelection (default: every beam). Read-only; on the website it runs as a background job (poll job_status).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • bridge_reshape_readReads the open model the way the Bridge Reshaper plugin (1.0.5) does: the deck (straight, in straight pieces kinked at half-joints or piers, or curved; beam girders, girders meshed…No findings

    Why it is in this group

    • The name "bridge_reshape_read" says "read": a word for reading.
    Description, as the server wrote it
    Reads the open model the way the Bridge Reshaper plugin (1.0.5) does: the deck (straight, in straight pieces kinked at half-joints or piers, or curved; beam girders, girders meshed as plates, or a spine (single-line) model with its pylons, stays and piers read as substructure; any length unit), its spans, supports and skews (Abutment A, Pier 1…, Abutment B, skew in degrees from square), girder/edge lines, bearings and substructure assemblies, its direction (tightest radius on a curve) and its levels (level at each abutment, grade, cross slope), with a plan drawing. Read-only; on the website it runs as a background job (poll job_status). Use it before bridge_reshape.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • civil_read_tableReads one MIDAS database table (GET /db/<TABLE>) from the open model, e.g.Reads private dataNo findings

    Why it is in this group

    • The name "civil_read_table" says "read": a word for reading.

    What it can reach

    • private-dataThe name "civil_read_table" says "read" and "table": it reads databases.
    • private-dataThe description's first sentence says "read" and "database": it reads databases.
    • private-dataThe input names a table (input.table), and the tool reads: it reads databases.
    Description, as the server wrote it
    Reads one MIDAS database table (GET /db/<TABLE>) from the open model, e.g. NODE, ELEM, SECT, GRUP, STLD, STAG, LLAN, MVLDBS, LCOM-GEN. Returns rows keyed by id: the ids asked for, or the first `limit` rows. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • civil_statusChecks the MAPI connection to CIVIL NX and summarises the open model: units, moving load code, row counts per table, structure/boundary/load group names, static load cases, stages,…Reads private dataNo findings

    Why it is in this group

    • The name "civil_status" says "status": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "table": it reads databases.
    Description, as the server wrote it
    Checks the MAPI connection to CIVIL NX and summarises the open model: units, moving load code, row counts per table, structure/boundary/load group names, static load cases, stages, general combinations, and the most recent runs recorded for this key. Read-only. Call this first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs_stage_resultsReads construction-stage analysis results the way the Construction Stage Reporter plugin does (POST /post/TABLE in the construction-stage family, every stage in one query at its la…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    • untrusted-inputThe description's first sentence says "read" and "post": it reads posts, which other people can write.
    Description, as the server wrote it
    Reads construction-stage analysis results the way the Construction Stage Reporter plugin does (POST /post/TABLE in the construction-stage family, every stage in one query at its last step; stages after the analysis stopped carry the stage before and are flagged published:false). displacements (default on): per stage the largest resultant |D| over all nodes, its node and DX/DY/DZ, in mm; nodes:[ids] adds those nodes' displacements per stage. members: beam forces or stresses of chosen beams — per stage the max/min of a component over the beams active in it, with element, output position (I…J) and section part; detailElements:[ids] (≤20) adds the values along those beams. Units are the model's (forces/moments) and mm (displacements). series is a construction-stage result series (default Summation; listSeries: true lists what the model publishes, e.g. Dead Load, Tendon Primary, Creep Secondary). Needs a construction-stage analysis already run in CIVIL NX. Read-only; may take a minute on big models.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • cs_stage_summaryReads the construction stage definition of the open CIVIL NX model with the Construction Stage Reporter plugin's engine and returns, per stage: duration and day range, the structur…Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "db": it reads databases.
    Description, as the server wrote it
    Reads the construction stage definition of the open CIVIL NX model with the Construction Stage Reporter plugin's engine and returns, per stage: duration and day range, the structure groups activated (with age and element count) and deactivated (with redistribution), boundary groups activated (deformed/original position) and deactivated, load groups activated/deactivated (first/last day), composite section parts (db/CSCS) that start acting, and the elements and boundary entities active after it. Also the composite sections, the whole-model summary, and the plugin's consistency checks (a group deactivated before it was activated, groups no stage uses, elements never activated, groups a stage names but the model lacks…). Read-only. elementIds: true adds the activated/deactivated element ids per stage; groups: true adds a row per group.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • culvert_previewValidates a 2D Culvert project with the plugin's own Eurocode core and returns what it would build: nodes, elements, soil springs, basic load cases (traffic unit cases), the EN 199…No findings

    Why it is in this group

    • The name "culvert_preview" says "preview": a word for reading.
    Description, as the server wrote it
    Validates a 2D Culvert project with the plugin's own Eurocode core and returns what it would build: nodes, elements, soil springs, basic load cases (traffic unit cases), the EN 1990 Annex A2 combination counts (ULS, SLS characteristic, quasi-permanent) and the nested CIVIL NX combinations, check locations, earth-pressure basis (K0 / PD 6694-1 Annex B / cl 9.4 K*) and derived geometry. Needs no model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • dxf_inspectReads a DXF with the Advanced DXF Importer plugin's own parser and clean-up and reports what an import would create: the file (version, encoding, entity counts, what is ignored or …Reads private dataReads text others writeCan send data outNo findings

    Why it is in this group

    • The name "dxf_inspect" says "inspect": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "file": it reads files.
    • private-dataThe input names a file (input.filePath), and the tool reads: it reads files.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Reads a DXF with the Advanced DXF Importer plugin's own parser and clean-up and reports what an import would create: the file (version, encoding, entity counts, what is ignored or unsupported), its units, every layer with its entities and mapping, and the clean model — nodes, BEAM/TRUSS/PLATE elements per layer, structure groups, disconnected parts, and the clean-up operations (merged nodes, removed duplicates and zero-length segments, splits at crossings and T-junctions, hanging nodes). Needs no CIVIL NX model and changes nothing. Give the drawing as dxfText, dxfBase64 or url (4 MB inline, 25 MB by url). Use it to choose the mapping and settings before dxf_import. Lengths in the report are in the unit the import works in (importIn).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • ec_wind_read_deckReads the open model the way the Eurocode Wind Loads plugin does: finds the deck (or measures the elements / group given), and reports b, d, L, the soffit height, the span axis, wh…No findings

    Why it is in this group

    • The name "ec_wind_read_deck" says "read": a word for reading.
    Description, as the server wrote it
    Reads the open model the way the Eurocode Wind Loads plugin does: finds the deck (or measures the elements / group given), and reports b, d, L, the soffit height, the span axis, whether the deck is beams or plates, and a structural-form guess. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • job_statusStatus, progress and (when finished) the result of a tool call that returned a jobId.No findings

    Why it is in this group

    • The name "job_status" says "status": a word for reading.
    Description, as the server wrote it
    Status, progress and (when finished) the result of a tool call that returned a jobId. Poll every few seconds until status is done or failed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_bridge_summaryReads the open model's geometry tables and CIVIL NX's computed section properties and reports the bridge the Model to IFC plugin finds in it: girder lines, piers and pylons (statio…Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    Description, as the server wrote it
    Reads the open model's geometry tables and CIVIL NX's computed section properties and reports the bridge the Model to IFC plugin finds in it: girder lines, piers and pylons (station, elements, bearings, foundations), abutments, bearings, the deck alignment and its line/arc fit, the joined deck, every section in use with how its outline was rebuilt and its area difference from CIVIL NX, tendons, weightless members left out, volumes per material. Read-only; writes no file. Use it before model_to_ifc / model_to_dxf, or to sanity-check a model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • model_report_imagesLists the CIVIL NX pictures the Model Report can put in this model's report, with their keys: FE model views (iso, plan, front, side), the applied loads of each static load case, t…Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "db": it reads databases.
    Description, as the server wrote it
    Lists the CIVIL NX pictures the Model Report can put in this model's report, with their keys: FE model views (iso, plan, front, side), the applied loads of each static load case, the figures saved in the model (/db/UFIG), and the beam diagrams on offer (each static case, combination and construction-stage part × components Fx…Mw). Pick from them with model_report_export images. Read-only (GET only); nothing is rendered.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • preview_result_tableReads one table from the open CIVIL NX model the way the exporter's 'Preview this table' does and returns its first rows (default 20, max 200) with unit-labelled headers, any sub-t…Reads private dataNo findings

    Why it is in this group

    • The name "preview_result_table" says "preview": a word for reading.

    What it can reach

    • private-dataThe name "preview_result_table" says "preview" and "table": it reads databases.
    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    • private-dataThe input names a table (input.table), and the tool reads: it reads databases.
    Description, as the server wrote it
    Reads one table from the open CIVIL NX model the way the exporter's 'Preview this table' does and returns its first rows (default 20, max 200) with unit-labelled headers, any sub-tables (e.g. reaction totals) and the exact POST /post/TABLE Argument sent. Result tables are a quick sample (first 20 nodes/elements, 3 load cases, 2 stage steps) with an estimate of the full row count; model tables are read whole. When no loadCases are given it also lists the model's load-case names (loadCasesInModel). Read-only (GET /db and POST /post/TABLE only). Results need an analysed model.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • result_table_catalogLists the CIVIL NX tables the Bulk Tabular Result Exporter plugin can export, with each one's id, MIDAS TABLE_TYPE or /db endpoint, components and the arguments it takes: analysis …Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.

    What it can reach

    • private-dataThe name "result_table_catalog" says "table": it reads databases.
    • private-dataThe description's first sentence says "list" and "table": it reads databases.
    Description, as the server wrote it
    Lists the CIVIL NX tables the Bulk Tabular Result Exporter plugin can export, with each one's id, MIDAS TABLE_TYPE or /db endpoint, components and the arguments it takes: analysis results (reactions, displacements, beam/truss/plate/solid forces and stresses, links, cables, tendons, modes, composite sections, construction stage tables, 'all columns' for any TABLE_TYPE), calculated pre-process tables, and every model data table (/db/NODE, ELEM, SECT, loads, stages, combinations…). Filter with scope, search or id. Needs no model. Use it to pick the table id for preview_result_table and export_result_tables.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • section_previewChecks a cross-section's outlines with Section Designer's own rules (closed, not self-crossing, holes inside their outline, no overlaps, materials) and returns a PNG drawing of it …No findings

    Why it is in this group

    • The name "section_preview" says "preview": a word for reading.
    Description, as the server wrote it
    Checks a cross-section's outlines with Section Designer's own rules (closed, not self-crossing, holes inside their outline, no overlaps, materials) and returns a PNG drawing of it — the outlines, numbered input vertices, the centroid and chain dimensions — plus the extents, areas and every vertex. Use it FIRST, and LOOK at the drawing: compare it with the user's sketch (overall width and depth, slab and web thicknesses, haunches, cells) and correct misreads before computing or writing anything. Needs no model. From a sketch: read every dimension and put the outline down as vertices in y (across, right +) and z (up), in the sketch's units (default mm). Holes are separate rings inside their outline; direction of travel does not matter. Rounded corners: fillet on that vertex; arcs between vertices: bulge; round bars or ducts: { circle }. Standard shapes can use a template (i_girder, box_girder) instead of vertices. Two materials (girder + slab): one part each, in construction order, each with its material.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • section_readWithout id: lists the model's sections (id, name, type, whether Section Designer can edit it) and the next free id.No findings

    Why it is in this group

    • The name "section_read" says "read": a word for reading.
    Description, as the server wrote it
    Without id: lists the model's sections (id, name, type, whether Section Designer can edit it) and the next free id. With id: returns a drawn section (VALUE/GEN, PSC/VALU, COMPOSITE-GEN) as outlines in section_preview's input format, in units (default mm), with its stored properties — edit it and write it back with section_write.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • slab_assessReads plate forces (PLATEFORCEUL, element local axes) for one orientation group and the given load cases, rotates them to the reinforcement direction and assesses every position wi…No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Reads plate forces (PLATEFORCEUL, element local axes) for one orientation group and the given load cases, rotates them to the reinforcement direction and assesses every position with the plugin's own core (Denton, Wood-Armer, sandwich, Annex LL, CS 455). Returns counts, the worst elements with governing case/position, coverage and every gap (missing results are INCOMPLETE, never a pass). Read-only. Can take minutes on big models (a job on the website).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • slab_explain_locationThe working behind one element's utilisation: reads that element's plate forces, picks its governing position and case (or the one given) and re-runs it through the plugin's explai…No findings

    Why it is in this group

    • The name "slab_explain_location" says "explain": a word for reading.
    Description, as the server wrote it
    The working behind one element's utilisation: reads that element's plate forces, picks its governing position and case (or the one given) and re-runs it through the plugin's explain_location — every route, face, utilisation and intermediate quantity (gamma, Wood-Armer branch, sandwich layer forces, Annex LL split). Same inputs as slab_assess plus element. Read-only.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • slab_surveyReads the open model's plates (ELEM/NODE), structure groups, static cases and combinations (all LCOM tables) the way the RC Slab & Shell Assessment plugin does: orientation groups …Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "table": it reads databases.
    Description, as the server wrote it
    Reads the open model's plates (ELEM/NODE), structure groups, static cases and combinations (all LCOM tables) the way the RC Slab & Shell Assessment plugin does: orientation groups by plate normal (with a suggested in-plane reference direction) and every case with the sense it must be requested by. Read-only; use it before slab_assess.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • stress_element_loadsReads what the Stress Profile Generator can show for chosen beam elements: each element's section (type, outline verified, composite parts, tapered), material, length, the load cas…No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Reads what the Stress Profile Generator can show for chosen beam elements: each element's section (type, outline verified, composite parts, tapered), material, length, the load cases / combinations / envelopes CIVIL NX publishes results for (with kind and whether each is one concurrent state), the construction stages with results for that element (and, with stage, that stage's results such as Summation). Also lists the model's combinations with the SLS category the plugin would guess. Read-only; reads results with a few batched /post/TABLE requests. Use it before stress_profile or sls_stress_check.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

30 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads text others write3
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__civil-nx__dxf_inspect"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "cs455_describe_section" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "cs455_describe_section" says "describe": a word for reading.

    What this check looks for
  • The server marks "culvert_analyse_and_check" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "culvert_analyse_and_check" says "analyse": a word for reading.

    What this check looks for
  • The server marks "culvert_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "model_qc_check" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "run": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.7.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http civil-nx https://midasiteurope.com/mcp
claude mcp add --transport http civil-nx https://midasiteurope.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__civil-nx__b2p_survey",
      "mcp__civil-nx__bridge_reshape_read",
      "mcp__civil-nx__cs_stage_summary",
      "mcp__civil-nx__cs_stage_results",
      "mcp__civil-nx__culvert_preview",
      "mcp__civil-nx__ec_wind_read_deck",
      "mcp__civil-nx__civil_status",
      "mcp__civil-nx__civil_read_table",
      "mcp__civil-nx__job_status",
      "mcp__civil-nx__model_report_images",
      "mcp__civil-nx__model_bridge_summary",
      "mcp__civil-nx__slab_survey",
      "mcp__civil-nx__slab_assess",
      "mcp__civil-nx__slab_explain_location",
      "mcp__civil-nx__result_table_catalog",
      "mcp__civil-nx__preview_result_table",
      "mcp__civil-nx__section_preview",
      "mcp__civil-nx__section_read",
      "mcp__civil-nx__stress_element_loads"
    ],
    "ask": [
      "mcp__civil-nx__auto_structure_groups",
      "mcp__civil-nx__concurrent_forces_setup",
      "mcp__civil-nx__concurrent_forces",
      "mcp__civil-nx__concurrent_forces_probe",
      "mcp__civil-nx__cs454_lane_layout",
      "mcp__civil-nx__cs454_moving_loads",
      "mcp__civil-nx__cs455_describe_section",
      "mcp__civil-nx__cs455_assess",
      "mcp__civil-nx__cs455_export_calc_sheet",
      "mcp__civil-nx__cs_stage_report",
      "mcp__civil-nx__culvert_analyse_and_check",
      "mcp__civil-nx__culvert_report",
      "mcp__civil-nx__dxf_inspect",
      "mcp__civil-nx__ec_wind_bridge",
      "mcp__civil-nx__ec_wind_apply",
      "mcp__civil-nx__model_qc_check",
      "mcp__civil-nx__model_report_export",
      "mcp__civil-nx__model_to_ifc",
      "mcp__civil-nx__model_to_dxf",
      "mcp__civil-nx__pd6694_route_a",
      "mcp__civil-nx__pd6694_route_a_write",
      "mcp__civil-nx__pd6694_ssi_plan",
      "mcp__civil-nx__pd6694_ssi_run",
      "mcp__civil-nx__slab_capacities_from_bars",
      "mcp__civil-nx__export_result_tables",
      "mcp__civil-nx__section_properties",
      "mcp__civil-nx__stage_groups",
      "mcp__civil-nx__stress_profile",
      "mcp__civil-nx__sls_stress_check"
    ],
    "deny": [
      "mcp__civil-nx__auto_structure_groups_undo",
      "mcp__civil-nx__b2p_convert",
      "mcp__civil-nx__b2p_undo",
      "mcp__civil-nx__bridge_reshape",
      "mcp__civil-nx__bridge_reshape_undo",
      "mcp__civil-nx__cs454_moving_loads_undo",
      "mcp__civil-nx__culvert_build",
      "mcp__civil-nx__culvert_build_undo",
      "mcp__civil-nx__dxf_import",
      "mcp__civil-nx__dxf_import_undo",
      "mcp__civil-nx__ec_wind_remove",
      "mcp__civil-nx__skew_grillage",
      "mcp__civil-nx__skew_grillage_undo",
      "mcp__civil-nx__create_nodes",
      "mcp__civil-nx__create_nodes_undo",
      "mcp__civil-nx__pd6694_route_a_remove",
      "mcp__civil-nx__pd6694_ssi_remove",
      "mcp__civil-nx__section_write",
      "mcp__civil-nx__section_write_undo",
      "mcp__civil-nx__construction_stages",
      "mcp__civil-nx__stages_undo"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as civil-nx. Review it before you use it.

Capability tags behind 11 rules
  • mcp__civil-nx__cs_stage_summary private-data
  • mcp__civil-nx__cs_stage_results private-data, untrusted-input
  • mcp__civil-nx__dxf_inspect private-data, untrusted-input, outbound
  • mcp__civil-nx__dxf_import untrusted-input
  • mcp__civil-nx__civil_status private-data
  • mcp__civil-nx__civil_read_table private-data
  • mcp__civil-nx__model_report_images private-data
  • mcp__civil-nx__model_bridge_summary private-data
  • mcp__civil-nx__slab_survey private-data
  • mcp__civil-nx__result_table_catalog private-data
  • mcp__civil-nx__preview_result_table private-data

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.midasiteurope/civil-nx/verify?hash=692ec785b345766370154312d3852490fcfcd7af57706b722a87ac4290dd7d4f" | jq -e '.changed == false'

Pinned hash 692ec785b345, from Oct 26, 2026, 16:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.midasiteurope/civil-nx/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.midasiteurope/civil-nx
[![anlyon.dev](https://anlyon.dev/badge/com.midasiteurope/civil-nx.svg)](https://anlyon.dev/servers/com.midasiteurope/civil-nx)

Source: MCP Registry. Synced Oct 26, 2026, 16:17 UTC.