← WebMCP Directory

Tool tree

m-ill.github.io

Developer ToolsTools verified
Website
StructSketch is a tablet-first structural sketch and preliminary quick-check workspace with agent-accessible deterministic analysis.
Explore capabilities
    get_model_summaryAnswer

    Summarize the structural model currently open in StructSketch: element counts, supports, units, bounding box, active page and load combination, and whether analysis has completed. Read-only.

    View tool JSON
    {
      "name": "get_model_summary",
      "kind": "answer",
      "impl": "imperative",
      "description": "Summarize the structural model currently open in StructSketch: element counts, supports, units, bounding box, active page and load combination, and whether analysis has completed. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    run_quick_checkAction

    Run StructSketch's existing deterministic linear-static analysis on the current model and return the bounded result: envelope max displacement and utilization, per-combination equilibrium residuals, and validation messages. Preliminary allowable-stress screening only — no buckling or code checks. Read-only.

    View tool JSON
    {
      "name": "run_quick_check",
      "kind": "act",
      "impl": "imperative",
      "description": "Run StructSketch's existing deterministic linear-static analysis on the current model and return the bounded result: envelope max displacement and utilization, per-combination equilibrium residuals, and validation messages. Preliminary allowable-stress screening only — no buckling or code checks. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    find_critical_membersAnswer

    Rank the members of the current model by their governing allowable-stress interaction ratio across all load combinations, worst first. Read-only.

    View tool JSON
    {
      "name": "find_critical_members",
      "kind": "answer",
      "impl": "imperative",
      "description": "Rank the members of the current model by their governing allowable-stress interaction ratio across all load combinations, worst first. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "How many members to return (default 5)."
          }
        },
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    show_result_viewAction

    Change which result overlay is visible on the StructSketch canvas (deformation, moment, shear, axial, torsion, reaction, check, deflection) and report the resulting toggle state.

    View tool JSON
    {
      "name": "show_result_view",
      "kind": "act",
      "impl": "imperative",
      "description": "Change which result overlay is visible on the StructSketch canvas (deformation, moment, shear, axial, torsion, reaction, check, deflection) and report the resulting toggle state.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "deformation",
              "moment",
              "shear",
              "axial",
              "torsion",
              "reaction",
              "check",
              "deflection"
            ],
            "description": "Result overlay to show."
          }
        },
        "required": [
          "mode"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    focus_memberAction

    Identify a member by id in the visible model: turns on member numbers and check colouring and returns the member's geometry and governing design check. Does not re-centre the 3D camera.

    View tool JSON
    {
      "name": "focus_member",
      "kind": "act",
      "impl": "imperative",
      "description": "Identify a member by id in the visible model: turns on member numbers and check colouring and returns the member's geometry and governing design check. Does not re-centre the 3D camera.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "member_id": {
            "type": "string",
            "description": "Member id, e.g. from find_critical_members or get_model_summary."
          }
        },
        "required": [
          "member_id"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    preview_member_changeAction

    Evaluate a proposed change to one member's section and/or material WITHOUT changing the model. Returns a proposal_id, the before/after section properties, and the analysis version the proposal is bound to. Read-only.

    View tool JSON
    {
      "name": "preview_member_change",
      "kind": "act",
      "impl": "imperative",
      "description": "Evaluate a proposed change to one member's section and/or material WITHOUT changing the model. Returns a proposal_id, the before/after section properties, and the analysis version the proposal is bound to. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "member_id": {
            "type": "string",
            "description": "Member to change."
          },
          "section_id": {
            "type": "string",
            "description": "New section id from the model catalog (optional)."
          },
          "material_id": {
            "type": "string",
            "description": "New material id from the model catalog (optional)."
          }
        },
        "required": [
          "member_id"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    apply_member_changeAction

    Apply a previously previewed member change. CHANGES THE MODEL and re-runs the analysis. Requires confirm:true and a proposal_id whose analysis version still matches the live model; a stale or unconfirmed proposal is rejected. Atomic — on failure the model is restored.

    View tool JSON
    {
      "name": "apply_member_change",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply a previously previewed member change. CHANGES THE MODEL and re-runs the analysis. Requires confirm:true and a proposal_id whose analysis version still matches the live model; a stale or unconfirmed proposal is rejected. Atomic — on failure the model is restored.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "The id returned by preview_member_change."
          },
          "confirm": {
            "type": "boolean",
            "description": "Must be true. The user must have approved this change."
          }
        },
        "required": [
          "proposal_id",
          "confirm"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    revert_member_changeAction

    Restore the model to its state immediately before the most recent apply_member_change. CHANGES THE MODEL.

    View tool JSON
    {
      "name": "revert_member_change",
      "kind": "act",
      "impl": "imperative",
      "description": "Restore the model to its state immediately before the most recent apply_member_change. CHANGES THE MODEL.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proposal_id": {
            "type": "string",
            "description": "Optional guard: must match the last applied proposal."
          }
        },
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    export_review_reportAction

    Assemble a structured review report: model summary, deterministic quick check with assumptions and warnings, critical members, the approved-change history, and (by default) the agent activity log. Read-only.

    View tool JSON
    {
      "name": "export_review_report",
      "kind": "act",
      "impl": "imperative",
      "description": "Assemble a structured review report: model summary, deterministic quick check with assumptions and warnings, critical members, the approved-change history, and (by default) the agent activity log. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "include_activity": {
            "type": "boolean",
            "description": "Include the agent activity trail (default true)."
          }
        },
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    create_warehouse_modelAction

    Build a parametric post-frame ("pole barn") warehouse frame from a plain-language description and load it into StructSketch, REPLACING the current model, then run the deterministic analysis. The agent only chooses parameters from the user's intent; geometry, sections and loads are generated deterministically and the existing S-Structures core does every calculation. Two bents plus one per bay, gable roof, collar tie and optional knee braces. Requires confirm:true — the user must have approved the description.

    View tool JSON
    {
      "name": "create_warehouse_model",
      "kind": "act",
      "impl": "imperative",
      "description": "Build a parametric post-frame (\"pole barn\") warehouse frame from a plain-language description and load it into StructSketch, REPLACING the current model, then run the deterministic analysis. The agent only chooses parameters from the user's intent; geometry, sections and loads are generated deterministically and the existing S-Structures core does every calculation. Two bents plus one per bay, gable roof, collar tie and optional knee braces. Requires confirm:true — the user must have approved the description.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "span_m": {
            "type": "number",
            "minimum": 3,
            "maximum": 30,
            "description": "Clear span between the two column lines, metres (default 12.2)."
          },
          "eave_height_m": {
            "type": "number",
            "minimum": 2,
            "maximum": 10,
            "description": "Eave (column top) height, metres (default 4.9)."
          },
          "roof_pitch": {
            "type": "string",
            "description": "Roof pitch as rise:run, e.g. \"4:12\", or a bare ratio (default \"4:12\")."
          },
          "post_spacing_m": {
            "type": "number",
            "minimum": 1.5,
            "maximum": 12,
            "description": "Spacing between frames along the building, metres (default 4.8)."
          },
          "bay_count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Number of bays; the model has bay_count + 1 frames (default 1)."
          },
          "material": {
            "type": "string",
            "enum": [
              "timber",
              "steel"
            ],
            "description": "Frame material (default timber: cedar posts and rafters)."
          },
          "bases": {
            "type": "string",
            "enum": [
              "pin",
              "fixed"
            ],
            "description": "Column base fixity (default pin / hinged)."
          },
          "snow_kN_m2": {
            "type": "number",
            "minimum": 0,
            "maximum": 10,
            "description": "Design roof snow load, kN/m2 (default 1.0)."
          },
          "dead_kN_m2": {
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "description": "Roof dead load, kN/m2 (default 0.3)."
          },
          "braces": {
            "type": "boolean",
            "description": "Include the collar tie and knee braces (default true)."
          },
          "confirm": {
            "type": "boolean",
            "description": "Must be true. The user must have approved the description before this is called."
          }
        },
        "required": [
          "confirm"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }
    create_structure_modelAction

    Create a bounded deterministic structural model from the user's plain-language intent, REPLACING the current model, then run the existing S-Structures analysis. Supported structure_type values: warehouse, portal_frame, canopy, roof_truss, multi_storey_frame. The agent selects template parameters; the page generates geometry, members, supports and loads. Requires confirm:true after echoing the interpreted request to the user.

    View tool JSON
    {
      "name": "create_structure_model",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a bounded deterministic structural model from the user's plain-language intent, REPLACING the current model, then run the existing S-Structures analysis. Supported structure_type values: warehouse, portal_frame, canopy, roof_truss, multi_storey_frame. The agent selects template parameters; the page generates geometry, members, supports and loads. Requires confirm:true after echoing the interpreted request to the user.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "structure_type": {
            "type": "string",
            "enum": [
              "warehouse",
              "portal_frame",
              "canopy",
              "roof_truss",
              "multi_storey_frame"
            ],
            "description": "Template selected from the user's intent."
          },
          "span_m": {
            "type": "number",
            "minimum": 2,
            "maximum": 30,
            "description": "Main clear span or canopy projection, metres."
          },
          "height_m": {
            "type": "number",
            "minimum": 2,
            "maximum": 10,
            "description": "Frame/eave height, or per-storey height for multi_storey_frame."
          },
          "depth_m": {
            "type": "number",
            "minimum": 1.5,
            "maximum": 20,
            "description": "Out-of-plane spacing between the two stabilising frames, metres."
          },
          "bay_count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Warehouse longitudinal bays, truss panels, or horizontal frame bays."
          },
          "storey_count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "description": "Storeys for multi_storey_frame."
          },
          "roof_pitch": {
            "type": "string",
            "description": "Pitch as rise:run, e.g. 3:12; used by warehouse, canopy, and roof_truss."
          },
          "material": {
            "type": "string",
            "enum": [
              "timber",
              "steel"
            ],
            "description": "Catalog material and matching default sections."
          },
          "bases": {
            "type": "string",
            "enum": [
              "pin",
              "fixed"
            ],
            "description": "Base condition. Canopies require fixed bases."
          },
          "load_kN_m": {
            "type": "number",
            "minimum": 0,
            "maximum": 50,
            "description": "Downward line load on generated beams/roof members, kN/m."
          },
          "post_spacing_m": {
            "type": "number",
            "minimum": 1.5,
            "maximum": 12,
            "description": "Warehouse frame spacing, metres."
          },
          "snow_kN_m2": {
            "type": "number",
            "minimum": 0,
            "maximum": 10,
            "description": "Warehouse roof snow load, kN/m2."
          },
          "dead_kN_m2": {
            "type": "number",
            "minimum": 0,
            "maximum": 5,
            "description": "Warehouse roof dead load, kN/m2."
          },
          "braces": {
            "type": "boolean",
            "description": "Include warehouse collar/knee bracing."
          },
          "confirm": {
            "type": "boolean",
            "description": "Must be true after the user approves the interpreted structure and parameters."
          }
        },
        "required": [
          "structure_type",
          "confirm"
        ],
        "additionalProperties": false
      },
      "page": "/StructSketch/"
    }