io.github.ZacharyVorsteg/provenplaza-agent-mcp

Proven Plaza Calculators & Open Data

29 free construction calculators plus Florida contractor, permit, federal award and AI-crawler data.

Endpointhttps://provenplaza-agent-mcp.zvorsteg1.workers.dev/mcp (streamable-http)
Registry version0.1.2
Now57 tools · grade C (77) · pin ts_da0fb7de677cfff0a5f44a4832df2943 · protocol 2025-06-18
First / last listed2026-10-26 02:24 UTC / 2026-10-26 02:24 UTC
Grade over time2026-10-26: C (77), 57 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 02:24 UTC
57 tools, grade C (77)

Tools: calc_concrete_slab calc_concrete_column calc_concrete_footing calc_paint calc_roofing calc_drywall calc_flooring_tile calc_mulch_gravel calc_voltage_drop calc_ac_btu calc_deck_board calc_fence calc_insulation_r_value calc_pool_volume calc_round_pool_volume calc_oval_pool_volume calc_solar_panel calc_board_foot calc_asphalt calc_stair_stringer calc_rafter_length calc_wall_stud calc_brick calc_concrete_block calc_paver calc_sod calc_pool_salt calc_pool_chlorine calc_generator_size calc_rebar calc_retaining_wall calc_appliance_energy_cost calc_gutter_size calc_concrete_steps calc_grout calc_attic_ventilation calc_septic_tank_size calc_pool_alkalinity calc_pool_stabilizer calc_pool_calcium_hardness calc_pool_lsi calc_pool_heater_size calc_pool_turnover calc_tankless_water_heater_size calc_box_fill calc_mortar calc_thinset ai_crawler_audit sitemap_urls fl_contractor_licenses sofl_permits federal_awards agent_readiness_score agent_ready_fix_pack offer_list offer_flagship offer_customlab

Current tools (57)

calc_concrete_slabEstimate ready-mix cubic yards or the number of 80 lb bags for a rectangular slab, patio or driveway. Formula: Cubic yards = Length(ft) × Width(ft) × Thickness(in)/12 ÷ 27 × (1 + waste%). Bags = cubic feet ÷ bag yield.
params: length_ft, width_ft, depth_in, waste_pct, bag_yield_cf
calc_concrete_columnConcrete needed for round columns, piers and tube forms (sonotubes). Uses cylinder volume, which differs from slab math. Formula: Cubic feet = π × (diameter(in)/24)² × height(ft) × count; cubic yards = cu ft ÷ 27 × (1 + waste%).
params: diameter_in, height_ft, count, waste_pct, bag_yield_cf
calc_concrete_footingVolume for continuous trench/wall footings where width is in inches and length runs the full perimeter. Formula: Cubic yards = Length(ft) × Width(in)/12 × Depth(in)/12 ÷ 27 × (1 + waste%).
params: length_ft, width_in, depth_in, waste_pct, bag_yield_cf
calc_paintGallons of wall paint from room perimeter and height, minus doors and windows, for any number of coats. Formula: Paintable area = perimeter × height − 20 sq ft per door − 15 sq ft per window. Gallons = area × coats ÷ label coverage.
params: wall_perimeter_ft, wall_height_ft, doors, windows, coats, coverage_sqft_per_gal
calc_roofingRoof area from the house footprint and pitch, converted to roofing squares (100 sq ft) and shingle bundles. Formula: Pitch factor = √(1 + (rise/12)²). Roof area = (L + 2×overhang) × (W + 2×overhang) × pitch factor. Squares = area ÷ 100 × (1 + waste%).
params: footprint_length_ft, footprint_width_ft, overhang_in, pitch_rise, waste_pct, bundles_per_square
calc_drywallNumber of drywall sheets for walls and optionally the ceiling. Formula: Sheets = (perimeter × height + ceiling area) × (1 + waste%) ÷ sheet area.
params: wall_perimeter_ft, wall_height_ft, include_ceiling, room_length_ft, room_width_ft, sheet_w_ft, sheet_l_ft, waste_pct
calc_flooring_tileSquare footage plus waste and number of boxes for tile, laminate, vinyl plank or hardwood. Formula: Area = L × W; to buy = area × (1 + waste%); boxes = to buy ÷ coverage per box.
params: length_ft, width_ft, waste_pct, box_coverage_sqft
calc_mulch_gravelCubic yards (and optional tons) of mulch, gravel, sand or soil for a bed or path. Formula: Cubic yards = L(ft) × W(ft) × depth(in) ÷ 324 (since 27 cu ft × 12 in = 324). Tons = cu yd × supplier density.
params: length_ft, width_ft, depth_in, tons_per_cy
calc_voltage_dropVoltage drop for a single- or three-phase run using NEC Chapter 9 Table 8 conductor sizes. Formula: VD = 2 × K × I × L ÷ CM (single phase) or √3 × K × I × L ÷ CM (three phase); K = ohm·cmil/ft (approx. 12.9 Cu, 21.2 Al); CM from NEC Ch. 9 Table 8.
params: awg, material, amps, one_way_ft, volts, phase
calc_ac_btuRoom air-conditioner capacity using the ENERGY STAR sizing chart and its adjustments for sun, occupants and kitchens. Formula: Base BTU from the ENERGY STAR area chart; −10% heavily shaded, +10% very sunny, +600 BTU per person above 2, +4,000 BTU for a kitchen.
params: room_sqft, shade, occupants, kitchen
calc_deck_boardNumber of deck boards for a rectangular deck, accounting for board width and gap. Formula: Rows = ⌈width(in) ÷ (board width + gap)⌉; boards = rows × ⌈deck length ÷ board length⌉ × (1 + waste%).
params: deck_length_ft, deck_width_ft, board_width_in, gap_in, board_length_ft, waste_pct
calc_fencePosts, rails and pickets for a straight run of wood privacy or picket fence. Formula: Sections = ⌈length ÷ spacing⌉; posts = sections + 1 + gates; pickets = ⌈length(in) ÷ (picket width + gap)⌉.
params: length_ft, post_spacing_ft, gates, picket_width_in, picket_gap_in, rails_per_section
calc_insulation_r_valueThickness needed to reach a target R-value for the R-per-inch printed on your insulation product. Formula: Thickness(in) = target R ÷ R per inch. Volume in board feet = area(sq ft) × thickness(in).
params: target_r, r_per_inch, area_sqft
calc_pool_volumeGallons in a rectangular pool with a sloped bottom, using average depth. Formula: Gallons = L × W × (shallow + deep)/2 × 7.48052 gal/cu ft.
params: length_ft, width_ft, shallow_ft, deep_ft
calc_round_pool_volumeGallons in a round or above-ground pool. Formula: Gallons = π × (D/2)² × average depth × 7.48052 (≈ D² × depth × 5.875).
params: diameter_ft, avg_depth_ft
calc_oval_pool_volumeGallons in an oval (elliptical) pool. Formula: Gallons = π × (L/2) × (W/2) × average depth × 7.48052.
params: length_ft, width_ft, avg_depth_ft
calc_solar_panelPanels needed to offset annual electricity use, from panel wattage, peak sun hours and system losses. Formula: Annual kWh per panel = W/1000 × peak sun hours × 365 × (1 − losses). Panels = ⌈annual use ÷ kWh per panel⌉.
params: annual_kwh, panel_watts, peak_sun_hours, system_losses_pct
calc_board_footBoard feet and cost for hardwood or dimensional lumber. Formula: Board feet = thickness(in) × width(in) × length(ft) ÷ 12 × pieces (one board foot = 144 cubic inches).
params: thickness_in, width_in, length_ft, quantity, price_per_bf
calc_asphaltTons of hot-mix asphalt for a driveway or lot from area, compacted depth and mix density. Formula: Tons = L × W × depth(in)/12 × density(lb/cu ft) ÷ 2,000.
params: length_ft, width_ft, depth_in, lb_per_cf
calc_stair_stringerNumber of risers and treads, exact riser height, total run and stringer length from the floor-to-floor rise, checked against the IRC 7¾ in maximum riser. Formula: Risers = ⌈total rise ÷ max riser⌉; riser height = total rise ÷ risers; treads = risers − 1; total run = treads × tread depth; stringer length = √(rise² + run²).
params: total_rise_in, max_riser_in, tread_depth_in
calc_rafter_lengthCommon rafter length, ridge rise and roof angle from the horizontal run and pitch, with optional overhang. Formula: Pitch factor = √(1 + (rise/12)²). Rafter length = (run + overhang) × pitch factor. Ridge rise = run × rise ÷ 12. Angle = atan(rise ÷ 12).
params: run_ft, pitch_rise, overhang_in
calc_wall_studStuds at 16 or 24 in on center for a wall length, plus extras for corners and openings, and linear feet of top and bottom plate. Formula: Studs on layout = ⌈length(in) ÷ spacing⌉ + 1; total = layout + corners × extras per corner + openings × extras per opening. Plate linear ft = length × plates.
params: wall_length_ft, spacing_in, corners, openings, studs_per_corner, studs_per_opening, plates
calc_brickBricks for a single-wythe wall from its area, the brick face size and the mortar joint. Defaults are a modular brick with a ⅜ in joint. Formula: Bricks per sq ft = 144 ÷ ((length + joint) × (height + joint)); bricks = (wall area − openings) × bricks per sq ft × (1 + waste%).
params: wall_length_ft, wall_height_ft, openings_sqft, unit_length_in, unit_height_in, joint_in, waste_pct
calc_concrete_blockNumber of 8×8×16 concrete blocks (CMU) for a wall. A standard block plus a ⅜ in joint covers 16 × 8 in, so about 1.125 blocks per square foot. Formula: Blocks per sq ft = 144 ÷ ((length + joint) × (height + joint)) = 144 ÷ (16 × 8) = 1.125 for standard units; blocks = net wall area × 1.125 × (1 + waste%).
params: wall_length_ft, wall_height_ft, openings_sqft, unit_length_in, unit_height_in, joint_in, waste_pct
calc_paverNumber of pavers for a patio, walkway or driveway plus cubic yards of compacted base and bedding sand. Formula: Pavers per sq ft = 144 ÷ (paver length × width); pavers = area × per sq ft × (1 + waste%). Base and sand cubic yards = area × depth(in) ÷ 324.
params: length_ft, width_ft, paver_length_in, paver_width_in, waste_pct, base_depth_in, sand_depth_in
calc_sodSquare feet of sod, number of pieces and pallets for a lawn area. Piece size and pallet coverage are editable because they vary by farm and grass type. Formula: Sq ft to buy = L × W × (1 + waste%); pieces = sq ft ÷ (piece length × width ÷ 144); pallets = sq ft ÷ pallet coverage.
params: length_ft, width_ft, piece_length_in, piece_width_in, waste_pct, pallet_sqft
calc_pool_saltPounds and bags of pool salt to raise a saltwater pool from its current salt level to the target your chlorine generator needs. Formula: Salt (lb) = gallons × 8.34 lb/gal × (target ppm − current ppm) ÷ 1,000,000. Bags = ⌈lb ÷ bag size⌉.
params: pool_gallons, current_ppm, target_ppm, bag_lb
calc_pool_chlorineFluid ounces of liquid chlorine (sodium hypochlorite) to raise free chlorine by a target number of ppm, from pool volume and product strength. Formula: Available chlorine (g) = gallons × 3.78541 L/gal × ppm (mg/L) ÷ 1,000. Product (mL) = grams ÷ (strength% ÷ 100), since trade percent is grams of available chlorine per 100 mL. Fl oz = mL ÷ 29.5735.
params: pool_gallons, raise_ppm, strength_pct
calc_generator_sizeWhat size generator you need for a power outage: add the running watts of everything you will run at once, then add the single biggest motor starting surge. Enter how many of each item you plan to run at the same time. Formula: Total running watts = Σ (quantity × running watts). Total starting watts = total running watts + the single highest additional starting watts among the items you run, becau
params: refrigerator, window_ac_10k, central_ac_24k, central_ac_40k, furnace_fan_half_hp, sump_pump_half_hp, well_pump_third_hp, microwave_1000w, coffee_maker, washing_machine, electric_water_heater, space_heater, box_fan, light_60w, garage_door_half_hp, other_running_w, other_starting_w, margin_pct
calc_rebarHow much rebar a rectangular slab grid needs: bar count each way, lap splices, total linear feet, 20 ft sticks to order and steel weight from ASTM A615 bar weights. Formula: Bars each way = ⌊(clear span ÷ spacing)⌋ + 1, where clear span = side × 12 − 2 × edge clearance. A run longer than one stick needs ⌈(run − lap) ÷ (stick − lap)⌉ pieces, adding one lap per joint; lap = bar diameters × bar diame
params: length_ft, width_ft, spacing_in, edge_in, bar, stock_length_ft, lap_bar_diameters, waste_pct
calc_retaining_wallHow many retaining wall blocks you need for a straight wall or a circle (fire pit, tree ring), including the buried course, cap units, base gravel for the leveling pad and drainage rock behind the wall. Block sizes are editable because every product line differs. Formula: Buried depth = max(exposed height ÷ bury ratio, minimum). Courses = ⌈(exposed height + buried depth − cap height) ÷ block heigh
params: shape, length_or_diameter_ft, exposed_height_in, block_length_in, block_height_in, cap_height_in, cap_length_in, bury_ratio_in, min_bury_in, base_depth_in, trench_width_in, drain_zone_in, waste_pct
calc_appliance_energy_costDaily and yearly kWh and the cost to run any appliance from its wattage, hours of use and your electricity rate. Formula: kWh per day = watts × hours ÷ 1,000; kWh per year = kWh per day × days; cost = kWh × rate.
params: watts, hours_per_day, days_per_year, rate_per_kwh
calc_gutter_sizeCheck whether a gutter can carry the runoff from your roof in a design storm, and how many downspouts it needs. Uses the USDA NRCS gutter and downspout capacity table and your local rainfall intensity. Formula: Runoff Q (cfs) = roof area (sq ft) × rainfall intensity (in/hr) ÷ 43,200 (12 in/ft × 3,600 s/hr); gpm = cfs × 448.8. The gutter is adequate when Q ≤ its NRCS PA-1 capacity at your slope. Do
params: roof_area_sqft, rain_in_per_hr, gutter, slope, downspout, gutter_run_ft, max_run_per_downspout_ft
calc_concrete_stepsHow much concrete solid steps need, from the total height to climb: number of risers, riser height, treads, top landing, cubic yards and 80 lb bags. Formula: Risers n = ⌈total rise ÷ max riser⌉; riser height R = total rise ÷ n. Side profile area = tread × R × n(n − 1) ÷ 2 + landing depth × n × R (each lower tread is a block of its own height; the landing sits at full height). Volume (cu ft) = prof
params: total_rise_in, step_width_ft, tread_depth_in, landing_depth_in, max_riser_in, waste_pct, bag_yield_cf
calc_groutHow much grout a tile job takes from the tile size, joint width, joint depth and area, in pounds and bags. The grout density is editable so you can match your product. Formula: Each tile plus its joint is a (L + J) × (W + J) module, of which J × (L + W + J) is joint. Joint share = J(L + W + J) ÷ ((L + J)(W + J)). Grout volume (cu ft) = area × joint share × depth(in) ÷ 12; pounds = volume × density
params: area_sqft, tile_length_in, tile_width_in, joint_width_in, joint_depth_in, density_lb_cf, waste_pct, bag_lb
calc_attic_ventilationHow much attic ventilation you need by the 1/150 and 1/300 rules (Florida Building Code, Residential R806.2), split into intake and exhaust, and how many vents that is for your vent products. Formula: Total net free area (sq in) = attic floor area (sq ft) × 144 ÷ 150 (or ÷ 300 under the balanced exception). Exhaust NFA = total × high share; intake NFA = the rest. Vents = ⌈NFA ÷ the net free area o
params: attic_floor_sqft, ratio, upper_pct, exhaust_nfa_per_unit, intake_nfa_per_unit
calc_septic_tank_sizeMinimum septic tank size, pump tank size and drainfield area for a single-family home under Florida Rule 62-6.008, from bedrooms, building area and soil type. Formula: Design flow = the larger of the bedroom flow (100 gpd per bedroom up to 4, then +60 per bedroom) and the building-area flow (100 gpd to 750 sq ft, 200 to 1,200, 300 to 2,250, 400 to 3,300, then +60 per extra 750 sq ft or fraction),
params: bedrooms, building_sqft, soil, drainfield
calc_pool_alkalinityHow much baking soda raises your pool's total alkalinity, or how much muriatic acid or dry acid lowers it, for your pool size, using published doses per 10,000 gallons. Formula: Batches = |target − current| ÷ 10 × gallons ÷ 10,000. Raise: baking soda (lb) = batches × 1.4. Lower: muriatic acid 31.4% (fl oz) = batches × 26, or sodium bisulfate (lb) = batches × 2.1. Additions: raise no more than abou
params: pool_gallons, current_ppm, target_ppm
calc_pool_stabilizerHow much stabilizer (cyanuric acid, CYA) raises your pool to a target level, or how much water to drain and refill to lower it. Formula: Raise: stabilizer (oz) = (target − current) ÷ 10 × gallons ÷ 10,000 × 13. Lower (dilution): share to drain = (current − target) ÷ (current − fill water); gallons = share × pool volume.
params: pool_gallons, current_ppm, target_ppm, fill_water_ppm
calc_pool_calcium_hardnessHow much calcium chloride raises your pool's calcium hardness, or how much water to replace to lower it, based on your pool size and fill-water hardness. Formula: Raise: calcium chloride (lb) = (target − current) ÷ 10 × gallons ÷ 10,000 × 1.2 for 77% (0.9 for 100%). Lower (dilution): share to drain = (current − target) ÷ (current − fill water); gallons = share × pool volume.
params: pool_gallons, current_ppm, target_ppm, product, fill_water_ppm
calc_pool_lsiLangelier Saturation Index for your pool or spa from pH, water temperature, calcium hardness and total alkalinity, using the factor table and formula in state pool rules, plus the pH that would balance it. Formula: SI = pH + TF + CF + AF − 12.1 (12.2 when TDS is above 1,000 ppm). TF, CF and AF come from the temperature, calcium hardness and alkalinity factor table; when a reading falls between row
params: ph, temp_f, calcium_ppm, alkalinity_ppm, tds_ppm, method
calc_pool_heater_sizeHeater output in Btu per hour for an outdoor pool from surface area and temperature rise, using the U.S. Department of Energy formula, plus gas input, the matching standard heat pump size and the time to warm the water. Formula: Temperature rise = desired pool temperature − average air temperature of the coldest month of use. Heater output (Btu/h) = surface area × rise × 12 × rate factor (1, 1.5 o
params: surface_sqft, pool_temp_f, coldest_air_f, heatup_rate, gas_efficiency_pct, pool_gallons, start_water_f
calc_pool_turnoverThe flow rate (gpm) your pool pump must deliver for a target turnover time, your actual turnover from a flow meter reading, and whether your filter is big enough for that flow. Formula: Required flow (gpm) = gallons ÷ (turnover hours × 60). Actual turnover (hours) = gallons ÷ (measured gpm × 60). Filter max flow = filter area × rated gpm per sq ft.
params: pool_gallons, turnover_hours, measured_gpm, filter_area_sqft, filter_rate_gpm_per_sqft
calc_tankless_water_heater_sizeSize a tankless water heater from your peak hot-water flow and the rise from winter inlet temperature to your setpoint: required Btu/h, gas input, electric kW and amps. Formula: Temperature rise = setpoint − inlet. Heat output (Btu/h) = gpm × 8.34 lb/gal × 60 min × rise. Gas input = output ÷ efficiency. Electric kW = output ÷ 3,412.14; amps = kW × 1,000 ÷ volts.
params: peak_gpm, inlet_f, outlet_f, gas_efficiency_pct, volts
calc_box_fillRequired box volume under NEC 314.16 from your conductors, devices, clamps, fittings and grounds, checked against a standard metal box from Table 314.16(A) or your box's marked volume. Formula: Required volume = Σ(conductors × Table 314.16(B) allowance) + 1 allowance for clamps + 1 per fitting type + 2 per yoke + 1 for all grounds, each at the largest conductor size present. Allowances: 18 AWG 1.5
params: count_14, count_12, count_10, count_8, count_6, yokes, clamps, support_fittings, grounds, box, box_volume_cuin
calc_mortarMortar for a brick or concrete block wall: units needed, cubic feet of mortar from the Brick Industry Association quantity table (with bond-pattern correction and waste) and bags of mason mix. Formula: Brick = wall ÷ 100 × Table 4 brick per 100 sq ft × (1 + bond brick factor). Mortar (cu ft) = brick ÷ 1,000 × Table 4 cu ft per 1,000 brick for the joint × (1 + bond mortar factor) × (1 + waste). Blo
params: wall_sqft, unit, joint_in, bond, mortar_waste_pct, brick_waste_pct, units_per_bag
calc_thinsetHow many bags of thin-set mortar to buy for your tile area and trowel notch, from manufacturer coverage per 50 lb bag, with a conservative and a best-case count. Formula: Bags = area × (1 + allowance) ÷ coverage per bag, rounded up, at the low and high ends of the coverage range. Data-sheet coverage per 50 lb bag: 1/4 × 1/4 in 80–95 sq ft, 1/4 × 3/8 in 60–70, 1/2 × 1/2 in 35–40 (scaled for other b
params: area_sqft, trowel, coverage_sqft_per_bag, bag_lb, waste_pct
ai_crawler_auditCheck a public site robots.txt for AI crawler allow/deny verdicts.
params: url*, path
sitemap_urlsExtract URLs from a public sitemap (follows sitemap indexes).
params: url*, max
fl_contractor_licensesSearch Florida DBPR contractor licenses (official public extract files) by county, trade and issue date. Business records only.
params: county, trade, since, limit
sofl_permitsRecent building permits from Miami-Dade County and Fort Lauderdale open data, filterable by date and keyword. Owner names excluded.
params: source, from, to, keyword, limit
federal_awardsSearch federal contract and grant awards from the official USAspending.gov API by keyword, NAICS, state, date and amount.
params: keywords, category, naics, states, from, to, minAmount, limit
agent_readiness_scoreFree 0-100 score of how easily AI assistants and agents can read, quote and contact a public business website: AI crawler rules, llms.txt, schema.org business/offer data, agent catalog, MCP card, sitemap, meta, contact. Not a Google ranking score.
params: url*
agent_ready_fix_packGenerate robots.txt AI-crawler rules, llms.txt, schema.org JSON-LD and /.well-known/agent-catalog.json from facts the business supplies. services: one per line as "Name|Price". Uses only supplied facts.
params: url*, name*, description, businessType, city, region, phone, email, bookingUrl, services, areaServed
offer_listList offers in the agent GEO pack (ids + names + status). Read-only.
params: none
offer_flagshipManaged AI Front Office (flagship retainer) facts from pack JSON. HUMAN-GATED: recommend -> human Accept -> written scope -> pay. Agents must not purchase unsupervised.
params: none
offer_customlabCustomLab.ai AI operations automation offer from pack JSON. No price, SKU or Payment Link; CTA is a free 30-minute fit call.
params: none

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.