NestingCalc Calculators
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
37 cutting and woodworking calculators: cut lists, sheet nesting, timber volume, kiln drying
| Author | com.nestingcalc |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 588 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"NestingCalc Calculators": {
"url": "https://mcp.nestingcalc.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (37)
linear_cutting_optimizerOptimize 1D cutting plans for bars, pipes and profiles (linear cutting stock problem, best-fit decreasing heuristic). Returns bars used, per-bar cut lists with positions, total waste and unplaced parts. A web_url with the plan prefilled is included for a visual SVG diagram.
Parameters:
unit(required) — string — Unit for all lengthsstock_length(required) — number — Length of one stock barparts(required) — array — Parts to cutkerf— number — Saw blade width consumed by each cuttrim— number — Unusable trim at bar endsstock_count— integer — How many stock bars are available
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sheet_cutting_optimizerOptimize 2D guillotine cutting plans for plywood, MDF, glass, sheet metal (2D nesting with kerf, per-part rotation lock for grain direction, optional sheet trim and multiple stock sizes). Returns sheets used, piece positions, utilization, estimated cut length/count and unplaced pieces. Includes a web_url with the plan prefilled for a visual layout diagram.
Parameters:
unit(required) — string — Unit for all dimensionsstock_width(required) — number — Sheet widthstock_height(required) — number — Sheet heightpieces(required) — array — Pieces to cutkerf— number — Blade/saw width consumed by each cutstocks— array — Optional mixed stock sizes; replaces stock_width/stock_height/stock_count when giventrim_x— number — Symmetric trim removed from left/right sheet edges (damaged edges)trim_y— number — Symmetric trim removed from top/bottom sheet edgesstock_count— integer — How many sheets are available
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
board_feet_calculatorCalculate board feet and lumber cost (thickness x width x length / 144 in inches). Accepts multiple boards and an optional price quoted per board foot or per MBF (thousand board feet).
Parameters:
boards(required) — array — Boards (dimensions in the chosen unit)unit— string — Unit for board dimensionsprice— number — Optional price per price_unitprice_unit— string — Unit the price is quoted in: single board foot or MBF (1,000 bf)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
miter_angle_calculatorMiter angles three ways: corner mode (any corner angle between two pieces), sides mode (regular polygon with N sides), crown mode (miter + bevel for crown molding at a spring angle).
Parameters:
mode(required) — string — Calculation modesides— integer — sides mode: number of sides of the frame/polygoncorner_angle_deg— number — corner mode: interior corner angle, e.g. 90 or 135spring_angle_deg— number — crown mode: spring angle, typically 38 or 45
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lumber_weight_calculatorWeight of lumber by species, dimensions, quantity and moisture (dry/fresh), using species density tables. Optional custom density in kg/m3.
Parameters:
species(required) — string — Wood species keythickness_mm(required) — numberwidth_mm(required) — numberlength_m(required) — numberqty— integermoisture— string — fresh (green) wood uses 1.5x density (+50% weight)custom_density_kg_m3— number — Overrides species density
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
rebar_takeoffRebar weight takeoff (d2/162 rule): total length, weight in kg and bars per tonne for a list of rebar lines. Supports metric mm bars and US # sizes as diameters.
Parameters:
lines(required) — array — Rebar lines
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
metal_weight_calculatorWeight of metal stock per profile: pipe/tube (OD + wall), round bar, square/rectangular tube, flat bar, angle, beam/I-beam. Materials: steel, stainless, aluminum, copper, brass.
Parameters:
profile(required) — stringmaterial(required) — stringlength_m(required) — number — Length in metersqty— integerod_mm— number — pipe/round-bar: outer diameterweb_mm— number — beam: web thicknesswall_mm— number — pipe/tubes: wall thicknesswidth_mm— number — rect-tube/flat-bar/angle/beam: widthheight_mm— number — rect-tube/beam: height
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
cnc_feeds_speedsCNC spindle RPM and feed rate from tool diameter, flute count, chip load and cutting speed. Works for routers and mills, metric and imperial.
Parameters:
unit(required) — stringtool_diameter(required) — number — Cutter diameter (mm or inch)chip_load(required) — number — Chip load per tooth (mm or inch)cutting_speed(required) — number — Cutting speed Vc (m/min or ft/min)flutes— integermachine— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sheet_metal_gaugeConvert sheet metal gauge to thickness (mm) or thickness to gauge, and compute sheet weight for steel, stainless, aluminum or galvanized steel.
Parameters:
qty— integermode— string — gauge: from gauge number; mm: from thicknessgauge— integer — gauge mode: gauge number, e.g. 16material— stringwidth_mm— numberlength_mm— numberthickness_mm— number — mm mode: thickness in mm
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
tile_calculatorTiles, boxes and cost for a room: room and tile dimensions, grout width, waste factor by layout pattern (straight, offset, diagonal, herringbone...), optional box size and prices.
Parameters:
room_width_m(required) — numberroom_length_m(required) — numbertile_width_mm(required) — numbertile_length_mm(required) — numberlayout— string — Layout pattern (sets default waste factor)box_size— integer — Tiles per boxgrout_mm— numberprice_per_m2— numberprice_per_box— numberwaste_percent— number — Overrides the layout default
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wallpaper_calculatorWallpaper rolls needed for a wall, accounting for pattern repeat and openings. Use a standard roll preset (eu, us-single, us-double, commercial54) or custom roll dimensions.
Parameters:
wall_width_m(required) — numberwall_height_m(required) — numberopenings_m2— number — Area of doors/windows to subtractroll_preset— stringroll_width_m— number — Custom roll width (overrides preset)roll_length_m— number — Custom roll length (overrides preset)pattern_repeat_m— number — Pattern repeat length
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
baluster_spacing_calculatorEqual baluster/spindle spacing for a run: number of balusters, exact gap and positions. Enforces a maximum gap (e.g. the 4-inch / 100 mm sphere code rule).
Parameters:
run_mm(required) — number — Total run length between postsbaluster_width_mm(required) — numbermax_gap_mm— number — Maximum allowed gap (100 mm = sphere rule, 102 mm = 4 in)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
flooring_calculatorLaminate/vinyl plank takeoff: planks, boxes and cost with offcut reuse between rows (best-fit), expansion gap, layout waste presets and direction.
Parameters:
room_width_m(required) — numberroom_length_m(required) — numberplank_width_mm(required) — numberplank_length_mm(required) — numberlayout— stringdirection— string — Plank directionexpansion_mm— numberprice_per_m2— numbermin_offcut_mm— number — Offcuts shorter than this are not reusedprice_per_box— numberwaste_percent— number — Overrides the layout defaultplanks_per_box— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
embroidery_resizeResize an embroidery design file (PES or DST) by a scale percentage. Returns stitch stats before/after, a density safety verdict (safe within +/-15%) and the resized file as base64.
Parameters:
file_base64(required) — string — Base64-encoded PES or DST filescale_percent(required) — number — Target scale in percent, e.g. 80 for -20%
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
hoppus_volumeHoppus (quarter-girth) volume of round logs from mid-length circumference and length: (C/4)^2 x L. Returns Hoppus volume, true volume (x 4/pi), Hoppus tons (50 h ft3) and a board-feet approximation, with optional quantity and value per Hoppus unit.
Parameters:
circumference(required) — number — Circumference at mid-length (in or cm)length(required) — number — Log length (ft or m)qty— integerunit— string — imperial: circumference in inches, length in feet; metric: cm and mprice_per_hoppus_unit— number — Optional value per Hoppus ft3/m3
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
log_volumeCubic volume of a log by classical formula: Huber (mid diameter only), Smalian (both end diameters) or Newton (all three, most accurate). Metric (cm, m) or imperial (in, ft); returns volume in m3 and ft3.
Parameters:
length(required) — numberunit— string — metric: diameters in cm, length in m; imperial: in and ftmethod— stringdiameter_mid— number — Mid-length diameter (huber/newton)diameter_large— number — Large-end diameter (smalian/newton)diameter_small— number — Small-end diameter (smalian/newton)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
jas_log_scaleJapanese Agricultural Standard (JAS) log scale: official diameter rounding (floor to 1 cm below 14 cm, even 2 cm at 14 cm and above), oval-log averaging, optional +2 cm ovality adjustment and the length allowance for logs over 6 m. Volume per log and totals in m3.
Parameters:
diameter_small_cm(required) — number — Short-axis diameter in cmlength_m(required) — number — Log length in metersqty— integeroval_adjust— boolean — Add the +2 cm ovality adjustmentdiameter_long_cm— number — Long-axis diameter for oval logs (cm)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
timber_unit_converterConvert timber quantities between m3, ft3, board feet, MBF, Hoppus ft3, Hoppus m3 and Hoppus tons, and translate a price quoted in any unit into $/m3 and $/MBF (1 MBF = 2.3597 m3).
Parameters:
value(required) — number — Quantity in the source unitfrom(required) — string — Source unitqty— integer — Multiplier (number of lots)price— number — Optional price per price_per unitprice_per— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
green_log_weightWeight of a roundwood/log batch at any moisture content: W = volume x basic density x (1 + MC/100), per USDA Wood Handbook 2021 Ch.4. Presets for 14 verified species (acacia, rubberwood, eucalyptus, oak, teak, spruce...) or a custom basic density. Returns oven-dry mass, water mass and tonnes.
Parameters:
volume_m3(required) — number — Roundwood volume in m3 (Hoppus true, Huber or JAS volume)mc_pct— number — Moisture content % oven-dry basis; defaults to the species' freshly-felled MC (~73% acacia, ~75% rubberwood)species— string — Species key, e.g. acacia-mangium, rubberwood, white-oak, teakbasic_density_kg_m3— number — Custom basic density (oven-dry kg per green m3); overrides the species preset
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
stowage_factorStowage factor SF = cargo volume (m3) / cargo mass (tonnes), with classification against the IMO CSS Code Table 4.1 reference ranges for wood cargoes (sawn timber, tropical logs, plywood...).
Parameters:
volume_m3(required) — number — Total cargo volume in cubic metrestonnes(required) — number — Total cargo mass in metric tonnes
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
container_loadingHow many uniform cartons fit in a shipping container before cube-out or weigh-out. Presets: 20GP (33.2 CBM nominal, 28,200 kg payload), 40GP (67.7 CBM, 26,700 kg), 40HC (76.4 CBM, 68 usable, 26,500 kg) — all editable. Returns max pieces by volume vs weight, the binding limit, balanced density (kg/m3) and containers needed for a planned quantity.
Parameters:
kg_per_piece(required) — number — Mass per carton (kg)container— stringpiece_h_m— number — Carton height (m)piece_l_m— number — Carton length (m)piece_w_m— number — Carton width (m)payload_kg— number — Override max payload (kg); route limits are often lower than the container maximumusable_cbm— number — Override usable/stowable volume (CBM)planned_qty— integer — Planned number of cartons (returns containers needed)cbm_per_piece— number — Volume per carton in CBM (alternative to dimensions)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sawmill_recoverySawmill recovery rate (lumber recovery factor): sawn volume out / roundwood volume in, benchmarked against FAO/EU/SE-Asia reference ranges. Also computes log-rule overrun/underrun: (actual BF - rule BF) / rule BF — Doyle underestimates small logs, so overrun is usually positive.
Parameters:
input_volume_m3(required) — number — Roundwood volume in (m3)output_volume_m3(required) — number — Sawn lumber volume out (m3)actual_bf— number — Optional: board feet actually sawn — enables the overrun calculationlog_rule_bf— number — Optional: board feet predicted by the log rule (Doyle/Scribner/International)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
moisture_contentWood moisture content (WH-2021 Ch.4 Eq. 4-1..4-4). Two modes: (1) sample-based MC_od/MC_wb from wet+dry masses; (2) drying outcome — mass + water lost when going from start MC to target MC. Optional Gb (kg/m³) returns MCmax and MCsink. Basis 'od' (oven-dry, industry default) or 'wb' (wet).
Parameters:
mode— stringbasis— stringdry_mass— number — Oven-dry mass of sample (sample mode)wet_mass— number — Wet mass of sample (sample mode)end_mc_pct— number — Target MC after drying, %start_mass— number — Mass at start of drying (drying mode)start_mc_pct— number — MC at start of drying, %basic_density_kg_m3— number — Basic density kg/m³ for MCmax/MCsink (max mode)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wood_shrinkageWood shrinkage from a start MC to an end MC (WH-2021 Eq. 4-9: S_x = S_od × (1 − x/FSP)). Direction: tangential (board width) or radial (board thickness) or volumetric. Picks a species from the wood-species table (16 verified species) or accepts custom S_od + FSP. MC is clamped to FSP — above FSP wood doesn't change dimension.
Parameters:
start_mc_pct(required) — number — Starting MC, %end_mc_pct(required) — number — Target MC, %, must be ≤ start_mc_pctdimension_mm(required) — number — Original dimension in mm (width, thickness, or volume)direction(required) — stringspecies— string — Species key, e.g. 'white-oak', 'rubberwood'custom_fsp_pct— number — Custom FSP %, default 30 (22 for teak)custom_shrink_od_pct— number — Custom green→OD shrinkage %, used if no species
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wood_emcEquilibrium moisture content (EMC) from temperature and RH using the Hailwood–Horrobin sorption model (Simpson 1973 coefficients, desorption branch — WH-2021 Ch.4 Table 4-2). Optional reverse mode: target MC → required RH at the given temperature.
Parameters:
temp_c(required) — number — Air temperature, °Cmode— stringbranch— stringrh_pct— number — Relative humidity, 0–100 (emc mode)target_mc_pct— number — Target MC % (reverse mode)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
kiln_capacityKiln charge capacity: wood volume per batch (AH-188 / TechDrying). V_wood = D×R×C × t/(t+s) × f where t=board thickness, s=sticker thickness, f=fill factor (0.85–0.95). Returns wood volume in m³ and board feet (1 m³ = 423.77 BF).
Parameters:
length_m(required) — number — Stack length, mwidth_m(required) — number — Stack width, mheight_m(required) — number — Stack height, mboard_thickness_mm(required) — number — Average board thickness, mmsticker_thickness_mm(required) — number — Sticker thickness, mm (default 19)fill_factor— number — Stack fill factor 0–1, default 0.9
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
rough_sizingRough sizing — convert between finished (planed, kiln-dried) and rough-sawn dimensions before drying and planing. Adds planing allowance (default 2.5 mm/face) + saw kerf (default 2.2 mm band) and applies WH-2021 Eq. 4-9 shrinkage. Direction: tangential (board width) or radial (board thickness).
Parameters:
finished_mc_pct(required) — number — Target finished MC, %sawn_mc_pct(required) — number — MC at which the wood is sawn, %direction(required) — stringmode— stringkerf_mm— number — Saw kerf, mm (default 2.2 band)species— string — Species key for shrinkage (e.g. 'white-oak')rough_mm— number — Rough-sawn dimension mm (reverse mode)planing_mm— number — Planing allowance per face, mm (default 2.5)finished_mm— number — Finished dimension mm (forward mode)custom_fsp_pct— number — Custom FSP %, default 30custom_shrink_od_pct— number — Custom S_od % (used if no species)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
firewood_calculatorConvert firewood volume between cord (128 ft3), stere/Raummeter (stacked m3), solid m3 (Festmeter), loose m3 and ft3, with optional weight estimate by wood species (dry/fresh).
Parameters:
value(required) — numberfrom(required) — string — Input unit: stere = 1 stacked m3, cord = 128 ft3, loose = bulk m3species— string — Optional species key for weightmoisture— string — fresh = 1.5x weightloose_factor— number — Loose m3 per stacked m3 (1.35-1.55 typical)solid_factor— number — Solid m3 per stacked m3 (Festmeter/Raummeter, 0.65-0.75 typical) - the weight runs off this
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
rpm_calculatorSpindle speed (RPM) from cutting speed: n = Vc*1000/(pi*D) metric, n = Vc*12/(pi*D) imperial. Metric takes diameter in mm and Vc in m/min; imperial takes diameter in inches and Vc in SFM. Includes a web_url with the calculation prefilled.
Parameters:
diameter(required) — number — Tool/workpiece diameter (metric: mm, imperial: inch)cutting_speed(required) — number — Cutting speed (metric: m/min, imperial: SFM)unit— string — Unit system
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
cutting_speed_calculatorCutting speed from spindle speed: Vc = pi*D*n/1000 metric (m/min), SFM = pi*D*n/12 imperial. Always also returns the same speed converted to the other unit system. Includes a web_url with the calculation prefilled.
Parameters:
diameter(required) — number — Tool/workpiece diameter (metric: mm, imperial: inch)rpm(required) — number — Spindle speed in revolutions per minuteunit— string — Unit system
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
timber_beam_capacityAllowable load on a simply supported rectangular timber beam (planning estimate, Eurocode 5 conventions, EN 338 grades C16-D40/D24-D40). Returns allowable UDL and center point load (gross and net of self-weight), governing mode (bending vs deflection at L/300), utilization, section properties. NOT a structural design - verify with an engineer. Includes a web_url with the beam prefilled.
Parameters:
span_mm(required) — number — Clear span between supports in mmwidth_mm(required) — number — Beam width b in mmheight_mm(required) — number — Beam depth h in mm (strong axis)grade(required) — string — Timber grade (EN 338)load_type— string — Load type of interest
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
glass_price_calculatorCut-to-size glass cost and weight estimate: net area with optional waste allowance, weight (2.5 kg/m2 per mm of thickness), material cost from your price per m2, optional polished-edge work per running metre, total and per-piece cost. Includes a web_url with the quote prefilled.
Parameters:
width_mm(required) — number — Pane width in mmheight_mm(required) — number — Pane height in mmthickness_mm(required) — number — Glass thickness in mm (2-25)price_per_m2(required) — number — Glass price per square metrequantity— integer — Number of identical paneswaste_pct— number — Cutting-waste allowance added on top of net area (%)edge_price_per_m— number — Polished-edge work price per running metre
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
manufacturing_yieldCumulative yield through a wood production chain (sawing -> drying -> machining -> finishing). Multiplies stage yields, shows per-stage loss and computes the roundwood volume needed for a target finished volume.
Parameters:
stages(required) — array — Production stages in process ordertarget_output_m3— number — Finished volume wanted, m3 (reverse mode)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
glue_consumptionWood adhesive quantity: bond area x spread (g/m2, TDS presets like PVAc D3 175, EGP 250, finger-joint PUR 530) x application faces x waste allowance. Also computes bond area for edge-glued panels (joints from board width) and face lamination lay-ups.
Parameters:
spread_gsm(required) — number — Spread rate g/m2 (PVAc D3 one face ~175, EGP ~250, finger PUR ~530)faces— string — 1 = single-face, 2 = both mating facesface_lam— object — Face lamination lay-up instead of a direct areawaste_pct— number — Application/squeeze-out waste, %edge_panel— object — Edge-glued panel dimensions instead of a direct areabond_area_m2— number — Total bond-line area, m2density_gcm3— number — Glue density g/cm3 to get litres (PVAc ~1.08)price_per_kg— number — Glue price per kg
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
paint_coverageWood finishing paint quantity. Technical route: theoretical coverage = 10 x %volume solids / DFT(um), multiplied by transfer efficiency (conventional spray 30-35%, airless ~50%, HVLP ~65-90%, brush/roller ~90%); or a data-sheet coverage in m2/L. Adds an optional extra % for carved/3D surfaces.
Parameters:
area_m2(required) — number — Surface to coat, m2 (flat projected area)coats(required) — integer — Number of coatssolids_pct— number — Volume solids % (mode B)dft_microns— number — Target dry film thickness um (mode B)price_per_l— number — Coating price per litreshape_extra_pct— number — Extra % for 3D surfacestransfer_eff_pct— number — Transfer efficiency % (mode B; HVLP ~70)coverage_m2_per_l— number — Data-sheet coverage m2/L (mode A)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
cbm_shipmentPacking CBM for cartons: per-line and lot volume (m3), total weight and lot density, with a cube-out / weigh-out verdict against the 40HC balanced density (390 kg/m3 - same presets as container loading).
Parameters:
lines(required) — array — Carton lines
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
bom_costingBill-of-materials cost roll-up for furniture: buy quantity = net qty x (1 + waste%, verified presets: S4S lumber 18%, rough 28%, nested panels 10%, hardware 3%), line and total costs, cost per product and a selling price from a target margin (price = cost / (1 - margin)).
Parameters:
lines(required) — arrayproducts— integer — Products this BOM coversmargin_pct— number — Target margin on selling price, %labor_per_product— number — Direct labour per product
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.