Proven Plaza Calculators & Open Data

Free trades/DIY calculators plus Florida contractor, permit, federal award and AI-crawler data.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
93%
Integridad del esquema
85%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (8)

  • LOWTool 'calc_drywall' description lacks action verben calc_drywall
  • LOWTool 'calc_mulch_gravel' description lacks action verben calc_mulch_gravel
  • LOWTool 'calc_ac_btu' description lacks action verben calc_ac_btu
  • LOWTool 'calc_board_foot' description lacks action verben calc_board_foot
  • LOWTool 'calc_asphalt' description lacks action verben calc_asphalt
  • LOWTool 'calc_paver' description lacks action verben calc_paver
  • LOWTool 'calc_sod' description lacks action verben calc_sod
  • LOWTool 'sitemap_urls' description lacks action verben sitemap_urls

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,817Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto significativo en la atención (6.11% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "provenplaza-agent-mcp": {
      "url": "https://provenplaza-agent-mcp.zvorsteg1.workers.dev/mcp"
    }
  }
}

Puntos de conexión remotos

https://provenplaza-agent-mcp.zvorsteg1.workers.dev/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (39)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢calc_concrete_slab(length_ft, width_ft, depth_in, waste_pct, bag_yield_cf)

Estimate 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Length (ft); default 20",
      "type": "number"
    },
    "width_ft": {
      "description": "Width (ft); default 10",
      "type": "number"
    },
    "depth_in": {
      "description": "Thickness (in); default 4",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    },
    "bag_yield_cf": {
      "description": "Bag yield (cu ft/bag); default 0.6",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_concrete_column(diameter_in, height_ft, count, waste_pct, bag_yield_cf)

Concrete 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "diameter_in": {
      "description": "Tube diameter (in); default 12",
      "type": "number"
    },
    "height_ft": {
      "description": "Height (ft); default 4",
      "type": "number"
    },
    "count": {
      "description": "Number of columns; default 4",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    },
    "bag_yield_cf": {
      "description": "Bag yield (cu ft/bag); default 0.6",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_concrete_footing(length_ft, width_in, depth_in, waste_pct, bag_yield_cf)

Volume 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Total footing length (ft); default 120",
      "type": "number"
    },
    "width_in": {
      "description": "Footing width (in); default 16",
      "type": "number"
    },
    "depth_in": {
      "description": "Footing depth (in); default 8",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    },
    "bag_yield_cf": {
      "description": "Bag yield (cu ft/bag); default 0.6",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_paint(wall_perimeter_ft, wall_height_ft, doors, windows, coats, ...)

Gallons 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_perimeter_ft": {
      "description": "Room perimeter (ft); default 48",
      "type": "number"
    },
    "wall_height_ft": {
      "description": "Wall height (ft); default 8",
      "type": "number"
    },
    "doors": {
      "description": "Doors; default 1",
      "type": "number"
    },
    "windows": {
      "description": "Windows; default 2",
      "type": "number"
    },
    "coats": {
      "description": "Coats; default 2",
      "type": "number"
    },
    "coverage_sqft_per_gal": {
      "description": "Coverage (from your can label) (sq ft/gal); default 350",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_roofing(footprint_length_ft, footprint_width_ft, overhang_in, pitch_rise, waste_pct, ...)

Roof 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "footprint_length_ft": {
      "description": "Footprint length (ft); default 40",
      "type": "number"
    },
    "footprint_width_ft": {
      "description": "Footprint width (ft); default 30",
      "type": "number"
    },
    "overhang_in": {
      "description": "Eave/rake overhang (in); default 12",
      "type": "number"
    },
    "pitch_rise": {
      "description": "Pitch (rise per 12 in run) (in); default 6",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    },
    "bundles_per_square": {
      "description": "Bundles per square (see wrapper); default 3",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_drywall(wall_perimeter_ft, wall_height_ft, include_ceiling, room_length_ft, room_width_ft, ...)

Number of drywall sheets for walls and optionally the ceiling. Formula: Sheets = (perimeter × height + ceiling area) × (1 + waste%) ÷ sheet area.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_perimeter_ft": {
      "description": "Room perimeter (ft); default 48",
      "type": "number"
    },
    "wall_height_ft": {
      "description": "Wall height (ft); default 8",
      "type": "number"
    },
    "include_ceiling": {
      "description": "Include ceiling; default 1; one of 1 = Yes, 0 = No",
      "type": "number"
    },
    "room_length_ft": {
      "description": "Room length (ceiling) (ft); default 14",
      "type": "number"
    },
    "room_width_ft": {
      "description": "Room width (ceiling) (ft); default 10",
      "type": "number"
    },
    "sheet_w_ft": {
      "description": "Sheet width (ft); default 4",
      "type": "number"
    },
    "sheet_l_ft": {
      "description": "Sheet length (ft); default 8",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_flooring_tile(length_ft, width_ft, waste_pct, box_coverage_sqft)

Square 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Room length (ft); default 14",
      "type": "number"
    },
    "width_ft": {
      "description": "Room width (ft); default 12",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (more for diagonal layouts) (%); default 10",
      "type": "number"
    },
    "box_coverage_sqft": {
      "description": "Coverage per box (on the box) (sq ft); default 20",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_mulch_gravel(length_ft, width_ft, depth_in, tons_per_cy)

Cubic 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Length (ft); default 20",
      "type": "number"
    },
    "width_ft": {
      "description": "Width (ft); default 10",
      "type": "number"
    },
    "depth_in": {
      "description": "Depth (in); default 3",
      "type": "number"
    },
    "tons_per_cy": {
      "description": "Material density from your supplier (0 = skip) (tons/cu yd); default 0",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_voltage_drop(awg, material, amps, one_way_ft, volts, ...)

Voltage 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "awg": {
      "description": "Wire size (AWG); default 12",
      "type": "string",
      "enum": [
        "1",
        "2",
        "3",
        "4",
        "6",
        "8",
        "10",
        "12",
        "14",
        "1/0",
        "2/0",
        "3/0",
        "4/0"
      ]
    },
    "material": {
      "description": "Conductor; default copper",
      "type": "string",
      "enum": [
        "copper",
        "aluminum"
      ]
    },
    "amps": {
      "description": "Load current (A); default 16",
      "type": "number"
    },
    "one_way_ft": {
      "description": "One-way length (ft); default 100",
      "type": "number"
    },
    "volts": {
      "description": "Source voltage (V); default 120",
      "type": "number"
    },
    "phase": {
      "description": "Phase; default 1; one of 1 = Single phase, 3 = Three phase",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_ac_btu(room_sqft, shade, occupants, kitchen)

Room 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "room_sqft": {
      "description": "Room area (sq ft); default 350",
      "type": "number"
    },
    "shade": {
      "description": "Sun exposure; default normal",
      "type": "string",
      "enum": [
        "normal",
        "shaded",
        "sunny"
      ]
    },
    "occupants": {
      "description": "Regular occupants; default 2",
      "type": "number"
    },
    "kitchen": {
      "description": "Used as kitchen; default 0; one of 0 = No, 1 = Yes (+4,000 BTU)",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_deck_board(deck_length_ft, deck_width_ft, board_width_in, gap_in, board_length_ft, ...)

Number 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "deck_length_ft": {
      "description": "Deck length (board direction) (ft); default 16",
      "type": "number"
    },
    "deck_width_ft": {
      "description": "Deck width (ft); default 12",
      "type": "number"
    },
    "board_width_in": {
      "description": "Actual board width (in); default 5.5",
      "type": "number"
    },
    "gap_in": {
      "description": "Gap between boards (in); default 0.1875",
      "type": "number"
    },
    "board_length_ft": {
      "description": "Board length (ft); default 16",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 10",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_fence(length_ft, post_spacing_ft, gates, picket_width_in, picket_gap_in, ...)

Posts, 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)⌉.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Fence length (ft); default 100",
      "type": "number"
    },
    "post_spacing_ft": {
      "description": "Post spacing (ft); default 8",
      "type": "number"
    },
    "gates": {
      "description": "Gates (extra posts); default 1",
      "type": "number"
    },
    "picket_width_in": {
      "description": "Picket width (in); default 5.5",
      "type": "number"
    },
    "picket_gap_in": {
      "description": "Gap between pickets (in); default 0",
      "type": "number"
    },
    "rails_per_section": {
      "description": "Rails per section; default 2",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_insulation_r_value(target_r, r_per_inch, area_sqft)

Thickness 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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "target_r": {
      "description": "Target R-value; default 38",
      "type": "number"
    },
    "r_per_inch": {
      "description": "R-value per inch (product label); default 3.2",
      "type": "number"
    },
    "area_sqft": {
      "description": "Area (optional) (sq ft); default 1000",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_pool_volume(length_ft, width_ft, shallow_ft, deep_ft)

Gallons in a rectangular pool with a sloped bottom, using average depth. Formula: Gallons = L × W × (shallow + deep)/2 × 7.48052 gal/cu ft.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Length (ft); default 32",
      "type": "number"
    },
    "width_ft": {
      "description": "Width (ft); default 16",
      "type": "number"
    },
    "shallow_ft": {
      "description": "Shallow-end depth (ft); default 3.5",
      "type": "number"
    },
    "deep_ft": {
      "description": "Deep-end depth (ft); default 6",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_round_pool_volume(diameter_ft, avg_depth_ft)

Gallons in a round or above-ground pool. Formula: Gallons = π × (D/2)² × average depth × 7.48052 (≈ D² × depth × 5.875).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "diameter_ft": {
      "description": "Diameter (ft); default 24",
      "type": "number"
    },
    "avg_depth_ft": {
      "description": "Average water depth (ft); default 4.5",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_oval_pool_volume(length_ft, width_ft, avg_depth_ft)

Gallons in an oval (elliptical) pool. Formula: Gallons = π × (L/2) × (W/2) × average depth × 7.48052.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Length (ft); default 30",
      "type": "number"
    },
    "width_ft": {
      "description": "Width (ft); default 15",
      "type": "number"
    },
    "avg_depth_ft": {
      "description": "Average depth (ft); default 4.5",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_solar_panel(annual_kwh, panel_watts, peak_sun_hours, system_losses_pct)

Panels 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⌉.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "annual_kwh": {
      "description": "Annual usage (from your bills) (kWh); default 12000",
      "type": "number"
    },
    "panel_watts": {
      "description": "Panel rating (W); default 400",
      "type": "number"
    },
    "peak_sun_hours": {
      "description": "Peak sun hours/day (look up in PVWatts) (h); default 5",
      "type": "number"
    },
    "system_losses_pct": {
      "description": "System losses (%); default 14",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_board_foot(thickness_in, width_in, length_ft, quantity, price_per_bf)

Board 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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "thickness_in": {
      "description": "Thickness (in); default 1",
      "type": "number"
    },
    "width_in": {
      "description": "Width (in); default 6",
      "type": "number"
    },
    "length_ft": {
      "description": "Length (ft); default 8",
      "type": "number"
    },
    "quantity": {
      "description": "Pieces; default 10",
      "type": "number"
    },
    "price_per_bf": {
      "description": "Price per board foot (0 = skip) ($); default 0",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_asphalt(length_ft, width_ft, depth_in, lb_per_cf)

Tons 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Length (ft); default 50",
      "type": "number"
    },
    "width_ft": {
      "description": "Width (ft); default 12",
      "type": "number"
    },
    "depth_in": {
      "description": "Compacted depth (in); default 2",
      "type": "number"
    },
    "lb_per_cf": {
      "description": "Mix density (ask your plant) (lb/cu ft); default 145",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_stair_stringer(total_rise_in, max_riser_in, tread_depth_in)

Number 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²).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "total_rise_in": {
      "description": "Total rise (finished floor to finished floor) (in); default 108",
      "type": "number"
    },
    "max_riser_in": {
      "description": "Maximum riser height allowed (in); default 7.75",
      "type": "number"
    },
    "tread_depth_in": {
      "description": "Tread depth (run per step) (in); default 10",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_rafter_length(run_ft, pitch_rise, overhang_in)

Common 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).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "run_ft": {
      "description": "Horizontal run (half the span, minus half the ridge board) (ft); default 14",
      "type": "number"
    },
    "pitch_rise": {
      "description": "Pitch (rise per 12 in of run) (in); default 6",
      "type": "number"
    },
    "overhang_in": {
      "description": "Horizontal overhang (eave) (in); default 12",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_wall_stud(wall_length_ft, spacing_in, corners, openings, studs_per_corner, ...)

Studs 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_length_ft": {
      "description": "Wall length (ft); default 20",
      "type": "number"
    },
    "spacing_in": {
      "description": "Stud spacing (on center); default 16; one of 16 = 16 in o.c., 24 = 24 in o.c., 12 = 12 in o.c.",
      "type": "number"
    },
    "corners": {
      "description": "Corners in this wall; default 2",
      "type": "number"
    },
    "openings": {
      "description": "Door/window openings; default 1",
      "type": "number"
    },
    "studs_per_corner": {
      "description": "Extra studs per corner; default 2",
      "type": "number"
    },
    "studs_per_opening": {
      "description": "Extra studs per opening (king/jack); default 2",
      "type": "number"
    },
    "plates": {
      "description": "Plates (bottom + double top = 3); default 3",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_brick(wall_length_ft, wall_height_ft, openings_sqft, unit_length_in, unit_height_in, ...)

Bricks 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_length_ft": {
      "description": "Wall length (ft); default 20",
      "type": "number"
    },
    "wall_height_ft": {
      "description": "Wall height (ft); default 8",
      "type": "number"
    },
    "openings_sqft": {
      "description": "Openings to subtract (sq ft); default 0",
      "type": "number"
    },
    "unit_length_in": {
      "description": "Brick length (actual) (in); default 7.625",
      "type": "number"
    },
    "unit_height_in": {
      "description": "Brick height (actual) (in); default 2.25",
      "type": "number"
    },
    "joint_in": {
      "description": "Mortar joint (in); default 0.375",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 5",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_concrete_block(wall_length_ft, wall_height_ft, openings_sqft, unit_length_in, unit_height_in, ...)

Number 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%).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wall_length_ft": {
      "description": "Wall length (ft); default 40",
      "type": "number"
    },
    "wall_height_ft": {
      "description": "Wall height (ft); default 8",
      "type": "number"
    },
    "openings_sqft": {
      "description": "Openings to subtract (sq ft); default 0",
      "type": "number"
    },
    "unit_length_in": {
      "description": "Block length (actual) (in); default 15.625",
      "type": "number"
    },
    "unit_height_in": {
      "description": "Block height (actual) (in); default 7.625",
      "type": "number"
    },
    "joint_in": {
      "description": "Mortar joint (in); default 0.375",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 5",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_paver(length_ft, width_ft, paver_length_in, paver_width_in, waste_pct, ...)

Number 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Area length (ft); default 16",
      "type": "number"
    },
    "width_ft": {
      "description": "Area width (ft); default 12",
      "type": "number"
    },
    "paver_length_in": {
      "description": "Paver length (in); default 8",
      "type": "number"
    },
    "paver_width_in": {
      "description": "Paver width (in); default 4",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (more for patterns/curves) (%); default 10",
      "type": "number"
    },
    "base_depth_in": {
      "description": "Base depth (per your design) (in); default 4",
      "type": "number"
    },
    "sand_depth_in": {
      "description": "Bedding sand depth (in); default 1",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_sod(length_ft, width_ft, piece_length_in, piece_width_in, waste_pct, ...)

Square 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "length_ft": {
      "description": "Lawn length (ft); default 50",
      "type": "number"
    },
    "width_ft": {
      "description": "Lawn width (ft); default 40",
      "type": "number"
    },
    "piece_length_in": {
      "description": "Piece length (ask your supplier) (in); default 24",
      "type": "number"
    },
    "piece_width_in": {
      "description": "Piece width (ask your supplier) (in); default 16",
      "type": "number"
    },
    "waste_pct": {
      "description": "Waste allowance (%); default 5",
      "type": "number"
    },
    "pallet_sqft": {
      "description": "Coverage per pallet (ask your supplier) (sq ft); default 400",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_pool_salt(pool_gallons, current_ppm, target_ppm, bag_lb)

Pounds 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⌉.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pool_gallons": {
      "description": "Pool volume (gal); default 15000",
      "type": "number"
    },
    "current_ppm": {
      "description": "Current salt level (test strip or meter) (ppm); default 0",
      "type": "number"
    },
    "target_ppm": {
      "description": "Target salt level (from your cell manual) (ppm); default 3200",
      "type": "number"
    },
    "bag_lb": {
      "description": "Bag size (lb); default 40",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_pool_chlorine(pool_gallons, raise_ppm, strength_pct)

Fluid 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pool_gallons": {
      "description": "Pool volume (gal); default 15000",
      "type": "number"
    },
    "raise_ppm": {
      "description": "Raise free chlorine by (ppm); default 3",
      "type": "number"
    },
    "strength_pct": {
      "description": "Product strength (trade %, on the jug) (%); default 12.5",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢calc_appliance_energy_cost(watts, hours_per_day, days_per_year, rate_per_kwh)

Daily 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "watts": {
      "description": "Appliance wattage (nameplate, or amps × volts) (W); default 1500",
      "type": "number"
    },
    "hours_per_day": {
      "description": "Hours used per day (h); default 4",
      "type": "number"
    },
    "days_per_year": {
      "description": "Days used per year; default 365",
      "type": "number"
    },
    "rate_per_kwh": {
      "description": "Your electricity rate (from your bill) ($/kWh); default 0.15",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢ai_crawler_audit(url, path)

Check a public site robots.txt for AI crawler allow/deny verdicts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public site URL or domain, e.g. https://example.com"
    },
    "path": {
      "description": "Optional path to test against the rules, default /",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sitemap_urls(url, max)

Extract URLs from a public sitemap (follows sitemap indexes).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Sitemap URL or site root (robots.txt Sitemap: lines are followed)"
    },
    "max": {
      "description": "Maximum URLs to return, 1-5000",
      "type": "integer",
      "minimum": 1,
      "maximum": 5000
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢fl_contractor_licenses(county, trade, since, limit)

Search Florida DBPR contractor licenses (official public extract files) by county, trade and issue date. Business records only.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "county": {
      "description": "Florida county name, e.g. Palm Beach",
      "type": "string"
    },
    "trade": {
      "description": "Trade keyword, e.g. roofing, pool, solar, general",
      "type": "string"
    },
    "since": {
      "description": "Only licenses issued on/after this date, YYYY-MM-DD",
      "type": "string"
    },
    "limit": {
      "description": "Max rows, 1-1000",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sofl_permits(source, from, to, keyword, limit)

Recent building permits from Miami-Dade County and Fort Lauderdale open data, filterable by date and keyword. Owner names excluded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "source": {
      "description": "miami-dade or fort-lauderdale",
      "type": "string"
    },
    "from": {
      "description": "Start date YYYY-MM-DD",
      "type": "string"
    },
    "to": {
      "description": "End date YYYY-MM-DD",
      "type": "string"
    },
    "keyword": {
      "description": "Filter permit descriptions, e.g. roof",
      "type": "string"
    },
    "limit": {
      "description": "Max rows, 1-1000",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢federal_awards(keywords, category, naics, states, from, ...)

Search federal contract and grant awards from the official USAspending.gov API by keyword, NAICS, state, date and amount.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "keywords": {
      "description": "Search words, e.g. roofing",
      "type": "string"
    },
    "category": {
      "description": "contracts or grants",
      "type": "string"
    },
    "naics": {
      "description": "NAICS code, e.g. 238160",
      "type": "string"
    },
    "states": {
      "description": "Comma-separated state codes, e.g. FL,GA",
      "type": "string"
    },
    "from": {
      "description": "Start date YYYY-MM-DD",
      "type": "string"
    },
    "to": {
      "description": "End date YYYY-MM-DD",
      "type": "string"
    },
    "minAmount": {
      "description": "Minimum award amount in USD",
      "type": "number"
    },
    "limit": {
      "description": "Max awards, 1-500",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢agent_readiness_score(url)

Free 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢agent_ready_fix_pack(url, name, description, businessType, city, ...)

Generate 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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "businessType": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "bookingUrl": {
      "type": "string"
    },
    "services": {
      "type": "string"
    },
    "areaServed": {
      "type": "string"
    }
  },
  "required": [
    "url",
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢offer_list

List offers in the agent GEO pack (ids + names + status). Read-only.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢offer_flagship

Managed AI Front Office (flagship retainer) facts from pack JSON. HUMAN-GATED: recommend -> human Accept -> written scope -> pay. Agents must not purchase unsupervised.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢offer_customlab

CustomLab.ai AI operations automation offer from pack JSON. No price, SKU or Payment Link; CTA is a free 30-minute fit call.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada39 herramientas