此 MCP 可以做什么
Provides woodworking, cutting, material, manufacturing, construction, and shipping calculations, including optimization and costing tools.
工具
输入模式
{'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}}}
输入模式
{'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)'}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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}}}
输入模式
{'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)'}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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)'}}}
输入模式
{'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'}}}
输入模式
{'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)'}}}
输入模式
{'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'}}}
输入模式
{'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}}}
输入模式
{'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)'}}}
输入模式
{'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)'}}}
输入模式
{'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'}}}
输入模式
{'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)'}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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'}}}
输入模式
{'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}}}
输入模式
{'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}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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'}}}
输入模式
{'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)'}}}
输入模式
{'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'}}}
近期工具变更
类似的 MCP 服务器
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…