steel-tools
Was dieses MCP kann
Provides steel takeoff, weight, and gauge calculations along with RFQ, RFI, NCR, and Bluebeam markup document generation.
Tools
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['dia'], 'properties': {'dia': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': 'Bolt diameter in inches â\x80\x94 fraction ("3/4") or decimal (0.75)'}, 'length_in': {'type': 'number', 'maximum': 60, 'description': 'Optional bolt length in inches, for the turn-of-the-nut rotation', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['designation'], 'properties': {'qty': {'type': 'integer', 'maximum': 100000, 'description': 'Optional piece count (default 1) when a length is given', 'exclusiveMinimum': 0}, 'length_ft': {'type': 'number', 'maximum': 10000, 'description': 'Optional length in feet for a piece/lot area', 'exclusiveMinimum': 0}, 'designation': {'type': 'string', 'maxLength': 32, 'description': 'AISC designation, e.g. W21X50, HSS6X6X3/8, Pipe4STD'}, 'include_inside_faces': {'type': 'boolean', 'description': 'Tubes only: add interior surface, as hot-dip galvanizing coats vented HSS/pipe interiors. Default false (outside only).'}, 'coverage_sqft_per_gal': {'type': 'number', 'maximum': 2000, 'description': 'Optional practical coverage rate from the coating datasheet, to estimate gallons', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name_or_slug'], 'properties': {'name_or_slug': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Connection name, alias or slug (e.g. "clip angle", "base-plate") or a bolt grade (e.g. "A490")'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['gauge'], 'properties': {'gauge': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Sheet steel gauge number, 3 through 28'}, 'material': {'enum': ['steel', 'galvanized', 'stainless'], 'type': 'string', 'default': 'steel', 'description': 'Gauge series â\x80\x94 the same number is a different thickness each'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['grade', 'yield_ksi', 'tensile_ksi'], 'properties': {'grade': {'type': 'string', 'maxLength': 24, 'minLength': 2, 'description': 'Steel grade: "A992", "A572 Gr. 50" or "A36"'}, 'yield_ksi': {'type': 'number', 'maximum': 200, 'description': 'Reported yield, ksi', 'exclusiveMinimum': 0}, 'tensile_ksi': {'type': 'number', 'maximum': 200, 'description': 'Reported tensile, ksi', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company_name', 'ncr_number', 'date', 'project_name', 'raised_by', 'description', 'requirement_violated', 'resolution'], 'properties': {'date': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Date raised'}, 'location': {'type': 'string', 'maxLength': 200, 'description': 'Area, level, grid, or piece mark'}, 'raised_by': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Name â\x80\x94 role'}, 'ncr_number': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'NCR number from the project register, e.g. "NCR-008"'}, 'resolution': {'enum': ['accept-as-is', 'repair', 'rework', 'reject'], 'type': 'string', 'description': 'Disposition: accept-as-is (no physical work), repair, rework, or reject'}, 'root_cause': {'type': 'string', 'maxLength': 2000}, 'containment': {'type': 'string', 'maxLength': 1000, 'description': 'What was done on the spot â\x80\x94 quarantine, stop work, tag'}, 'description': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'What was found, measured against what was required'}, 'company_name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Contractor raising the NCR â\x80\x94 appears in the header'}, 'project_name': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'project_number': {'type': 'string', 'maxLength': 60}, 'root_cause_whys': {'type': 'array', 'items': {'type': 'string', 'maxLength': 300}, 'maxItems': 5, 'description': '5-Whys chain, first why to root; overrides root_cause'}, 'company_location': {'type': 'string', 'maxLength': 120}, 'corrective_action': {'type': 'string', 'maxLength': 2000, 'description': 'Bringing this instance into compliance'}, 'preventive_action': {'type': 'string', 'maxLength': 2000, 'description': 'Stopping recurrence â\x80\x94 procedure, inspection, supplier'}, 'trade_or_supplier': {'type': 'string', 'maxLength': 160}, 'requirement_violated': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'The cited requirement â\x80\x94 spec section, drawing/detail, or code clause. An NCR without a cited requirement is dispute fuel.'}, 'resolution_justification': {'type': 'string', 'maxLength': 1000, 'description': 'Required in practice for accept-as-is â\x80\x94 the concession basis'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['markups'], 'properties': {'scale': {'type': 'string', 'maxLength': 40, 'description': 'Document scale for measurements, e.g. "1/4 in = 1 ft" or "1:100"'}, 'author': {'type': 'string', 'maxLength': 120, 'description': 'Markups List author column'}, 'markups': {'type': 'array', 'items': {'type': 'object', 'required': ['page'], 'properties': {'at': {'anyOf': [{'type': 'array', 'prefixItems': [{'type': 'number'}, {'type': 'number'}]}, {'type': 'array', 'items': {'type': 'array', 'prefixItems': [{'type': 'number'}, {'type': 'number'}]}, 'maxItems': 2000}]}, 'bump': {'type': 'number', 'maximum': 200}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'fill': {'type': 'string', 'maxLength': 9}, 'page': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': '1-based page number'}, 'rect': {'type': 'array', 'description': "[x, y, w, h] in the markup's coordinate space", 'prefixItems': [{'type': 'number'}, {'type': 'number'}, {'type': 'number'}, {'type': 'number'}]}, 'size': {'type': 'number', 'maximum': 1000}, 'tool': {'type': 'string', 'maxLength': 60, 'description': 'A steel takeoff preset key, e.g. hss-ea, w-beam-lf, rfi-cloud'}, 'type': {'type': 'string', 'maxLength': 40, 'description': 'Annotation type when not using a preset tool'}, 'arrow': {'type': 'boolean'}, 'box_h': {'type': 'number', 'maximum': 10000}, 'box_w': {'type': 'number', 'maximum': 10000}, 'color': {'type': 'string', 'maxLength': 9, 'description': 'Hex color, e.g. #FF0000'}, 'label': {'type': 'string', 'maxLength': 200}, 'scale': {'type': 'string', 'maxLength': 40, 'description': 'Per-markup scale, e.g. "1/4 in = 1 ft"'}, 'width': {'type': 'number', 'maximum': 100}, 'author': {'type': 'string', 'maxLength': 120}, 'points': {'type': 'array', 'items': {'type': 'array', 'prefixItems': [{'type': 'number'}, {'type': 'number'}]}, 'maxItems': 2000}, 'opacity': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'subject': {'type': 'string', 'maxLength': 120}, 'arrow_at': {'type': 'array', 'prefixItems': [{'type': 'number'}, {'type': 'number'}]}, 'contents': {'type': 'string', 'maxLength': 2000}, 'font_size': {'type': 'number', 'maximum': 200}, 'column_data': {'type': 'array', 'items': {}, 'maxItems': 50}, 'fill_opacity': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'coordinate_space': {'enum': ['ratio', 'pdf'], 'type': 'string'}}}, 'maxItems': 500, 'minItems': 1, 'description': 'Markups to place â\x80\x94 geometry in ratio (0â\x80\x931 from top-left) or pdf coordinates'}, 'pdf_url': {'type': 'string', 'format': 'uri', 'maxLength': 2000, 'description': 'HTTPS URL of the source drawing PDF (fetched server-side, SSRF-guarded)'}, 'pdf_base64': {'type': 'string', 'maxLength': 4800000, 'description': 'Base64 PDF for small files (~3 MB max decoded); prefer pdf_url for drawing sets'}, 'page_scales': {'type': 'object', 'description': 'Per-page scale overrides, keyed by page number string', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'coordinate_space': {'enum': ['ratio', 'pdf'], 'type': 'string'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['nps'], 'properties': {'nps': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': 'Nominal pipe size, e.g. "2", "1/2", "1-1/4"'}, 'schedule': {'type': 'string', 'maxLength': 8, 'minLength': 1, 'description': 'Optional schedule: "40", "80", "160", "STD", "XS", "XXS", "5", "10"'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thickness_in', 'width_in', 'length_in'], 'properties': {'width_in': {'type': 'number', 'maximum': 2000, 'description': 'Plate width in INCHES (a 4x8 ft plate is 48 x 96 in)', 'exclusiveMinimum': 0}, 'length_in': {'type': 'number', 'maximum': 2000, 'description': 'Plate length in INCHES', 'exclusiveMinimum': 0}, 'price_per_lb': {'type': 'number', 'maximum': 1000, 'description': 'Optional material price in $/lb, to include a cost estimate', 'exclusiveMinimum': 0}, 'thickness_in': {'anyOf': [{'type': 'string', 'maxLength': 16}, {'type': 'number'}], 'description': 'Plate thickness in inches â\x80\x94 decimal or fraction ("3/4", "1-1/8")'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company_name', 'rfi_number', 'date', 'project_name', 'submitted_to', 'submitted_by', 'subject', 'description'], 'properties': {'date': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Submission date'}, 'reason': {'type': 'string', 'maxLength': 60, 'description': 'Category: Design Omission, Design Error, Constructability Issue, Scope Clarification, Site Condition, Missing Information, Coordination Conflict â\x80\x94 or free text'}, 'subject': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'One-line subject â\x80\x94 one issue per RFI'}, 'spec_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 20}, 'rfi_number': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'RFI number from the project register, e.g. "RFI-017"'}, 'attachments': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160}, 'maxItems': 20}, 'description': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'The issue: specific references, what is missing or conflicting, why it matters. Newlines respected.'}, 'company_name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Contractor issuing the RFI â\x80\x94 appears in the header'}, 'drawing_refs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 20, 'description': 'Exact drawing numbers with revisions'}, 'project_name': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'submitted_by': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Name â\x80\x94 company'}, 'submitted_to': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'The party who must respond â\x80\x94 engineer, architect, GC'}, 'project_number': {'type': 'string', 'maxLength': 60}, 'company_location': {'type': 'string', 'maxLength': 120}, 'proposed_solution': {'type': 'string', 'maxLength': 2000, 'description': 'Suggested path forward, framed as a proposal'}, 'response_needed_by': {'type': 'string', 'maxLength': 60}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['company_name', 'project_name', 'line_items'], 'properties': {'terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500}, 'maxItems': 30, 'description': 'Override the eight default terms; omit for the standard set'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'category', 'description', 'size', 'grade', 'qty', 'stock_length', 'purchase_wt_lbs', 'material_type'], 'properties': {'qty': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Piece or stick count; a zero-qty row is excluded'}, 'item': {'type': 'string', 'maxLength': 40, 'description': 'Estimate item number, e.g. "A-01"'}, 'size': {'type': 'string', 'maxLength': 80, 'description': 'AISC designation or plate/bar dimensions'}, 'grade': {'type': 'string', 'maxLength': 40, 'description': 'Material grade, e.g. "A992 Gr.50", "A36"'}, 'notes': {'type': 'string', 'maxLength': 300}, 'category': {'type': 'string', 'maxLength': 60, 'description': 'Shop category, e.g. "Columns", "Plate", "Flat Bar"'}, 'description': {'type': 'string', 'maxLength': 300, 'description': 'Full description; a row containing "BY OTHERS" is excluded'}, 'stock_length': {'type': 'string', 'maxLength': 80, 'description': 'How it is purchased, e.g. "3 sticks Ã\x97 30â\x80²"'}, 'material_type': {'enum': ['w-shape', 'plate', 'flat-bar'], 'type': 'string', 'description': 'Grouping key: w-shape, plate, or flat-bar'}, 'purchase_wt_lbs': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Estimated purchase weight in pounds'}, 'is_stock_purchase': {'type': 'boolean', 'description': 'True for consolidated stock items that supersede piece-level plate/flat-bar rows'}}}, 'maxItems': 500, 'minItems': 1, 'description': 'Parsed takeoff line items â\x80\x94 the calling agent reads the estimate'}, 'date_issued': {'type': 'string', 'maxLength': 60, 'description': 'Free-form issue date; a blank line is used if omitted'}, 'company_name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Buyer company on the RFQ header and terms â\x80\x94 required'}, 'nesting_rows': {'type': 'array', 'items': {'type': 'object', 'required': ['material', 'nesting_plan', 'drop_notes'], 'properties': {'material': {'type': 'string', 'maxLength': 120}, 'drop_notes': {'type': 'string', 'maxLength': 300}, 'nesting_plan': {'type': 'string', 'maxLength': 200}}}, 'maxItems': 100, 'description': 'Optional fabricator-facing nesting/drop reference rows'}, 'project_name': {'type': 'string', 'maxLength': 160, 'minLength': 1, 'description': 'Project name for the header and filename'}, 'company_location': {'type': 'string', 'maxLength': 120, 'description': 'City, state under the company name, e.g. "Denver, CO"'}, 'project_location': {'type': 'string', 'maxLength': 160}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['section', 'dim1_in'], 'properties': {'dim1_in': {'type': 'number', 'maximum': 120, 'description': 'First dimension in inches: diameter (round bar), side (square bar), width (flat bar) or OD (round tube)', 'exclusiveMinimum': 0}, 'dim2_in': {'type': 'number', 'maximum': 60, 'description': 'Second dimension in inches: thickness (flat bar) or wall (round tube); unused for round and square bar', 'exclusiveMinimum': 0}, 'section': {'enum': ['round-bar', 'square-bar', 'flat-bar', 'round-tube'], 'type': 'string', 'description': 'Cross-section type'}, 'material': {'enum': ['carbon', 'stainless', 'aluminum'], 'type': 'string', 'description': 'Default carbon steel; stainless is +2%, aluminum Ã\x970.35'}, 'length_ft': {'type': 'number', 'maximum': 10000, 'description': 'Optional length in feet for a piece weight', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['designation'], 'properties': {'qty': {'type': 'integer', 'maximum': 10000, 'description': 'Optional piece count', 'exclusiveMinimum': 0}, 'length_ft': {'type': 'number', 'maximum': 500, 'description': 'Optional piece length in feet, for a piece weight', 'exclusiveMinimum': 0}, 'designation': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'AISC designation, e.g. "W21X50", "HSS6X6X3/8", "L4X4X3/8"'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['members'], 'properties': {'members': {'type': 'array', 'items': {'type': 'object', 'required': ['designation', 'length_ft', 'qty'], 'properties': {'qty': {'type': 'integer', 'maximum': 100000, 'description': 'Piece count', 'exclusiveMinimum': 0}, 'length_ft': {'type': 'number', 'maximum': 10000, 'description': 'Piece length, feet', 'exclusiveMinimum': 0}, 'designation': {'type': 'string', 'maxLength': 32, 'description': 'AISC designation, e.g. W21X50, L4X4X1/2, HSS6X6X3/8'}}}, 'maxItems': 500, 'minItems': 1, 'description': 'The member list to roll up, one line per mark/size'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
civilquants
Calculates parametric civil-engineering quantities and Bills of Quantities for drainage, earthworks, retaining walls, pavements, …
Sbir
Provides SBIR/STTR public data, including agency-level award statistics and related federal innovation-program information.
Trustbase Lab · Global Chemical Recycling Intelligence
Provides recovered carbon black and chemical recycling data covering suppliers, grades, standards, policies, prices, trade flows,…
mfgcalcs
Provides manufacturing calculators, sourcing optimization, tariff and economic data, forecasts, benchmarks, citations, provenance…
SpaceNexus space data
Provides read-only data on space launches, schedule changes, funding, companies, jobs, space weather, and Moon missions.
cpp-cpm-engine
Performs forensic Primavera P6 schedule analysis, delay attribution, critical-path validation, DCMA-14 checks, time-impact analys…
Faber Machine Market
Produces paid structured research and decision-support outputs covering evidence quality, information changes, infrastructure, re…
feode-mcp
Provides precision machining, testing, drill-pipe, subsea equipment, certifications, technical specifications, and structured mac…