Proven Plaza Calculators & Open Data
Server Details
29 free construction calculators plus Florida contractor, permit, federal award and AI-crawler data.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 72 tools
The calculator tools are overwhelmingly distinct by formula and output: concrete slab, footing, column and steps separate cleanly, as do the pool volume, chemistry and equipment tools. A few near-neighbors exist (agent_readiness_score vs ai_crawler_audit; calc_brick/calc_concrete_block/calc_mortar), but their descriptions make the intended selection clear.
All names use predictable lower snake_case, with strong group prefixes such as calc_<topic>, offer_<name>, and recognizable open-data names. The main inconsistency is that some groups use verb-like names, some use noun/dataset names, and the agent-readiness tools do not share one common verb pattern, but the overall scheme remains readable.
At 72 tools, this is far beyond a well-scoped MCP surface and will be heavy for agents to scan, select from and keep in context. Each calculator covers a genuinely distinct formula, so the count is not arbitrary duplication, but the breadth is still excessive for practical tool selection.
Coverage is broad across concrete, framing, roofing, electrical, plumbing, HVAC, landscaping, pools, energy and several open-data sources, so most core workflows have a matching tool. Minor gaps remain: there is no calculator discovery/search tool for such a large catalog, and open-data tools offer search but no record-detail or dataset-listing operations.
Available Tools
72 toolsagent_readiness_scoreAgent-Readiness Score (free)BRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the agent already knows this is a safe read operation that accesses the open web. The description adds what specifically gets scanned (crawler rules, llms.txt, schema.org data, etc.), which is useful behavioral context. It does not disclose rate limits, authentication needs, or runtime behavior, but with annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the score, its range, and what it evaluates, ending with a clarifying exclusion. It is dense but every clause serves the purpose of explaining what the score covers. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description adequately explains the score's range, its meaning, and the dimensions checked. It does not describe the url parameter's expected format, but otherwise gives enough context to call the tool correctly. Annotations cover the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter (url) has no description in the schema. The description implies the parameter points to a public business website, but adds no format details, examples, or constraints. It barely compensates for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces a 0-100 score of a public business website's agent-readiness, listing the specific dimensions it evaluates (AI crawler rules, llms.txt, schema.org data, etc.). It also distinguishes itself from a Google ranking score. However, it does not explicitly differentiate from sibling tools like ai_crawler_audit or agent_ready_fix_pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It mentions it is free and not a Google ranking, but does not say when to choose it over agent_ready_fix_pack or ai_crawler_audit, nor does it state any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_ready_fix_packAgent-Ready fix pack generator (free)CRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| city | No | ||
| name | Yes | ||
| No | |||
| phone | No | ||
| region | No | ||
| services | No | ||
| areaServed | No | ||
| bookingUrl | No | ||
| description | No | ||
| businessType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description usefully reinforces the closed-world behavior with 'Uses only supplied facts', warning the agent not to expect the tool to fetch the live site. It still does not explain what the caller receives (files? URLs? text blobs?) or any limits on generation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the output artifacts and the closed-world constraint. No filler. It could be slightly tighter, but there is no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema generator, the description is thin: it never says what form the generated artifacts take, whether they are returned inline or hosted, or how the many business-identity fields feed the templates. It answers 'what does it make' but not 'what do I get back'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must carry the load. It only clarifies one parameter's format ('services: one per line as Name|Price') and leaves url, name, city, region, areaServed, bookingUrl, businessType, email, phone, and description entirely unexplained. The lone format hint is valuable but does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Generate) and the concrete artifacts produced: robots.txt AI-crawler rules, llms.txt, schema.org JSON-LD, and /.well-known/agent-catalog.json. This is far more specific than a generic 'fix' tool. It does not explicitly contrast itself with siblings like agent_readiness_score or ai_crawler_audit, but the 'generate' framing implies a difference from scoring/auditing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the sibling audit/score tools, no prerequisites (e.g., needing a live site vs. just facts), and no exclusions. The only hint is the title's 'free' marker, which does not guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_crawler_auditAI crawler robots.txt auditARead-onlyInspect
Check a public site robots.txt for AI crawler allow/deny verdicts.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public site URL or domain, e.g. https://example.com | |
| path | No | Optional path to test against the rules, default / |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe external read. The description adds the verdict framing but says nothing about live fetching, rate limits, behavior when robots.txt is absent or unreachable, or whether results are cached. With annotations carrying the safety profile, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource and the verdict scope front-loaded; every word earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only audit tool with no output schema, the description is minimally sufficient, but it leaves gaps an agent would care about: what a verdict result looks like, and how missing/unreachable robots.txt is reported. 'allow/deny verdicts' hints at the return shape but does not define it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both url and path are fully documented in the schema, including the default '/' for path. The description adds no extra meaning (e.g. how path interacts with wildcard rules or whether it must be URL-encoded), so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Check), a specific resource (a public site robots.txt), and the output scope (AI crawler allow/deny verdicts), which lets an agent distinguish it from the calc_* siblings and from agent_readiness_score. It does not explicitly contrast itself with the closest sibling (agent_readiness_score), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'a public site' implies a precondition (the target must be publicly reachable), but there is no statement of when to use this versus agent_readiness_score or agent_ready_fix_pack, and no exclusions such as non-public/intranet sites. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_ac_btuRoom AC BTU Calculator (ENERGY STAR Sizing)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| shade | No | Sun exposure; default normal | |
| kitchen | No | Used as kitchen; default 0; one of 0 = No, 1 = Yes (+4,000 BTU) | |
| occupants | No | Regular occupants; default 2 | |
| room_sqft | No | Room area (sq ft); default 350 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing the exact computation: base BTU from the ENERGY STAR area chart plus named adjustment factors (−10% shaded, +10% sunny, +600 BTU/person over 2, +4,000 BTU kitchen). It does not state the return format, but the arithmetic is fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose and source chart, the second front-loads the formula and its adjustments. No filler, and the most decision-relevant information (what it computes and how) leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema calculator with four optional, fully documented parameters, the description supplies the method and all adjustment rules, which is nearly everything an agent needs. The only minor gap is that the returned value (a BTU figure) is not explicitly described, though it is strongly implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by tying each input to its numeric effect: shade maps to the ±10% adjustment, kitchen to +4,000 BTU, and occupants to +600 BTU each above two. This makes the parameters' impact on the result explicit rather than merely naming them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes room air-conditioner capacity in BTU using the ENERGY STAR sizing chart. The scope is unmistakable and clearly distinct from the other calc_* siblings (slab, paint, roofing, etc.), which compute unrelated quantities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the stated ENERGY STAR basis, so an agent can infer this is the tool for AC sizing. However, there is no explicit when-to-use guidance, no mention of when another tool (e.g. calc_appliance_energy_cost or calc_solar_panel) would be more appropriate, and no note on input expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_appliance_energy_costAppliance Energy Cost Calculator (kWh and $ per Year)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| watts | No | Appliance wattage (nameplate, or amps × volts) (W); default 1500 | |
| rate_per_kwh | No | Your electricity rate (from your bill) ($/kWh); default 0.15 | |
| days_per_year | No | Days used per year; default 365 | |
| hours_per_day | No | Hours used per day (h); default 4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe, self-contained nature of the call is covered. The description adds the computation formula, which usefully signals deterministic pure math, but says nothing about default values being applied when arguments are omitted or about the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the outcome is stated first, then the exact formula. Front-loaded and fully earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does name the return values (daily and yearly kWh plus cost), which is the key missing piece. It does not mention that all four inputs are optional with defaults, but the schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents watts, rate_per_kwh, days_per_year and hours_per_day. The description references the same four quantities in its formula but adds no units, ranges, or defaults beyond what the schema provides — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: computes daily/yearly kWh and dollar cost to run an appliance. It clearly distinguishes itself from the construction-materials calculators, though it never names or contrasts with nearby siblings like calc_solar_panel or calc_voltage_drop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'the cost to run any appliance from its wattage, hours of use and your electricity rate,' which tells the agent the inputs needed. There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_asphaltAsphalt Calculator (Tons for Driveways)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth_in | No | Compacted depth (in); default 2 | |
| width_ft | No | Width (ft); default 12 | |
| lb_per_cf | No | Mix density (ask your plant) (lb/cu ft); default 145 | |
| length_ft | No | Length (ft); default 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes beyond that by disclosing the exact deterministic formula and units, so the agent knows precisely how the output is derived and that density must come from the user's plant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, output unit front-loaded ahead of the formula. Nothing extraneous; every clause either names the result or defines the computation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explicitly names the return value and unit (tons), and annotations cover safety, so an agent can call this confidently. Only minor edge-case behavior (e.g., zero/invalid inputs) is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the formula adds real value: it shows how L, W, depth (in inches, converted /12) and density (lb/cu ft) combine into tons, clarifying parameter roles and unit handling beyond the field labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Tons of hot-mix asphalt') with scope ('driveway or lot') and the exact inputs used. It is trivially distinguishable from sibling calculators like calc_concrete_slab or calc_mulch_gravel by material and unit of output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a driveway or lot' implies the domain but gives no explicit when-to-use, when-not-to-use, or alternative selection guidance against the many other calc_* siblings. An agent must infer that this is the right tool for asphalt tonnage versus concrete or gravel.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_attic_ventilationAttic Ventilation Calculator (Net Free Area, Ridge & Soffit Vents)ARead-onlyInspect
How 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 of one vent (or one foot of continuous vent)⌉.
| Name | Required | Description | Default |
|---|---|---|---|
| ratio | No | Ventilation rule; default 150; one of 150 = 1/150 (standard), 300 = 1/300 (balanced exception: 40–50% high) | |
| upper_pct | No | Share of vent area that is high (exhaust) (%); default 50 | |
| attic_floor_sqft | No | Attic floor area (vented space) (sq ft); default 1500 | |
| intake_nfa_per_unit | No | Intake vent net free area per unit or per ft of soffit vent (from the label) (sq in); default 9 | |
| exhaust_nfa_per_unit | No | Exhaust vent net free area per unit or per ft of ridge vent (from the label) (sq in); default 18 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral detail beyond that: the exact formula used, the default assumptions (1500 sq ft, 50% high, 9/18 sq in per unit) and that vent counts are rounded up. It doesn't discuss units-in vs units-out edge cases, but it goes well past the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose ('How much attic ventilation you need...') before the formula, and the formula block is compact and sequenced logically. It is dense but each sentence carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey return values, and it does — intake NFA, exhaust NFA, and vent counts. For a pure calculator with fully-described inputs and annotations covering safety, the definition gives the agent everything needed to invoke and interpret it, with only minor omission of output formatting details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description's formula adds real meaning beyond the schema: it ties attic_floor_sqft, ratio, upper_pct, and the two NFA-per-unit fields directly into the computation and the ceiling rounding of the vent count. This clarifies how each parameter is consumed, exceeding the schema's per-field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — computing attic ventilation net free area and vent counts under the 1/150 and 1/300 rules — and describes exactly what it splits into (intake vs exhaust) and returns (vent counts). It is clearly distinguishable from the many other calc_* siblings, which each cover a different material or quantity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the condition that selects the rules — 1/300 as the 'balanced exception' requiring 40–50% high — which tells the agent when to use each ratio. It does not name alternatives or state exclusions, but given the tool is a single-purpose calculator with no overlapping sibling, clear conditional guidance is sufficient for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_board_footBoard Foot Calculator (Lumber)ARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | No | Pieces; default 10 | |
| width_in | No | Width (in); default 6 | |
| length_ft | No | Length (ft); default 8 | |
| price_per_bf | No | Price per board foot (0 = skip) ($); default 0 | |
| thickness_in | No | Thickness (in); default 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds substantial behavioral context by disclosing the exact board-foot formula and the definition of one board foot, which helps the agent understand the computation without opening the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the output and material use, followed by the exact formula. Every element earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only calculator with no output schema, the description is nearly complete: it names the computed outputs (board feet and cost), states the formula, and defines the board-foot unit. It could explicitly link cost to the price_per_bf parameter, but the schema covers that parameter and its default behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by giving the formula that relates thickness, width, length, and pieces, and by mentioning 'cost' in relation to the price parameter. It clarifies units and the calculation, though it does not explicitly show the price_per_bf multiplication.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific output (board feet and cost) and resource (hardwood or dimensional lumber), making the tool's purpose clear. It does not explicitly differentiate itself from sibling calculators like calc_deck_board or calc_flooring_tile, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what is calculated but gives no guidance on when to choose this tool over alternatives. It lacks when-to-use conditions, exclusions, or named siblings for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_box_fillElectrical Box Fill Calculator (NEC 314.16)ARead-onlyInspect
Required 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.50, 16 AWG 1.75, 14 AWG 2.00, 12 AWG 2.25, 10 AWG 2.50, 8 AWG 3.00, 6 AWG 5.00 cu in.
| Name | Required | Description | Default |
|---|---|---|---|
| box | No | Box; default dev_3x2x2_5 | |
| yokes | No | Devices (yokes/straps: switch, receptacle); default 1 | |
| clamps | No | Internal cable clamps; default 0; one of 0 = None, 1 = Yes (one or more) | |
| count_6 | No | 6 AWG conductors; default 0 | |
| count_8 | No | 8 AWG conductors; default 0 | |
| grounds | No | Equipment grounding conductors; default 1; one of 1 = Yes (one or more), 0 = None | |
| count_10 | No | 10 AWG conductors; default 0 | |
| count_12 | No | 12 AWG conductors; default 0 | |
| count_14 | No | 14 AWG conductors; default 4 | |
| box_volume_cuin | No | Marked box volume (for "Other") (cu in); default 0 | |
| support_fittings | No | Luminaire stud/hickey types present; default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered and the description is free to add the computational contract — the exact allowance formula and the per-AWG volume table. It does not say what the response looks like (required volume only, or required vs. available with a pass/fail), which is the remaining gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the computation and NEC citation, then the formula, then the constant table — a logical order with no filler. The single long formula sentence and the trailing allowance list are dense but each carries information an agent cannot get from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no output schema, the definition supplies the formula and constants needed to predict the result, and the all-optional schema is mitigated by the stated defaults in the parameter descriptions. It stops short of specifying the return shape (units, whether a compliance verdict is included) and what happens when box='custom' with box_volume_cuin=0.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by mapping each parameter to its role in the formula ('1 allowance for clamps', '+2 per yoke', '+1 for all grounds', 'each at the largest conductor size present') and by listing the per-AWG allowances the count_6…count_14 fields feed into. The box enum and box_volume_cuin interaction (custom box with marked volume) remains unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — computing required electrical box volume under NEC 314.16 — and scopes it to conductors, devices, clamps, fittings and grounds. No sibling in the calc_* family addresses box fill, so it is unambiguously distinguishable from the rest of the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'checked against a standard metal box from Table 314.16(A) or your box's marked volume' implies the sizing/compliance use case, but the description never states when to reach for this versus a generic volume or conduit calc, nor any prerequisites (e.g., know your conductor counts). Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_brickBrick Calculator (How Many Bricks for a Wall)ARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| joint_in | No | Mortar joint (in); default 0.375 | |
| waste_pct | No | Waste allowance (%); default 5 | |
| openings_sqft | No | Openings to subtract (sq ft); default 0 | |
| unit_height_in | No | Brick height (actual) (in); default 2.25 | |
| unit_length_in | No | Brick length (actual) (in); default 7.625 | |
| wall_height_ft | No | Wall height (ft); default 8 | |
| wall_length_ft | No | Wall length (ft); default 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the exact calculation formula and default assumptions (modular brick, ⅜ in joint), which is useful behavioral context; it does not, however, describe output formatting or rounding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and defaults, then the formula. No filler; every sentence contributes to correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only calculator with seven optional parameters and no output schema, the description supplies the formula, defaults, and scope needed to call it correctly. It is slightly incomplete because it omits an explicit return-value description and usage guidance relative to sibling calculators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all seven parameters are documented in the schema, setting a baseline of 3. The description goes beyond that by showing how the parameters combine in the formula and by stating default brick dimensions, adding relational meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what is computed (bricks for a single-wythe wall) and the key inputs (area, brick face size, mortar joint), so the resource is clear. It does not name or explicitly contrast with sibling masonry calculators such as calc_concrete_block, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives no when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the tool name and sibling list that this is for brick walls rather than concrete block or other wall calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_caulkCaulk Calculator (Tubes of Caulk or Sealant per Linear Foot)ARead-onlyInspect
How many tubes of caulk or sealant to buy: linear feet per cartridge for your joint width and depth (or a triangular corner bead), and cartridges for the total length. Formula: Cartridge volume = fl oz × 1.80469 cu in. Bead area = width × depth (or leg² ÷ 2). Linear feet per cartridge = volume ÷ (bead area × 12). Cartridges = length × (1 + waste) ÷ feet per cartridge.
| Name | Required | Description | Default |
|---|---|---|---|
| shape | No | Bead shape; default rect | |
| depth_in | No | Joint depth (in); default 0.25 | |
| width_in | No | Joint width (or bead leg) (in); default 0.25 | |
| waste_pct | No | Waste (%); default 10 | |
| cartridge_floz | No | Cartridge size (fl oz); default 10.1 | |
| joint_length_ft | No | Total joint length (ft); default 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing the full computation chain (cartridge volume, bead area, feet per cartridge, waste factor), which lets an agent verify and explain results. It stops short of saying how the output is formatted or rounded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The answer-oriented statement is front-loaded, followed by the four formulas in execution order. No filler sentences; every clause carries either scope or computation detail, and the formula block is dense but each line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All six parameters are optional with schema-documented defaults, there is no output schema, and the description supplies the missing piece by naming the outputs (feet per cartridge, cartridge count) and the math behind them. An agent has enough to call this correctly without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds real meaning beyond the schema: it clarifies that the triangular case uses a 'corner bead' with leg² ÷ 2, explaining how shape=tri reinterprets width_in as a leg length, and ties waste_pct directly into the cartridge formula.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-and-resource statement ('How many tubes of caulk or sealant to buy') and names the two quantities returned: linear feet per cartridge and cartridges for total length. The caulk/sealant resource is distinct enough from the many other calc_* siblings that an agent can route to it, though it never explicitly contrasts itself with adjacent tools like calc_paint or calc_grout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the reader infers this is for estimating sealant purchases from joint dimensions and total length. There is no explicit when-to-use, when-not-to-use, or named alternative among the sibling calculators, so the agent must derive applicability from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_ceiling_fan_sizeCeiling Fan Size Calculator (Blade Span by Room Size)ARead-onlyInspect
What size ceiling fan you need for a room: the suggested blade span from the room's square footage, the largest fan that keeps 18 in from the walls, and the mount type for your ceiling height. Formula: Area = length × width. Blade span: up to 75 sq ft 29–36 in; 76–144 sq ft 36–42 in; 144–225 sq ft 44 in; 225–400 sq ft 50–54 in; over 400 sq ft 54–72 in or several fans. Largest span with 18 in wall clearance = shorter side (in) − 36 in. Mount: 8 ft or lower → hugger; 8–9 ft → standard downrod; higher → extended downrod.
| Name | Required | Description | Default |
|---|---|---|---|
| room_width_ft | No | Room width (ft); default 13 | |
| room_length_ft | No | Room length (ft); default 15 | |
| ceiling_height_ft | No | Ceiling height (ft); default 8 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further by disclosing the exact computation rules (area = length × width, span brackets, shorter-side − 36 in, mount thresholds). It also names what the response will contain, which matters since no output schema exists. It does not state how defaults are applied when parameters are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome before the supporting formulas, and every clause (brackets, clearance rule, mount thresholds) carries operative information. It is dense and semicolon-chained, which slightly hurts scannability, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey return values, and it does (span, max span, mount type). Inputs are fully documented in the schema and their roles are explained here. Minor gap: it doesn't say what happens for edge cases such as non-rectangular rooms or omitted parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds real semantics: width and length combine into area for span lookup, and ceiling_height_ft maps directly to the mount decision thresholds. The wall-clearance formula also clarifies that the shorter side drives the maximum-span result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource framing ('What size ceiling fan you need for a room') and enumerates the three outputs: suggested blade span, largest span with 18 in wall clearance, and mount type. An agent can distinguish this from siblings like calc_ac_btu or calc_attic_ventilation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the domain framing (size a fan for a given room), but there is no explicit when-to-use/when-not-to-use guidance and no named alternative among the many sibling calculators. Nothing is misleading, but the agent must infer the triggering context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_concrete_blockConcrete Block (CMU) CalculatorARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| joint_in | No | Mortar joint (in); default 0.375 | |
| waste_pct | No | Waste allowance (%); default 5 | |
| openings_sqft | No | Openings to subtract (sq ft); default 0 | |
| unit_height_in | No | Block height (actual) (in); default 7.625 | |
| unit_length_in | No | Block length (actual) (in); default 15.625 | |
| wall_height_ft | No | Wall height (ft); default 8 | |
| wall_length_ft | No | Wall length (ft); default 40 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds meaningful behavioral context by explaining the exact formula, the standard 1.125 blocks per square foot coefficient, and how waste is applied. It stops short of describing output format or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, then provides the formula and coefficient in two compact sentences. Every element directly supports understanding the calculation, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 optional parameters, no output schema, and read-only annotations, the description is largely complete: it explains what is calculated and how. It could explicitly note that all inputs are optional with defaults, but the core computation is clear enough for an agent to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining how joint_in, waste_pct, and net wall area combine in the formula, giving functional meaning to several parameters rather than just repeating their definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific calculation: number of 8×8×16 concrete blocks (CMU) for a wall. It distinguishes this from sibling calculators like calc_brick or calc_concrete_slab by naming the exact material and unit size.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tool name and the phrase 'for a wall,' but there is no explicit when-to-use, when-not-to-use, or alternative routing guidance. The description does not tell the agent when to choose this over other masonry calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_concrete_columnConcrete Column & Sonotube CalculatorARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of columns; default 4 | |
| height_ft | No | Height (ft); default 4 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| diameter_in | No | Tube diameter (in); default 12 | |
| bag_yield_cf | No | Bag yield (cu ft/bag); default 0.6 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by publishing the exact computation (cylinder volume, unit conversion from inches to feet, ÷27 for cubic yards, and a waste multiplier), which is real behavioral disclosure for a calculator beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler: purpose, geometric differentiator, then the formula. Front-loaded and self-contained, though the formula line is dense and could have been broken out for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partly compensates by stating the formula's outputs (cubic feet and cubic yards), which is the core return value. It stops short of covering what bag_yield_cf produces — presumably bag counts — leaving that return dimension unaddressed for a 5-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description earns above baseline by mapping parameters into the formula with units: diameter in inches divided by 24 to convert to feet, height in feet, count as a multiplier, and waste% added to the result. Only bag_yield_cf is left unexplained in the formula narrative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (concrete volume for round columns, piers, tube forms/sonotubes) and explicitly differentiates its geometry from other concrete tools: 'Uses cylinder volume, which differs from slab math.' An agent can route this away from calc_concrete_slab, calc_concrete_footing, and calc_concrete_block without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the round/tube geometry tells the agent this is the right tool for cylindrical pours, and the slab contrast hints at the alternative case. However, no sibling is named and there is no explicit 'use X instead when...' statement, so selection still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_concrete_footingConcrete Footing Calculator (Continuous Wall Footings)ARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| depth_in | No | Footing depth (in); default 8 | |
| width_in | No | Footing width (in); default 16 | |
| length_ft | No | Total footing length (ft); default 120 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| bag_yield_cf | No | Bag yield (cu ft/bag); default 0.6 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral content beyond that: the exact cubic-yard formula, the inch-to-foot conversion convention, and the waste multiplier applied to the result. It does not explain the role of bag_yield_cf or what the response contains, but the core computation is fully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with zero filler; the scope and formula are front-loaded and every clause carries information an agent needs. No repetition of the title or restating of field names without purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, five-optional-parameter calculator with no output schema, the description gives the scope, unit conventions, and formula, which is nearly enough to call it correctly. The gap is that the output contents (notably any bag count derived from bag_yield_cf) go unexplained, and no output schema compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the unit semantics of width_in and length_ft and shows how waste_pct enters the formula, but it says nothing about bag_yield_cf, the fifth parameter, so it adds only marginal meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compute volume) and a precisely scoped resource (continuous trench/wall footings), which cleanly separates it from siblings like calc_concrete_slab and calc_concrete_column. The unit convention (width in inches, length along the full perimeter) further pins down what is being computed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope phrase 'continuous trench/wall footings' implies when to use it versus the slab/column/block calculators, but there is no explicit when-to-use or when-not-to-use guidance and no named alternative. Adequate but leaves the routing inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_concrete_slabConcrete Slab Calculator (Cubic Yards & Bags)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth_in | No | Thickness (in); default 4 | |
| width_ft | No | Width (ft); default 10 | |
| length_ft | No | Length (ft); default 20 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| bag_yield_cf | No | Bag yield (cu ft/bag); default 0.6 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by publishing the exact formulas used, letting an agent predict and sanity-check the numeric output rather than treating it as a black box.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the purpose comes first and the formula second, with no filler. The formula sentence is dense but each symbol maps directly to a named parameter, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only calculator with fully documented optional parameters and no output schema, the description tells the agent what the two possible returns are (cubic yards or bag count) and how they are derived. Minor gap: it says '80 lb bags' while bag_yield_cf is configurable, so the default assumption is not reconciled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so units and defaults are already documented and the baseline is 3. The formulas add real meaning by showing each parameter's role: thickness enters as /12, waste_pct as a (1 + waste%) multiplier, and bag_yield_cf as the divisor converting cubic feet to bags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Estimate ready-mix cubic yards or the number of 80 lb bags') and scopes it to a rectangular slab, patio or driveway. This clearly separates it from sibling calculators dealing with footings, columns, or concrete block.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope phrase 'rectangular slab, patio or driveway' implies when the tool applies, but no alternative is named even though siblings like calc_concrete_footing, calc_concrete_column, and calc_concrete_block are the obvious competing choices. Usage is inferable but not routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_concrete_stepsConcrete Steps Calculator (Cubic Yards, Bags, Risers & Landing)ARead-onlyInspect
How 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) = profile (sq in) × width (in) ÷ 1,728; cubic yards = cu ft × (1 + waste) ÷ 27; bags = cu ft × (1 + waste) ÷ bag yield.
| Name | Required | Description | Default |
|---|---|---|---|
| waste_pct | No | Waste allowance (%); default 10 | |
| bag_yield_cf | No | Bag yield (from the bag) (cu ft/bag); default 0.6 | |
| max_riser_in | No | Max riser height (IRC 7¾ in; check your local code) (in); default 7.75 | |
| step_width_ft | No | Step width (ft); default 4 | |
| total_rise_in | No | Total rise (ground to top of landing) (in); default 21 | |
| tread_depth_in | No | Tread depth (in); default 11 | |
| landing_depth_in | No | Top landing depth (0 = no landing) (in); default 36 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further by disclosing the full computation model (riser count formula, side-profile area, volume conversion, waste and bag-yield handling) and enumerating what is produced. It discloses behavior beyond the annotations, though it doesn't state explicitly that the result is a deterministic computed report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is dense but front-loaded: the purpose and the output list come first, followed by the formulas. The formula block is long but earns its place by making the calculation auditable. Minor redundancy between the opening list and the formula narration keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values and does so by listing risers, riser height, treads, landing, cubic yards and bags. Combined with the annotated read-only nature and full parameter descriptions, an agent has what it needs; only explicit unit/format of the response is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantic value by showing how the parameters interrelate: max riser drives the riser count, waste_pct feeds the volume and bag math, and bag_yield_cf converts cubic feet to bags. This clarifies parameter roles beyond the terse schema labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it computes concrete volume for solid steps, enumerating risers, riser height, treads, top landing, cubic yards and 80 lb bags. This is clearly distinct from siblings like calc_concrete_slab, calc_concrete_footing, or calc_stair_stringer, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement and no routing to alternatives – it never says, for example, to use calc_stair_stringer for stringers or calc_concrete_slab for flat slabs. Usage is only implied by the tool name and the formula. Selection guidance is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_conduit_fillConduit Fill Calculator (NEC Chapter 9, EMT and PVC)ARead-onlyInspect
Conduit fill for THHN/THWN-2 wires in EMT or Schedule 40 PVC: total wire area, percent fill against the NEC 53/31/40% limits, whether it fits, the smallest conduit that does, and the maximum number of same-size wires. Formula: Wire area = Σ count × Table 5 area (14 AWG 0.0097, 12 AWG 0.0133, 10 AWG 0.0211, 8 AWG 0.0366, 6 AWG 0.0507 sq in …). Allowed = Table 4 conduit area × 53% (1 wire), 31% (2) or 40% (3+). Same-size maximum = allowed ÷ wire area, rounded up only at 0.8 or more.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Trade size; default 3/4 | |
| conduit | No | Conduit type; default emt | |
| count_1 | No | 1 AWG THHN wires; default 0 | |
| count_2 | No | 2 AWG THHN wires; default 0 | |
| count_3 | No | 3 AWG THHN wires; default 0 | |
| count_4 | No | 4 AWG THHN wires; default 0 | |
| count_6 | No | 6 AWG THHN wires; default 0 | |
| count_8 | No | 8 AWG THHN wires; default 0 | |
| count_10 | No | 10 AWG THHN wires; default 0 | |
| count_12 | No | 12 AWG THHN wires; default 0 | |
| count_14 | No | 14 AWG THHN wires; default 6 | |
| count_1_0 | No | 1/0 AWG THHN wires; default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true and openWorldHint=false; the description goes further by disclosing the exact computation (Table 5 areas per AWG, Table 4 area × 53/31/40% depending on conductor count) and the unusual rounding rule (round up only at .8 or more). These are real behavioral facts an agent could not infer from structured fields, though the response shape is only listed, not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and outputs, then the formula, then the limits — a logical order with no filler sentences. The partial AWG table (six values followed by an ellipsis) is slightly bulky but each listed constant is directly usable, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, zero-required calculator with no output schema, the description covers inputs (wire types, conduit types), the governing rules, and the five result fields it returns, which is enough to call it correctly. Residual gaps are minor: no statement of units/format for the returned values or how percentages are reported, and no guidance on the all-defaults case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with per-parameter descriptions and defaults (count_14 defaults to 6, others 0), so the schema already carries parameter meaning and the baseline is 3. The description adds the wire-area constants and the THHN/THWN-2 restriction on wire type, but says nothing about the count_1 vs count_1_0 distinction or enum coverage for size/conduit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (conduit fill for THHN/THWN-2 in EMT or Schedule 40 PVC) and enumerates the concrete results returned: total wire area, percent fill, fit verdict, smallest conduit, max same-size wires. That scope cleanly separates it from calc_box_fill, calc_wire_size, and calc_voltage_drop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (sizing conduit for a given wire complement) but never states when not to use it or points at the neighboring calculators. There is no rule such as 'use calc_box_fill for box capacity' or 'use calc_wire_size for ampacity' to route the agent among ~50 calc_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_deck_boardDeck Board CalculatorARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| gap_in | No | Gap between boards (in); default 0.1875 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| deck_width_ft | No | Deck width (ft); default 12 | |
| board_width_in | No | Actual board width (in); default 5.5 | |
| deck_length_ft | No | Deck length (board direction) (ft); default 16 | |
| board_length_ft | No | Board length (ft); default 16 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes beyond that by disclosing the exact computation, including the ceiling rounding and the waste multiplier, which tells the agent this is a deterministic formula-driven tool with no hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the purpose is front-loaded before the formula. The dense formula is justified because it is the substance of the tool rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter deterministic calculator with no output schema, the description supplies the formula needed to interpret the result and the field roles needed to call it. It stops short of stating the return shape (a single integer board count) or the unit handling between the foot-based inputs and the inch-based formula.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with per-parameter defaults, so the schema already carries the parameter burden and baseline is 3. The description's formula adds some interpretive value by showing how width, gap, board length and waste combine, but it also introduces ambiguity, writing 'width(in)' and 'deck length' without reconciling them against the schema's foot-based fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed quantity ('Number of deck boards') with a stated scope ('rectangular deck'), which is enough to separate it from the other calc_* material calculators in the sibling list. The description names the drivers (board width, gap) up front so an agent knows exactly what domain this covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the calculator for deck board counts, and no sibling overlaps this material, so there is little risk of misrouting. But the description gives no explicit when-to-use condition, no note that it assumes rectangular geometry, and mentions no alternative for non-rectangular or diagonal layouts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_dehumidifier_sizeDehumidifier Size Calculator (Pints per Day by Room Size)ARead-onlyInspect
What size portable dehumidifier you need, in pints per day, from the ENERGY STAR chart for your space size and how damp it is, with a liters and gallons conversion. Formula: Pick the ENERGY STAR range for the condition and size (under or over 2,000 sq ft), then take the top of the range, or the water your current unit removes per day if that is higher. Liters = pints × 0.4732; gallons = pints ÷ 8.
| Name | Required | Description | Default |
|---|---|---|---|
| area_sqft | No | Area to dehumidify (sq ft); default 1000 | |
| condition | No | Condition without a dehumidifier; default very | |
| pints_emptied_per_day | No | Water you empty now, if replacing a unit (optional) (pints/day); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description's job is to add computational context, which it does: it names the data source, the band-selection logic, and the 'top of range, or your current unit's output if higher' rule. That rule is the kind of behavior an agent cannot derive from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer type, then the method. The formula sentence is long and compresses three steps and two conversions, but each clause carries information; nothing is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and the description still tells the agent what comes back (pints/day plus liters and gallons) and how it is computed, which is sufficient for a 3-param read-only calculator. Minor gap: defaults are only in the schema, not restated, which is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description goes beyond by explaining the 2,000 sq ft band split and clarifying that pints_emptied_per_day only overrides when it exceeds the chart value. That gives real meaning to an optional parameter the schema only labels 'if replacing a unit'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('what size portable dehumidifier you need, in pints per day') and anchors it to a named authority (ENERGY STAR chart). An agent can distinguish this from the many other calc_* sizing tools without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by 'your space size and how damp it is', but there is no explicit when-to-use/when-not guidance and no routing against nearby siblings like calc_ac_btu or calc_pool_heater_size. An agent can infer the scenario but gets no exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_drywallDrywall Calculator (Sheets Needed)ARead-onlyInspect
Number of drywall sheets for walls and optionally the ceiling. Formula: Sheets = (perimeter × height + ceiling area) × (1 + waste%) ÷ sheet area.
| Name | Required | Description | Default |
|---|---|---|---|
| waste_pct | No | Waste allowance (%); default 10 | |
| sheet_l_ft | No | Sheet length (ft); default 8 | |
| sheet_w_ft | No | Sheet width (ft); default 4 | |
| room_width_ft | No | Room width (ceiling) (ft); default 10 | |
| room_length_ft | No | Room length (ceiling) (ft); default 14 | |
| wall_height_ft | No | Wall height (ft); default 8 | |
| include_ceiling | No | Include ceiling; default 1; one of 1 = Yes, 0 = No | |
| wall_perimeter_ft | No | Room perimeter (ft); default 48 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safe, side-effect-free nature is covered. The description adds real behavioral value by giving the exact formula, which tells the agent the computation is deterministic and how inputs combine. It omits rounding behavior for the sheet count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the purpose is front-loaded and the formula follows immediately, with no filler or restated name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateless calculator with full schema coverage and no output schema, the description supplies purpose plus computation logic. The main remaining gap is whether the returned sheet count is rounded up and what units it is in, which an agent might need to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so 3 is the baseline. The formula goes beyond field-level definitions by showing how wall_perimeter_ft, wall_height_ft, ceiling dimensions, waste_pct, and sheet dimensions interact, which adds genuine meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and output unit (number of drywall sheets for walls plus optional ceiling), which clearly separates it from the other calc_* siblings such as calc_paint or calc_insulation_r_value. It does not explicitly name an alternative, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrasing 'for walls and optionally the ceiling,' which signals the include_ceiling toggle, but there is no explicit when-to-use vs. when-not guidance and no alternative tool named. Adequate but not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_epoxy_floorEpoxy Floor Calculator (Gallons and Kits by Mils and Solids)ARead-onlyInspect
How much epoxy floor coating to buy: coverage per gallon at your dry film thickness and volume solids, gallons per coat, total with losses, and kits. Formula: Coverage (sq ft/gal) = 1,604 × solids by volume ÷ dry mils. Gallons per coat = area ÷ coverage. Total = gallons per coat × coats × (1 + loss). Wet mils = dry mils ÷ solids.
| Name | Required | Description | Default |
|---|---|---|---|
| coats | No | Coats; default 2 | |
| kit_gal | No | Kit or can size (gal); default 1 | |
| loss_pct | No | Surface and application loss (%); default 15 | |
| area_sqft | No | Floor area (sq ft); default 400 | |
| solids_pct | No | Solids by volume (from the data sheet) (%); default 100 | |
| dry_mils_per_coat | No | Dry film thickness per coat (from the data sheet) (mils); default 8 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral substance beyond that: the exact computation chain (coverage → gallons per coat → total with loss → kits) plus the derived wet-mils output, which tells the agent what the tool actually returns despite no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer to 'what does this give me,' then a compact formula block. It is dense but every formula shown maps to an output or intermediate the agent needs; only the trailing wet-mils note feels slightly tacked on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a fully documented 6-parameter schema, no output schema, and read-only annotations, the description covers what is needed to call it correctly. The only real gap is that it never explicitly names the return fields or units of the result (gallons, kit count), though the formulas make them inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with defaults on all six parameters, so the baseline is 3. The description earns an extra point by tying parameters into the formula (solids by volume, dry mils, area, coats, loss) and implicitly confirming that wet mils is derived rather than an input, which helps the agent map real-world data-sheet values to the right fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('How much epoxy floor coating to buy') and enumerates exactly what is produced: coverage per gallon, gallons per coat, total with losses, and kits. This clearly separates it from neighbors like calc_paint, calc_thinset, and calc_flooring_tile, which cover different materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the formula and by the parameter hints ('from the data sheet' for solids and dry mils), so an agent can infer the inputs come from a product technical data sheet. But there is no explicit when-to-use/when-not statement and no naming of alternatives such as calc_paint for non-epoxy coatings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_ev_charging_costEV Charging Cost Calculator (Cost per Mile, Month and Full Charge by State)ARead-onlyInspect
What it costs to charge an electric car at home: cost per mile, per month and per full charge from your car's kWh per 100 miles and your state's average residential electricity price (EIA, August 2026) or your own rate, with an optional gas comparison. Formula: Cost per mile = kWh/100 mi ÷ 100 × $/kWh ÷ (1 − loss%). Month = cost per mile × miles. Full charge = battery kWh × $/kWh ÷ (1 − loss%). Gas cost per mile = $/gal ÷ mpg.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | State (EIA average residential rate); default US | |
| gas_mpg | No | Gas car mpg (optional) (mpg); default 0 | |
| gas_price | No | Gas price to compare (optional) ($/gal); default 0 | |
| battery_kwh | No | Battery size (optional, for full-charge cost) (kWh); default 0 | |
| rate_per_kwh | No | Your rate (optional; overrides the state) ($/kWh); default 0 | |
| kwh_per_100mi | No | Efficiency (EPA label) (kWh/100 mi); default 30 | |
| miles_per_month | No | Miles per month (mi); default 1000 | |
| charging_loss_pct | No | Charging loss allowance (optional) (%); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is a safe, closed-world read (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description still adds substantive context: the data source and vintage (EIA, August 2026), that a user-supplied rate overrides the state default, and the exact formulas including the charging-loss divisor. It does not say what happens to the full-charge and gas outputs when their optional inputs default to 0.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Outputs are front-loaded in the first clause, followed by inputs and then the formulas, so the agent gets the gist immediately. The formula block is dense but functional rather than decorative; the only cost is that everything sits in one long run-on sentence, making the formulas harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, all-optional calculator with no output schema, the description supplies the calculation logic, the data source, and the sentinel default behavior. The notable gap is return shape — since there is no output schema, the agent is not told the result keys or how omitted optional outputs (gas, full charge) are represented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description earns above baseline by showing how each parameter actually enters the calculation (efficiency divided by 100 and multiplied by $/kWh, month = per-mile × miles, loss% applied as a divisor). This makes the override relationship between rate_per_kwh and state, and the role of charging_loss_pct, concrete rather than merely labeled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific subject (home EV charging cost) and enumerates the exact outputs: cost per mile, per month, per full charge, plus optional gas comparison. The inputs it consumes (kWh/100 mi, state electricity rate, own rate) are named, so an agent can tell this apart from sibling energy calculators like calc_appliance_energy_cost without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is clear — 'charging an electric car at home' — and the description signals which inputs trigger the optional branches (gas comparison needs mpg and $/gal; full-charge cost needs battery kWh). It does not name an alternative tool or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_fenceFence Calculator (Posts, Rails & Pickets)ARead-onlyInspect
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)⌉.
| Name | Required | Description | Default |
|---|---|---|---|
| gates | No | Gates (extra posts); default 1 | |
| length_ft | No | Fence length (ft); default 100 | |
| picket_gap_in | No | Gap between pickets (in); default 0 | |
| picket_width_in | No | Picket width (in); default 5.5 | |
| post_spacing_ft | No | Post spacing (ft); default 8 | |
| rails_per_section | No | Rails per section; default 2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower, and the description adds real value by publishing the exact formulas for sections, posts and pickets, including the ceil rounding. It omits the rails formula itself and any note about waste/overage, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler: the scope constraint leads and the computation follows immediately. Every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required, fully documented calculator with no output schema, the description supplies the derivation logic an agent needs to predict results. It stops short of describing the return shape or units, and silence on whether waste allowance is included leaves a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with defaults documented for all six parameters, so the baseline is 3. The formula adds meaning to length, spacing, picket width and gap, but rails_per_section is never referenced, so the description does not fully compensate beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed resource set (posts, rails, pickets) and scopes it to 'a straight run of wood privacy or picket fence', which implicitly separates it from siblings like calc_deck_board or calc_concrete_slab. It does not name any sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'straight run' qualifier implies the tool is not for corners, angled runs, or other fence geometries, which is useful scoping. However there is no explicit when-to-use statement, no alternatives named, and no mention of when this calculator should not be reached for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_flooring_tileFlooring & Tile Calculator (Square Feet & Boxes)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| width_ft | No | Room width (ft); default 12 | |
| length_ft | No | Room length (ft); default 14 | |
| waste_pct | No | Waste allowance (more for diagonal layouts) (%); default 10 | |
| box_coverage_sqft | No | Coverage per box (on the box) (sq ft); default 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine value by exposing the exact computation (Area = L × W; to buy = area × (1 + waste%); boxes = to buy ÷ coverage per box), letting the agent anticipate outputs in the absence of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: the outcome is front-loaded, followed by the formula. No wasted wording and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic calculator with no output schema, the description adequately names the outputs (square footage, to-buy quantity, boxes) and the formula that produces them. It does not specify rounding of box counts or input units/validation, but it is close to complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description goes further by giving the formula that relates the parameters — how waste_pct and box_coverage_sqft feed into the final box count — adding relational meaning beyond the individual field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: computes square footage, waste allowance, and box count for tile/laminate/vinyl/hardwood. It is clear what it does. It does not explicitly differentiate itself from the many sibling material calculators (calc_paver, calc_sod, calc_board_foot), which also compute area-based quantities, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the material list and the parenthetical hint that waste is higher for diagonal layouts. However there is no explicit when-to-use versus when-not-to-use guidance and no reference to alternative calculators, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_generator_sizeGenerator Size Calculator (Running & Starting Watts for Your House)ARead-onlyInspect
What 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, because motors rarely start at the same instant. Amps at 240 V = running watts ÷ 240. Margin is an optional buffer you choose.
| Name | Required | Description | Default |
|---|---|---|---|
| box_fan | No | Box fan, 20 in: how many (200 W running); default 0 | |
| light_60w | No | Light bulb, 60 W: how many (60 W running); default 4 | |
| margin_pct | No | Safety margin (your choice) (%); default 10 | |
| coffee_maker | No | Coffee maker: how many (1,000 W running); default 0 | |
| refrigerator | No | Refrigerator/freezer: how many (700 W running, +2,200 W to start); default 1 | |
| space_heater | No | Space heater: how many (1,800 W running); default 0 | |
| window_ac_10k | No | Window AC, 10,000 BTU: how many (1,200 W running, +1,800 W to start); default 1 | |
| central_ac_24k | No | Central AC, 24,000 BTU (2 ton): how many (3,800 W running, +4,950 W to start); default 0 | |
| central_ac_40k | No | Central AC, 40,000 BTU: how many (6,000 W running, +6,700 W to start); default 0 | |
| microwave_1000w | No | Microwave, 1,000 W: how many (1,000 W running); default 1 | |
| other_running_w | No | Other running watts (TV, router, chargers: from nameplates) (W); default 300 | |
| washing_machine | No | Washing machine: how many (1,150 W running, +2,250 W to start); default 0 | |
| other_starting_w | No | Extra starting watts of your largest other motor (0 if none) (W); default 0 | |
| sump_pump_half_hp | No | Sump pump, 1/2 HP: how many (1,050 W running, +2,200 W to start); default 0 | |
| well_pump_third_hp | No | Water well pump, 1/3 HP: how many (1,000 W running, +2,200 W to start); default 0 | |
| furnace_fan_half_hp | No | Furnace fan blower, 1/2 HP: how many (800 W running, +2,350 W to start); default 0 | |
| garage_door_half_hp | No | Garage door opener, 1/2 HP: how many (875 W running, +2,350 W to start); default 0 | |
| electric_water_heater | No | Electric water heater: how many (4,000 W running); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavioral semantics beyond that: only the single highest starting surge is counted (motors rarely start simultaneously), and margin is an optional user-chosen buffer. It does not state whether margin applies to running watts, starting watts, or both, which is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the goal, then the formula, then supporting details, and each sentence carries information. The amps-at-240V note is mildly tangential for a generator-sizing tool, keeping it from a 5, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There are 18 optional parameters, no output schema, and no annotations describing results, yet the description never states what the tool returns (total running watts, total starting watts, amps) or how margin is applied. The calculation method is well covered, but the return contract and margin semantics are left for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every per-item wattage, starting-surge value, and default is already documented in the schema. The description's param-related statements ('margin is an optional buffer you choose', 'largest other motor') largely restate the schema text, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('What size generator you need for a power outage') and immediately defines the two outputs (running watts and starting watts), which cleanly separates it from siblings like calc_voltage_drop or calc_appliance_energy_cost. An agent can tell what this computes without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: 'add the running watts of everything you will run at once, then add the single biggest motor starting surge' and 'Enter how many of each item you plan to run at the same time.' It does not name a when-not or an alternative sibling tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_grass_seedGrass Seed Calculator (Pounds of Seed for a New Lawn)ARead-onlyInspect
How much grass seed to buy for a new lawn: university seeding rates per 1,000 sq ft for each grass type or mix, adjusted for the purity and germination printed on the seed tag. Formula: Pure live seed (PLS) = purity × germination. Seed (lb) = rate (lb PLS per 1,000 sq ft) × area ÷ 1,000 ÷ PLS. Bags = high-rate pounds ÷ bag size, rounded up.
| Name | Required | Description | Default |
|---|---|---|---|
| bag_lb | No | Bag size (optional) (lb); default 0 | |
| species | No | Grass type; default tall_fescue | |
| area_sqft | No | Area to seed (sq ft); default 5000 | |
| purity_pct | No | Purity % (seed tag) (%); default 100 | |
| germination_pct | No | Germination % (seed tag) (%); default 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds useful computational behavior — that rates are per 1,000 sq ft, that purity and germination from the seed tag are multiplied into pure live seed, and that bag counts round up. It stops short of explaining edge behavior such as what happens when the bag size is left at its zero default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the question the tool answers, followed by the formula chain. Density is high and little is wasted, though the run of three formulas in one sentence is slightly compressed for skimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter, fully-defaulted, no-output-schema calculator, the description supplies the underlying computation, which effectively conveys what the tool returns. The remaining omission — output units, whether bag counts appear when bag_lb=0 — is minor but real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 baseline would suffice, but the description adds real meaning: it tells the agent where purity_pct and germination_pct come from (the seed tag) and how they enter the formula via PLS. The one gap is bag_lb, whose 0 default is never explained in terms of the bag-count output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-and-resource statement ('How much grass seed to buy for a new lawn') and immediately scopes it to new lawns with university seeding rates. It is clearly distinguishable from adjacent siblings such as calc_sod and calc_lawn_fertilizer without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'For a new lawn' implies the boundary (establishment, not overseeding or fertilizing), but the description never states when not to use it or names an alternative tool. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_groutTile Grout Calculator (Pounds and Bags of Grout)ARead-onlyInspect
How 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 × (1 + waste); bags = ⌈pounds ÷ bag size⌉.
| Name | Required | Description | Default |
|---|---|---|---|
| bag_lb | No | Bag size (lb); default 25 | |
| area_sqft | No | Tiled area (sq ft); default 100 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| density_lb_cf | No | Grout weight per cubic foot of joint (from your grout data sheet; ~100 sanded, ~85 unsanded) (lb/cu ft); default 100 | |
| tile_width_in | No | Tile width (in); default 12 | |
| joint_depth_in | No | Joint depth (usually tile thickness) (in); default 0.375 | |
| joint_width_in | No | Joint width (1/8 in = 0.125) (in); default 0.125 | |
| tile_length_in | No | Tile length (in); default 12 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value by disclosing the exact formula, the editable density assumption, and the waste/bag-rounding behavior (⌈pounds ÷ bag size⌉), which tells the agent precisely how inputs map to outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in the first sentence, then supplies the formula in a compact notation. The formula is dense but every clause maps to a parameter or output, so it largely earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description names both return units (pounds and bags) and explains the rounding rule for bags. All eight optional parameters with defaults are semantically covered, so an agent has everything needed to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the formula goes beyond the schema by showing how each input participates: L, W, J, depth, area, density, and waste all appear in the joint-share and volume equations. Density is explicitly flagged as product-dependent (~100 sanded, ~85 unsanded).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — computing grout quantity (pounds and bags) from tile size, joint width, joint depth, and area. This is clearly separable from the sibling calc_flooring_tile, which covers tile count rather than grout consumption.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope (tile job grout amount) implies when to use it, but there is no explicit routing advice versus calc_flooring_tile or other tiling siblings, and no statement of assumptions or prerequisites. Usage is inferable but not guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_gutter_sizeGutter & Downspout Size Calculator (Roof Runoff, Gutter Capacity, Number of Downspouts)ARead-onlyInspect
Check 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. Downspouts = the larger of ⌈Q ÷ one downspout's PA-1 capacity⌉ and ⌈run length ÷ max length per downspout⌉. Max roof area for the gutter = capacity × 43,200 ÷ intensity.
| Name | Required | Description | Default |
|---|---|---|---|
| slope | No | Gutter slope; default 1/16 | |
| gutter | No | Gutter; default alum5 | |
| downspout | No | Downspout; default 2x3 | |
| gutter_run_ft | No | Gutter run length (ft); default 40 | |
| rain_in_per_hr | No | Design rainfall intensity (5-minute depth from NOAA Atlas 14 × 12) (in/hr); default 6 | |
| roof_area_sqft | No | Roof area draining to this gutter (plan view, not slope length) (sq ft); default 1200 | |
| max_run_per_downspout_ft | No | Max gutter length per downspout (SMACNA practical max 50 ft) (ft); default 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes well beyond them by disclosing the USDA NRCS PA-1 capacity table source, the exact runoff formula, the adequacy condition (Q <= capacity at slope), the downspout-count formula, and the max-roof-area relation. It does not explicitly state the output shape, but the behavioral mechanics are unusually transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed by formulas that earn their place for a complex engineering calculation. No filler or repetition, though the formula block makes it a dense read compared to simpler tool descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, the description is nearly complete: it explains the computation, the adequacy criterion, and the max roof area. The main gap is that it never states the shape of the result (e.g., capacity, Q, adequacy boolean, downspout count), which an agent would have to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented with defaults in the schema. The description adds formula-level meaning by showing how roof area, rainfall intensity, slope, gutter capacity, run length, and max run per downspout feed into the calculation. That is useful added context, but it stops short of per-parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: checking gutter runoff capacity in a design storm and computing the number of downspouts needed. This is clearly distinct from siblings like calc_roofing or calc_appliance_energy_cost. The agent can tell what the tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the design-storm scenario ('Check whether a gutter can carry the runoff from your roof in a design storm'), but there is no explicit when-to-use, when-not-to-use, or named alternative. In a large calculator suite this is adequate but leaves the agent to infer when this specific calculation applies versus other calc_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_insulation_r_valueInsulation R-Value Thickness CalculatorARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| target_r | No | Target R-value; default 38 | |
| area_sqft | No | Area (optional) (sq ft); default 1000 | |
| r_per_inch | No | R-value per inch (product label); default 3.2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds real value by disclosing the exact deterministic formula (Thickness = target R ÷ R per inch) and the secondary board-foot volume derivation, telling the agent precisely how inputs map to outputs with no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler; the purpose and required input are front-loaded, and the formulas are compact and directly actionable. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully states both outputs (thickness and volume in board feet), and the annotations cover the safety dimension. Units and defaults are carried by the schema, leaving little an agent needs but doesn't have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 is the baseline; the description exceeds it by showing how the three parameters relate (target R ÷ r_per_inch yields thickness, and area_sqft feeds only the board-foot volume), clarifying that area is a secondary rather than primary input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (thickness needed for a target R-value) and its required input (the R-per-inch from the product label), which cleanly differentiates it from the ~30 sibling calc_* tools. The formula makes the exact operation unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'printed on your insulation product' implies the context in which you'd reach for this tool, but there is no explicit when-to-use vs. alternative guidance and no exclusions relative to the many sibling calculators. Usage must be inferred from the input requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_joint_compoundJoint Compound Calculator (Drywall Mud & Tape)ARead-onlyInspect
How much drywall mud and tape to buy: gallons of ready-mix joint compound, 4.5 gal pails and rolls of paper tape for your square footage of drywall, using USG's published coverage. Formula: Gallons = area × coverage ÷ 1,000 × (1 + waste). Pails = gallons ÷ pail size, rounded up. Tape (ft) = area × 370 ÷ 1,000 × (1 + waste). Rolls = tape ÷ roll length, rounded up.
| Name | Required | Description | Default |
|---|---|---|---|
| pail_gal | No | Pail or carton size (gal); default 4.5 | |
| area_sqft | No | Drywall area (walls + ceiling) (sq ft); default 500 | |
| waste_pct | No | Waste allowance (%); default 10 | |
| tape_roll_ft | No | Tape roll length (ft); default 500 | |
| tape_ft_per_1000 | No | Tape coverage (ft per 1,000 sq ft); default 370 | |
| coverage_gal_per_1000 | No | Compound coverage (from the label) (gal per 1,000 sq ft); default 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, closed-world profile, so the description's added value is in disclosing the computation basis (USG published coverage) and the rounding rules ('rounded up' for pails and rolls). It does not mention edge cases such as zero area or how defaults are applied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the formula block is terse and directly tied to the outputs. Nothing is repetitive filler; each clause maps to a returned quantity or a parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by enumerating gallons, pails, tape feet and rolls. For a deterministic six-optional-parameter calculator this is nearly sufficient, lacking only note on default behavior when area is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description earns above baseline by showing exactly how the coverage and tape-per-1,000 parameters enter the formulas and by noting the waste multiplier applies to both materials. It does not explain units conversions or what happens if coverage values conflict with the defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource (ready-mix joint compound, pails, paper tape) and the output units (gallons, pails, rolls, ft), which cleanly separates it from sheet-counting siblings like calc_drywall. It never explicitly names a sibling to disambiguate against, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'How much drywall mud and tape to buy ... for your square footage of drywall,' but there is no explicit when-to-use statement, no prerequisite (e.g. tape joint type, coat count), and no pointer telling the agent to use calc_drywall for board count instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_lawn_fertilizerLawn Fertilizer Calculator (Pounds per 1,000 Sq Ft from N-P-K)ARead-onlyInspect
How much fertilizer to put on your lawn: pounds of product per 1,000 sq ft and for the whole lawn, from the nitrogen rate you want and the N-P-K numbers on the bag, plus bags to buy and the phosphate and potash you apply along with it. Formula: Product per 1,000 sq ft = N rate ÷ (N% ÷ 100). Total = product per 1,000 × area ÷ 1,000. Bags = total ÷ bag weight, rounded up. P₂O₅ (or K₂O) per 1,000 = product per 1,000 × P% (or K%) ÷ 100.
| Name | Required | Description | Default |
|---|---|---|---|
| k_pct | No | Potash % (third number); default 6 | |
| n_pct | No | Nitrogen % (first number on the bag); default 24 | |
| p_pct | No | Phosphate % (second number); default 0 | |
| bag_lb | No | Bag weight (optional) (lb); default 0 | |
| area_sqft | No | Lawn area (turf only) (sq ft); default 5000 | |
| n_lb_per_1000 | No | Nitrogen rate wanted (lb N per 1,000 sq ft); default 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, closed-world read operation, so the bar is lower; the description goes further by disclosing the exact formulas, including that bags are rounded up. It does not address the edge case where bag_lb defaults to 0 (division by zero for the bags output), leaving one behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer (what you get), followed by a compact formula block that earns its space as an authoritative reference. The first sentence is a long run-on chain, and the formula block partially duplicates the schema semantics, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly specifies the return values (per-1,000 rate, total, bags, P2O5/K2O), which is essential here. All six params are optional with full schema coverage, so the only shortfall is the undocumented bag_lb=0 behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value by tying parameters to their roles: N rate drives product per 1,000, area drives the total, bag weight drives bag count, and P%/K% drive the phosphate and potash outputs. The one gap is not explaining what happens when bag_lb is left at its default of 0.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: pounds of product per 1,000 sq ft and for the whole lawn, derived from N rate and N-P-K. It also enumerates the full output set (total product, bags to buy, phosphate and potash applied), which makes it unambiguously distinct from neighbors like calc_grass_seed or calc_sod without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening 'How much fertilizer to put on your lawn' implies the use case, but there is no explicit when-to-use/when-not guidance and no named alternative among the many calc_* siblings. An agent must infer that this is the fertilizer-dosing tool rather than seeding or sod coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_mortarMortar Calculator for Brick and Block (Cubic Feet & Bags)ARead-onlyInspect
Mortar 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). Block = wall × 1.125. Bags = units ÷ units per bag × (1 + waste).
| Name | Required | Description | Default |
|---|---|---|---|
| bond | No | Bond pattern (brick); default running | |
| unit | No | Unit; default modular | |
| joint_in | No | Mortar joint (brick); default 0.375; one of 0.375 = 3/8 in, 0.5 = 1/2 in | |
| wall_sqft | No | Wall area (minus openings) (sq ft); default 100 | |
| units_per_bag | No | Units per 80 lb bag (0 = 37 brick / 13 block); default 0 | |
| brick_waste_pct | No | Unit waste (%); default 5 | |
| mortar_waste_pct | No | Mortar waste (%); default 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, closed-world read operation, and the description is consistent with that. Beyond the annotations it discloses real behavioral facts: the quantity table used, that bond pattern applies corrections to both brick and mortar, that waste defaults differ for units vs mortar, and that units_per_bag=0 falls back to standard brick/block coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is correctly front-loaded in the first clause, but the majority of the text is a dense formula dump that an agent does not need in order to select or invoke the tool. It is one paragraph and not padded with filler, yet the formulas crowd out the usage routing that is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary job of naming the three returned quantities (units, cubic feet of mortar, bags). All seven optional parameters are documented at full coverage, and the read-only annotations require no further safety disclosure; only the exact response shape and the ordering/rounding of results are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema carries the defaults and enums, but the description goes further by showing how each input feeds the result: joint_in selects the table row, bond adds a multiplicative factor, and each waste percentage is applied to a different quantity. The 'Block = wall × 1.125' line is the weakest, since it appears without tying back to a named parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a specific verb and resource: compute mortar quantities (units, cubic feet, bags) for a brick or concrete block wall, and even names the data source (BIA Table 4). It is clearly distinct from generic siblings like calc_grout, but it never names the closest sibling calc_brick, which it partially overlaps by also returning unit counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative routing. The agent must infer from the phrase 'Mortar for a brick or concrete block wall' that this is for masonry takeoffs, and nothing tells it whether to prefer calc_brick or calc_concrete_block for the unit-count portion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_mulch_gravelMulch, Gravel & Topsoil Calculator (Cubic Yards)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth_in | No | Depth (in); default 3 | |
| width_ft | No | Width (ft); default 10 | |
| length_ft | No | Length (ft); default 20 | |
| tons_per_cy | No | Material density from your supplier (0 = skip) (tons/cu yd); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this is a safe, closed-world read (readOnlyHint=true, openWorldHint=false), and the description confirms the operation is a deterministic formula. It adds that tons output is optional/density-dependent, but discloses nothing about units edge cases or rounding behavior beyond what the schema and annotations already carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it computes, then the two formulas. Front-loaded output statement, zero filler, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless-required, deterministic calculator with no output schema, the description adequately supplies both the input relationship and the return values (cu yd plus optional tons). Only minor gaps remain, such as how defaults are applied when inputs are omitted, which is left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, setting a baseline of 3, but the description goes further by giving the exact formula (L×W×d÷324) that links the parameters, clarifying units (ft, in) and the relationship between tons_per_cy and the tonnage output. That is genuine meaning beyond the schema's field-level descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computed resource (cubic yards/tons of mulch, gravel, sand or soil) for a specific application (bed or path). This naturally distinguishes it from material-specific siblings like calc_sod, calc_paver, and calc_roofing without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope 'for a bed or path' implies the use case, but there is no explicit when-to-use guidance or any statement about when a sibling calculator is the better choice. Usage is only inferable from the material type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_oval_pool_volumePool Volume Calculator: Oval (Gallons)ARead-onlyInspect
Gallons in an oval (elliptical) pool. Formula: Gallons = π × (L/2) × (W/2) × average depth × 7.48052.
| Name | Required | Description | Default |
|---|---|---|---|
| width_ft | No | Width (ft); default 15 | |
| length_ft | No | Length (ft); default 30 | |
| avg_depth_ft | No | Average depth (ft); default 4.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, openWorldHint=false) already establish this as a side-effect-free, closed-domain calculation, so the bar is lower. The description adds real value by disclosing the exact formula, though it says nothing about precision, rounding, or units beyond gallons.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the result unit followed by the formula. Nothing is wasted, though the formula's variable names (L, W) are not explicitly tied to the parameter names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still tells the agent the return value is a volume in gallons, and all three inputs are documented in the schema with defaults. It is essentially complete for a pure calculator; only rounding/precision expectations are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter carries its own default and unit, so the baseline is 3. The formula adds meaning by showing the length and width are halved into radii and that depth is the average depth, but it does not clarify edge cases such as non-uniform depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and result unit ('Gallons in an oval (elliptical) pool'), which plainly separates it from calc_round_pool_volume and the generic calc_pool_volume by pool shape. It does not name those siblings explicitly, so it stops at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'oval (elliptical)' qualifier implicitly tells the agent when this tool applies versus the round or generic pool variants, but there is no explicit when-to-use statement or named alternative. Usage is inferred from the shape word alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_paintPaint Calculator (Gallons for Walls)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| coats | No | Coats; default 2 | |
| doors | No | Doors; default 1 | |
| windows | No | Windows; default 2 | |
| wall_height_ft | No | Wall height (ft); default 8 | |
| wall_perimeter_ft | No | Room perimeter (ft); default 48 | |
| coverage_sqft_per_gal | No | Coverage (from your can label) (sq ft/gal); default 350 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes beyond that by revealing the exact deterministic computation, including the fixed per-door (20 sq ft) and per-window (15 sq ft) deductions — genuine behavioral context for a calculator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the output and inputs, then the formula. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description names the computed result ('Gallons = area × coats ÷ label coverage'), which effectively documents the return. It omits rounding/precision details, a minor gap for a pure deterministic calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the hardcoded 20 sq ft/door and 15 sq ft/window deductions and that gallons derive from perimeter × height ÷ label coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+unit: 'Gallons of wall paint from room perimeter and height, minus doors and windows, for any number of coats.' This clearly distinguishes it from siblings like calc_drywall or calc_flooring_tile, which compute different materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The formula implies the scope (paintable wall area), so an agent can infer this is for wall-painting estimates, but there is no explicit when-to-use/when-not guidance or reference to a sibling for adjacent tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_paverPaver Calculator (Pavers, Base Gravel & Sand)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| width_ft | No | Area width (ft); default 12 | |
| length_ft | No | Area length (ft); default 16 | |
| waste_pct | No | Waste allowance (more for patterns/curves) (%); default 10 | |
| base_depth_in | No | Base depth (per your design) (in); default 4 | |
| sand_depth_in | No | Bedding sand depth (in); default 1 | |
| paver_width_in | No | Paver width (in); default 4 | |
| paver_length_in | No | Paver length (in); default 8 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond that by disclosing the deterministic computation behavior and the outputs produced (paver count plus cubic yards), which is useful context for a calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences: the purpose/scope is front-loaded, then the exact formulas follow. No filler, no repetition of schema fields, and the formula detail earns its place for a calculator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, zero-required, read-only calculator with no output schema, the description covers purpose, method, and the quantities returned. It is nearly complete; only explicit output units/format naming is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with defaults on all seven parameters, so the schema carries parameter meaning. The formulas imply how waste_pct, base_depth_in, and sand_depth_in are consumed, but this adds only marginal meaning beyond the already-complete schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: pavers count for patio/walkway/driveway plus cubic yards of compacted base and bedding sand. This clearly distinguishes it from the many sibling calculators (calc_mulch_gravel, calc_asphalt, calc_concrete_slab, etc.) by naming the exact material and derived quantities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource named (compute materials for a paver project), but there is no explicit when-to-use, when-not-to-use, or pointer to an alternative sibling calculator. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_alkalinityPool Alkalinity Calculator (Baking Soda to Raise, Muriatic Acid to Lower)ARead-onlyInspect
How 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 about 50 ppm at a time; add no more than 1 quart of acid per 10,000 gallons at a time.
| Name | Required | Description | Default |
|---|---|---|---|
| target_ppm | No | Target total alkalinity (from your pool builder or test kit guide) (ppm); default 100 | |
| current_ppm | No | Current total alkalinity (test result) (ppm); default 60 | |
| pool_gallons | No | Pool volume (gal); default 15000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine operational context beyond that: the full dosing formulas and the chemical-addition limits (max ~50 ppm raise at a time, max 1 quart acid per 10,000 gal), which constrain how results should be acted on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the empty-state intent are front-loaded, then the formula and per-chemical coefficients are packed into a few dense clauses with no filler. Slightly formula-heavy for a description, but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming output units for each case (lb, fl oz) so the agent knows what the result represents. With only 3 numeric inputs and full schema coverage, the definition is sufficient; it stops short of describing the response object's shape but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3 and the schema already documents each field's meaning and defaults. The description goes further by showing how each input is used in the formula (|target − current|, gallons ÷ 10,000), clarifying the relationship between parameters rather than restating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('how much baking soda raises ... total alkalinity, or muriatic acid ... lowers it') and names the dosing basis (published doses per 10,000 gallons). An agent can distinguish it from the many sibling calc_pool_* tools (chlorine, salt, calcium, stabilizer) at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: it branches on direction (raise vs lower) and names the specific chemicals and units for each case, which implicitly tells the agent when each path applies. However, it never names a sibling or states when NOT to use it (e.g., that it does not compute pH or volume).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_calcium_hardnessPool Calcium Hardness Calculator (Calcium Chloride to Raise, Water to Drain to Lower)ARead-onlyInspect
How 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.
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | Calcium chloride strength (on the label); default 77; one of 77 = 77% (flake / dihydrate), 100 = 100% (anhydrous) | |
| target_ppm | No | Target calcium hardness (from your pool builder or test kit guide) (ppm); default 250 | |
| current_ppm | No | Current calcium hardness (test result) (ppm); default 150 | |
| pool_gallons | No | Pool volume (gal); default 15000 | |
| fill_water_ppm | No | Calcium hardness of your fill water (ppm); default 50 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a read-only, closed-world pure computation, so the safety profile is covered. The description goes beyond that by publishing the actual formulas, including the 1.2 vs. 0.9 product-strength factors and the dilution share equation, which tells an agent exactly how inputs are transformed. It does not state output units or rounding, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose statement is front-loaded and the formula block follows as compact reference material with no filler sentences. It is dense but every clause carries calculation-relevant information; a slightly clearer split between the raise and lower cases would improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter, all-defaulted, read-only calculator with a fully described schema and no output schema, the description supplies the relationship between inputs and the two possible results ('lb' of calcium chloride, gallons to drain). Output units are only implied by the formulas, so it falls just short of fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description earns an increment by tying parameters into the formulas: pool size, fill-water hardness, and product strength (77% flake vs. 100% anhydrous) are all given operational meaning in context. It adds the reasoning behind the numbers rather than restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-and-resource statement ('how much calcium chloride raises your pool's calcium hardness, or how much water to replace to lower it') and covers both directions of the calculation. It does not name a sibling tool, but the pool-chemistry prefix and the calcium-specific framing make it distinguishable from calc_pool_chlorine and calc_pool_alkalinity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The dual-mode framing implies when each branch applies (raise via chemical vs. lower via dilution), but the description never states prerequisites (e.g. 'use this when current < target') or explicitly routes to alternatives such as a volume or alkalinity calculator. Usage is inferable rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_chlorinePool Liquid Chlorine Calculator (Ounces to Raise Free Chlorine)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| raise_ppm | No | Raise free chlorine by (ppm); default 3 | |
| pool_gallons | No | Pool volume (gal); default 15000 | |
| strength_pct | No | Product strength (trade %, on the jug) (%); default 12.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it exposes the exact formula, unit conversions, and the assumption that trade percent is grams of available chlorine per 100 mL. It omits output rounding/precision, but is transparent for a pure calculator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed only by the formula and unit conversions needed to understand the calculation. There is no filler; every sentence contributes to understanding the result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-optional-parameter calculator with full schema coverage and read-only annotations, the description supplies the output unit, input relationships, and formula. With no output schema, the first sentence still specifies the returned measure (fluid ounces), leaving no essential gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by showing how the three parameters relate in the formula and by defining strength_pct as trade percent grams of available chlorine per 100 mL, which is not stated in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific output (fluid ounces of liquid chlorine / sodium hypochlorite) and the goal (raise free chlorine by a target ppm) from named inputs (pool volume, product strength). This clearly distinguishes it from pool salt and pool volume siblings, even without naming them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are given. The description explains the calculation but never says when to choose this over calc_pool_salt or calc_pool_volume, nor does it state prerequisites, exclusions, or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_heater_sizePool Heater Size Calculator (BTU for Gas Heaters and Heat Pumps)ARead-onlyInspect
Heater 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 or 2). Gas input = output ÷ efficiency. Heat to warm the water once = gallons × 8.34 lb × (desired − starting temperature); hours = that ÷ output, with no losses.
| Name | Required | Description | Default |
|---|---|---|---|
| heatup_rate | No | Heat-up rate; default 1; one of 1 = 1 to 1¼ °F per hour (DOE base), 1.5 = 1½ °F per hour (×1.5), 2 = 2 °F per hour (×2) | |
| pool_temp_f | No | Desired pool temperature (°F); default 80 | |
| pool_gallons | No | Pool volume (optional, for warm-up time) (gal); default 22000 | |
| surface_sqft | No | Pool surface area (length × width for a rectangle) (sq ft); default 512 | |
| coldest_air_f | No | Average air temperature, coldest month you swim (°F); default 65 | |
| start_water_f | No | Starting water temperature (°F); default 70 | |
| gas_efficiency_pct | No | Gas heater efficiency (nameplate) (%); default 80 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, closed-world behavior, so the description does not need to restate safety. It adds useful behavioral context by naming the DOE formula, clarifying the coldest-month temperature-rise assumption, and noting that warm-up hours exclude losses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The primary output is front-loaded, followed by formulas and assumptions. It is dense but technical content is mostly necessary; a few phrases could be tightened, but there is little filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description names the key outputs and explains the formulas and assumptions needed to interpret them. It does not specify exact return field names or structure, which keeps it from being fully complete for an agent expecting structured results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter descriptions already do the baseline work. The tool description adds value by explaining how the parameters relate mathematically, especially temperature rise, rate-factor multiplication, gas input from efficiency, and warm-up time from gallons and output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific calculation and resource: heater output in Btu/h for an outdoor pool, plus gas input, matching heat pump size, and warm-up time. It is clearly distinguishable from siblings like calc_pool_volume, calc_pool_turnover, and calc_tankless_water_heater_size.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The outdoor-pool framing and DOE formula imply the intended use, but the description does not explicitly say when to choose this tool over related pool or heater calculators. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_lsiPool LSI Calculator (Langelier Saturation Index / Water Balance)ARead-onlyInspect
Langelier 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 rows the table method uses the next greater row. pH for SI = 0: 12.1 − TF − CF − AF.
| Name | Required | Description | Default |
|---|---|---|---|
| ph | No | pH; default 7.6 | |
| method | No | Factor lookup; default table | |
| temp_f | No | Water temperature (°F); default 86 | |
| tds_ppm | No | Total dissolved solids (0 if unknown) (ppm); default 0 | |
| calcium_ppm | No | Calcium hardness (ppm); default 380 | |
| alkalinity_ppm | No | Total alkalinity (ppm); default 70 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description is fully consistent with a pure computation. It adds real behavioral disclosure beyond that: the 12.2 constant when TDS exceeds 1,000 ppm, and the table-lookup rule that a between-rows reading takes the next greater row. It stops short of stating output precision or rounding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then formula, then the lookup and balance-pH rules — every sentence carries computational meaning. It is dense and slightly run-on, packing two formulas and a lookup rule into a compact block, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the two return values (the SI and the pH for SI = 0), and it explains the factor-table derivation, which is materially useful. It does not state rounding/precision or the valid input ranges for each reading, a minor gap for a calculation tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description earns above baseline by explaining the two non-obvious parameters: the `method` choice (table vs interpolation, with the 'next greater row' tie-break spelled out) and the TDS threshold that switches the constant from 12.1 to 12.2. Those are semantic rules the schema cannot express.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computational verb and named index (Langelier Saturation Index) plus the exact inputs it consumes, so an agent can distinguish it from the neighboring single-chemistry calculators (calc_pool_alkalinity, calc_pool_calcium_hardness, calc_pool_chlorine). The formula is given inline, removing any ambiguity about what is produced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the chemistry context (assessing overall water balance from four readings) but there is no explicit statement of when to reach for this versus the individual pool-chemistry siblings, nor any prerequisites. An agent can infer the fit, but must reason about it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_saltPool Salt Calculator (Pounds of Salt for a Saltwater Pool)ARead-onlyInspect
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⌉.
| Name | Required | Description | Default |
|---|---|---|---|
| bag_lb | No | Bag size (lb); default 40 | |
| target_ppm | No | Target salt level (from your cell manual) (ppm); default 3200 | |
| current_ppm | No | Current salt level (test strip or meter) (ppm); default 0 | |
| pool_gallons | No | Pool volume (gal); default 15000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint=false, so the safety profile is covered. The description goes further by publishing the exact formula and the ceiling-rounding rule for bags, letting the agent predict the output precisely. It doesn't note the defaults or edge cases (e.g. current above target), but adds real value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the outcome, then the formula. Every element earns its place; no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description fully specifies the return values (pounds of salt and whole bags) plus the rounding convention. An agent has everything needed to call it and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The formula adds genuine meaning by showing how each parameter is used and clarifying that target_ppm comes from the chlorine generator's requirements, which is more than the schema's unit labels alone convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compute pounds and bags) and resource (pool salt for a saltwater pool), with the exact quantity returned. It is clearly distinguishable from siblings like calc_pool_chlorine and calc_pool_volume without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context ('raise a saltwater pool from its current salt level to the target your chlorine generator needs') implies when the tool applies, but it never explicitly routes the agent away from siblings such as calc_pool_chlorine or states prerequisites. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_stabilizerPool Stabilizer (Cyanuric Acid) Calculator: How Much to Add or DrainARead-onlyInspect
How 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.
| Name | Required | Description | Default |
|---|---|---|---|
| target_ppm | No | Target cyanuric acid (from your pool builder or test kit guide) (ppm); default 40 | |
| current_ppm | No | Current cyanuric acid (test result) (ppm); default 0 | |
| pool_gallons | No | Pool volume (gal); default 15000 | |
| fill_water_ppm | No | Cyanuric acid in your fill water (ppm); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes beyond that by publishing the exact formulas used for both the raise and dilution paths, which is genuinely useful behavioral disclosure for a deterministic calculator. It stops short of noting edge behavior (e.g., what happens when current <= target in the drain formula, or that the result is expressed in ounces/gallons).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the outcome and then the supporting formulas; nothing is wasted. The formula notation ('÷ 10 × gallons ÷ 10,000 × 13') is dense and slightly hard to parse, but it is compact rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify what is returned; it implies ounces of stabilizer and gallons to drain but never states the output units or result shape explicitly. Defaults (target 40, current 0, 15000 gal, fill 0) live only in the schema, and the no-op case for lowering is unaddressed, leaving modest gaps for an agent relying on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by showing how each input participates in the math — current and target in the raise formula, fill_water_ppm specifically as the dilution denominator alongside pool_gallons — giving the agent a functional understanding of the parameters beyond their schema labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource pair (raise cyanuric acid by adding stabilizer, or lower it by draining/refilling) and scopes it precisely to CYA. Among the many calc_pool_* siblings (alkalinity, chlorine, salt, calcium hardness), this is unambiguously the stabilizer/CYA one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames the two operating modes (raise to target vs. dilute down to target), which tells the agent the tool's two use cases. However, it never names a sibling alternative or states a condition for choosing this tool over calc_pool_alkalinity or calc_pool_volume, so routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_turnoverPool Turnover Rate & Pump GPM CalculatorARead-onlyInspect
The 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.
| Name | Required | Description | Default |
|---|---|---|---|
| measured_gpm | No | Flow meter reading (0 to skip) (gpm); default 60 | |
| pool_gallons | No | Pool volume (gal); default 36000 | |
| turnover_hours | No | Target turnover time (hours); default 6 | |
| filter_area_sqft | No | Filter area (from the filter label, 0 to skip) (sq ft); default 0 | |
| filter_rate_gpm_per_sqft | No | Max filter rate (from the filter label) (gpm/sq ft); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only/open-world annotations already cover safety, and the description adds substantial behavioral detail by giving the exact formulas for required flow, actual turnover, and filter max flow. It still omits edge-case behavior such as how the schema's '0 to skip' inputs are handled and what exact output shape is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the result set is front-loaded, followed by compact formulas. The first sentence is dense but still readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with no output schema, the description does a good job naming the three outputs and explaining the formulas behind them. It is slightly incomplete on return structure and zero/skip handling, but the schema covers most input semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter meanings and defaults are already well documented. The description restates variables inside formulas but adds no new semantics beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It enumerates the three results clearly: required pump flow, actual turnover, and filter adequacy. The scope is specific and distinguishable from pool-volume or chemistry siblings, though it does not use an explicit verb or name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when it is useful, such as targeting a turnover time, using a flow-meter reading, or checking filter size. It gives no explicit when-not guidance and does not route the agent to related pool calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_pool_volumePool Volume Calculator: Rectangular (Swimming Pool Gallons)ARead-onlyInspect
Gallons in a rectangular pool with a sloped bottom, using average depth. Formula: Gallons = L × W × (shallow + deep)/2 × 7.48052 gal/cu ft.
| Name | Required | Description | Default |
|---|---|---|---|
| deep_ft | No | Deep-end depth (ft); default 6 | |
| width_ft | No | Width (ft); default 16 | |
| length_ft | No | Length (ft); default 32 | |
| shallow_ft | No | Shallow-end depth (ft); default 3.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds value by disclosing the exact computation (average depth, 7.48052 gal/cu ft), letting the agent sanity-check results. It does not state unit assumptions or error behavior for negative/inverted depths, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: what it computes, then the exact formula. Zero filler and the scope qualifier is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly names the output unit (gallons) and gives the full formula, and defaults live in the schema. It omits edge-case handling (flat-bottom pool where shallow equals deep, zero or inverted depths), which is a minor but real gap for a calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes beyond the per-parameter blurbs by explaining how shallow_ft and deep_ft are combined into an average depth and how length_ft and width_ft enter the product. It adds real semantic linkage rather than restating types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (calculating gallons) plus a shape qualifier ("rectangular pool") and a geometric precondition ("sloped bottom, using average depth"). The word "rectangular" implicitly separates it from the oval and round pool-volume siblings, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the shape adjective; the description never says "use this for rectangular pools, use calc_round_pool_volume / calc_oval_pool_volume otherwise," nor does it address flat-bottom pools or other alternatives. An agent can infer the routing but must do the work itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_rafter_lengthRafter Length Calculator (From Run and Roof Pitch)ARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| run_ft | No | Horizontal run (half the span, minus half the ridge board) (ft); default 14 | |
| pitch_rise | No | Pitch (rise per 12 in of run) (in); default 6 | |
| overhang_in | No | Horizontal overhang (eave) (in); default 12 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes further by disclosing the exact deterministic formulas used (pitch factor, ridge rise, angle via atan), which lets an agent predict output precisely. It stops short of stating output units, which would complete the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the computed outputs, followed by a compact formula block that is terse and information-dense. The three formula sentences each carry distinct value, though the notation is dense enough that plain-prose framing would aid readability slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly enumerates the three return values (rafter length, ridge rise, roof angle), which is exactly what the agent needs. The remaining gap is output units (rafter/ridge presumably feet, angle degrees) and the fact that all three parameters are optional with defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents run_ft, pitch_rise and overhang_in with units and defaults, establishing a baseline of 3. The description's formula adds the relationship between overhang and run (added together before multiplying by pitch factor), but no meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: computes common rafter length, ridge rise and roof angle from run and pitch, plus optional overhang. This clearly separates it from siblings like calc_roofing (material estimation) or calc_stair_stringer (different geometry), so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the required inputs but gives no when-to-use guidance, no prerequisites, and no mention of when to choose calc_roofing instead. Usage is only inferable from the formula, which the calibration treats as insufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_rainwater_harvestingRainwater Harvesting Calculator (Gallons from Your Roof)ARead-onlyInspect
How many gallons of rainwater your roof can collect from a storm, a month or a year of rain, how many rain barrels that fills, and how much to divert as first flush, using the Texas Manual on Rainwater Harvesting method. Formula: Gallons = rainfall (in) × roof footprint (sq ft) × 0.62 × efficiency. Barrels = gallons ÷ barrel size, rounded up. First flush = roof ÷ 1,000 × 10 gal.
| Name | Required | Description | Default |
|---|---|---|---|
| rain_in | No | Rainfall (in); default 1 | |
| roof_sqft | No | Roof footprint (horizontal area) (sq ft); default 1500 | |
| barrel_gal | No | Barrel or tank size (gal); default 55 | |
| efficiency_pct | No | Collection efficiency (%); default 85 | |
| first_flush_gal_per_1000 | No | First-flush diversion (gal per 1,000 sq ft); default 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it a read-only, closed-world calculation, so the safety profile is covered. The description adds real behavioral value by disclosing the underlying method (Texas Manual on Rainwater Harvesting), the exact formula, and the rounding rule for barrels.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the output description, then the method, then formulas — no filler. Slight deduction because 'First flush = roof ÷ 1,000 × 10 gal' hardcodes the default rate rather than referencing the parameter, which reads as a fixed constant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five optional params and no output schema, the description carries the burden well by naming the three returned metrics and the computation path. Minor gaps: no statement that defaults are applied when params are omitted, and no note on units of the returned first-flush value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description goes further by showing how each input enters the math (rain × footprint × 0.62 × efficiency, gallons ÷ barrel size, roof ÷ 1000 × 10), clarifying roles the schema only labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact quantities computed (gallons collectible, barrels filled, first-flush diversion) and the inputs driving them, which separates it cleanly from neighbors like calc_gutter_size or calc_roofing. An agent knows precisely what it gets back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through phrases like 'from a storm, a month or a year of rain,' which hints at the rainfall input, but gives no explicit when-to-use/when-not guidance and never names an alternative calculator for adjacent questions (e.g., gutter sizing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_rebarRebar Calculator for a Slab (Bars, Sticks, Lap Splices & Weight)ARead-onlyInspect
How 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 diameter. Linear ft = (bars × run + splices × lap) ÷ 12; sticks = ⌈linear ft × (1 + allowance) ÷ stick length⌉; weight = linear ft × ASTM A615 lb/ft.
| Name | Required | Description | Default |
|---|---|---|---|
| bar | No | Bar size; default 4 | |
| edge_in | No | Edge clearance each side (in); default 3 | |
| width_ft | No | Slab width (ft); default 24 | |
| length_ft | No | Slab length (ft); default 30 | |
| waste_pct | No | Cut-off allowance (%); default 5 | |
| spacing_in | No | Bar spacing on center (from your plans) (in); default 12 | |
| stock_length_ft | No | Stick length (ft); default 20 | |
| lap_bar_diameters | No | Lap splice length in bar diameters (from your plans or engineer); default 40 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds substantial behavioral context: exact formulas, default assumptions, edge clearance handling, lap splice logic, waste allowance, and ASTM A615 weight basis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the purpose, then packed with formula details. It is dense and every sentence contributes, though the single-paragraph formula block could be more readable if structured as separate lines or bullets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex calculator with 8 fully described optional parameters, read-only annotations, and no output schema, the description supplies enough detail to call it correctly. It names the outputs (bar count, splices, linear feet, sticks, weight) and the governing formulas.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by linking parameters through formulas: clear span from width/length and edge clearance, bar count from spacing, lap length from bar diameters, and weight from ASTM A615 lb/ft.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: calculates rebar quantity for a rectangular slab grid, including bar count, lap splices, linear feet, sticks, and weight. This clearly distinguishes it from sibling calculators like calc_concrete_slab and calc_board_foot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by specifying it is for a rectangular slab grid and gives the complete formula, so an agent knows when it applies. However, it does not name alternatives or state when not to use it, such as for irregular slabs or other rebar shapes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_retaining_wallRetaining Wall Block Calculator (Blocks, Caps, Base Gravel & Drainage Rock)ARead-onlyInspect
How 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 height⌉. Blocks per course = ⌈run ÷ block face length⌉, where run = wall length, or π × outside diameter for a circle. Wall blocks = ⌈blocks per course × courses × (1 + waste%)⌉; caps = ⌈run ÷ cap length × (1 + waste%)⌉. Base gravel cu yd = run(ft) × trench width(in) × base depth(in) ÷ 144 ÷ 27; drainage rock cu yd = run(ft) × zone depth(in) × stacked block height(in) ÷ 144 ÷ 27 (straight walls only).
| Name | Required | Description | Default |
|---|---|---|---|
| shape | No | Wall shape; default straight | |
| waste_pct | No | Block waste/cut allowance (%); default 5 | |
| min_bury_in | No | Minimum buried depth (from your block maker) (in); default 6 | |
| base_depth_in | No | Compacted base depth (in); default 6 | |
| bury_ratio_in | No | Bury 1 in of block for every __ in of exposed height (from your block maker) (in); default 8 | |
| cap_height_in | No | Cap height (0 = no caps) (in); default 0 | |
| cap_length_in | No | Cap face length (in); default 12 | |
| drain_zone_in | No | Drainage rock zone behind the block (in); default 12 | |
| block_height_in | No | Block height (from the block label) (in); default 4 | |
| block_length_in | No | Block face length (from the block label) (in); default 12 | |
| trench_width_in | No | Base trench width (in); default 24 | |
| exposed_height_in | No | Exposed wall height above grade (including cap) (in); default 24 | |
| length_or_diameter_ft | No | Wall length (straight) or outside diameter (circle) (ft); default 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so the safety profile is already covered. The description adds genuine context beyond that: block sizes are editable because product lines differ, drainage rock is straight-wall-only, and the exact formulas disclose how each figure is derived so results can be sanity-checked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and output scope are front-loaded in the first sentence, followed by defaults and formulas. For a formula-driven calculator the equations earn their place, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, no required fields, and no output schema, the description carries real weight. It exposes the formulas so an agent can infer the returned quantities, though it never explicitly names the return fields or output format for a fully zero-argument-defaultable tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description maps parameters to roles in the formulas (bury ratio, cap height, trench width, drain zone) and explains the straight-vs-circle run substitution, adding interpretation the schema alone does not provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (retaining wall block count) and enumerates every output component: buried course, cap units, base gravel, drainage rock. An agent can distinguish it from calc_concrete_block, calc_paver, and calc_brick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies the two supported shapes (straight wall or a circle for fire pits/tree rings) and notes drainage rock applies to straight walls only, which implies usage. However, it never states when to choose this over sibling calculators like calc_paver or calc_concrete_block, and offers no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_roofingRoofing Calculator (Squares, Bundles & Pitch Factor)ARead-onlyInspect
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%).
| Name | Required | Description | Default |
|---|---|---|---|
| waste_pct | No | Waste allowance (%); default 10 | |
| pitch_rise | No | Pitch (rise per 12 in run) (in); default 6 | |
| overhang_in | No | Eave/rake overhang (in); default 12 | |
| bundles_per_square | No | Bundles per square (see wrapper); default 3 | |
| footprint_width_ft | No | Footprint width (ft); default 30 | |
| footprint_length_ft | No | Footprint length (ft); default 40 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing the exact algorithm (pitch factor √(1+(rise/12)²), overhang added to both dimensions, waste multiplier), which tells the agent this is deterministic, side-effect-free math and exactly how inputs combine. It stops short of noting defaults are silently applied or how results are formatted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose, then the math. The formulas are dense but each one earns its place by defining an otherwise ambiguous conversion. Slightly formula-heavy for a description, but no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and largely does so by naming the computed outputs (area, squares, bundles) and units. It omits the exact response shape and the fact that all six parameters default when omitted, which slightly under-serves an agent preparing a call, but the core contract is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the formula adds real meaning beyond the schema text: it shows overhang_in is applied to both length and width, pitch_rise feeds rise/12, and waste_pct is a multiplicative allowance. It does not, however, show how bundles_per_square is used to reach the bundle count, leaving that one parameter's effect implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation with named outputs: roof area from footprint and pitch, converted to roofing squares (100 sq ft) and shingle bundles. An agent can tell this is a roofing-material takeoff calculator without opening the schema, and it is distinguishable from generic area tools like calc_sod or calc_paint by the pitch-factor and bundle output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the formula and units (squares, bundles), which signals the roofing-takeoff scenario, but the description never states when to use this versus siblings like calc_asphalt or calc_rafter_length, nor any prerequisites (e.g., that it works from a rectangular footprint only). The guidance is inferable, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_round_pool_volumePool Volume Calculator: Round / Above-Ground (Gallons)BRead-onlyInspect
Gallons in a round or above-ground pool. Formula: Gallons = π × (D/2)² × average depth × 7.48052 (≈ D² × depth × 5.875).
| Name | Required | Description | Default |
|---|---|---|---|
| diameter_ft | No | Diameter (ft); default 24 | |
| avg_depth_ft | No | Average water depth (ft); default 4.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing the exact formula (constants 7.48052 and 5.875), letting the agent reason about the computation, but it says nothing about output format or rounding behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the resource and then the formula. No filler, though the two equivalent formula forms are slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic calculator with full schema coverage and readOnly annotations, the definition is essentially complete — the output unit (gallons) is stated and no write/precondition concerns exist. It would only improve by naming the alternative pool-volume tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (diameter_ft, avg_depth_ft) and their defaults are already documented in the schema. The formula restates that D and depth feed the calculation, adding no new syntax or constraint beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb+resource (calculates gallons for a round/above-ground pool) and scopes the shape clearly. The shape qualifier implicitly distinguishes it from calc_oval_pool_volume and calc_pool_volume, but it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the sibling pool-volume calculators (calc_pool_volume, calc_oval_pool_volume). The 'round or above-ground' scope implies usage but leaves routing to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_self_leveling_concreteSelf-Leveling Concrete Calculator (Bags of Floor Leveler)ARead-onlyInspect
How many bags of self-leveling underlayment or floor resurfacer to buy, from your floor area and the thinnest and thickest pour depth, using the bag's yield in cubic feet. Formula: Average depth = (thinnest + thickest) ÷ 2. Volume = area × average depth ÷ 12. Bags = volume × (1 + allowance) ÷ yield per bag. Coverage at 1/4 in = yield ÷ (0.25 ÷ 12).
| Name | Required | Description | Default |
|---|---|---|---|
| area_sqft | No | Floor area (sq ft); default 100 | |
| waste_pct | No | Waste and porosity allowance (%); default 10 | |
| thickest_in | No | Thickest depth (in); default 0.25 | |
| thinnest_in | No | Thinnest depth (in); default 0.25 | |
| bag_yield_cuft | No | Yield per bag (from the bag or data sheet) (cu ft); default 0.45 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine value beyond that by disclosing the full computation chain (average depth, volume ÷12, waste multiplier, yield division), letting the agent verify how the number is produced rather than treating it as a black box.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose statement is front-loaded and the formula chain is compact and scannable. The trailing 'Coverage at 1/4 in = yield ÷ (0.25 ÷ 12)' is somewhat tangential since no coverage parameter or output field is referenced, making it the one sentence that doesn't fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All five parameters are optional with defaults, and the formula makes the calculation reproducible. With no output schema, a small gap remains: the description doesn't state whether the result is rounded up to whole bags or that volume/coverage figures may also be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description earns an extra point by showing how each parameter enters the formula: waste_pct is applied as a multiplicative allowance (1 + allowance), depths are averaged, and bag_yield_cuft is divided out. That explains the direction and units of each input more concretely than the schema strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: how many bags of self-leveling underlayment/floor resurfacer to buy, and names the exact inputs it derives that from. An agent can tell this apart from calc_concrete_slab, calc_thinset, or calc_epoxy_floor without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied by the inputs ('from your floor area and the thinnest and thickest pour depth'), so an agent can infer this is for a pour over an existing slab. However, no sibling is named and there is no explicit when-to-use/when-not guidance (e.g. versus thinset or concrete slab calculators).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_septic_tank_sizeSeptic Tank Size Calculator (Florida Rule 62-6.008: Tank Gallons & Drainfield Area)ARead-onlyInspect
Minimum 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), per Table I and its footnote 4. Septic tank and pump tank minimums come from Table II for that flow. Drainfield area = max(flow, 200 gpd) ÷ the Table III loading rate for the soil and trench or bed.
| Name | Required | Description | Default |
|---|---|---|---|
| soil | No | Soil (from the site evaluation); default slight | |
| bedrooms | No | Bedrooms; default 3 | |
| drainfield | No | Drainfield type; default trench | |
| building_sqft | No | Building area (sq ft); default 2000 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false, so safety and self-containment are covered. The description adds genuine behavioral context the annotations do not: the exact deterministic formula chain (Table I flow, Table II tank minimums, Table III loading rates) so the agent knows the output is a rule-derived minimum, not an estimate. It does not disclose failure behavior for unsupported inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the three outputs and the regulatory basis in the first sentence, then spends the rest on the formula, which is dense but load-bearing for this tool. Every sentence earns its place; only the footnote/page references are slightly verbose for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly enumerates the three return quantities (tank gallons, pump tank gallons, drainfield area). Inputs, defaults, and the computation path are all covered. Minor gap: output units for drainfield area (sq ft) and any input-validation limits are not stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with defaults and enums documented, so the baseline is 3. The description adds real meaning beyond the schema: bedrooms and building_sqft both feed a 'larger of' design-flow calculation (with the stepwise gpd tiers), while soil and drainfield select the Table III loading rate used as the divisor. That mapping is not derivable from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (compute minimum septic tank size, pump tank size, and drainfield area) and pins the scope to a single-family home under Florida Rule 62-6.008. Even among 40+ calc_* siblings, the regulatory domain and the three returned quantities make it uniquely identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description scopes usage clearly ('for a single-family home under Florida Rule 62-6.008'), which tells the agent when this rule set applies, including the jurisdictional limit. It stops short of naming exclusions (commercial systems, non-Florida jurisdictions, soil types outside the three enum values) or pointing to an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_sodSod Calculator (Square Feet, Pieces & Pallets)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| width_ft | No | Lawn width (ft); default 40 | |
| length_ft | No | Lawn length (ft); default 50 | |
| waste_pct | No | Waste allowance (%); default 5 | |
| pallet_sqft | No | Coverage per pallet (ask your supplier) (sq ft); default 400 | |
| piece_width_in | No | Piece width (ask your supplier) (in); default 16 | |
| piece_length_in | No | Piece length (ask your supplier) (in); default 24 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description usefully adds the exact computation formulas and the fact that two inputs are supplier-dependent, which is real behavioral context. It does not disclose rounding, units, or output formatting, but with annotations carrying the safety profile this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three outputs are front-loaded in the first sentence, then rationale, then the formula. Every clause serves a purpose, though the formula sentence is dense and could be trimmed slightly without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of signalling returns and does so by naming the three computed quantities up front. What is missing is minor but real: units of the results and any rounding behavior for pieces/pallets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further by showing how the parameters relate (L × W × (1 + waste%), pieces from piece dimensions ÷ 144, pallets from pallet coverage) and why piece/pallet values are editable. That adds meaning beyond the per-field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names the exact outputs (square feet of sod, pieces, pallets) and the subject (a lawn area), so the agent knows precisely what this computes. It is unambiguous against siblings such as calc_mulch_gravel or calc_paver, which cover different materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the agent can infer this is for lawn-sod takeoffs, and the note that piece size and pallet coverage vary by farm and grass type hints that those inputs should be confirmed with a supplier. There is no explicit when-to-use/when-not guidance or named alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_solar_panelSolar Panel Calculator (How Many Panels Do I Need?)ARead-onlyInspect
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⌉.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_kwh | No | Annual usage (from your bills) (kWh); default 12000 | |
| panel_watts | No | Panel rating (W); default 400 | |
| peak_sun_hours | No | Peak sun hours/day (look up in PVWatts) (h); default 5 | |
| system_losses_pct | No | System losses (%); default 14 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral detail beyond that: the exact deterministic formula and the ceiling rounding, which tells the agent the result is an integer count rounded up rather than a fractional estimate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose, the second gives the formula. Nothing is wasted and the purpose is front-loaded ahead of the arithmetic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully defines the return (a panel count, rounded up) and all four optional inputs have defaults in the schema. It could say more about the exact response shape (bare number vs. breakdown), but the essentials for calling it correctly are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes further by showing how the parameters combine (watts/1000 × sun hours × 365 × loss adjustment) and which term each input feeds, which is meaning the schema does not convey — though the '1 − losses' form is slightly at odds with the schema's percent unit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — computing the number of solar panels needed to offset annual electricity use — and names the three input drivers. It is immediately distinguishable from siblings like calc_voltage_drop or calc_appliance_energy_cost without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what is computed but gives no when-to-use guidance, no exclusions, and does not point to or away from any sibling calculator. The only usage hint (bills, PVWatts) is embedded in the schema parameter descriptions, not the tool description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_stair_stringerStair Stringer Calculator (Risers, Treads & Stringer Length)ARead-onlyInspect
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²).
| Name | Required | Description | Default |
|---|---|---|---|
| max_riser_in | No | Maximum riser height allowed (in); default 7.75 | |
| total_rise_in | No | Total rise (finished floor to finished floor) (in); default 108 | |
| tread_depth_in | No | Tread depth (run per step) (in); default 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so the agent knows it is a pure, deterministic computation. The description adds the exact formulas and the IRC 7¾ in check, which are behavioral details beyond the annotations. It does not disclose limitations (e.g., uniform riser assumption) or output format, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first front-loads the outputs, the second supplies the formula. No filler; every clause serves a purpose. Dense but appropriate for a calculator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter calculator with no output schema, the description enumerates the four outputs and the formula, giving the agent enough to understand the return values. It does not specify output units or precision, and doesn't state the return structure, so a small gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a description with default values. The description adds value by linking the parameters in explicit formulas (e.g., riser height = total rise ÷ risers; stringer length = √(rise² + run²)), clarifying how they interact. This goes beyond the per-parameter schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool computes: number of risers and treads, riser height, total run, and stringer length, from floor-to-floor rise, with an IRC check. The resource (stair stringer) is unique among siblings, so the agent can distinguish it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are given. The formula and IRC check imply the context (building code-compliant stair design), but the description does not say when to choose this over manual calculation or other calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_stuccoStucco Calculator (Bags of Base and Finish Coat)ARead-onlyInspect
How many 80 lb bags of stucco you need for a wall: base coat (scratch and brown) bags from the manufacturer's coverage at your system thickness, plus finish coat bags. Formula: Area = (wall − openings) × (1 + waste). Base bags = area ÷ coverage, where coverage per 80 lb bag = 20–24 sq ft × (3/8 in ÷ base thickness). Finish bags = area ÷ (70 sq ft × 1/8 in ÷ finish thickness).
| Name | Required | Description | Default |
|---|---|---|---|
| system | No | Stucco system; default three | |
| finish_in | No | Finish coat thickness (0 = none) (in); default 0.125 | |
| wall_sqft | No | Wall area (sq ft); default 1000 | |
| waste_pct | No | Waste (%); default 10 | |
| openings_sqft | No | Windows and doors to subtract (sq ft); default 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further by exposing the actual computation — openings subtracted, waste multiplier applied, and coverage scaled by base/finish thickness. That is real behavioral disclosure an agent could not get from the annotations. It stops short of stating output rounding (whole bags) or the system-enum behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause before the formulas, and every sentence carries information. The formula notation is dense and slightly harder to parse than prose would be, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five optional defaulted parameters, no output schema, and annotations covering safety, the description supplies what's missing: the full derivation and the two result quantities (base bags, finish bags). Only the rounding/whole-bag convention is left implicit, which is minor for a read-only estimator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description maps parameters into the formulas: openings_sqft is subtracted, waste_pct multiplies area, finish_in scales the 70 sq ft coverage, and base thickness drives the 20–24 sq ft range. The 'system' enum values (three, two_dense, two_porous) are never explained, which is the one meaningful gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a concrete verb and resource — how many 80 lb bags of stucco for a wall — and immediately splits the answer into base coat and finish coat, which is exactly the distinction that separates it from neighbors like calc_mortar, calc_thinset, and calc_drywall. An agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the calculator framing: use it when you need stucco bag counts for a wall area. There is no explicit when-to-use statement, no when-not, and no reference to an alternative tool for related materials (mortar, thinset), so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_tankless_water_heater_sizeTankless Water Heater Size Calculator (GPM, Temperature Rise, BTU & kW)ARead-onlyInspect
Size 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.
| Name | Required | Description | Default |
|---|---|---|---|
| volts | No | Electric supply voltage (V); default 240 | |
| inlet_f | No | Coldest incoming water temperature (winter) (°F); default 52 | |
| outlet_f | No | Hot water setpoint (°F); default 120 | |
| peak_gpm | No | Peak hot-water flow (fixtures used at the same time) (gpm); default 4.5 | |
| gas_efficiency_pct | No | Gas unit efficiency (spec sheet) (%); default 82 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only and closed-world behavior are already covered by annotations, so the description's added value is the calculation logic and the set of computed outputs. It still does not describe the response shape or rounding behavior, but it meaningfully discloses how the calculation works.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then provides the formulas compactly. It is dense but every part earns its place for a calculation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are optional with schema defaults, and although there is no output schema, the description enumerates the expected outputs: required Btu/h, gas input, electric kW, and amps. This is sufficient for an agent to understand the tool's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline would be 3, but the description adds relationships between parameters: temperature rise, heat output from gpm and rise, gas input from efficiency, and amps from kW and volts. This meaningfully supplements the per-field schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: sizing a tankless water heater from peak flow and temperature rise. It also names the computed outputs, making it clearly distinct from siblings such as calc_pool_heater_size or calc_generator_size.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the name and by 'Size a tankless water heater from your peak hot-water flow...', but there is no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or prerequisites beyond the formula context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_thinsetThinset Calculator (Bags of Thin-Set Mortar by Trowel Size)ARead-onlyInspect
How 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 bag sizes).
| Name | Required | Description | Default |
|---|---|---|---|
| bag_lb | No | Bag size (lb); default 50 | |
| trowel | No | Square-notch trowel; default 1/4x3/8 | |
| area_sqft | No | Tile area (sq ft); default 150 | |
| waste_pct | No | Extra allowance (%); default 0 | |
| coverage_sqft_per_bag | No | Coverage from your bag label (0 = use the data sheet) (sq ft); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further, disclosing the actual formula, the rounding-up behavior, and that two counts (low and high end of the coverage range) come back — real behavioral value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and output shape are front-loaded in the first sentence, with the formula and reference table following. The data-sheet table is long but earns its place as the default coverage source; only the parenthetical '(scaled for other bag sizes)' feels slightly compressed against the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden — and it does, naming both the conservative and best-case counts. With annotations covering safety, the formula and default coverage data supplied, and all parameters documented in the schema, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already explains all five parameters and their defaults. The description still adds meaning by tying area, allowance, and coverage-per-bag into an explicit formula and by explaining that the data-sheet coverage scales with bag size — context the enum and numeric fields alone do not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb-and-resource pair (bags of thin-set mortar to buy for a given tile area and trowel notch) along with the two output modes (conservative vs. best-case). It does not, however, distinguish itself from the nearby calc_mortar or calc_grout siblings, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the domain wording; there is no explicit 'use this when…' or 'use calc_mortar instead for…' routing. Given that calc_mortar and calc_grout sit in the same sibling list, a one-clause differentiation would have been cheap and valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_voltage_dropWire Size & Voltage Drop Calculator (AWG, Copper/Aluminum)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| awg | No | Wire size (AWG); default 12 | |
| amps | No | Load current (A); default 16 | |
| phase | No | Phase; default 1; one of 1 = Single phase, 3 = Three phase | |
| volts | No | Source voltage (V); default 120 | |
| material | No | Conductor; default copper | |
| one_way_ft | No | One-way length (ft); default 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is settled; the description goes further by disclosing the exact computational model, the per-phase branch, and the K constants for copper vs aluminum. That is real behavioral context beyond the annotations, though it omits the length-symmetry assumption (2× / √3×) rationale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose front-loaded, formula and constants following with no filler. Every clause carries computational information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should say what comes back — but it never states whether the result is a voltage drop in volts, a percentage, or both. Defaults and units are only visible in the schema. For a 6-parameter calculator with no output contract, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the formula adds semantics the schema cannot: material drives K (12.9 Cu / 21.2 Al), awg selects CM from NEC Table 8, and one_way_ft is doubled (or √3-scaled) rather than used directly. That maps abstract parameters to their physical role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific computation (voltage drop) for a specific resource (a single- or three-phase conductor run) and ties it to NEC Chapter 9 Table 8. The subject matter is unambiguous and trivially separable from the surrounding calc_* siblings (concrete, paint, pool volume, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for this tool versus the other calculators, nor any when-not condition or prerequisite (e.g. feeder vs branch circuit checks). It only explains how the number is computed, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_wall_studWall Stud Calculator (Studs & Plates for a Framed Wall)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| plates | No | Plates (bottom + double top = 3); default 3 | |
| corners | No | Corners in this wall; default 2 | |
| openings | No | Door/window openings; default 1 | |
| spacing_in | No | Stud spacing (on center); default 16; one of 16 = 16 in o.c., 24 = 24 in o.c., 12 = 12 in o.c. | |
| wall_length_ft | No | Wall length (ft); default 20 | |
| studs_per_corner | No | Extra studs per corner; default 2 | |
| studs_per_opening | No | Extra studs per opening (king/jack); default 2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavioral value by disclosing the exact computation model (⌈length ÷ spacing⌉ + 1, plus per-corner/per-opening extras, plate = length × plates), letting the agent predict outputs. It does not describe the return structure, but that is a minor gap against the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the resource and spacing options front-loaded, followed by the formula. The formula uses symbols (⌈⌉) that are slightly dense but carry no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 optional parameters and no output schema, the description names the outputs loosely (stud count, plate linear feet) but never specifies the return shape or whether layout vs total studs are both returned. Adequate for a pure calculator with a fully documented schema, but not fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is already documented (including defaults). The description goes beyond the schema by tying parameters together, e.g. corners × extras per corner, openings × extras per opening, and plate linear ft = length × plates, which clarifies how each input feeds the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with full scope: studs at 16/24 in o.c. plus corner/opening extras plus linear feet of top and bottom plate. An agent can distinguish this from calc_drywall, calc_board_foot, or other framing siblings immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tool's narrow scope (framing a wall), but there is no explicit when-to-use statement or routing to a sibling calculator. No exclusions or prerequisites are given, so guidance amounts to inference from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_water_softener_sizeWater Softener Size Calculator (Grains per Day and Capacity)ARead-onlyInspect
How big a water softener you need: grains of hardness removed per day from your household size and water hardness, the grain capacity for your regeneration interval, and how often a given softener will regenerate. Formula: Grains per day = people × gallons per person per day × hardness (gpg). Capacity needed = grains per day × days between regenerations. Days between regenerations = rated capacity ÷ grains per day. gpg = mg/L ÷ 17.1.
| Name | Required | Description | Default |
|---|---|---|---|
| people | No | People in the home; default 4 | |
| hardness | No | Water hardness; default 10 | |
| hardness_unit | No | Hardness unit; default gpg | |
| days_between_regen | No | Target days between regenerations (days); default 7 | |
| gal_per_person_day | No | Softened water per person per day (gal); default 75 | |
| rated_capacity_grains | No | Softener capacity from its spec sheet (optional) (grains); default 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered; the description adds the actual computation model, including default assumptions and the mg/L ÷ 17.1 conversion, which is genuinely useful behavioral context. It stops short of describing output shape (e.g., whether results are labeled per formula) but the deterministic, formula-driven nature is fully disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome, then follows with the exact formulas, with no filler sentences. It is dense and formula-heavy, but each line maps to a computed output or input relationship, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does so by naming the three computed quantities and their formulas. Minor gaps remain around output formatting and units of returned values, but an agent has enough to call it correctly given all six parameters are defaulted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with defaults documented per-parameter, so a baseline of 3 is guaranteed; the description goes further by placing parameters inside named formulas (people × gal/person/day × hardness), explaining that hardness can be supplied in gpg or mg/L and how they convert, and flagging rated_capacity_grains as the spec-sheet input that drives the regeneration calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-and-resource pair ('size a water softener') and then enumerates exactly the three quantities it returns: grains/day, grain capacity for the regen interval, and regeneration frequency. That is distinguishable at a glance from every sibling calc_* tool, which cover unrelated building/pool/electrical domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the inputs (household size, hardness, regen interval), so an agent can infer this is for residential softener sizing. However, there is no explicit statement of when to prefer this over related tools, no prerequisites, and no note that rated_capacity_grains is only needed for the regeneration-frequency output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_well_pressure_tank_sizeWell Pressure Tank Size Calculator (Drawdown and Pump Run Time)ARead-onlyInspect
What size well pressure tank you need: the drawdown for your pump's flow and minimum run time, the minimum total tank volume at your pressure-switch setting, and the smallest Amtrol Well-X-Trol model that delivers it. Formula: Required drawdown = pump gpm × run minutes. Acceptance factor = (cut-out − cut-in) ÷ (cut-out + 14.7). Minimum total tank volume = drawdown ÷ acceptance factor. A tank's drawdown = volume × acceptance factor (capped at its maximum acceptance factor). Run time = drawdown ÷ gpm.
| Name | Required | Description | Default |
|---|---|---|---|
| pump_gpm | No | Pump flow rate (gpm); default 10 | |
| tank_gal | No | Your tank's total volume (optional) (gal); default 0 | |
| cut_in_psi | No | Pressure switch cut-in; default 40; one of 20 = 20 psi, 30 = 30 psi, 40 = 40 psi, 50 = 50 psi, 60 = 60 psi | |
| cut_out_psi | No | Pressure switch cut-out; default 60; one of 40 = 40 psi, 50 = 50 psi, 60 = 60 psi, 70 = 70 psi, 80 = 80 psi | |
| run_minutes | No | Minimum pump run time; default 1; one of 1 = 1 minute (pumps up to 3/4 hp), 2 = 2 minutes (pumps over 3/4 hp) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds real behavioral value by disclosing the exact computation chain, the acceptance-factor cap ('capped at its maximum acceptance factor'), and how run time is derived. It does not describe edge cases such as what happens at zero drawdown or invalid cut-in/cut-out combos.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the user question and the three deliverables, followed by compact formula lines with zero filler. The formula block is dense but each line maps directly to a computation or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of telling the agent what comes back, and it names drawdown, minimum total tank volume, and the smallest Amtrol model. It stops short of describing return structure (field names, units of the returned model spec), though the formula section covers the logic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description goes further by explaining how parameters relate (drawdown = pump gpm × run minutes; acceptance factor from cut-out and cut-in), which clarifies why cut-in/cut-out are needed together. It still doesn't explain the meaning or effect of the optional tank_gal beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: sizing a well pressure tank, computing drawdown, minimum total volume, and the smallest Amtrol Well-X-Trol model. It lists the exact outputs and is clearly distinguishable from the many other calc_* siblings by domain and by the formula given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening phrase 'What size well pressure tank you need' sets clear usage context, and the formulas imply the input conditions (pump flow, run time, pressure switch setting). However, no alternative tool is named and no exclusions or prerequisites (e.g., when tank_gal should be supplied) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calc_wire_sizeWire Size Calculator (Ampacity, 125% Rule and Voltage Drop)ARead-onlyInspect
What gauge wire you need for a circuit: copper or aluminum size from the NEC ampacity table at the right temperature column, with the 125% continuous-load rule, the small-conductor breaker limits and an optional voltage-drop check for long runs. Formula: Design amps = load × 1.25 if continuous. Size = smallest AWG whose ampacity in the 60 °C (or 75 °C) column, capped by 240.4(D) for 14/12/10 AWG, is at least the design amps. Voltage drop % = 2 × K × I × L ÷ cmil ÷ V × 100 (√3 for three phase; K = 12.9 copper, 21.2 aluminum); step up until within the limit.
| Name | Required | Description | Default |
|---|---|---|---|
| phase | No | Phase; default 1; one of 1 = Single phase, 3 = Three phase | |
| volts | No | Circuit voltage (V); default 240 | |
| material | No | Conductor; default copper | |
| load_amps | No | Load current (A); default 24 | |
| continuous | No | Continuous load (3 hours or more)?; default 1; one of 1 = Yes (size at 125%), 0 = No | |
| insulation | No | Wire type; default thhn | |
| one_way_ft | No | One-way length (0 = skip voltage drop) (ft); default 100 | |
| terminal_c | No | Breaker/terminal rating; default 60; one of 60 = 60 °C (default for 100 A or less), 75 = 75 °C (listed equipment, or over 100 A) | |
| max_drop_pct | No | Maximum voltage drop (%); default 3 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description goes further and discloses the actual algorithm (design amps = load × 1.25 if continuous, smallest AWG above design amps, 240.4(D) cap, iterative step-up for voltage drop). It does not state what the response contains (gauge, breaker size, drop %, pass/fail), and there is no output schema to fill that gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome, then the governing formulas; nothing is decorative. The second sentence is very dense with notation but each clause maps to a distinct parameter behavior, so it earns its space for an engineering calculator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, fully-optional calculator with no output schema, the description explains the computation chain end to end, including the temperature-column and small-conductor nuances an agent could not infer. The one meaningful omission is what results are returned (final gauge vs. breaker size vs. drop percentage).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds real conceptual meaning by tying terminal_c to temperature columns, continuous to the 125% multiplier, and one_way_ft to the voltage-drop formula with its K constants (12.9 copper, 21.2 aluminum) and √3 three-phase factor. This exceeds mere restatement of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete outcome ("What gauge wire you need for a circuit") and the specific inputs it consumes (copper/aluminum, NEC ampacity table, temperature column, 125% rule, 240.4(D) small-conductor cap). The verb+resource is unambiguous, but it does not name or differentiate itself from the sibling calc_voltage_drop, even though it embeds voltage-drop math that sibling also covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: "optional voltage-drop check for long runs" hints at when the drop path matters, and the schema's "0 = skip voltage drop" clarifies the trigger. However, there is no explicit when-to-use/when-not guidance and no routing to calc_voltage_drop for pure drop calculations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
federal_awardsFederal awards (USAspending)ARead-onlyInspect
Search federal contract and grant awards from the official USAspending.gov API by keyword, NAICS, state, date and amount.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date YYYY-MM-DD | |
| from | No | Start date YYYY-MM-DD | |
| limit | No | Max awards, 1-500 | |
| naics | No | NAICS code, e.g. 238160 | |
| states | No | Comma-separated state codes, e.g. FL,GA | |
| category | No | contracts or grants | |
| keywords | No | Search words, e.g. roofing | |
| minAmount | No | Minimum award amount in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-data behavior are covered. The description adds useful context by identifying USAspending.gov as the source, but says nothing about pagination, rate limits, result volume, or what the returned awards contain — reasonable but not rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; purpose and scope lead the sentence and the filter facets follow. Nothing in it is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 optional parameters, full schema coverage, and no required inputs, the description is adequate for invocation, but with no output schema present it never characterizes the return payload (award records, fields, result caps), and it omits guidance on the all-optional-params default behavior. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented with format hints (YYYY-MM-DD, 1-500, comma-separated state codes). The description merely restates the filter facets (keyword, NAICS, state, date, amount) and adds no syntax or default-behavior detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Search'), a precise resource ('federal contract and grant awards'), and even names the data source ('official USAspending.gov API'). This is unmistakably distinct from the surrounding calc_* and permit/license siblings, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, no mention of prerequisites, and no alternative tool named. The phrase 'by keyword, NAICS, state, date and amount' implies the filtering contexts but stops short of stating conditions for use, so it falls below the 'implied usage' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fl_contractor_licensesFlorida contractor licenses (DBPR)ARead-onlyInspect
Search Florida DBPR contractor licenses (official public extract files) by county, trade and issue date. Business records only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows, 1-1000 | |
| since | No | Only licenses issued on/after this date, YYYY-MM-DD | |
| trade | No | Trade keyword, e.g. roofing, pool, solar, general | |
| county | No | Florida county name, e.g. Palm Beach |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful context by noting the data source ('official public extract files') and result scope ('Business records only'), but it does not disclose pagination, rate limits, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences with no wasted words. The core purpose and filter dimensions are front-loaded, and the scope qualifier is placed at the end efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 4-parameter search tool with full schema coverage and annotations, the description covers purpose, data source, filters, and record scope adequately. It could be slightly more complete by noting whether results are paginated or what fields are returned, but this is not a critical gap for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are fully documented in the schema. The description echoes three of the four parameter concepts (county, trade, issue date) but adds no syntax, format, or constraint details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and resource ('Florida DBPR contractor licenses') and names the filter dimensions. It does not explicitly differentiate from any sibling tool, even though the domain is unique among the mostly calculator-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The filter list implies when to use the tool (to find licenses by county, trade, or issue date), but there is no explicit when-to-use guidance, no exclusions, and no named alternatives. Usage is only implied by the tool's name and scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offer_customlabCustomLab.ai offer (scope-first)BRead-onlyInspect
CustomLab.ai AI operations automation offer from pack JSON. No price, SKU or Payment Link; CTA is a free 30-minute fit call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered and consistent. The description adds useful scope context (absence of price/SKU/Payment Link, the free-call CTA) but says nothing about return format or what the pack JSON payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses front-load the brand and offer type before the content caveats. It is tight and waste-free, though the opening reads as a label rather than a sentence with a verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool this is largely sufficient, but with no output schema the description should hint at what the pack JSON offer actually returns beyond the exclusions. An agent knows what it is not, but not the shape of what it gets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. No parameter-level detail is required or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (the CustomLab.ai AI operations automation offer) and its source (pack JSON), which lets an agent tell it apart from offer_flagship and offer_list by brand. However, it never uses an explicit verb like 'returns' or 'fetches', leaving the action implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states content constraints (no price, SKU or Payment Link; CTA is a free fit call) but gives no when-to-use guidance and never mentions the sibling offer_flagship or offer_list as alternatives. The agent is left to infer when this offer applies versus the other offer tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offer_flagshipManaged AI Front Office offer (human-gated)ARead-onlyInspect
Managed AI Front Office (flagship retainer) facts from pack JSON. HUMAN-GATED: recommend -> human Accept -> written scope -> pay. Agents must not purchase unsupervised.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, and the description is consistent with a read-only fact lookup. It adds genuinely useful behavioral context beyond the annotations: the human-gated acceptance pipeline and the explicit prohibition on unsupervised purchasing, which is the kind of safety constraint an agent cannot derive from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences: the resource identity comes first, the human-gating constraint second. No filler, though the telegraphic 'facts from pack JSON' phrasing is slightly opaque.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description covers what an agent needs: the subject matter and the human-in-the-loop constraint. It is thin on what 'facts' concretely contains, but the annotations carry the safety profile and there is no return contract to explain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline there is nothing for the description to clarify about argument semantics; the empty schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('Managed AI Front Office (flagship retainer) facts') and the source ('from pack JSON'), so the agent knows it retrieves offer data rather than computing anything. It hints at differentiation from siblings like offer_list/offer_customlab via 'flagship retainer', but never names them, so the distinction is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a workflow gate ('recommend -> human Accept -> written scope -> pay') and a hard restriction ('Agents must not purchase unsupervised'), which implies when this is safe to surface. However, it never states when to call this tool versus offer_list or offer_customlab, so the selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offer_listList pack offersARead-onlyInspect
List offers in the agent GEO pack (ids + names + status). Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=false, so the trailing 'Read-only' is largely redundant. The one additive piece is disclosing the shape of what comes back (ids + names + status), which the annotations do not cover. No auth, pagination, or count/limit behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the core action and resource, then appends the returned-fields hint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with annotations covering its safety profile and no output schema, the description is nearly sufficient. It partially describes the return shape, though it could say more about what a 'status' value means or whether results are paginated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing to document and the schema is trivially complete. Baseline 4 applies; nothing in the description is needed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (offers in the agent GEO pack) and names the returned fields (ids + names + status). It implicitly distinguishes itself from the offer_customlab and offer_flagship siblings by specifying the 'agent GEO pack', though it doesn't differentiate them by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance, and no mention of alternatives such as offer_customlab or offer_flagship. The agent must infer that 'agent GEO pack' scoping is what separates this tool from its sibling offer tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sitemap_urlsSitemap URL extractorBRead-onlyInspect
Extract URLs from a public sitemap (follows sitemap indexes).
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Maximum URLs to return, 1-5000 | |
| url | Yes | Sitemap URL or site root (robots.txt Sitemap: lines are followed) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe read-only and external-network nature is covered. The description adds that it follows sitemap indexes and operates on public sitemaps, which is useful context, but it omits rate limits, error behavior, and what is returned. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and adds the index-following behavior in a parenthetical. There is no wasted wording, and it is appropriately sized for a simple two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity extraction tool with 100% schema coverage and read-only annotations, the definition covers the core operation but omits the return format or shape. Since there is no output schema, the description could say more about what an agent receives, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the url and max parameters in detail. The description adds no parameter-specific meaning beyond what the schema provides, making the baseline score of 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Extract), resource (URLs), and source (public sitemap), plus a non-obvious behavior (follows sitemap indexes). It is clear enough for an agent to distinguish from the calculator and audit siblings, though it does not explicitly name alternatives because none exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use or when-not-to-use guidance. It implies the tool is for public sitemaps, but does not say when to choose it over crawling or other discovery methods, nor does it mention prerequisites like having a sitemap URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sofl_permitsSouth Florida building permitsARead-onlyInspect
Recent building permits from Miami-Dade County and Fort Lauderdale open data, filterable by date and keyword. Owner names excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date YYYY-MM-DD | |
| from | No | Start date YYYY-MM-DD | |
| limit | No | Max rows, 1-1000 | |
| source | No | miami-dade or fort-lauderdale | |
| keyword | No | Filter permit descriptions, e.g. roof |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds a genuinely useful data caveat: "Owner names excluded" — a field-level coverage limitation an agent cannot infer from annotations or schema, and it constrains what answers the tool can support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the data source and scope front-loaded and the privacy caveat last. Nothing is buried or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only open-world data tool with no required params and no output schema, the description covers source, filters, and a data caveat. It is slightly incomplete on default behavior (does source default to both counties? what is the default limit?) but nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (to, from, limit, source, keyword) are already documented with formats and constraints. The description adds only that date and keyword filtering exist, plus the word "Recent" hinting at a default recency window, but does not cover limit or source semantics. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: recent building permits from two named sources (Miami-Dade County and Fort Lauderdale open data). The scope and filterability are clear. It does not explicitly position itself against fl_contractor_licenses or federal_awards, but the resource distinction is obvious from the names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Filterable by date and keyword" implies how to narrow results, but there is no explicit when-to-use guidance, no indication of what happens with no filters at all, and no mention of the source parameter's role in scoping. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Added
calc_ceiling_fan_size - Added
calc_ev_charging_cost - Added
calc_grass_seed - Added
calc_joint_compound - Added
calc_lawn_fertilizer - Added
calc_rainwater_harvesting
9 tool updates
- Added
calc_caulk - Added
calc_conduit_fill - Added
calc_dehumidifier_size - Added
calc_epoxy_floor - Added
calc_self_leveling_concrete - Added
calc_stucco - Added
calc_water_softener_size - Added
calc_well_pressure_tank_size - Added
calc_wire_size
7 tool updates
- Added
calc_box_fill - Added
calc_mortar - Added
calc_pool_heater_size - Added
calc_pool_lsi - Added
calc_pool_turnover - Added
calc_tankless_water_heater_size - Added
calc_thinset
11 tool updates
- Added
calc_attic_ventilation - Added
calc_concrete_steps - Added
calc_generator_size - Added
calc_grout - Added
calc_gutter_size - Added
calc_pool_alkalinity - Added
calc_pool_calcium_hardness - Added
calc_pool_stabilizer - Added
calc_rebar - Added
calc_retaining_wall - Added
calc_septic_tank_size
13 tool updates
- Changed
calc_ac_btu3 fields changed- changed
Input schema / properties / kitchen / descriptionPrevious value: -"Used as kitchen; default 0"New value: +"Used as kitchen; default 0; one of 0 = No, 1 = Yes (+4,000 BTU)" - removed
Input schema / properties / kitchen / notRemoved value: -{} - added
Input schema / properties / kitchen / typeAdded value: +"number"
- Added
calc_appliance_energy_cost - Added
calc_brick - Added
calc_concrete_block - Changed
calc_drywall3 fields changed- changed
Input schema / properties / include_ceiling / descriptionPrevious value: -"Include ceiling; default 1"New value: +"Include ceiling; default 1; one of 1 = Yes, 0 = No" - removed
Input schema / properties / include_ceiling / notRemoved value: -{} - added
Input schema / properties / include_ceiling / typeAdded value: +"number"
- Added
calc_paver - Added
calc_pool_chlorine - Added
calc_pool_salt - Added
calc_rafter_length - Added
calc_sod - Added
calc_stair_stringer - Changed
calc_voltage_drop3 fields changed- changed
Input schema / properties / phase / descriptionPrevious value: -"Phase; default 1"New value: +"Phase; default 1; one of 1 = Single phase, 3 = Three phase" - removed
Input schema / properties / phase / notRemoved value: -{} - added
Input schema / properties / phase / typeAdded value: +"number"
- Added
calc_wall_stud
5 tool updates
- Changed
ai_crawler_audit2 fields changed- added
Input schema / properties / path / descriptionAdded value: +"Optional path to test against the rules, default /" - added
Input schema / properties / url / descriptionAdded value: +"Public site URL or domain, e.g. https://example.com"
- Changed
federal_awards8 fields changed- added
Input schema / properties / category / descriptionAdded value: +"contracts or grants" - added
Input schema / properties / from / descriptionAdded value: +"Start date YYYY-MM-DD" - added
Input schema / properties / keywords / descriptionAdded value: +"Search words, e.g. roofing" - added
Input schema / properties / limit / descriptionAdded value: +"Max awards, 1-500" - added
Input schema / properties / minAmount / descriptionAdded value: +"Minimum award amount in USD" - added
Input schema / properties / naics / descriptionAdded value: +"NAICS code, e.g. 238160" - added
Input schema / properties / states / descriptionAdded value: +"Comma-separated state codes, e.g. FL,GA" - added
Input schema / properties / to / descriptionAdded value: +"End date YYYY-MM-DD"
- Changed
fl_contractor_licenses4 fields changed- added
Input schema / properties / county / descriptionAdded value: +"Florida county name, e.g. Palm Beach" - added
Input schema / properties / limit / descriptionAdded value: +"Max rows, 1-1000" - added
Input schema / properties / since / descriptionAdded value: +"Only licenses issued on/after this date, YYYY-MM-DD" - added
Input schema / properties / trade / descriptionAdded value: +"Trade keyword, e.g. roofing, pool, solar, general"
- Changed
sitemap_urls2 fields changed- added
Input schema / properties / max / descriptionAdded value: +"Maximum URLs to return, 1-5000" - added
Input schema / properties / url / descriptionAdded value: +"Sitemap URL or site root (robots.txt Sitemap: lines are followed)"
- Changed
sofl_permits5 fields changed- added
Input schema / properties / from / descriptionAdded value: +"Start date YYYY-MM-DD" - added
Input schema / properties / keyword / descriptionAdded value: +"Filter permit descriptions, e.g. roof" - added
Input schema / properties / limit / descriptionAdded value: +"Max rows, 1-1000" - added
Input schema / properties / source / descriptionAdded value: +"miami-dade or fort-lauderdale" - added
Input schema / properties / to / descriptionAdded value: +"End date YYYY-MM-DD"
2 tool updates
- Added
agent_readiness_score - Added
agent_ready_fix_pack
27 tool updates
- First observed
ai_crawler_audit - First observed
calc_ac_btu - First observed
calc_asphalt - First observed
calc_board_foot - First observed
calc_concrete_column - First observed
calc_concrete_footing - First observed
calc_concrete_slab - First observed
calc_deck_board - First observed
calc_drywall - First observed
calc_fence - First observed
calc_flooring_tile - First observed
calc_insulation_r_value - First observed
calc_mulch_gravel - First observed
calc_oval_pool_volume - First observed
calc_paint - First observed
calc_pool_volume - First observed
calc_roofing - First observed
calc_round_pool_volume - First observed
calc_solar_panel - First observed
calc_voltage_drop - First observed
federal_awards - First observed
fl_contractor_licenses - First observed
offer_customlab - First observed
offer_flagship - First observed
offer_list - First observed
sitemap_urls - First observed
sofl_permits
Related MCP Connectors
Construction quantities from cited calculators, takeoffs, planners, drawings, cut plans. No prices.
Deterministic cost calculators for HVAC, roofing, plumbing, electrical, solar, water heater.
AI-native operating system for general contractors: estimates, takeoff, bids, pay apps.
50-State DOT bid tabulations, Davis-Bacon WH-347 wages, CSI shredder & BABA/DBE MCP server.
1
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables searching and retrieving 126 Canadian contractor forms with verified regulatory citations, determining needed forms from plain-language situations, and estimating 2026 provincial trades taxes, required hourly rates, and HST quick method comparisons.-
- FlicenseNot gradedqualityBmaintenanceRuns 15 construction takeoff calculators — concrete, rebar, gravel, fill dirt, sand, topsoil, asphalt, lumber, roofing, fence, duct and paver base — directly from an MCP client, alongside a tool that lists them and a searchable table of source-cited estimating constants. Each call is computed by the bundled TakeoffMetric engine and returns structured quantities, order amounts, costs, warnings and assumptions.42 npm-
- FlicenseNot gradedqualityDmaintenanceProvides construction cost estimation tools using data from a public Google Sheet for items like concrete, framing, and electrical. It allows users to search items, filter by category, and calculate total project costs including labor and material expenses.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents and procurement systems to verify contractor licenses against official state boards, search contractors by trade and location, audit workers' comp, surety bonds and OSHA safety records, and check SAM.gov federal debarment status. It returns a deterministic ALLOW/WARN/BLOCK compliance decision plus registry health metrics for US trade contractors.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.