NestingCalc Calculators
Was dieses MCP kann
Provides woodworking, cutting, material, manufacturing, construction, and shipping calculations, including optimization and costing tools.
Tools
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['run_mm', 'baluster_width_mm'], 'properties': {'run_mm': {'type': 'number', 'description': 'Total run length between posts', 'exclusiveMinimum': 0}, 'max_gap_mm': {'type': 'number', 'default': 100, 'minimum': 0, 'description': 'Maximum allowed gap (100 mm = sphere rule, 102 mm = 4 in)'}, 'baluster_width_mm': {'type': 'number', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['boards'], 'properties': {'unit': {'enum': ['in', 'ft', 'mm', 'cm', 'm'], 'type': 'string', 'default': 'in', 'description': 'Unit for board dimensions'}, 'price': {'type': 'number', 'minimum': 0, 'description': 'Optional price per price_unit'}, 'boards': {'type': 'array', 'items': {'type': 'object', 'required': ['thickness', 'width', 'length'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'label': {'type': 'string'}, 'width': {'type': 'number', 'exclusiveMinimum': 0}, 'length': {'type': 'number', 'exclusiveMinimum': 0}, 'thickness': {'type': 'number', 'exclusiveMinimum': 0}}}, 'minItems': 1, 'description': 'Boards (dimensions in the chosen unit)'}, 'price_unit': {'enum': ['bf', 'mbf'], 'type': 'string', 'default': 'bf', 'description': 'Unit the price is quoted in: single board foot or MBF (1,000 bf)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lines'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['qty', 'unit_cost'], 'properties': {'qty': {'type': 'number', 'description': 'Net quantity per product', 'exclusiveMinimum': 0}, 'name': {'type': 'string'}, 'unit': {'type': 'string', 'description': 'Unit label (m3, m2, pcs...)'}, 'unit_cost': {'type': 'number', 'description': 'Cost per unit', 'exclusiveMinimum': 0}, 'waste_pct': {'type': 'number', 'default': 0, 'maximum': 200, 'minimum': 0, 'description': 'Waste allowance %'}}}, 'minItems': 1}, 'products': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'Products this BOM covers', 'exclusiveMinimum': 0}, 'margin_pct': {'type': 'number', 'maximum': 90, 'minimum': 0, 'description': 'Target margin on selling price, %'}, 'labor_per_product': {'type': 'number', 'minimum': 0, 'description': 'Direct labour per product'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lines'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['length_cm', 'width_cm', 'height_cm', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'width_cm': {'type': 'number', 'exclusiveMinimum': 0}, 'height_cm': {'type': 'number', 'exclusiveMinimum': 0}, 'length_cm': {'type': 'number', 'exclusiveMinimum': 0}, 'weight_kg': {'type': 'number', 'minimum': 0, 'description': 'Gross weight per carton, kg'}}}, 'minItems': 1, 'description': 'Carton lines'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['unit', 'tool_diameter', 'chip_load', 'cutting_speed'], 'properties': {'unit': {'enum': ['metric', 'imperial'], 'type': 'string'}, 'flutes': {'type': 'integer', 'default': 2, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'machine': {'enum': ['router', 'mill'], 'type': 'string', 'default': 'router'}, 'chip_load': {'type': 'number', 'description': 'Chip load per tooth (mm or inch)', 'exclusiveMinimum': 0}, 'cutting_speed': {'type': 'number', 'description': 'Cutting speed Vc (m/min or ft/min)', 'exclusiveMinimum': 0}, 'tool_diameter': {'type': 'number', 'description': 'Cutter diameter (mm or inch)', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kg_per_piece'], 'properties': {'container': {'enum': ['20gp', '40gp', '40hc', 'custom'], 'type': 'string', 'default': '40hc'}, 'piece_h_m': {'type': 'number', 'minimum': 0, 'description': 'Carton height (m)'}, 'piece_l_m': {'type': 'number', 'minimum': 0, 'description': 'Carton length (m)'}, 'piece_w_m': {'type': 'number', 'minimum': 0, 'description': 'Carton width (m)'}, 'payload_kg': {'type': 'number', 'minimum': 0, 'description': 'Override max payload (kg); route limits are often lower than the container maximum'}, 'usable_cbm': {'type': 'number', 'minimum': 0, 'description': 'Override usable/stowable volume (CBM)'}, 'planned_qty': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Planned number of cartons (returns containers needed)', 'exclusiveMinimum': 0}, 'kg_per_piece': {'type': 'number', 'description': 'Mass per carton (kg)', 'exclusiveMinimum': 0}, 'cbm_per_piece': {'type': 'number', 'minimum': 0, 'description': 'Volume per carton in CBM (alternative to dimensions)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['diameter', 'rpm'], 'properties': {'rpm': {'type': 'number', 'description': 'Spindle speed in revolutions per minute', 'exclusiveMinimum': 0}, 'unit': {'enum': ['metric', 'imperial'], 'type': 'string', 'default': 'metric', 'description': 'Unit system'}, 'diameter': {'type': 'number', 'description': 'Tool/workpiece diameter (metric: mm, imperial: inch)', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['file_base64', 'scale_percent'], 'properties': {'file_base64': {'type': 'string', 'minLength': 4, 'description': 'Base64-encoded PES or DST file'}, 'scale_percent': {'type': 'number', 'description': 'Target scale in percent, e.g. 80 for -20%', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['value', 'from'], 'properties': {'from': {'enum': ['stere', 'cord', 'loose', 'ft3'], 'type': 'string', 'description': 'Input unit: stere = 1 stacked m3, cord = 128 ft3, loose = bulk m3'}, 'value': {'type': 'number', 'exclusiveMinimum': 0}, 'species': {'enum': ['pine', 'spruce', 'fir', 'cedar', 'poplar', 'oak-red', 'oak-white', 'maple-hard', 'birch', 'ash', 'beech', 'walnut', 'cherry', 'mahogany', 'teak', 'mdf', 'plywood', 'oak-engineered'], 'type': 'string', 'description': 'Optional species key for weight'}, 'moisture': {'enum': ['dry', 'fresh'], 'type': 'string', 'default': 'dry', 'description': 'fresh = 1.5x weight'}, 'loose_factor': {'type': 'number', 'default': 1.4, 'description': 'Loose m3 per stacked m3 (1.35-1.55 typical)', 'exclusiveMinimum': 1}, 'solid_factor': {'type': 'number', 'default': 0.7, 'maximum': 1, 'description': 'Solid m3 per stacked m3 (Festmeter/Raummeter, 0.65-0.75 typical) - the weight runs off this', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['room_width_m', 'room_length_m', 'plank_width_mm', 'plank_length_mm'], 'properties': {'layout': {'enum': ['straight', 'staggered', 'herringbone', 'diagonal'], 'type': 'string', 'default': 'staggered'}, 'direction': {'enum': ['length', 'width'], 'type': 'string', 'default': 'length', 'description': 'Plank direction'}, 'expansion_mm': {'type': 'number', 'default': 10, 'minimum': 0}, 'price_per_m2': {'type': 'number', 'minimum': 0}, 'room_width_m': {'type': 'number', 'exclusiveMinimum': 0}, 'min_offcut_mm': {'type': 'number', 'default': 300, 'minimum': 0, 'description': 'Offcuts shorter than this are not reused'}, 'price_per_box': {'type': 'number', 'minimum': 0}, 'room_length_m': {'type': 'number', 'exclusiveMinimum': 0}, 'waste_percent': {'type': 'number', 'minimum': 0, 'description': 'Overrides the layout default'}, 'plank_width_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'planks_per_box': {'type': 'integer', 'default': 8, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'plank_length_mm': {'type': 'number', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['width_mm', 'height_mm', 'thickness_mm', 'price_per_m2'], 'properties': {'quantity': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'Number of identical panes', 'exclusiveMinimum': 0}, 'width_mm': {'type': 'number', 'description': 'Pane width in mm', 'exclusiveMinimum': 0}, 'height_mm': {'type': 'number', 'description': 'Pane height in mm', 'exclusiveMinimum': 0}, 'waste_pct': {'type': 'number', 'default': 0, 'maximum': 50, 'minimum': 0, 'description': 'Cutting-waste allowance added on top of net area (%)'}, 'price_per_m2': {'type': 'number', 'description': 'Glass price per square metre', 'exclusiveMinimum': 0}, 'thickness_mm': {'type': 'number', 'description': 'Glass thickness in mm (2-25)', 'exclusiveMinimum': 0}, 'edge_price_per_m': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Polished-edge work price per running metre'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['spread_gsm'], 'properties': {'faces': {'enum': ['1', '2'], 'type': 'string', 'default': '1', 'description': '1 = single-face, 2 = both mating faces'}, 'face_lam': {'type': 'object', 'required': ['length_mm', 'width_mm', 'layers'], 'properties': {'sets': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'layers': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 2}, 'width_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'length_mm': {'type': 'number', 'exclusiveMinimum': 0}}, 'description': 'Face lamination lay-up instead of a direct area'}, 'waste_pct': {'type': 'number', 'default': 5, 'maximum': 100, 'minimum': 0, 'description': 'Application/squeeze-out waste, %'}, 'edge_panel': {'type': 'object', 'required': ['panel_length_mm', 'panel_width_mm', 'board_width_mm', 'panel_thickness_mm'], 'properties': {'panels': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'board_width_mm': {'type': 'number', 'description': 'Sawn lamella width - joint count = ceil(width/board)-1', 'exclusiveMinimum': 0}, 'panel_width_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'panel_length_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'panel_thickness_mm': {'type': 'number', 'exclusiveMinimum': 0}}, 'description': 'Edge-glued panel dimensions instead of a direct area'}, 'spread_gsm': {'type': 'number', 'description': 'Spread rate g/m2 (PVAc D3 one face ~175, EGP ~250, finger PUR ~530)', 'exclusiveMinimum': 0}, 'bond_area_m2': {'type': 'number', 'minimum': 0, 'description': 'Total bond-line area, m2'}, 'density_gcm3': {'type': 'number', 'minimum': 0, 'description': 'Glue density g/cm3 to get litres (PVAc ~1.08)'}, 'price_per_kg': {'type': 'number', 'minimum': 0, 'description': 'Glue price per kg'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['volume_m3'], 'properties': {'mc_pct': {'type': 'number', 'minimum': 0, 'description': "Moisture content % oven-dry basis; defaults to the species' freshly-felled MC (~73% acacia, ~75% rubberwood)"}, 'species': {'type': 'string', 'description': 'Species key, e.g. acacia-mangium, rubberwood, white-oak, teak'}, 'volume_m3': {'type': 'number', 'description': 'Roundwood volume in m3 (Hoppus true, Huber or JAS volume)', 'exclusiveMinimum': 0}, 'basic_density_kg_m3': {'type': 'number', 'minimum': 0, 'description': 'Custom basic density (oven-dry kg per green m3); overrides the species preset'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['circumference', 'length'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'unit': {'enum': ['imperial', 'metric'], 'type': 'string', 'default': 'imperial', 'description': 'imperial: circumference in inches, length in feet; metric: cm and m'}, 'length': {'type': 'number', 'description': 'Log length (ft or m)', 'exclusiveMinimum': 0}, 'circumference': {'type': 'number', 'description': 'Circumference at mid-length (in or cm)', 'exclusiveMinimum': 0}, 'price_per_hoppus_unit': {'type': 'number', 'minimum': 0, 'description': 'Optional value per Hoppus ft3/m3'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['diameter_small_cm', 'length_m'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'length_m': {'type': 'number', 'description': 'Log length in meters', 'exclusiveMinimum': 0}, 'oval_adjust': {'type': 'boolean', 'default': False, 'description': 'Add the +2 cm ovality adjustment'}, 'diameter_long_cm': {'type': 'number', 'minimum': 0, 'description': 'Long-axis diameter for oval logs (cm)'}, 'diameter_small_cm': {'type': 'number', 'description': 'Short-axis diameter in cm', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['length_m', 'width_m', 'height_m', 'board_thickness_mm', 'sticker_thickness_mm'], 'properties': {'width_m': {'type': 'number', 'description': 'Stack width, m', 'exclusiveMinimum': 0}, 'height_m': {'type': 'number', 'description': 'Stack height, m', 'exclusiveMinimum': 0}, 'length_m': {'type': 'number', 'description': 'Stack length, m', 'exclusiveMinimum': 0}, 'fill_factor': {'type': 'number', 'minimum': 0, 'description': 'Stack fill factor 0â\x80\x931, default 0.9'}, 'board_thickness_mm': {'type': 'number', 'description': 'Average board thickness, mm', 'exclusiveMinimum': 0}, 'sticker_thickness_mm': {'type': 'number', 'description': 'Sticker thickness, mm (default 19)', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['unit', 'stock_length', 'parts'], 'properties': {'kerf': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Saw blade width consumed by each cut'}, 'trim': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Unusable trim at bar ends'}, 'unit': {'enum': ['mm', 'cm', 'm', 'in', 'ft'], 'type': 'string', 'description': 'Unit for all lengths'}, 'parts': {'type': 'array', 'items': {'type': 'object', 'required': ['length'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'How many of this part', 'exclusiveMinimum': 0}, 'label': {'type': 'string', 'description': 'Optional part name'}, 'length': {'type': 'number', 'description': 'Cut length', 'exclusiveMinimum': 0}}}, 'minItems': 1, 'description': 'Parts to cut'}, 'stock_count': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'How many stock bars are available', 'exclusiveMinimum': 0}, 'stock_length': {'type': 'number', 'description': 'Length of one stock bar', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['length'], 'properties': {'unit': {'enum': ['metric', 'imperial'], 'type': 'string', 'default': 'metric', 'description': 'metric: diameters in cm, length in m; imperial: in and ft'}, 'length': {'type': 'number', 'exclusiveMinimum': 0}, 'method': {'enum': ['huber', 'smalian', 'newton'], 'type': 'string', 'default': 'huber'}, 'diameter_mid': {'type': 'number', 'minimum': 0, 'description': 'Mid-length diameter (huber/newton)'}, 'diameter_large': {'type': 'number', 'minimum': 0, 'description': 'Large-end diameter (smalian/newton)'}, 'diameter_small': {'type': 'number', 'minimum': 0, 'description': 'Small-end diameter (smalian/newton)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['species', 'thickness_mm', 'width_mm', 'length_m'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'species': {'enum': ['pine', 'spruce', 'fir', 'cedar', 'poplar', 'oak-red', 'oak-white', 'maple-hard', 'birch', 'ash', 'beech', 'walnut', 'cherry', 'mahogany', 'teak', 'mdf', 'plywood', 'oak-engineered'], 'type': 'string', 'description': 'Wood species key'}, 'length_m': {'type': 'number', 'exclusiveMinimum': 0}, 'moisture': {'enum': ['dry', 'fresh'], 'type': 'string', 'default': 'dry', 'description': 'fresh (green) wood uses 1.5x density (+50% weight)'}, 'width_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'thickness_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'custom_density_kg_m3': {'type': 'number', 'minimum': 0, 'description': 'Overrides species density'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stages'], 'properties': {'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['yield_pct'], 'properties': {'label': {'type': 'string', 'description': 'Optional stage name'}, 'yield_pct': {'type': 'number', 'description': 'Share of stage input that becomes usable output, %', 'exclusiveMinimum': 0}}}, 'minItems': 1, 'description': 'Production stages in process order'}, 'target_output_m3': {'type': 'number', 'minimum': 0, 'description': 'Finished volume wanted, m3 (reverse mode)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['profile', 'material', 'length_m'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'od_mm': {'type': 'number', 'minimum': 0, 'description': 'pipe/round-bar: outer diameter'}, 'web_mm': {'type': 'number', 'minimum': 0, 'description': 'beam: web thickness'}, 'profile': {'enum': ['pipe', 'round-bar', 'square-tube', 'rect-tube', 'flat-bar', 'angle', 'beam'], 'type': 'string'}, 'wall_mm': {'type': 'number', 'minimum': 0, 'description': 'pipe/tubes: wall thickness'}, 'length_m': {'type': 'number', 'description': 'Length in meters', 'exclusiveMinimum': 0}, 'material': {'enum': ['steel', 'stainless', 'aluminum', 'copper', 'brass'], 'type': 'string'}, 'width_mm': {'type': 'number', 'minimum': 0, 'description': 'rect-tube/flat-bar/angle/beam: width'}, 'height_mm': {'type': 'number', 'minimum': 0, 'description': 'rect-tube/beam: height'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['mode'], 'properties': {'mode': {'enum': ['corner', 'sides', 'crown'], 'type': 'string', 'description': 'Calculation mode'}, 'sides': {'type': 'integer', 'maximum': 120, 'minimum': 3, 'description': 'sides mode: number of sides of the frame/polygon'}, 'corner_angle_deg': {'type': 'number', 'description': 'corner mode: interior corner angle, e.g. 90 or 135', 'exclusiveMaximum': 180, 'exclusiveMinimum': 0}, 'spring_angle_deg': {'type': 'number', 'description': 'crown mode: spring angle, typically 38 or 45', 'exclusiveMaximum': 90, 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['sample', 'drying', 'max'], 'type': 'string', 'default': 'sample'}, 'basis': {'enum': ['od', 'wb'], 'type': 'string', 'default': 'od'}, 'dry_mass': {'type': 'number', 'minimum': 0, 'description': 'Oven-dry mass of sample (sample mode)'}, 'wet_mass': {'type': 'number', 'minimum': 0, 'description': 'Wet mass of sample (sample mode)'}, 'end_mc_pct': {'type': 'number', 'minimum': 0, 'description': 'Target MC after drying, %'}, 'start_mass': {'type': 'number', 'minimum': 0, 'description': 'Mass at start of drying (drying mode)'}, 'start_mc_pct': {'type': 'number', 'minimum': 0, 'description': 'MC at start of drying, %'}, 'basic_density_kg_m3': {'type': 'number', 'minimum': 0, 'description': 'Basic density kg/m³ for MCmax/MCsink (max mode)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['area_m2', 'coats'], 'properties': {'coats': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Number of coats'}, 'area_m2': {'type': 'number', 'description': 'Surface to coat, m2 (flat projected area)', 'exclusiveMinimum': 0}, 'solids_pct': {'type': 'number', 'minimum': 0, 'description': 'Volume solids % (mode B)'}, 'dft_microns': {'type': 'number', 'minimum': 0, 'description': 'Target dry film thickness um (mode B)'}, 'price_per_l': {'type': 'number', 'minimum': 0, 'description': 'Coating price per litre'}, 'shape_extra_pct': {'type': 'number', 'default': 0, 'maximum': 100, 'minimum': 0, 'description': 'Extra % for 3D surfaces'}, 'transfer_eff_pct': {'type': 'number', 'minimum': 0, 'description': 'Transfer efficiency % (mode B; HVLP ~70)'}, 'coverage_m2_per_l': {'type': 'number', 'minimum': 0, 'description': 'Data-sheet coverage m2/L (mode A)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lines'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['diameter_mm', 'length_m'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'length_m': {'type': 'number', 'exclusiveMinimum': 0}, 'diameter_mm': {'type': 'number', 'description': 'Bar diameter, e.g. 12 or 15.875 (#5)', 'exclusiveMinimum': 0}}}, 'minItems': 1, 'description': 'Rebar lines'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['finished_mc_pct', 'sawn_mc_pct', 'direction'], 'properties': {'mode': {'enum': ['forward', 'reverse'], 'type': 'string', 'default': 'forward'}, 'kerf_mm': {'type': 'number', 'minimum': 0, 'description': 'Saw kerf, mm (default 2.2 band)'}, 'species': {'type': 'string', 'description': "Species key for shrinkage (e.g. 'white-oak')"}, 'rough_mm': {'type': 'number', 'minimum': 0, 'description': 'Rough-sawn dimension mm (reverse mode)'}, 'direction': {'enum': ['tangential', 'radial'], 'type': 'string'}, 'planing_mm': {'type': 'number', 'minimum': 0, 'description': 'Planing allowance per face, mm (default 2.5)'}, 'finished_mm': {'type': 'number', 'minimum': 0, 'description': 'Finished dimension mm (forward mode)'}, 'sawn_mc_pct': {'type': 'number', 'description': 'MC at which the wood is sawn, %', 'exclusiveMinimum': 0}, 'custom_fsp_pct': {'type': 'number', 'minimum': 0, 'description': 'Custom FSP %, default 30'}, 'finished_mc_pct': {'type': 'number', 'description': 'Target finished MC, %', 'exclusiveMinimum': 0}, 'custom_shrink_od_pct': {'type': 'number', 'minimum': 0, 'description': 'Custom S_od % (used if no species)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['diameter', 'cutting_speed'], 'properties': {'unit': {'enum': ['metric', 'imperial'], 'type': 'string', 'default': 'metric', 'description': 'Unit system'}, 'diameter': {'type': 'number', 'description': 'Tool/workpiece diameter (metric: mm, imperial: inch)', 'exclusiveMinimum': 0}, 'cutting_speed': {'type': 'number', 'description': 'Cutting speed (metric: m/min, imperial: SFM)', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['input_volume_m3', 'output_volume_m3'], 'properties': {'actual_bf': {'type': 'number', 'minimum': 0, 'description': 'Optional: board feet actually sawn â\x80\x94 enables the overrun calculation'}, 'log_rule_bf': {'type': 'number', 'minimum': 0, 'description': 'Optional: board feet predicted by the log rule (Doyle/Scribner/International)'}, 'input_volume_m3': {'type': 'number', 'description': 'Roundwood volume in (m3)', 'exclusiveMinimum': 0}, 'output_volume_m3': {'type': 'number', 'description': 'Sawn lumber volume out (m3)', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['unit', 'stock_width', 'stock_height', 'pieces'], 'properties': {'kerf': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Blade/saw width consumed by each cut'}, 'unit': {'enum': ['mm', 'cm', 'm', 'in', 'ft'], 'type': 'string', 'description': 'Unit for all dimensions'}, 'pieces': {'type': 'array', 'items': {'type': 'object', 'required': ['width', 'height'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'How many of this piece', 'exclusiveMinimum': 0}, 'label': {'type': 'string', 'description': 'Optional piece name'}, 'width': {'type': 'number', 'description': 'Piece width', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'description': 'Piece height', 'exclusiveMinimum': 0}, 'rotatable': {'type': 'boolean', 'default': True, 'description': 'Allow 90-degree rotation (false = grain lock)'}}}, 'minItems': 1, 'description': 'Pieces to cut'}, 'stocks': {'type': 'array', 'items': {'type': 'object', 'required': ['width', 'height', 'count'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Sheets available of this size', 'exclusiveMinimum': 0}, 'width': {'type': 'number', 'description': 'Sheet width', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'description': 'Sheet height', 'exclusiveMinimum': 0}}}, 'maxItems': 6, 'description': 'Optional mixed stock sizes; replaces stock_width/stock_height/stock_count when given'}, 'trim_x': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Symmetric trim removed from left/right sheet edges (damaged edges)'}, 'trim_y': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Symmetric trim removed from top/bottom sheet edges'}, 'stock_count': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'How many sheets are available', 'exclusiveMinimum': 0}, 'stock_width': {'type': 'number', 'description': 'Sheet width', 'exclusiveMinimum': 0}, 'stock_height': {'type': 'number', 'description': 'Sheet height', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'mode': {'enum': ['gauge', 'mm'], 'type': 'string', 'default': 'gauge', 'description': 'gauge: from gauge number; mm: from thickness'}, 'gauge': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'gauge mode: gauge number, e.g. 16', 'exclusiveMinimum': 0}, 'material': {'enum': ['steel', 'stainless', 'aluminum', 'galvanized'], 'type': 'string', 'default': 'steel'}, 'width_mm': {'type': 'number', 'default': 1000, 'minimum': 0}, 'length_mm': {'type': 'number', 'default': 2000, 'minimum': 0}, 'thickness_mm': {'type': 'number', 'minimum': 0, 'description': 'mm mode: thickness in mm'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['volume_m3', 'tonnes'], 'properties': {'tonnes': {'type': 'number', 'description': 'Total cargo mass in metric tonnes', 'exclusiveMinimum': 0}, 'volume_m3': {'type': 'number', 'description': 'Total cargo volume in cubic metres', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['room_width_m', 'room_length_m', 'tile_width_mm', 'tile_length_mm'], 'properties': {'layout': {'enum': ['straight', 'offset', 'diagonal', 'herringbone', 'large-format', 'natural-stone'], 'type': 'string', 'default': 'straight', 'description': 'Layout pattern (sets default waste factor)'}, 'box_size': {'type': 'integer', 'default': 10, 'maximum': 9007199254740991, 'description': 'Tiles per box', 'exclusiveMinimum': 0}, 'grout_mm': {'type': 'number', 'default': 3, 'minimum': 0}, 'price_per_m2': {'type': 'number', 'minimum': 0}, 'room_width_m': {'type': 'number', 'exclusiveMinimum': 0}, 'price_per_box': {'type': 'number', 'minimum': 0}, 'room_length_m': {'type': 'number', 'exclusiveMinimum': 0}, 'tile_width_mm': {'type': 'number', 'exclusiveMinimum': 0}, 'waste_percent': {'type': 'number', 'minimum': 0, 'description': 'Overrides the layout default'}, 'tile_length_mm': {'type': 'number', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['span_mm', 'width_mm', 'height_mm', 'grade'], 'properties': {'grade': {'enum': ['C16', 'C18', 'C24', 'C30', 'C35', 'C40', 'D24', 'D30', 'D40'], 'type': 'string', 'description': 'Timber grade (EN 338)'}, 'span_mm': {'type': 'number', 'description': 'Clear span between supports in mm', 'exclusiveMinimum': 0}, 'width_mm': {'type': 'number', 'description': 'Beam width b in mm', 'exclusiveMinimum': 0}, 'height_mm': {'type': 'number', 'description': 'Beam depth h in mm (strong axis)', 'exclusiveMinimum': 0}, 'load_type': {'enum': ['udl', 'point'], 'type': 'string', 'default': 'udl', 'description': 'Load type of interest'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['value', 'from'], 'properties': {'qty': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'description': 'Multiplier (number of lots)', 'exclusiveMinimum': 0}, 'from': {'enum': ['m3', 'ft3', 'bf', 'mbf', 'hft3', 'hm3', 'ht'], 'type': 'string', 'description': 'Source unit'}, 'price': {'type': 'number', 'minimum': 0, 'description': 'Optional price per price_per unit'}, 'value': {'type': 'number', 'description': 'Quantity in the source unit', 'exclusiveMinimum': 0}, 'price_per': {'enum': ['m3', 'ft3', 'bf', 'mbf', 'hft3', 'hm3', 'ht'], 'type': 'string', 'default': 'mbf'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['wall_width_m', 'wall_height_m'], 'properties': {'openings_m2': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Area of doors/windows to subtract'}, 'roll_preset': {'enum': ['us-single', 'us-double', 'eu', 'commercial54'], 'type': 'string'}, 'roll_width_m': {'type': 'number', 'minimum': 0, 'description': 'Custom roll width (overrides preset)'}, 'wall_width_m': {'type': 'number', 'exclusiveMinimum': 0}, 'roll_length_m': {'type': 'number', 'minimum': 0, 'description': 'Custom roll length (overrides preset)'}, 'wall_height_m': {'type': 'number', 'exclusiveMinimum': 0}, 'pattern_repeat_m': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Pattern repeat length'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['temp_c'], 'properties': {'mode': {'enum': ['emc', 'reverse'], 'type': 'string', 'default': 'emc'}, 'branch': {'enum': ['desorption', 'adsorption'], 'type': 'string', 'default': 'desorption'}, 'rh_pct': {'type': 'number', 'minimum': 0, 'description': 'Relative humidity, 0â\x80\x93100 (emc mode)'}, 'temp_c': {'type': 'number', 'description': 'Air temperature, °C', 'exclusiveMinimum': 0}, 'target_mc_pct': {'type': 'number', 'minimum': 0, 'description': 'Target MC % (reverse mode)'}}}
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start_mc_pct', 'end_mc_pct', 'dimension_mm', 'direction'], 'properties': {'species': {'type': 'string', 'description': "Species key, e.g. 'white-oak', 'rubberwood'"}, 'direction': {'enum': ['tangential', 'radial', 'volumetric'], 'type': 'string'}, 'end_mc_pct': {'type': 'number', 'description': 'Target MC, %, must be â\x89¤ start_mc_pct', 'exclusiveMinimum': 0}, 'dimension_mm': {'type': 'number', 'description': 'Original dimension in mm (width, thickness, or volume)', 'exclusiveMinimum': 0}, 'start_mc_pct': {'type': 'number', 'description': 'Starting MC, %', 'exclusiveMinimum': 0}, 'custom_fsp_pct': {'type': 'number', 'minimum': 0, 'description': 'Custom FSP %, default 30 (22 for teak)'}, 'custom_shrink_od_pct': {'type': 'number', 'minimum': 0, 'description': 'Custom greenâ\x86\x92OD shrinkage %, used if no species'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Calcgrid
Runs general-purpose calculators for loans, dates, lunar and solar terms, time zones, units, and a larger catalog of specialized …
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
hopi
Provides read-only calculators, converters, validators, text utilities, encoders, and generators for everyday and technical tasks.
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…
John's Essentials
Analyzes and converts documents, images, audio, video, archives, data files, and other media formats, with PDF chat and file insp…