NestingCalc Calculators
Qué hace este MCP
Provides woodworking, cutting, material, manufacturing, construction, and shipping calculations, including optimization and costing tools.
Herramientas
Esquema de entrada
{'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}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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'}}}
Esquema de entrada
{'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)'}}}
Esquema de entrada
{'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'}}}
Cambios recientes en herramientas
Servidores MCP similares
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…