{"version":"2.0","tools":[{"name":"metal-weight","route":"/tools/metal-calculators/weight","title":"Metal Weight Workbench","description":"One calculator for plate, bar, pipe, and structural section checks.","category":"metal-calculators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"shape":{"type":"string","enum":["plate","bar_round","bar_square","hex_bar","pipe","i_beam","channel","angle"],"description":"Shape"},"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"material":{"type":"string","enum":["304","316","410","430","1020","1045","4130","4140","4340","A36","A572Gr50","A588","A516Gr70","304L","316L","6061-T6","6063-T5","5052-H32","7075-T6","ToolSteel","CastIron","Copper","Brass"],"description":"Material"},"length":{"type":"number","minimum":0.1,"description":"Length (mm or in)"},"width":{"type":"number","minimum":0.1,"description":"Width (mm or in)"},"thickness":{"type":"number","minimum":0.1,"description":"Thickness (mm or in)"},"diameter":{"type":"number","minimum":0.1,"description":"Diameter (mm or in)"},"side":{"type":"number","minimum":0.1,"description":"Side (mm or in)"},"od":{"type":"number","minimum":0.1,"description":"Outer Diameter (mm or in)"},"wallThickness":{"type":"number","minimum":0.1,"description":"Wall Thickness (mm or in)"},"designation":{"type":"string","description":"Designation"}},"required":["shape","unit","material"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-plate-weight","route":"/tools/metal-calculators/plate-weight","title":"Plate Weight Calculator","description":"Calculate plate weight, area, and volume from dimensions and grade.","category":"metal-calculators","pricing":"free","availability":"live","version":"3.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"material":{"type":"string","enum":["304","316","410","430","1020","1045","4130","4140","4340","A36","A572Gr50","A588","A516Gr70","304L","316L","6061-T6","6063-T5","5052-H32","7075-T6","ToolSteel","CastIron","Copper","Brass"],"description":"Material"},"length":{"type":"number","minimum":0.1,"description":"Length (mm or in)"},"width":{"type":"number","minimum":0.1,"description":"Width (mm or in)"},"thickness":{"type":"number","minimum":0.1,"description":"Thickness (mm or in)"}},"required":["unit","material","length","width","thickness"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-bar-weight","route":"/tools/metal-calculators/bar-weight","title":"Bar Weight Calculator","description":"Round, square, and hex bar weight with instant surface area outputs.","category":"metal-calculators","pricing":"free","availability":"live","version":"3.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"material":{"type":"string","enum":["304","316","410","430","1020","1045","4130","4140","4340","A36","A572Gr50","A588","A516Gr70","304L","316L","6061-T6","6063-T5","5052-H32","7075-T6","ToolSteel","CastIron","Copper","Brass"],"description":"Material"},"profile":{"type":"string","enum":["round","square","hex"],"description":"Profile"},"size":{"type":"number","minimum":0.1,"description":"Profile Size (mm or in)"},"length":{"type":"number","minimum":0.1,"description":"Length (mm or in)"}},"required":["unit","material","profile","size","length"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-pipe-weight","route":"/tools/metal-calculators/pipe-weight","title":"Pipe Weight Calculator","description":"OD/wall/length-based pipe weight for fabrication and freight planning.","category":"metal-calculators","pricing":"free","availability":"live","version":"3.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"material":{"type":"string","enum":["304","316","410","430","1020","1045","4130","4140","4340","A36","A572Gr50","A588","A516Gr70","304L","316L","6061-T6","6063-T5","5052-H32","7075-T6","ToolSteel","CastIron","Copper","Brass"],"description":"Material"},"od":{"type":"number","minimum":0.1,"description":"Outer Diameter (mm or in)"},"wallThickness":{"type":"number","minimum":0.1,"description":"Wall Thickness (mm or in)"},"length":{"type":"number","minimum":0.1,"description":"Length (mm or in)"}},"required":["unit","material","od","wallThickness","length"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-beam-weight","route":"/tools/metal-calculators/beam-weight","title":"Beam Weight Calculator","description":"AISC beam designation weight checks with quick area approximation.","category":"metal-calculators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"designation":{"type":"string","enum":["W4x13","W6x15","W6x25","W8x10","W8x15","W8x18","W8x24","W10x12","W10x15","W10x21","W10x30","W10x49","W12x16","W12x22","W12x30","W12x40","W12x65","W14x30","W14x38","W14x53","W14x90","W18x35","W18x46","W18x55"],"description":"Designation"},"length":{"type":"number","minimum":0.1,"description":"Length (m or ft)"}},"required":["unit","designation","length"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-channel-weight","route":"/tools/metal-calculators/channel-weight","title":"Channel Weight Calculator","description":"C-channel weight and surface checks from designation and member length.","category":"metal-calculators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"designation":{"type":"string","enum":["C3x4.1","C3x5","C3x6","C4x5.4","C4x7.25","C5x6.7","C5x9","C6x8.2","C6x10.5","C6x13","C8x11.5","C8x13.75","C8x18.75","C9x13.4","C9x15","C9x20","C10x15.3","C10x20","C10x25","C12x20.7","C12x25","C12x30"],"description":"Designation"},"length":{"type":"number","minimum":0.1,"description":"Length (m or ft)"}},"required":["unit","designation","length"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"metal-angle-weight","route":"/tools/metal-calculators/angle-weight","title":"Angle Weight Calculator","description":"L-angle section weight and area checks from designation and run length.","category":"metal-calculators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"designation":{"type":"string","enum":["L2x2x1/8","L2x2x3/16","L2x2x1/4","L3x3x1/4","L3x3x3/8","L3x3x1/2","L4x4x1/4","L4x4x3/8","L4x4x1/2","L5x5x1/2","L5x5x5/8","L5x5x3/4","L6x6x1/2","L6x6x5/8","L6x6x3/4","L8x8x1/2","L8x8x5/8","L8x8x3/4"],"description":"Designation"},"length":{"type":"number","minimum":0.1,"description":"Length (m or ft)"}},"required":["unit","designation","length"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"pipe-offset","route":"/tools/pipe-tools/offset","title":"Pipe Offset Calculator","description":"Travel and run values from offset geometry and fitting allowance.","category":"pipe-tools","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"offset":{"type":"number","minimum":0.01,"description":"Offset"},"angle":{"type":"number","minimum":5,"maximum":85,"description":"Offset Angle (deg)"},"fittingAllowance":{"type":"number","minimum":0,"description":"Fitting Allowance"}},"required":["offset","angle","fittingAllowance"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"pipe-rolling-offset","route":"/tools/pipe-tools/rolling-offset","title":"Rolling Offset Calculator","description":"True offset and travel for multi-plane pipe routing.","category":"pipe-tools","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"runOffset":{"type":"number","minimum":0.01,"description":"Run Offset"},"rollOffset":{"type":"number","minimum":0.01,"description":"Roll Offset"},"angle":{"type":"number","minimum":5,"maximum":85,"description":"Elbow Angle (deg)"},"fittingAllowance":{"type":"number","minimum":0,"description":"Fitting Allowance"}},"required":["runOffset","rollOffset","angle","fittingAllowance"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"pipe-mitered-joint","route":"/tools/pipe-tools/mitered-joint","title":"Mitered Joint Calculator","description":"Cut angle, setback, and long-point values for mitered pipe joints.","category":"pipe-tools","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"pipeOd":{"type":"number","minimum":0.25,"maximum":120,"description":"Pipe OD (in)"},"intersectionAngle":{"type":"number","minimum":10,"maximum":90,"description":"Intersection Angle (deg)"}},"required":["pipeOd","intersectionAngle"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"pipe-fitting-allowance","route":"/tools/pipe-tools/fitting-allowance","title":"Fitting Allowance Calculator","description":"Centerline cut length from fitting takeout and count.","category":"pipe-tools","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"centerToCenter":{"type":"number","minimum":0.01,"description":"Center-to-Center Length"},"fittingTakeout":{"type":"number","minimum":0,"description":"Single Fitting Takeout"},"fittingCount":{"type":"number","minimum":0,"maximum":50,"description":"Fitting Count"}},"required":["centerToCenter","fittingTakeout","fittingCount"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"pipe-flange-dimensions","route":"/tools/pipe-tools/flange-dimensions","title":"Flange Dimensions Lookup","description":"Fast ASME B16.5 flange dimensions for common sizes and classes.","category":"pipe-tools","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"nps":{"type":"string","enum":["2","4","6","8"],"description":"NPS"},"pressureClass":{"type":"string","enum":["150","300"],"description":"Pressure Class"}},"required":["nps","pressureClass"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-length","route":"/tools/converters/length","title":"Length Converter","description":"Convert length units across metric and imperial systems.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["mm","cm","m","km","in","ft","yd"],"description":"From Unit"},"toUnit":{"type":"string","enum":["mm","cm","m","km","in","ft","yd"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-weight","route":"/tools/converters/weight","title":"Weight Converter","description":"Convert mass/weight units for estimating and logistics.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["g","kg","lb","oz","tonne"],"description":"From Unit"},"toUnit":{"type":"string","enum":["g","kg","lb","oz","tonne"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-pressure","route":"/tools/converters/pressure","title":"Pressure Converter","description":"Convert pressure values between psi, bar, kPa, MPa, and Pa.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["Pa","kPa","MPa","bar","psi"],"description":"From Unit"},"toUnit":{"type":"string","enum":["Pa","kPa","MPa","bar","psi"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-temperature","route":"/tools/converters/temperature","title":"Temperature Converter","description":"Convert temperature values between C, F, and K.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["C","F","K"],"description":"From Unit"},"toUnit":{"type":"string","enum":["C","F","K"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-volume","route":"/tools/converters/volume","title":"Volume Converter","description":"Convert volume across liter, cubic, and US gallon units.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["L","m3","galUS","ft3"],"description":"From Unit"},"toUnit":{"type":"string","enum":["L","m3","galUS","ft3"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"convert-area","route":"/tools/converters/area","title":"Area Converter","description":"Convert area values for coating, flooring, and planning.","category":"converters","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"Value"},"fromUnit":{"type":"string","enum":["mm2","m2","in2","ft2","acre"],"description":"From Unit"},"toUnit":{"type":"string","enum":["mm2","m2","in2","ft2","acre"],"description":"To Unit"}},"required":["value","fromUnit","toUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"load-beam-deflection","route":"/tools/load-capacity/beam-deflection","title":"Beam Deflection Estimate","description":"Uniform-load beam deflection estimate for early engineering checks.","category":"load-capacity","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit System"},"supportType":{"type":"string","enum":["simply_supported","cantilever"],"description":"Support Type"},"loadPerLength":{"type":"number","minimum":0.01,"description":"Uniform Load (kN/m or lb/ft)"},"span":{"type":"number","minimum":0.1,"description":"Span (m or ft)"},"elasticModulus":{"type":"number","minimum":0.1,"description":"Elastic Modulus (GPa or psi)"},"inertia":{"type":"number","minimum":0.001,"description":"Moment of Inertia (cm⁴ or in⁴)"}},"required":["unit","supportType","loadPerLength","span","elasticModulus","inertia"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"load-barge-stability","route":"/tools/load-capacity/barge-stability","title":"Barge Stability Estimate","description":"Initial GM estimate for box-barge geometry and KG assumptions.","category":"load-capacity","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"length":{"type":"number","minimum":5,"description":"Length (m)"},"beam":{"type":"number","minimum":2,"description":"Beam (m)"},"draft":{"type":"number","minimum":0.2,"description":"Draft (m)"},"kg":{"type":"number","minimum":0.1,"description":"KG (m)"},"blockCoefficient":{"type":"number","minimum":0.5,"maximum":1,"description":"Block Coefficient"}},"required":["length","beam","draft","kg","blockCoefficient"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"load-crane-capacity","route":"/tools/load-capacity/crane-load","title":"Crane Load Estimate","description":"Radius/angle-based screening estimate for allowable lift load.","category":"load-capacity","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"baseCapacity":{"type":"number","minimum":0.1,"description":"Base Capacity (t)"},"referenceRadius":{"type":"number","minimum":1,"description":"Reference Radius (ft)"},"workingRadius":{"type":"number","minimum":1,"description":"Working Radius (ft)"},"boomAngle":{"type":"number","minimum":5,"maximum":89,"description":"Boom Angle (deg)"},"dutyFactor":{"type":"number","minimum":0.1,"maximum":1,"description":"Duty Factor"}},"required":["baseCapacity","referenceRadius","workingRadius","boomAngle","dutyFactor"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"load-wind","route":"/tools/load-capacity/wind-load","title":"Wind Load Estimate","description":"Projected-area wind force estimate for planning checks.","category":"load-capacity","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"windSpeed":{"type":"number","minimum":1,"maximum":300,"description":"Wind Speed (mph)"},"projectedArea":{"type":"number","minimum":1,"description":"Projected Area (ft²)"},"dragCoefficient":{"type":"number","minimum":0.1,"maximum":3,"description":"Drag Coefficient"},"gustFactor":{"type":"number","minimum":0.5,"maximum":2,"description":"Gust Factor"}},"required":["windSpeed","projectedArea","dragCoefficient","gustFactor"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"cost-material","route":"/tools/cost-estimators/material-cost","title":"Material Cost Estimator","description":"Estimate total material spend from weight, unit rate, and scrap factor.","category":"cost-estimators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"weight":{"type":"number","minimum":0.01,"description":"Weight Quantity"},"unitPrice":{"type":"number","minimum":0,"description":"Unit Price"},"scrapPercent":{"type":"number","minimum":0,"maximum":100,"description":"Scrap Factor (%)"}},"required":["weight","unitPrice","scrapPercent"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"cost-coating","route":"/tools/cost-estimators/coating","title":"Coating Cost Estimator","description":"Estimate coating quantity and cost from area, coats, and coverage.","category":"cost-estimators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"area":{"type":"number","minimum":0.1,"description":"Surface Area"},"coverageRate":{"type":"number","minimum":0.1,"description":"Coverage Rate"},"coats":{"type":"number","minimum":1,"maximum":20,"description":"Coat Count"},"materialCostPerUnit":{"type":"number","minimum":0,"description":"Material Cost / Unit"},"laborCostPerUnit":{"type":"number","minimum":0,"description":"Labor Cost / Unit"}},"required":["area","coverageRate","coats","materialCostPerUnit","laborCostPerUnit"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"cost-freight","route":"/tools/cost-estimators/freight","title":"Freight Cost Estimator","description":"Estimate lane freight cost from tonnage, distance, and rate assumptions.","category":"cost-estimators","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"weightTons":{"type":"number","minimum":0.01,"description":"Shipment Weight (tons)"},"distanceMiles":{"type":"number","minimum":1,"description":"Distance (miles)"},"ratePerTonMile":{"type":"number","minimum":0,"description":"Rate (currency/ton-mile)"},"fuelSurchargePercent":{"type":"number","minimum":0,"maximum":100,"description":"Fuel Surcharge (%)"},"minimumCharge":{"type":"number","minimum":0,"description":"Minimum Charge"}},"required":["weightTons","distanceMiles","ratePerTonMile","fuelSurchargePercent","minimumCharge"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"ref-grade-properties","route":"/tools/reference/grade-properties","title":"Grade Properties Lookup","description":"Quick density and strength reference by material grade.","category":"reference","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"material":{"type":"string","enum":["304","316","410","430","1020","1045","4130","4140","4340","A36","A572Gr50","A588","A516Gr70","304L","316L","6061-T6","6063-T5","5052-H32","7075-T6","ToolSteel","CastIron","Copper","Brass"],"description":"Material Grade"}},"required":["material"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"ref-standard-sizes","route":"/tools/reference/standard-sizes","title":"Standard Sizes Lookup","description":"Section-size and pipe schedule lookup from designation strings.","category":"reference","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"family":{"type":"string","enum":["beam","channel","angle","pipe"],"description":"Family"},"designation":{"type":"string","description":"Designation"}},"required":["family","designation"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"ref-tolerances","route":"/tools/reference/tolerances","title":"Tolerance Reference","description":"General tolerance band lookup by process and nominal size.","category":"reference","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"process":{"type":"string","enum":["as_rolled","machined","welded"],"description":"Process"},"unit":{"type":"string","enum":["metric","imperial"],"description":"Unit"},"nominalSize":{"type":"number","minimum":0.1,"description":"Nominal Size (mm or in)"}},"required":["process","unit","nominalSize"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}},{"name":"ref-bolt-torque","route":"/tools/reference/bolt-torque","title":"Bolt Torque Estimate","description":"Torque estimate from bolt size, grade, and nut factor.","category":"reference","pricing":"free","availability":"live","version":"2.0.0","inputSchema":{"type":"object","properties":{"boltSize":{"type":"string","enum":["1","1/2","5/8","3/4","7/8","1-1/8"],"description":"Bolt Size"},"grade":{"type":"string","enum":["A307","A325","A490"],"description":"Bolt Grade"},"nutFactor":{"type":"number","minimum":0.05,"maximum":0.5,"description":"Nut Factor (K)"}},"required":["boltSize","grade","nutFactor"],"additionalProperties":false},"outputSchema":{"type":"object","properties":{"primary":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false},"secondary":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"unit":{"type":"string"}},"required":["label","value"],"additionalProperties":false}},"formula":{"type":"string"},"assumptions":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"trustSources":{"type":"array","items":{"type":"string"}}},"required":["primary","secondary","formula","assumptions","warnings","trustSources"],"additionalProperties":false}}]}