Skip to main content
Glama

Server Details

94 tools, one small door: home costs, fitness, QR, barcodes, Markdown, SEO, recalls.

Ownership verified
Status
Healthy
Uptime
99.8% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.3/5.0

Scored across 94 tools

Disambiguation4/5

Most tools target clearly distinct operations, and detailed descriptions help differentiate overlapping categories like multiple cost estimators or date utilities. However, the sheer number of similar-sounding calculators and estimators introduces some potential for misselection, though not severe.

Naming Consistency4/5

All tool names use snake_case consistently, which is predictable and readable. However, grammatical patterns vary (e.g., verb_noun like extract_strings, noun_noun like bmi_calculator, and adj_verb like scientific_evaluate), creating minor inconsistency in convention.

Tool Count1/5

With 94 tools, the server far exceeds practical limits for a single MCP surface, creating severe selection overload and cognitive burden. The collection spans many unrelated domains, making it impossible to scope meaningfully.

Completeness3/5

The surface covers a wide variety of calculation and inspection tasks, but lacks cohesive lifecycle or CRUD operations for any domain and has notable gaps (e.g., no API request tools despite the server name, no data persistence, partial coverage in finance/construction). Agents can often work around these gaps by chaining tools, but dead ends exist.

Available Tools

94 tools
apa_citation_generatorAPA Citation GeneratorC
Read-onlyIdempotent
Inspect

Format an APA reference and in-text citations from entered source metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNo
urlNo
dateNo
typeYes
issueNo
pagesNo
titleYes
volumeNo
authorsNo
editionNo
editorsNo
journalNo
changingNo
platformNo
siteNameNo
bookTitleNo
publisherNo
retrievedNo
reportNumberNo
sentenceCaseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and determinism profile is fully covered by structured data. The description adds only a light clarification that input is 'source metadata' rather than free text, and says nothing about formatting rules, error behavior on incomplete metadata, or validation. With annotations doing the heavy lifting, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every word earns its place and the core action is stated first. It is arguably too sparse for a 20-parameter tool, but that is a completeness issue rather than wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 20 parameters, 0% schema description coverage, and no output explanation needed (an output schema exists), the description leaves the agent without any field-level or behavioral guidance. It does not clarify which fields apply to which source type or how partial metadata is handled, which is the critical missing context here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 20 parameters, so the description must compensate and does not: it never mentions any field, the type enum (journal/book/chapter/webpage/report/video), or the meaning of flags like 'changing' and 'sentenceCase' (default true). 'Entered source metadata' is only a vague gesture at the field set. This is a substantial gap for a tool with 20 inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (format) and a specific resource (APA reference and in-text citations) plus the input domain (entered source metadata). An agent can immediately tell what this does, and no sibling tool overlaps with citation formatting, so differentiation is inherent rather than stated. It stops short of specifying scope (e.g., APA 7th edition, which citation styles for which source types).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives or when this tool is inappropriate (e.g., for non-APA styles). The only implied usage is the one-sentence purpose itself. Nothing tells the agent what metadata is mandatory versus optional before calling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

average_calculatorAverage CalculatorA
Read-onlyIdempotent
Inspect

Compute mean, median, modes, range, sum, count, population and sample standard deviation, plus an optional separately weighted average.

ParametersJSON Schema
NameRequiredDescriptionDefault
valuesYes1–1000 finite values in a common unit.
weightsNoOptional one weight per value; at least one positive weight. Weights affect only weightedAverage.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the useful fact that weighting applies only to a separately reported average (the other statistics stay unweighted), but says nothing about error behavior for mismatched weight/value lengths or invalid input. That is acceptable given annotation coverage, but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the verb and resource, then lists outputs compactly. No filler or repetition of the title. The trailing 'plus an optional separately weighted average' clause is slightly awkwardly appended but still earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and both parameters are fully documented in the schema. The description covers what is computed and the weighted variant; the only gap is edge-case behavior (empty/oversized arrays, weight mismatch) which the schema bounds partially address.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents units, bounds (±10^12), item limits (1–1000), and that weights must have at least one positive entry. The description's only parameter-level contribution is reinforcing that weights are optional and scoped to weightedAverage. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (compute) and enumerates exactly which statistics are produced: mean, median, modes, range, sum, count, population/sample standard deviation, plus an optional weighted average. This clearly separates it from numeric siblings like z_score, logarithm, or percentage_calculator, which compute different things from the same kind of input.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no mention of alternate tools for related statistics. The only routing hint is the phrase 'optional separately weighted average', which signals a variant of the same operation rather than pointing at a sibling. For a self-evident calculator the omission is tolerable, but no explicit guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

base_convertDecimal to Hex ConverterA
Read-onlyIdempotent
Inspect

Converts a bounded integer string between bases 2 through 36 using exact BigInt arithmetic. Inputs contain 1–4096 digits and must be valid in the source base. Optional bitWidth (1–4096) validates a bit pattern; signed=true requires a width and reads the source value as two’s complement. Unsigned is the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesDigits 0–9/A–Z without prefix, sign or separators; valid in fromBase.
signedNoDefaults to false. When true, interpret the fitting source bit pattern as two’s complement.
toBaseYes
bitWidthNoOptional bit width; required when signed is true.
fromBaseYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds value beyond them: exact BigInt arithmetic (no precision loss), a 1–4096 digit input bound, an explicit validity requirement in the source base, and the two's-complement reading rule when signed is true. It stops short of describing error output when input is invalid or out of range for the width.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with purpose before constraints, and every clause carries information. Minor redundancy with the schema on the signed default and bitWidth requirement keeps it just short of ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers the input contract, the optional bitWidth/signed interaction, and the arithmetic guarantee. What remains thin is failure behavior for invalid digits or values exceeding bitWidth, which an agent would benefit from knowing before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%, and the description mostly restates schema text (digits 0–9/A–Z, no prefix/sign/separators, signed defaults to false, bitWidth required when signed). The undocumented fromBase/toBase parameters are only covered implicitly by 'bases 2 through 36', so it does not fully compensate for the coverage gap; baseline 3 fits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (converts), a specific resource (integer string), and a precise scope (bases 2 through 36, exact BigInt arithmetic). The digit-count bound and two's-complement/bitWidth framing distinguish it from generic converters like unit_convert or decimal_to_fraction 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope implies when to reach for it (integer base conversion with optional bit-pattern validation), and the conditional 'signed=true requires a width' is a useful usage rule. However, it never names or excludes siblings such as unit_convert, epoch_convert, roman_numeral, or decimal_to_fraction, so routing between the many converters 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.

basement_water_causeBasement water cause finderA
Read-onlyIdempotent
Inspect

Narrow down why a basement gets wet and who fixes it. Eight observation groups return every rule-matched possible cause, evidence, safe first checks, trade referrals and sources. Hazard stops come first; no probabilities or structural diagnosis. Pure rules, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
sumpNoSelect observed codes, [] for none observed, or 'unknown'. none: No sump; power_lost: Sump power was lost; pit_filling_no_discharge: Pit filling without discharge; running: Sump is running; seepage_no_inflow: Seepage without water flowing into the pitunknown
whereNoSelect observed codes, [] for none observed, or 'unknown'. wall_crack: Water at a wall crack; wall_floor_joint: Water at the wall-floor joint; floor: Water through the floor; window: Water at a window; overhead_pipe: Water at an overhead pipe or fixture; floor_drain: Water from a floor drain; crack_changing: A crack is changing; wall_bowing: A wall is bowingunknown
hazardNoSelect observed codes, [] for none observed, or 'unknown'. standing_water: Standing water; sewage: Sewage or suspected drain backup; electrical: Possible water contact with electrical equipmentunknown
timingNoSelect observed codes, [] for none observed, or 'unknown'. rain: Wetness after rain; snowmelt: Wetness after snowmelt; dry_weather: Wetness during dry weather; water_use: Wetness during water use; humid_summer: Wetness during humid summer conditionsunknown
gradingNoSelect observed codes, [] for none observed, or 'unknown'. slopes_toward: Ground slopes toward the house; puddles: Puddles beside the foundationunknown
guttersNoSelect observed codes, [] for none observed, or 'unknown'. overflowing: Gutters overflowing; missing: Gutters missing; downspout_near: Downspout discharges near the foundationunknown
moistureNoSelect observed codes, [] for none observed, or 'unknown'. cold_surface_sweating: Cold surfaces sweating; humid_air: Humid air entering; indoor_sources: Indoor moisture sources; visible_drip: Visible pipe or fixture dripunknown
window_wellNoSelect observed codes, [] for none observed, or 'unknown'. debris: Debris in a window well; ponding: Water collects in a window well; starts_at_window: Wetness starts at the windowunknown

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral detail beyond the annotations (readOnly, idempotent, non-destructive): it returns every rule-matched possible cause, evidence, safe first checks, trade referrals, and sources; hazard stops come first; it provides no probabilities or structural diagnosis; it is pure rules with no network or model. This is rich context for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core purpose, followed by output details and constraints. Every sentence earns its place and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 optional parameters and no output schema, the description covers the output content (causes, evidence, checks, referrals, sources) and key limitations (hazard stops first, no probabilities, pure rules). It does not explain that all parameters are optional or how to combine observations, but the schema covers that. Minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter's enum values are thoroughly described in the schema. The tool description does not add meaning beyond the schema; it only refers to 'eight observation groups' without detailing individual parameters. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Narrow down why a basement gets wet and who fixes it.' It also details the output: eight observation groups returning rule-matched causes, evidence, safe first checks, trade referrals, and sources. This distinguishes it from generic calculators, though the sibling yard_drainage_cause is not explicitly named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: the tool is for diagnosing basement water issues. There is no explicit guidance on when to use this versus alternatives, such as the sibling yard_drainage_cause, and no exclusions or conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bmi_calculatorBMI CalculatorA
Read-onlyIdempotent
Inspect

Calculate adult BMI and its band from weight, height and units.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitsNometric
heightYesMetres (metric) or total inches (imperial)
weightYesKilograms (metric) or pounds (imperial)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds that output includes the classification band and that the calculation targets adults, but discloses no further behavioral traits (e.g. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. Every clause earns its place by naming the action, output, and inputs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. For a deterministic calculator the description covers essentials, though it omits unit-mismatch or range caveats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and both height and weight carry unit-interpretation descriptions, while units is a self-documenting enum with a default. The description merely names the three inputs and adds no meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Calculate) and resource (adult BMI and its band) with clear inputs (weight, height, units). The 'adult' qualifier usefully scopes it and separates it from siblings like body_fat_calculator without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not, or alternative-tool guidance is given. With related siblings such as body_fat_calculator and one_rep_max_calculator present, the description offers nothing to route an agent between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

board_feetBoard Foot CalculatorA
Read-onlyIdempotent
Inspect

Sum board-foot lumber volumes from entered dimensions and whole piece counts, with per-row optional prices and a priced subtotal.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that per-row prices are optional and that a priced subtotal is produced, which is useful context, but it does not disclose edge cases, unit handling, or other behavioral details beyond the purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded sentence that communicates the computation, inputs, and optional pricing without any filler. Every phrase contributes to understanding the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, detailed input schema, and presence of an output schema, the description is complete enough for an agent to understand the tool. Return values need not be explained because an output schema exists, and the description correctly focuses on the calculation and optional pricing behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is reported as 0%, so the description must compensate for the single top-level 'rows' parameter. It names the relevant concepts (dimensions, whole piece counts, per-row optional prices), but omits unit defaults and quantity defaults that are present in the nested schema properties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Sum board-foot lumber volumes' and specifies the inputs (entered dimensions and whole piece counts) plus optional pricing. This clearly distinguishes it from sibling calculators such as square_footage_calculator or volume_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose: it is for computing board-foot lumber volumes from dimensions and piece counts. However, the description does not explicitly say when to use this tool versus alternative calculators or when it is not appropriate, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

body_fat_calculatorBody Fat CalculatorB
Read-onlyIdempotent
Inspect

Calculate Navy body fat percentage from sex and tape measurements.

ParametersJSON Schema
NameRequiredDescriptionDefault
hipNoFemale hip circumference
sexYes
neckYesNeck circumference
unitsNoimperial
waistNoFemale waist circumference
heightYesHeight
abdomenNoMale abdomen circumference

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the 'Navy' formula context, which is genuinely useful, but omits the sex-conditional input contract and the units default that affect behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly written sentence with the verb front-loaded and no filler. It is appropriately short for the tool, though brevity comes at the cost of the missing conditional detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. However, with 7 parameters and a sex-conditional oneOf requirement, the description is too thin on the input contract and units handling to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71% and the schema documents most parameters, so baseline 3 applies. The description's 'sex and tape measurements' is vague and does not clarify the oneOf conditional (waist/hip required for female, abdomen for male) or the metric/imperial units parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: it states it calculates Navy-method body fat percentage and hints at inputs (sex, tape measurements). This distinguishes it from the many other calculators, though it does not explicitly name the closest sibling (bmi_calculator).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus bmi_calculator or other body-composition tools, and no mention of the sex-conditional input requirement (abdomen for male, waist/hip for female) or the metric/imperial default. The agent gets no routing or precondition help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_age_differenceAge Difference CalculatorA
Read-onlyIdempotent
Inspect

Calculate years, months, days and total days between two birth dates. Use explicit Gregorian dates and a stated month-end convention.

ParametersJSON Schema
NameRequiredDescriptionDefault
date1YesGregorian date YYYY-MM-DD, years 0001 through 9999.
date2YesGregorian date YYYY-MM-DD, years 0001 through 9999.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and openWorld=false. The description adds behavioral context by specifying the output components and a month-end convention, which is useful beyond the annotations, though the convention itself is not concretely defined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core calculation and followed by essential input guidance. No redundant or wasted language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity, rich input schema, present output schema, and informative annotations, the description is nearly complete. It could clarify parameter ordering and the exact month-end convention, but the required information for correct invocation is largely present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 date parameters. The description adds 'birth dates' and mentions month-end handling, but it does not name or further explain date1/date2 semantics, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: calculating years, months, days, and total days between two birth dates. This clearly identifies the operation, though it does not explicitly distinguish itself from sibling tools like date_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives input guidance ('Use explicit Gregorian dates and a stated month-end convention') but does not say when to choose this tool over alternatives such as date_calculator. Usage is implied from the age-difference context, not explicitly scoped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calorie_calculatorCalorie and Macro CalculatorB
Read-onlyIdempotent
Inspect

Calculate resting energy and daily calories from adult measurements, formula and activity level.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesAdult age in years
sexYes
feetNoImperial height in whole feet
unitsNometric
heightNoMetric height in centimetres
inchesNoImperial additional inches
methodNomifflin
weightYeskg or lb by units
bodyFatNoBody fat percentage
activityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered without the description. The description adds that it computes two distinct outputs (resting energy vs daily calories), but does not explain that daily calories depend on the activity multiplier. With annotations doing the heavy lifting, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Efficient, though it omits a lot that would have been worth the words: the method names and the bodyFat requirement for katch.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with complex oneOf/anyOf branch constraints and 60% schema coverage, the description is thin. It never mentions the imperial-vs-metric branching, the method enum, or the activity-level multiplier that drives daily calories. Output schema exists, so return values are exempt, but the input constraints are inadequately conveyed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so the schema already documents some parameters (height, feet, inches, weight, bodyFat, age). The description names formula, activity level and measurements as inputs, which is useful framing, but it does not explain the method enum (mifflin/harris/katch, where katch requires bodyFat) or clarify units handling. It neither compensates fully for the coverage gap nor adds nothing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Calculate) and resource (resting energy and daily calories), and names the inputs it draws from. It does not differentiate itself from close siblings like body_fat_calculator or bmi_calculator, though the 'resting energy and daily calories' output focus is fairly distinctive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no exclusions, and no mention of alternatives. The 'adult measurements' constraint is the only hint at applicability, and the tool does not route agents to bmi_calculator or body_fat_calculator when those are what the user needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

character_countCharacter counterB
Read-onlyIdempotent
Inspect

Count Unicode characters, words, lines and UTF-8 bytes from text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral detail — that characters means Unicode characters and bytes means UTF-8 — which clarifies the counting semantics beyond annotations, but it omits ambiguity-relevant behavior such as whitespace/newline handling or grapheme-cluster treatment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the enumerated outputs are the highest-value information and appear immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only counting utility with a full output schema, this is nearly complete — the output schema carries the return-value burden and the annotations carry the safety burden. The only residual gap is lack of differentiation from the sibling word_count and unspecified edge-case behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single 'text' parameter has an empty description, so the description carries the burden of clarifying input. 'from text' confirms the input is raw text, but adds no format, length-limit, or encoding guidance beyond the schema's own example value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Count') and enumerates the exact units measured (Unicode characters, words, lines, UTF-8 bytes), so the agent knows precisely what this tool computes. It does not, however, explicitly distinguish itself from the sibling word_count tool, which is the closest overlap in the list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no routing to alternatives. The presence of a sibling 'word_count' makes this gap meaningful — the agent gets no signal about when to pick character_count over word_count (or vice versa).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

combinationsCombination CalculatorB
Read-onlyIdempotent
Inspect

Compute exact combinations nCr or permutations nPr for bounded integer inputs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nYesTotal items n.
rYesSelected items r.
modeYesCounting operation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, non-destructive, and not open-world. The description adds that computation is 'exact' and inputs are 'bounded integers', which is useful behavioral context, but the bounds themselves are fully specified in the schema. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word contributes to stating the operation and its input constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description need not explain return values, and annotations cover the safety profile. The schema fully documents all three parameters. The main missing element is explicit usage guidance when choosing between combinations and permutations, but the mode enum partially covers that distinction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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's mention of 'nCr' and 'nPr' loosely maps to the mode enum, and 'bounded integer inputs' gestures at n and r, but it adds no meaning beyond what the schema already provides for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Compute') and resource ('combinations nCr or permutations nPr'), making the tool's operation unambiguous. It does not explicitly differentiate from any sibling tool, though none of the listed siblings perform combinatorial counting, so the lack of direct naming is minor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no when-not-to-use conditions, and no alternatives. It only states what the tool computes. For a calculator among many sibling calculators, it does not help the agent decide when this is the right tool versus, say, scientific_evaluate or power.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_factsCompany Info FinderA
Read-onlyIdempotent
Inspect

Read a business's own home, about and contact pages and return its name, address, phone, email, founding year and what it does, each with the page it came from. Page text goes to a language model: with no key, a small shared free daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe business's public http or https homepage URL.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/openWorld/idempotent/non-destructive, so the safety profile is handled. The description adds genuinely useful behavior beyond them: page text is sent to a language model, there is a small shared free daily allowance without a key, and an X-OpenRouter-Key header lets callers use their own key. That discloses rate-limit and auth behavior an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the first front-loads what it does and returns, the second carries the LLM/auth/allowance detail. No filler, and the purpose is stated before the operational caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description enumerates the returned fields and their provenance, plus the auth and rate-limit context. For a one-parameter read-only tool with rich annotations, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the url field is fully documented, so the baseline would be 3. The description adds meaning beyond the schema by clarifying that the single URL is the entry point and the tool also reads the business's about and contact pages, so the agent understands one homepage URL fans out to multiple pages.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Read a business's own home, about and contact pages') and enumerates the exact fields returned, so an agent knows exactly what it gets. It is clearly distinct from calculator siblings, but it never names or differentiates itself from web-fetching siblings like page_check or page_to_markdown, which is the closest ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies when to reach for it (when you need business identity details from a URL), but there is no explicit when-to-use/when-not guidance and no mention of the alternative page tools. The second sentence adds operational context (keys, allowance) but not selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compound_interest_calculatorCompound Interest CalculatorB
Read-onlyIdempotent
Inspect

Calculate compound or simple interest, balance, total contributed, interest earned, modeled APY and yearly balances from principal, nominal rate, term and deposit timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoInterest calculation; default compound
yearsYesTerm in years; a fractional tail earns modeled interest
principalYesInitial principal (USD; at most two decimal places)
annualRateYesNominal annual rate / APR (%)
contributionNoRecurring deposit per complete monthly/yearly period; default 0; simple mode requires 0 (USD; at most two decimal places)
compoundingPerYearNoEqual compounding periods per year, default 12
contributionTimingNoDeposit at start or end of each complete period; default end
contributionFrequencyNoDeposit interval, default monthly; fractional intervals have no deposit

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered without description help. The description adds only the enumeration of computed outputs, with no extra behavioral context (e.g., rounding, currency, precision behavior) beyond what annotations supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the long output enumeration makes it slightly list-heavy, but every clause maps to something the tool actually produces.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the schema carries all parameter detail. The description is complete enough for an agent to call correctly; only the absent sibling-routing and mode caveats keep it from being fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the schema with defaults, ranges and units. The description only paraphrases the top-level inputs (principal, nominal rate, term, deposit timing) and adds no syntax or edge-case detail beyond the schema, making baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Calculate) and resource (compound or simple interest) and enumerates the concrete outputs (balance, total contributed, interest earned, APY, yearly balances) plus the driving inputs. It clearly separates the two modes, though it does not differentiate itself from numerically adjacent siblings such as loan_schedule, roi, or inflation_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. The agent is not told how this differs from loan_schedule or roi, nor any preconditions such as the constraint that simple mode forbids contributions (though that lives in the schema).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

concrete_calculatorConcrete CalculatorA
Read-onlyIdempotent
Inspect

Computes slab, footing, cylindrical-column or solid-step concrete volume, waste allowance and whole 40/60/80 lb bag counts from QUIKRETE No. 1101 yields.

ParametersJSON Schema
NameRequiredDescriptionDefault
runNoRun per step.
riseNoRise per step.
unitNoCommon length unit for every entered dimension; default ft.
countNoIdentical project count; default 1.
shapeYesRectangular slab or footing, cylindrical column, or solid equal-rise/run steps.
stepsNoStep count.
wasteNoWaste percentage; default 10.
widthNoBase width.
heightNoPerpendicular height.
lengthNoBase length.
diameterNoColumn diameter in the common length unit.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds genuinely useful behavioral context the schema does not: results are derived from QUIKRETE No. 1101 yields and bag counts are rounded to whole bags, which tells the agent the numeric basis and rounding behavior of the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with zero filler, front-loaded on the verb and scope. Every clause (shapes, volume, waste allowance, bag counts, yield source) carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists so return values need not be re-explained, and annotations plus full schema coverage handle the mechanics. The description still supplies the calculation basis (QUIKRETE No. 1101) and shape coverage for an 11-parameter tool; only an explicit routing note toward generic volume tools is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters (unit, count, waste, steps, rise, run, etc.) are already documented in structured data. The description mentions the shape families and waste allowance but adds no syntax, defaults, or unit detail beyond the schema; the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Computes') with a precise resource set: slab/footing/cylindrical-column/solid-step concrete volume, waste allowance, and whole 40/60/80 lb bag counts. It is immediately distinguishable from near-siblings like volume_calculator or gravel_calculator, which do not produce bag counts from a named mix yield.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The shape list and concrete-specific scope imply when the tool applies (concrete pour estimates), but there is no explicit when-to-use statement or named alternative such as volume_calculator for non-concrete volumes. Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

date_calculatorDate CalculatorA
Read-onlyIdempotent
Inspect

Count signed calendar days or weekdays between dates, or add and subtract calendar units with month-end clamping.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoGregorian calendar date YYYY-MM-DD, years 0001–9999
dateNoGregorian calendar date YYYY-MM-DD, years 0001–9999
modeYesOperation
unitNoCalendar unit
startNoGregorian calendar date YYYY-MM-DD, years 0001–9999
amountNoSigned whole calendar units; negative subtracts
inclusiveNoCount both endpoints; default excludes earlier endpoint and includes later endpoint
weekdaysOnlyNoCount Monday–Friday only; holidays are included

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioural detail beyond that: results are signed (direction matters) and month arithmetic clamps at month end, neither of which appears in 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that pairs each mode with its defining behaviour and wastes no words. Both branches are covered in one compact clause each, which is exactly the right size for this tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations carry the safety profile. The description covers both modes plus clamping, leaving only minor gaps such as inclusive-endpoint defaults (which the schema already documents) and explicit sibling disambiguation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter (mode, start/end, date/amount/unit, inclusive, weekdaysOnly) is documented in the schema itself. The description restates the concepts of weekdays and calendar units without adding format, default, or edge-case semantics beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb pair (count / add-subtract) and the exact resource (calendar days, weekdays, calendar units), and it distinguishes the two operating modes ('between' vs 'shift') that the schema's oneOf encodes. It is nearly enough to separate it from neighbours like calendar_age_difference or julian_day_convert, though it never names 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the reader can infer that date-range counting uses the 'between' branch and arithmetic uses the 'shift' branch. There is no explicit when-to-use/when-not guidance and no routing away from overlapping siblings such as calendar_age_difference, so an agent must infer selection from the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

debt_to_incomeDebt-to-Income Ratio CalculatorA
Read-onlyIdempotent
Inspect

Arithmetic on entered numbers only: sum up to 100 entered monthly debt payments and divide by positive gross monthly income. Shows the sum and ratio percentage, rounded half up to two decimal places, with no comparison bands or classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthlyDebtsYesEntered monthly payments, not debt balances. Empty array means zero payments. The sum must be at most USD 100000000.
grossMonthlyIncomeYesGross monthly income before deductions in USD, at most two decimal places.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (read-only, idempotent, closed-world), the description discloses deterministic behavior: rounding half up to two decimals, returning the sum plus the ratio percentage, and explicitly omitting comparison bands or classification. It does not mention error behavior for invalid income, but the added behavioral detail exceeds 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence front-loads the arithmetic scope and then the output/rounding behavior; every clause carries information. Slightly packed, but nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter calculator with an output schema, the description covers inputs, the operation, and the rounding/output shape. Missing only edge-case handling (e.g., non-numeric or over-limit inputs), which the schema largely constrains already.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including numeric limits and the empty-array-means-zero rule. The description adds the count cap ('up to 100 payments') and 'positive' income, both of which mirror schema constraints rather than adding new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource (sum monthly debt payments and divide by gross monthly income) and states the scope 'arithmetic on entered numbers only', which separates it from fetch/classification-style siblings. The clause 'no comparison bands or classification' further distinguishes it from other ratio-style tools an agent might consider.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'entered numbers only' implies when this tool applies (user-supplied figures, not looked-up data) and rules out classification workflows, but no alternative sibling is named and there is no explicit when-not guidance. 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.

decimal_to_fractionDecimal to FractionA
Read-onlyIdempotent
Inspect

Converts a terminating or explicitly repeating decimal to an exact simplified fraction, mixed number and decimal display.

ParametersJSON Schema
NameRequiredDescriptionDefault
decimalYesDecimal: 0.125, 0.(3), 0.1(6), or combining bars on repeating digits. With ... every entered fractional digit repeats.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and determinism are covered. The description adds that the result is 'exact' and 'simplified' and produces multiple display forms, which is modest added context. It doesn't disclose error behavior (e.g., what happens for non-terminating non-repeating input), 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the conversion and the outputs with no filler. Appropriately sized for a one-parameter utility, though it could have used a second short sentence to route among siblings without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values (fraction, mixed number, decimal display) need no elaboration, and annotations cover the safety/idempotency profile. The only meaningful omission is guidance on invalid or ambiguous input and on sibling selection, which keeps it just short of fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself richly documents the notation (0.125, 0.(3), 0.1(6), bars, and the '...' convention) with an example. The description only echoes the accepted input category, adding no syntax or format detail beyond the schema. Baseline 3 applies when the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (converts) and precisely scopes the resource: a 'terminating or explicitly repeating decimal'. It also names the three output forms (exact simplified fraction, mixed number, decimal display). It does not explicitly contrast with siblings like fraction_calculator or round_decimal, but the input/output scoping makes the tool's role clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the input description ('terminating or explicitly repeating decimal'). There is no explicit when-to-use, when-not-to-use, or named alternative (e.g., fraction_calculator for fraction arithmetic, round_decimal for rounding). An agent must infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discount_calculatorDiscount CalculatorB
Read-onlyIdempotent
Inspect

Calculate a discounted price, ordered stacked percentage discounts, savings, effective discount and total with an entered sales tax percentage after discounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesOriginal price (USD; at most two decimal places)
discountsYesPercent-off values applied to the remaining price in order; final price rounds to cents
salesTaxPercentNoEntered tax percentage applied after discounts to the cent-rounded price; default 0

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description's genuinely additive detail is the computation order (discounts stacked in sequence, tax applied after discounts), but the schema's discount and tax field descriptions already state this ordering and the cent rounding, so the gain over structured fields is modest. No return format or edge-case behavior (e.g., zero price) is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, opening on the primary action. It is dense and slightly awkward to parse ('ordered stacked percentage discounts ... total with an entered sales tax percentage'), but nothing is wasted and no critical clause is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage, all annotations present, and an output schema covering the returned values, the description only needs to frame the operation and it does. A stronger version would add a one-line routing hint against the other calculator siblings, but nothing required to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with numeric bounds and an example, so the schema fully documents price, discounts, and salesTaxPercent. The description merely restates them in prose ('entered sales tax percentage', 'stacked percentage discounts') without adding format or constraint information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (calculate a discounted price) and enumerates the concrete outputs: stacked discounts, savings, effective discount, and tax-inclusive total. That is enough to separate it from siblings like percentage_calculator or tip_calculator, though the description never names an alternative to sharpen the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no exclusions. An agent facing percentage_calculator, unit_price, or margin_calculator gets no signal about which one applies to an ordered multi-discount scenario; the tool's niche is implied solely by the word 'stacked'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

driveway_costDriveway Cost CalculatorA
Read-onlyIdempotent
Inspect

Estimate driveway replacement costs for a given size. Returns national installed ranges with no published typical figure. One call compares all ten surfaces. Base, drainage and permits are not priced; removal is priced only for an existing concrete driveway. Includes unpriced checks, two separate national reference cards and dated sources. Pure arithmetic, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
surfaceYesChosen installed surface; one call compares all ten surfaces.
existingNoExisting driveway surface. Removal is priced only for existing concrete.none
sectionsYes1–10 sections, each 1–10,000 sq ft; total 20–10,000 sq ft. Use length_ft + width_ft OR area_sqft per section.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive and closed-world behavior, so the bar is lower; the description still adds that it is 'pure arithmetic, no network or model' and discloses what is not priced and what dated sources back the ranges.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the core estimate purpose and then the scoping caveats. Dense but each clause carries information, though 'Includes unpriced checks' is vague relative to its neighbours.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 describing the return as national installed ranges with no typical figure plus two reference cards and dated sources. Slightly imprecise about result structure, but sufficient to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so surface, existing and sections are already fully documented, and the description largely restates them ('for a given size', removal only for existing concrete). Baseline 3 is appropriate where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Estimate driveway replacement costs') scoped by size, and distinguishes itself from surface-adjacent siblings (concrete_calculator, flooring_cost, fence_cost) by naming the ten surfaces it compares in one call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: one call compares all ten surfaces, and it explicitly scopes out base, drainage and permits, and limits removal pricing to existing concrete. It stops short of naming a sibling alternative to use instead, but the exclusions make the right call obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

epoch_convertUnix Epoch ConverterA
Read-onlyIdempotent
Inspect

Convert between Unix timestamps and dates. Converts a Unix timestamp (seconds or milliseconds, detected by size) or an ISO 8601 date string to epoch seconds, epoch milliseconds, an ISO UTC time, the same moment in an optional IANA time zone, and the weekday there. A date string with no offset is read in the given zone, UTC by default. Pure standard-library rules, no network, model or clock.

ParametersJSON Schema
NameRequiredDescriptionDefault
tzNoOptional IANA time zone name such as America/New_York. Default UTC. Used for iso_in_tz and weekday, and as the zone of a date string that has no offset of its own.
unitNoOptional. Force a numeric value to be read as seconds (s) or milliseconds (ms) instead of auto-detecting.
valueYesRequired. A Unix timestamp (number or digits; seconds or milliseconds are detected by size) or an ISO 8601 date or date-time string such as 2024-03-10 or 2024-03-10T14:30:00-05:00.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior. The description adds genuinely beyond that: it discloses automatic unit detection by magnitude and that zone-less strings are interpreted in the supplied zone, plus the guarantee of no network/model/clock dependence. It stops short of describing output shape or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core action front-loaded and details following in descending priority; no filler sentences. Dense but each clause (unit detection, zone defaults, output list) carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 returned values (epoch seconds, epoch ms, ISO UTC, same moment in tz, weekday). Combined with the 100%-covered schema and affirmative annotations, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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, but the description adds real interpretive rules: numeric values are auto-detected as seconds or milliseconds by size, and the zone applies both to zone-less date strings and to the tz-relative outputs. That interaction between tz and value is the kind of semantics the schema only partially conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Convert between Unix timestamps and dates') and enumerates the exact conversion direction and outputs. It is easily distinguished from neighbors like julian_day_convert, date_calculator, and hours_calculator 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (converting epoch <-> ISO dates) but never names when to prefer this over date_calculator or julian_day_convert, nor any exclusions. The 'Pure standard-library rules, no network, model or clock' note gives useful context about determinism but is not routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ev_charger_install_costEV Charger Installation PlannerA
Read-onlyIdempotent
Inspect

Work out the circuit a home EV charger needs, panel triage, utility install cost references and federal credit rules. Returns safety first, the exact 125% minimum breaker calculation, panel triage, unpriced extras and dated federal 30C rules. Reference cards are utility and DOE program figures, not a price for this home. A licensed electrician and permit are needed; confirm local requirements and inspection. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoCharging level; omit when unknown.
extrasNo
run_feetNoEstimated routed panel-to-charger length, not straight-line distance.
panel_ampsNoPanel/service rating, echoed only; a panel label alone cannot decide an upgrade or price the job.
spare_spaceNoCompatible breaker space for a new circuit.
charger_ampsNoRated or installer-set maximum charging current in amps.
installed_onNoPlaced-in-service date YYYY-MM-DD; omitted follows the after-2026-06-30 rule.
capacity_checkNoElectrician load calculation result; not_done means not assessed.
existing_circuitNoSuitable dedicated circuit already at the parking spot.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, but the description adds real context beyond them: reference cards are DOE/utility figures and not a price for this home, the tool is pure rules/Decimal with no network/model/clock, and web and MCP share a free daily allowance (rate-limit disclosure).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and the following sentences carry distinct caveats (reference-figure disclaimer, licensing, determinism, rate limit). It is dense but each sentence contributes; no obvious filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 list them (safety first, breaker calc, panel triage, unpriced extras, 30C rules). Zero required parameters is not clarified, but otherwise it is complete enough to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 89%, so the schema already documents nearly all nine parameters in detail. The description adds domain framing (125% minimum breaker calculation, panel triage, unpriced extras, dated 30C rules) but no parameter syntax beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-and-resource set: work out the required circuit, panel triage, utility install cost references, and federal 30C credit rules for a home EV charger. It is clearly distinguished from generic cost siblings by its EV-charger scope, though it does not name any sibling it competes with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance or routing against alternatives among the many *_cost siblings. The only guidance is a caveat that a licensed electrician and permit are needed, which is a disclaimer rather than a usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_stringsStrings ExtractorA
Read-onlyIdempotent
Inspect

List the readable text inside any file, given as base64, at most 2,000,000 bytes: runs of ASCII and UTF-16LE characters (UTF-8 on request) at least min_length long, with byte offsets. Labels each string by shape as a URL, email, IP address, file path, key or token, or other, and counts every kind across the whole file; the list can be narrowed by kind or text and holds up to 2,000 strings in file order. Pure standard library, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesRequired. Any file, as base64 or a base64 data URL; at most 2,000,000 bytes once decoded.
kindsNoOnly list strings of these kinds (url, email, ip, path, key, other). Counts always cover all.
limitNoMost strings to list, in file order. Default and maximum 2,000.
containsNoOnly list strings containing this text (any case).
filenameNoOptional file name, used only in the result text.
encodingsNoWhich text to look for: ascii, utf-16le and utf-8. Default ascii and utf-16le; utf-8 also reads accented and other non-English letters, and finds more false text in random bytes.
min_lengthNoShortest run of characters to keep, 3 to 32. Default 4.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so credit goes to the added context: 'Pure standard library, no network or model', the labeling/counting behavior, file-order output, and the 2,000-string cap. Input validation and failure modes (bad base64, oversized file) are not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose in the first clause, and every clause carries information (extraction rule, labeling, filtering, limits, no-network stance). It is one very dense run-on sentence, which slightly hurts scanability, but there is no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 burden and does cover labels, counts, ordering, byte offsets and the list cap, which is good. However it omits error/failure behavior for malformed base64 or truncated input and does not explain the interaction between encodings and false positives beyond a schema-level remark.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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, and the description largely paraphrases it (kinds filtering, counts covering all, default/max limit, case-insensitive contains, encodings). The one genuine addition beyond the schema is that results carry byte offsets, which is return-shape information rather than parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('List the readable text inside any file') and immediately scopes it with the input format (base64) and extraction rule (runs of ASCII/UTF-16LE characters). This clearly separates it from adjacent siblings like inspect_binary, inspect_apk, find_data and get_transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (pulling readable strings out of a binary/blob) and states the 2,000,000-byte ceiling, but never explicitly says when to choose this over inspect_binary, inspect_apk, or find_data, nor what happens with a non-base64 or oversized input. 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.

fence_costFence Cost CalculatorA
Read-onlyIdempotent
Inspect

Estimate fence and gate costs from net non-gate length and gate widths. Returns calculated low, median bid and high bounds from exact City of Sunrise FL 2020 municipal bid rows, their scope and sources, and local permit guidance. Historical public bid observations are not current homeowner prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
gate_typeNoExact documented gate material and height for all entered widths; local_quote for unsupported gates.
fence_typeYesExact documented material and height row; no interpolation.
net_length_ftYesNet non-gate fence length in feet. Gate openings already excluded; do not subtract them again.
gate_widths_ftNoEach gate width in feet, not a gate count. GET: comma-separated widths; omitted means no gates.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, idempotent, non-destructive read with no open-world access, so the safety profile is covered. The description goes further by disclosing the data provenance (exact City of Sunrise FL 2020 municipal bid rows), the return structure (low/median/high bid bounds plus scope, sources, and permit guidance), and an explicit accuracy caveat about historical bids.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose before the data-source and caveat details. Dense but every clause carries signal; only mild compression is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 carries the burden of describing returns (low/median/high bounds, scope, sources, permit guidance) and sets expectations about data vintage. It is nearly complete, though it omits any note on how unsupported inputs (e.g. local_quote gates) are handled in the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum values are self-documenting, so the baseline is 3. The description's 'net non-gate length and gate widths' merely restates what the schema already says (including 'do not subtract them again'), adding no format or unit detail beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Estimate') and resource ('fence and gate costs') plus the exact inputs it works from (net non-gate length, gate widths). This cleanly separates it from cost siblings like driveway_cost, flooring_cost, and roof_replacement_cost without the agent needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the calculator framing, and the closing caveat ('Historical public bid observations are not current homeowner prices') usefully bounds when the output is appropriate. However, it never states when to prefer this over sibling cost tools or what inputs make it unsuitable (e.g. non-Sunrise-FL locations, unsupported materials).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_dataData FinderA
Read-onlyIdempotent
Inspect

Get a full Data Finder plan for up to three sources: fit, cost at your monthly volume, resale terms with recorded clause, URL and read date, and build-it-yourself guidance. No live source lookup. Defaults: volume 0, US, no resale.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNo
resellNo
volumeNo
use_caseYesDescribe the data you need and what you want to build.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world). The description adds the key behavioral trait that this is a static/offline plan rather than a live lookup, which is valuable context beyond annotations. However, it doesn't describe output format, limits on the three sources, or how resale clause data is sourced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary purpose, then defaults. Efficient and readable, though the plan-content list is somewhat dense and could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param tool with an output plan and no output schema, the description explains what the plan contains and the defaults, which is adequate. It leaves gaps on parameter formats and the boundary of the three-source limit, preventing a high score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25%, with three of four parameters (geo, resell, volume) undocumented in the schema. The description partly compensates by stating defaults for volume, geo, and resell, but doesn't clarify expected geo format (country, state, city?) or the business meaning of volume/resell. Baseline 3 is warranted given the schema gap is partially offset.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool produces a 'full Data Finder plan' for up to three data sources, enumerating the plan contents (fit, cost, resale terms, URL/read date, DIY guidance). This is a specific verb+resource, though it doesn't differentiate from any sibling tool by name — unsurprising given the siblings are mostly unrelated calculators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: 'No live source lookup' sets the expectation, and the defaults (volume 0, US, no resale) tell the agent what happens when args are omitted. It stops short of saying when to prefer this tool over alternatives, but the non-live nature is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

flooring_costFlooring Cost CalculatorA
Read-onlyIdempotent
Inspect

Estimate installed flooring costs for given room sizes. Returns national installed ranges (labor and materials), no labor-only figure, and no published typical figure. One call compares all eight materials using net room area, with hardwood order guidance, an unpriced prep checklist, a separate historical Census reference card and dated sources. Pure arithmetic, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
roomsYes1–20 rooms, each 1–5,000 sq ft; total 10–10,000 sq ft. Use length_ft + width_ft OR area_sqft per room.
layoutNoOnly changes the hardwood order amount: standard 5%, diagonal 10%. Installed estimate always uses net area.standard
materialYesChosen installed material; one call also compares all eight materials.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, no-network behavior (openWorldHint=false), and the description corroborates 'pure arithmetic, no network or model.' It adds genuine behavioral detail beyond annotations: output shape (installed ranges only, no labor-only or typical figure), hardwood order guidance, an unpriced prep checklist, a Census reference card, and dated sources. With no output schema, this disclosure is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and no filler sentences. The later clauses are densely packed comma-separated lists, slightly run-on, but each conveys distinct information about outputs and comparisons.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a calculator with 100% schema coverage, no output schema, and annotations covering the safety profile, the description supplies the needed return-value context (ranges, omitted figures, extras like prep checklist and sources). Nothing critical to correct invocation is missing, though layout's non-effect on the estimate could be restated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 rooms, layout, and material semantics including the net-area rule. The description's mention of 'net room area' and hardwood order guidance aligns with but does not meaningfully extend the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Estimate) and resource (installed flooring costs) with scope (given room sizes). Distinguishes itself from cost siblings like concrete_calculator, paint_quantity, and driveway_cost by naming flooring specifically and its national installed-range output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'One call compares all eight materials' implies usage (avoid multiple calls) and the returned/not-returned figures clarify scope, but no explicit alternative tools or when-not conditions are named. 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.

font_generatorFancy font generatorC
Read-onlyIdempotent
Inspect

Convert text to a selected Unicode letter style.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
styleYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered externally. The description adds nothing beyond this: it does not explain how non-letter characters (e.g. '123!' in the example) are handled, whether output is deterministic per style, or any behavioral nuance. With annotations present, the bar is lower, but the description contributes no additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler, so it is efficiently structured. It is arguably under-specified rather than over-long, but there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (2 required params, one enum) and an output schema exists, so return values need not be described. However, with 0% schema description coverage and no clarification of edge cases like digits, punctuation, or unsupported characters, the description leaves real gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% – both 'text' and 'style' have empty descriptions and only an example and enum list to work from. The description's phrase 'selected Unicode letter style' loosely points at the style parameter but adds no meaning about accepted input for 'text' or how the 16 enum styles differ. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Convert') and resource ('text' → 'Unicode letter style'), which is concrete and unambiguous. It implicitly distinguishes itself from siblings like word_count or character_count, though it never names an alternative. Clear but without explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites or constraints. An agent must infer the use case entirely from the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fraction_calculatorFraction CalculatorA
Read-onlyIdempotent
Inspect

Computes exact addition, subtraction, multiplication or division of fractions and mixed numbers, with simplified, mixed and decimal forms.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst integer, fraction, decimal or signed mixed number.
bYesSecond integer, fraction, decimal or signed mixed number.
operationNoArithmetic operation; default +.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered without the description. The description adds one genuinely useful behavioral detail — that results are 'exact' and returned as simplified, mixed, and decimal forms — but since an output schema exists, this is modest added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence that front-loads the operation and resource before the output detail. There is no filler and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations, a fully documented 3-parameter schema, and an output schema covering return values, the description is nearly sufficient for an agent to call this correctly. Only the absence of any routing hint toward sibling tools keeps it from being complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 a, b, and the operation enum with its default. The description adds nothing about accepted input syntax beyond what the schema's 'integer, fraction, decimal or signed mixed number' wording already provides; the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a precise verb (computes) plus the exact resource and supported operand types (fractions and mixed numbers), and enumerates all four operations. It clearly separates this arithmetic tool from conversion siblings like decimal_to_fraction, though it never names an alternative explicitly, keeping it just 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the tool's nature — an agent can infer 'use this to do fraction arithmetic' but the description states no conditions, prerequisites, or when-not-to-use guidance. No alternative tool (e.g., decimal_to_fraction, round_decimal) is mentioned for related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fuel_costFuel Cost CalculatorA
Read-onlyIdempotent
Inspect

Calculate trip fuel quantity and cost from entered distance, fuel economy, fuel price and currency; supports US mpg, L/100 km and km/L.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesEntered price per US liquid gallon for us_mpg, per liter otherwise.
unitsYesUnit system; Imperial mpg not accepted.
economyYesPositive US mpg, L/100 km or km/L as selected.
currencyYesEntered three-letter currency label (letters only), shared by all prices; no exchange rates.
distanceYesNonnegative miles for us_mpg; kilometers otherwise.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds nothing behavioral beyond that — no note that this is a pure offline arithmetic computation with no external data or rate lookups (that detail sits in the schema's currency field instead).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence that front-loads the core action and appends the supported unit systems. Every clause earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deterministic, stateless arithmetic tool with full annotation coverage, a complete output schema, and 100% schema description coverage, the description supplies everything needed to invoke it correctly. Return values need not be explained since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (including the units enum and the conditional mile-vs-kilometer semantics) are already documented in the schema. The description restates the parameter list without adding syntax, defaults, or edge-case guidance beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Calculate trip fuel quantity and cost') and enumerates the exact inputs it consumes (distance, fuel economy, price, currency). The supported unit systems (US mpg, L/100 km, km/L) make it clearly distinct from generic siblings like unit_convert or unit_price.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the narrow purpose — an agent can infer this is the tool for fuel cost estimation — but the description names no alternatives and gives no explicit when-to-use or when-not-to-use guidance. The only exclusion ('Imperial mpg not accepted') lives in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

funeral_costFuneral Cost Planner and Your RightsA
Read-onlyIdempotent
Inspect

Show funeral consumer rights, national burial and cremation reference costs, and add up a funeral home's itemized prices. Returns FTC Funeral Rule rights first. Reference figures are NFDA 2023 national medians from an industry member survey, not local prices. Bundle cards apply only to services with viewing; direct services have no citable national bundle figure. The worksheet adds up the family's own itemized prices and keeps missing prices visible. Pure rules and Decimal money, no network or model. Web and MCP share the free daily allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultNoBurial only; omit when unknown.
pricesNoYour own itemized prices in dollars. Omit an unknown price; 0 means not buying or included elsewhere.
serviceYesDirect means immediate burial or direct cremation, without viewing.
dispositionYes

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover safety and idempotency, and the description adds real behavioral context well beyond them: output ordering (FTC Funeral Rule rights returned first), data provenance (NFDA 2023 medians from an industry member survey), that missing prices are kept visible rather than dropped, that it is pure rules with Decimal money and no network or model calls, and that web and MCP share a free daily allowance (a quota constraint).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first sentence, and each following sentence adds a distinct fact (ordering, provenance, bundle applicability, missing-price handling, quota). It is slightly dense and a phrase like 'Pure rules and Decimal money' is terse, but nothing is truly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 explain ordering (rights first) and what the worksheet produces. It does not sketch the shape of the returned reference-cost data or clarify that only disposition and service are required while prices is optional, but it is otherwise sufficient for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% and the nested prices object documents all 16 line items with their applicability rules, so the schema does the heavy lifting. The description echoes the omit-vs-zero convention ('keeps missing prices visible') but adds no syntax or format detail beyond it; its viewing-vs-direct nuance concerns which reference figures are shown rather than how to fill the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names three specific deliverables with distinct verbs: showing consumer rights, showing national reference costs, and summing a funeral home's itemized prices. That is precise enough to separate it from the home-project cost estimators (driveway_cost, roof_replacement_cost, etc.) sharing the toolset, which only compute a single figure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when the results apply (bundle cards only for services with viewing; direct services have no national bundle figure) and warns that the figures are national medians, not local prices, so an agent knows when the reference data is inappropriate. There is no explicit when-to-use-vs-alternative statement, but no sibling covers funeral planning, so the gap is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furnace_ageFurnace Age CalculatorA
Read-onlyIdempotent
Inspect

Estimate furnace manufacture age from a confirmed Lennox legacy, Rheem or Nordyne serial format or a maker-confirmed date. Calculates age at your selected as-of date, keeps NAHB and InterNACHI life guidance separate, applies EPA age guidance and the DOE repair comparison to your own quotes, and returns separately labeled historical and modeled replacement references.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofYesRequired real YYYY-MM-DD date for the age calculation.
brandNoLennox, Rheem or Nordyne; other brands require maker/dealer confirmation.
modelNoModel from the rating plate; retained for identification.
serialNoRating-plate serial, supported nomenclature only.
centuryNoMaker/dealer-confirmed century; never inferred from age.
repair_quoteNoYour own comparable repair quote in dollars; pair with replacement_quote.
format_confirmedNoTrue only after confirming this model/era uses the documented serial format.
manufacture_dateNoOptional maker-confirmed YYYY-MM-DD manufacture date; overrides serial decoding, not installation date.
replacement_quoteNoYour own comparable replacement quote in dollars; pair with repair_quote.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive behavior, so the description's job is to add computation context, which it does: it keeps NAHB and InterNACHI life guidance separate, applies EPA age guidance, uses the DOE repair comparison against user-supplied quotes, and returns historical vs. modeled references as distinct labels. It does not explain the response shape or how the labeled references are structured, which keeps it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that is front-loaded with the core purpose (estimate furnace age from serial or confirmed date) followed by side-effect details. Every clause carries information, though the sentence is long enough that it reads as a run-on rather than crisply sectioned text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, no-output-schema tool, the description covers the key inputs (serial format confirmation, maker-confirmed date override) and the nature of the output (separately labeled historical and modeled replacement references). It stops short of describing the return structure in any detail, which leaves a modest gap given there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameter documentation is already handled by the schema. The description reinforces the confirmation requirements (format_confirmed, maker-confirmed century/date) and the separation of the two quote inputs, but adds no format or syntax detail beyond what the schema already provides; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (estimate) and resource (furnace manufacture age) and scopes it to enumerated serial formats (Lennox legacy, Rheem, Nordyne) plus a maker-confirmed date fallback. No sibling tool covers furnace age, and the input conditions are clear enough that an agent can distinguish it from generic calculators like calendar_age_difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the required preconditions for use: a confirmed serial format or a maker-confirmed manufacture date, and other brands requiring dealer confirmation. It gives clear context for when the tool applies but does not explicitly state exclusions or when a different tool should be used instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcf_calculatorGCF CalculatorA
Read-onlyIdempotent
Inspect

Compute the greatest common factor of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.

ParametersJSON Schema
NameRequiredDescriptionDefault
integersYes2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe-read profile (readOnlyHint, idempotentHint, non-destructive, closed-world), so the description's added value is in disclosing arithmetic behavior: exact BigInt precision (no float error) and that prime factorizations are also returned. That is genuinely useful context beyond what annotations state, though it stops short of noting edge cases such as negative operands.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the operation, its input scope, and its precision/derived-output characteristics are all packed in without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, deterministic math tool with a fully documented schema and an output schema present, the description covers everything needed: op, input domain, arithmetic guarantees, and that factorization output accompanies the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the ±10^12 bound, the string-of-digits format, and the 2–20 item constraint. The description restates the 2–20 range but adds no format or edge-case meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Compute the greatest common factor'), plus concrete scope ('2–20 integers') and method ('exact BigInt arithmetic and complete prime factorizations'). It does not explicitly name the natural sibling lcm_calculator, but the resource is self-distinguishing from the rest of the math siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the self-explanatory name and purpose; an agent can infer this is the tool for GCF computations. However, there is no explicit when-to-use guidance and no mention of lcm_calculator as the alternative for the complementary operation, so nothing routes the agent deliberately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transcriptYouTube to transcriptA
Read-onlyIdempotent
Inspect

Read public YouTube captions as timestamped plain text. Captions only, no video or audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesYouTube video URL or an 11-character video id.
langNoPreferred caption language; falls back to English, then any available track.en

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new constraint context beyond them: only public videos are accessible, and no video/audio is fetched, only text captions. It stops short of describing failure modes (private videos, missing caption tracks) or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, output scope front-loaded, no redundant restatement of the title or schema. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with full schema coverage and rich annotations, the description is nearly sufficient, and it even gestures at the return shape ('timestamped plain text') despite no output schema. Only error/fallback behavior when no captions exist is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (url with its video-id form, lang with its fallback behavior) are already fully documented in the schema. The description adds no parameter-level detail beyond the 'public' qualifier, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (public YouTube captions) plus the output form (timestamped plain text), which is far more precise than the sibling calculators. It does not name a sibling alternative, but the 'captions only, no video or audio' clause effectively separates it from media-download or page_to_markdown tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Read public YouTube captions' implies the applicable case (a YouTube URL with public captions) and the exclusion of video/audio, but there is no explicit when-to-use statement or routing to alternatives such as page_to_markdown for non-YouTube pages. 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.

gpa_calculatorGPA CalculatorA
Read-onlyIdempotent
Inspect

Computes credit-weighted GPA with A=4, B=3, C=2, D=1, F=0 and optional common honors +0.5/AP +1.0 bonuses for passing grades; school conventions vary.

ParametersJSON Schema
NameRequiredDescriptionDefault
coursesYes
weightedNoApply the stated weighting convention; default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds meaningful calculation behavior: the exact grade mapping, optional honors/AP bonuses for passing grades, and a caveat that school conventions vary. This goes beyond the safety profile in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. It packs the core formula, bonus rules, and caveat efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity, existing output schema, and rich annotations, the description is nearly complete for calling the tool correctly. The main gap is the absence of explicit usage guidance or sibling differentiation, which is minor for a simple calculator.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, so the description must add meaning. It contributes the bonus values for honors and AP levels (+0.5 / +1.0) and clarifies that credit weighting is used, which are not fully documented in the schema's level or top-level parameters. It partially repeats the grade scale already detailed in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (computes) and resource (credit-weighted GPA), and includes the base scale and bonus conventions. It is clear what the tool does, but it does not distinguish itself from likely siblings such as grade_calculator or average_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. Usage is only implied by the tool name and purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grade_calculatorGrade CalculatorA
Read-onlyIdempotent
Inspect

Computes a weighted category average and optionally the final-exam percentage needed to reach a target course grade.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNoTarget course percentage.
categoriesYes
finalWeightNoFinal exam percentage of the full course.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, read-only, idempotent, closed-world computation, so the safety profile is fully covered elsewhere. The description adds only the dual computation modes and says nothing about edge cases (unreachable targets, weight totals not summing to 100, or exceeding max scores), which is mild added value over 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with the primary computation and appends the optional mode. No preamble, no filler, every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description need not explain return values, and annotations cover the safety profile, so the remaining burden is modest. It covers both computation modes adequately but does not clarify the schema's anyOf pairing constraint (target + finalWeight together) or behavior when the target is unreachable, leaving a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, above nothing but well below the 80% threshold where the schema would clearly carry the load. The description restates the meaning of 'target', 'finalWeight', and weighted categories at a high level but adds no format, unit, or constraint detail (e.g., the anyOf rule that target and finalWeight must be supplied together) beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation (weighted category average) plus an optional secondary output (final-exam percentage needed to hit a target), which uniquely separates it from generic calculators like average_calculator or percentage_calculator. It never names a 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'optionally' signals that the final-exam calculation is conditional, giving implied usage guidance for the two modes. However there is no explicit when-to-use, when-not-to-use, or pointer to the closest alternatives (gpa_calculator, average_calculator) for the agent to choose between.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gravel_calculatorGravel CalculatorB
Read-onlyIdempotent
Inspect

Calculate gravel layer volume and US short tons from rectangle dimensions, circle diameter or total area, depth in inches and editable bulk density.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoTotal bed area in square feet or square metres
unitNoDimension unit; area uses its square; default ft
shapeYesBed shape or already measured total area
widthNoRectangle width in selected unit
lengthNoRectangle length in selected unit
diameterNoCircle diameter across the bed in selected unit
depthInchesYesLayer depth in inches
densityTonsPerCubicYardNoBulk density in US short tons (2000 lb) per cubic yard; default 1.4

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that bulk density is editable and that output is in US short tons, which is useful context, but it omits anything about the density default-dependency or how results vary with unit selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the primary action and output are stated first. It is dense but every clause (input shapes, depth, density) carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return format need not be explained, and the schema fully covers parameters. The description mentions the shape options, units, depth, and density, giving an agent enough to invoke it correctly, though it lacks guidance on when gravel versus adjacent calculators apply.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the schema, including depth units, area semantics, and density default. The description only restates a few of these (depth in inches, editable density) without adding syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Calculate) and resource (gravel layer volume and US short tons), plus the three supported input modes (rectangle, circle, total area). It is clear what the tool does, though it does not explicitly differentiate itself from close siblings such as mulch_calculator or concrete_calculator, which an agent might confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description enumerates supported input shapes but gives no when-to-use guidance, prerequisites, or exclusions relative to the many other volume/cost calculators in the sibling list. Usage must be inferred entirely from the tool name and inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

har_to_openapiHAR to OpenAPI ConverterA
Read-onlyIdempotent
Inspect

Turn a HAR file (a browser network export) into an OpenAPI 3.1 description of the API calls in it. Cleans the file first: drops cookies and login headers and replaces secret-named headers, query parameters, form fields and JSON keys with REDACTED. Groups calls by host, method and path template (numeric ids, UUIDs and long hex or base64 path parts become parameters), and infers query parameters, request body schemas and response schemas per status from the samples. Sign-in methods are named, never copied; example values are off unless asked for. Leaves out page loads, static files and preflights unless asked. Returns the OpenAPI document as JSON and the endpoint count. Pure standard library, no network, model or clock.

ParametersJSON Schema
NameRequiredDescriptionDefault
harYesRequired. The HAR file's JSON text (a browser network export), at most 2,000,000 characters.
hostNoOnly describe calls to this host, such as api.example.com.
examplesNoAdd example values from the cleaned file to parameters and bodies. Default false.
include_staticNoAlso describe page loads, images, scripts, styles, fonts, media and CORS preflights. Default false.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds substantial behavior beyond that: secret redaction of cookies/login headers/secret-named fields, host/method/path-template grouping, parameter and schema inference, sign-in method naming, exclusion of static assets and preflights, and the guarantee of no network, model or clock use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and the remaining sentences each carry distinct, non-redundant behavioral facts (cleaning rules, grouping, inference, exclusions, output form, environmental guarantees). No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 states the return value ('the OpenAPI document as JSON and the endpoint count'). Combined with the input constraints and the safety/behavior disclosures, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3, but the description reinforces parameter meaning in prose: 'example values are off unless asked for' maps to the examples flag and 'leaves out page loads, static files and preflights unless asked' maps to include_static, plus the host scoping. It clarifies consequences of the toggles rather than just restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource: converting a HAR network export into an OpenAPI 3.1 description. It is unmistakably distinct from every sibling tool (converters, calculators, formatters), so an agent can select it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly frames the input context (a browser network export) and the default-on/default-off conditions ('unless asked', 'off unless asked for') that govern output. There is no true sibling alternative to route against, so no explicit alternative is needed, but there is also no explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

heart_rate_zonesHeart-Rate Zone CalculatorA
Read-onlyIdempotent
Inspect

Calculate adult maximum heart rate and moderate and vigorous target zones from age and optional measured rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesAdult age in years
methodNo220
restingNoResting bpm; must be below maximum
measuredMaxNoMeasured maximum bpm

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is fully covered. The description adds the meaningful scope detail that it derives both max HR and moderate/vigorous zones from age plus optional measured rates, but says nothing about the formula choice or the resting-below-max constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action, the primary output, and the inputs with no filler or redundancy. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a 4-parameter tool where the method enum and the relationship between resting and measuredMax drive the result, the description omits guidance an agent would need to invoke it optimally.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, below the high-coverage baseline, and the 'method' enum (220 vs tanaka) has no description in either schema or prose — a material choice for a heart-rate calculator that goes unexplained. The phrase 'optional measured rates' loosely gestures at resting/measuredMax but does not clarify their distinct roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (calculate) and concrete resources (adult maximum heart rate, moderate and vigorous target zones) plus the inputs (age, optional measured rates). It is easily distinguished from numeric siblings like bmi_calculator or one_rep_max_calculator, though it never explicitly names an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the calculator framing — an agent infers it applies when a user wants HR training zones — but there is no explicit when-to-use, when-not-to-use, or pointer to related tools. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hours_calculatorHours CalculatorB
Read-onlyIdempotent
Inspect

Calculate worked minutes, decimal hours and H:MM from clock times, an overnight flag and an unpaid break.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesEnd clock time HH:MM (24-hour)
startYesStart clock time HH:MM (24-hour)
overnightNoEnd is on the next day; shift at most 24 hours
breakMinutesNoUnpaid break in whole minutes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the full safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the description carries a light burden. It adds that the break is unpaid and that the calculation depends on the overnight flag, but discloses no computation edge cases, rounding rules, or limits beyond what the schema already states (e.g. max 24 hours).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 20-word sentence, front-loaded with the verb and the outputs. No filler, no repetition; every clause maps to a real part of the tool's contract.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deterministic calculator with 100% schema coverage, an output schema, and annotations covering safety, the description supplies enough to call it correctly. The one real omission is disambiguation from time_card_calculator, which an agent facing this sibling set would benefit from.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with all four parameters documented, so the baseline is 3. The description restates the same four inputs (clock times, overnight flag, unpaid break) without adding format, range, or interaction semantics beyond the schema, such as what happens when the computed shift crosses midnight without the overnight flag.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (calculate) and concrete outputs (worked minutes, decimal hours, H:MM) from identifiable inputs (clock times, overnight flag, unpaid break). An agent can tell this is a shift-duration calculator. However, it does not distinguish itself from the very similar sibling time_card_calculator, which also produces hours worked from clock times.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no routing to alternatives. This matters here because time_card_calculator sits in the sibling list doing an overlapping job, and the description gives the agent no basis for choosing between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inflation_calculatorInflation CalculatorA
Read-onlyIdempotent
Inspect

Convert US dollars between published BLS CPI-U months or annual averages since 1913. Reports equivalent value, cumulative inflation, average annual rate and yearly table. Omit both months for annual mode; unavailable periods are rejected. Arithmetic on CPI, not financial advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYes
endYearYes
endMonthNo
startYearYes
startMonthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds real value beyond them: the failure behavior ('unavailable periods are rejected'), the mode switch, and a scope disclaimer ('not financial advice').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the core action, then outputs, then the mode rule and caveat. No wasted words, though the output enumeration is slightly list-heavy for a single sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, yet the description still names them helpfully. Modes, rejection behavior, and scope caveat are all present; only parameter-level detail is thin, which is the main residual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the startMonth/endMonth annual-vs-monthly rule, which is meaningful given the oneOf constraint, but says nothing about amount or the start/end year semantics. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (convert) and resource (US dollars via BLS CPI-U) with a clear scope boundary (since 1913). It is unmistakably distinct from adjacent arithmetic siblings like compound_interest_calculator or calendar_age_difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent how to drive the two modes ('Omit both months for annual mode') and that unavailable periods are rejected. It gives clear operational context but never names when to prefer an alternative tool, so it falls short of full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_apkAPK InspectorA
Read-onlyIdempotent
Inspect

Read an Android app file (.apk), given as base64, at most 2,000,000 bytes. Returns the package name, version, minimum, target and compile SDK; permissions grouped by what they reach, each with a plain meaning and whether Android asks the person first; activities, services, receivers and providers with whether each is exported and why; web addresses and hostnames found in the code's string tables, grouped by host; and the signer certificate (subject, issuer, validity, key, SHA-256) from the v1 signature or the v2/v3 signing block, read but never verified. Runs nothing. Pure standard library, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesRequired. The Android app file (.apk), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded.
filenameNoOptional file name, used only in the result text.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe read profile, and the description adds genuinely useful context beyond them: 'Runs nothing. Pure standard library, no network or model' and the certificate is 'read but never verified.' The safety-critical nuance that signing is inspected but not validated is exactly the kind of disclosure an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph with the input contract front-loaded and the return surface enumerated after. Every clause carries information, though the long enumeration of return fields is on the heavy side.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully compensates by listing every returned artifact (package metadata, grouped permissions, exported components, host-grouped URLs, signer certificate fields). An agent knows precisely what to expect from a call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaning by pinning the constraint to the decoded size ('at most 2,000,000 bytes') and calling out that input may be base64 or a data URL, clarifying the required 'file' param beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') and resource ('.apk') and immediately enumerates exactly what it returns (package/version/SDKs, permissions, components, URLs, signer). It is distinguishable from generic siblings like inspect_binary and extract_strings because it specializes on Android APK structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the input contract (base64 APK, max size) but there is no explicit when-to-use/when-not guidance and no routing to alternatives such as inspect_binary or extract_strings despite their overlap with the string-table feature described here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_binaryBinary InspectorA
Read-onlyIdempotent
Inspect

Read the structure of a program file: Windows PE (EXE or DLL, 32 or 64-bit), Linux ELF or Mac Mach-O (thin or universal), given as base64, at most 2,000,000 bytes. Returns the format, type, architecture, bitness and entry point; sections with file offset, size, address, access flags and entropy (bits per byte); imports per library and exports; PE resources, whether a PE certificate table or Mach-O code signature is present (never checked) and whether the file is a .NET assembly. Reads headers and tables only; runs nothing. Pure standard library, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
archNoFor a Mac universal binary: the architecture to describe, such as ARM64 or x86-64. Default: the first one.
fileYesRequired. The program file (Windows EXE or DLL, Linux ELF, or Mac Mach-O), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded.
filenameNoOptional file name, used only in the result text.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive, yet the description adds substantial behavioral context: 'Reads headers and tables only; runs nothing,' certificate/signature presence is 'never checked,' and it is 'pure standard library, no network or model.' The one shortfall is that it does not describe failure behavior or the exact return shape, keeping it short of 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and format scope, then returns, then safety constraints; every clause carries information. It is dense and slightly overpacked into two long sentences, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully enumerates what the tool returns (format, type, architecture, bitness, entry point, sections with offset/size/address/flags/entropy, imports/exports, resources, signature presence, .NET flag). Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented, and the description largely restates the size cap and format list. Baseline 3 applies since the description adds little semantic detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read the structure of') and resource ('a program file') and enumerates the exact accepted formats (PE, ELF, Mach-O, thin/universal). This clearly separates it from siblings such as inspect_apk, extract_strings, and find_data, which operate on different inputs or produce different outputs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives rich input constraints (base64 encoding, 2,000,000-byte cap, supported formats) which implicitly tell the agent when the tool applies, but it never names an alternative or states when to prefer inspect_apk, extract_strings, or find_data instead. Usage is therefore implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

json_formatterJSON formatter and validatorA
Read-onlyIdempotent
Inspect

Format, minify or validate JSON text while preserving number tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNo
textYes
actionNoformat
indentNo2

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds a genuinely non-obvious behavioral trait -- 'preserving number tokens' -- warning that numeric literals will not be coerced or reformatted, which is exactly the kind of context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every clause (the three actions, the resource, the number-token caveat) carries information. Nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complexity is low, an output schema exists so return values need no explanation, and annotations cover the safety/idempotency profile. The remaining gap is the ambiguous 'sort' parameter, but the description plus structured fields are sufficient to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It partially does: naming format/minify/validate gives meaning to the 'action' enum beyond the bare values. However, 'sort' (keys vs values? ordering?) and 'indent' applicability are left entirely undocumented, so only one of four parameters is clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb set (format, minify, validate) against a specific resource (JSON text), which is unambiguous. No sibling tool does JSON processing, so the scope is inherently distinguished, though the description does not need to route anywhere.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The three modes are named but there is no guidance on when to pick format vs minify vs validate, no prerequisites, and no when-not-to-use context. The agent must infer all selection logic from the action enum in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

julian_day_convertJulian Date ConverterB
Read-onlyIdempotent
Inspect

Convert explicit UTC civil timestamps to Julian day and back using the proleptic Gregorian calendar. See the noon epoch, time-scale convention and ordinal day.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesUTC timestamp string, or a numeric JD for reverse conversion.
directionNoConversion direction; default to-julian.
conventionNoUTC civil approximation to UT1; no leap seconds.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data. The description contributes the convention context ('explicit UTC', 'proleptic Gregorian'), but the second sentence is only a dangling pointer ('See the noon epoch, time-scale convention and ordinal day') that never explains the rules it names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is well front-loaded and wastes nothing. The second sentence gestures at concepts ('noon epoch', 'ordinal day') that appear nowhere else, so it consumes space without delivering usable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and annotations plus a 100%-documented schema carry most of the load. What remains unstated is the accepted timestamp string format beyond the single ISO example, and the referenced conventions are left unexplained, making the definition only minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so value, direction and convention are already documented with ranges and enum values. The description repeats the convention theme but adds no rules beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (convert) and resource (UTC civil timestamps <-> Julian day) plus the calendar basis (proleptic Gregorian). It is clearly a two-way conversion, but it never names or contrasts with the obvious sibling epoch_convert, leaving the agent to work out the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance and no mention of the sibling epoch_convert, which performs a closely related date conversion. The agent must infer that this tool is for Julian day values specifically and epoch_convert for Unix epoch values.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kitchen_remodel_costKitchen Remodel Cost EstimatorA
Read-onlyIdempotent
Inspect

Estimate a kitchen remodel budget from kitchen size and finishes. Size and scope return a national planning estimate range rounded to the nearest 100 dollars, with no published typical figure, two separate dated reference cards and sources. The result has no line items or labor/material split: the published bands include both, and no public source we trust splits them for a typical kitchen. Pure arithmetic, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYespartial: $60–$150/sq ft, may include DIY work; full: $150–$250/sq ft, same layout; layout_change: $250–$350/sq ft, layout changes / high-end. Bands include labor and materials.
width_ftNoKitchen width in feet; requires length_ft instead of area_sqft. Product must be 20–1,000 sq ft.
area_sqftNoKitchen floor area in square feet, 20–1,000. Use area OR length and width.
length_ftNoKitchen length in feet; requires width_ft instead of area_sqft. Product must be 20–1,000 sq ft.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, closed-world and non-destructive behavior, yet the description adds real context beyond them: the operation is 'pure arithmetic, no network or model', the output is a range rounded to the nearest $100, and it returns two dated reference cards with sources. It does not discuss error handling for out-of-range inputs, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but the middle sentence is garbled ('with no published typical figure, two separate dated reference cards and sources') and the no-line-items point is restated across sentences 2 and 3. Roughly a third of the text is redundant or unclear phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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: it states the shape (a rounded range), the provenance (dated reference cards and sources) and the key limitation (no line items or labor/material split). Inputs, output and behavior are all covered, leaving only edge-case behavior unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — the enum bands, area bounds (20–1,000 sq ft) and the length/width exclusivity rule are all fully documented in the schema. The description only loosely maps 'finishes' onto the scope enum and adds no syntax or format detail beyond what is already structured, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a precise verb and resource ('Estimate a kitchen remodel budget') and names the inputs ('kitchen size and finishes'). Within a sibling set full of *_cost calculators (driveway_cost, flooring_cost, roof_replacement_cost), the kitchen-remodel domain makes the selection unambiguous without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement or named alternative, but the description implies its role as a planning-stage estimator ('national planning estimate') and supplies a negative constraint: it will not give line items or a labor/material split. That implicit scoping is more than nothing but falls short of explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lcm_calculatorLCM CalculatorA
Read-onlyIdempotent
Inspect

Compute the least common multiple of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.

ParametersJSON Schema
NameRequiredDescriptionDefault
integersYes2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, closed-world and non-destructive behavior, so the safety profile is covered. The description adds genuine value beyond that by disclosing exact BigInt arithmetic (no floating-point rounding) and that outputs include complete prime factorizations, which an agent cannot learn from 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the operation, the input bounds, and the two notable behavioral traits before any trailing detail. Zero filler and nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the annotations cover the safety profile; the description usefully supplements with precision and scope. Only minor gaps remain, such as what happens on out-of-range or non-integer input, which the schema pattern implies but does not state.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the single parameter already documents the ±10^12 range, the no-separators/no-exponents rule, and exact BigInt parsing. The description's "2–20 integers" merely restates the schema's minItems/maxItems, adding no syntax or format detail beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Compute") and resource ("least common multiple") with an explicit input scope of 2–20 integers, so an agent can tell what the tool returns. It does not, however, distinguish itself from the closely related sibling gcf_calculator or from prime_number_checker, which share the same numeric domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 2–20 integer scope implicitly signals when the tool applies, but the description never states when to prefer it over gcf_calculator, fraction_calculator, or prime_number_checker, and offers no exclusions. Usage must be inferred from the domain constraint alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loan_scheduleLoan Payment CalculatorA
Read-onlyIdempotent
Inspect

Computes fixed-rate monthly principal and interest payments, total interest, payoff month and a complete amortization table of at most 360 rows from entered amounts and a nominal annual rate. Optional down payment reduces principal; extra monthly principal payments shorten the modeled term. Uses exact rational arithmetic and nearest-cent half-up rounding. Taxes, insurance, PMI and fees are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
principalYesStarting amount in USD before the optional down payment; at most two decimal places.
termMonthsYesOriginal or remaining whole-month term. Every period is returned, at most 360 rows.
downPaymentNoUSD amount subtracted from principal; must be less than principal; at most two decimal places; defaults to zero.
extraMonthlyNoExtra principal paid each month in USD; at most two decimal places; defaults to zero.
annualRatePercentYesFixed nominal annual interest rate in percent, excluding fees; at most six decimal places.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower. The description adds real behavioral context: exact rational arithmetic, nearest-cent half-up rounding, a 360-row cap, and explicit exclusion of taxes/insurance/PMI/fees. It does not describe error behavior for invalid inputs, but the disclosed computation semantics are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, each carrying distinct content (computation, optional inputs, arithmetic/rounding, exclusions), front-loaded with the core purpose. Slightly list-like, but no filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists so return values need not be re-specified, yet the description still summarizes the amortization table shape. Combined with the 360-row cap, rounding rules, and exclusions, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds meaning beyond the schema: down payment 'reduces principal' and extra monthly principal 'shortens the modeled term'. That clarifies the interaction between optional parameters that the schema documents only individually.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Computes fixed-rate monthly principal and interest payments') plus the full output scope (total interest, payoff month, amortization table). It is clearly distinguishable from sibling calculators like compound_interest_calculator because it names mortgage-style P&I plus amortization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when the tool applies (fixed-rate amortized loans) and explains optional behaviors like down payment and extra principal. It never explicitly routes the agent away from a sibling (e.g. compound_interest_calculator or debt_to_income), so it stops short of full when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

logarithmLogarithm CalculatorB
Read-onlyIdempotent
Inspect

Compute a logarithm for a positive value and any positive base other than 1.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesPositive logarithm base other than 1.
valueYesValue.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior. The description adds domain constraints (value positive, base positive and not 1), but these largely duplicate the schema; no edge-case behavior or output format is described beyond what structured fields provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a simple deterministic math operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple operation, rich schema with example, complete annotations, and an output schema, the description is nearly complete. It correctly omits return-value details because the output schema exists, though it could have added brief routing guidance for sibling calculator tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters are already documented in the input schema. The description restates the base constraint and adds that the value must be positive, but this adds only marginal meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Compute a logarithm.' It also specifies valid input domains, but does not distinguish this tool from siblings such as power, scientific_evaluate, or simplify_sqrt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no alternatives named, and no conditions under which another tool should be preferred. The implied use is clear from the tool name alone, but the description adds no routing context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

long_divideLong Division CalculatorB
Read-onlyIdempotent
Inspect

Divide decimal strings exactly with long division steps, an integer quotient and remainder. See terminating, repeating or truncated decimals.

ParametersJSON Schema
NameRequiredDescriptionDefault
digitsNoMaximum fractional digits before truncation; default 20.
divisorYesNonzero signed plain decimal, no exponent; maximum 60 characters.
dividendYesSigned plain decimal, no exponent; maximum 60 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description does add one piece of real behavioral context — that results may be terminating, repeating, or truncated — which explains what the 'digits' bound does. It stops there and adds nothing about return shape beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no filler, and the core capability (exact division with quotient and remainder) is front-loaded. It is efficient, though the second clause is slightly compressed rather than broken out for scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations carry the safety profile. For a three-parameter calculator the description covers the essentials; the only real gap is the absence of guidance on choosing it over adjacent converter/calculator siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — each of the three parameters is documented in the schema, including defaults, bounds, and the plain-decimal/no-exponent constraint. The description's 'truncated decimals' phrase weakly reinforces the meaning of 'digits' but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (divide) and resource (decimal strings) plus the distinctive output (long division steps, integer quotient and remainder), so it reads clearly as an exact-division tool. It does not name or contrast any sibling (e.g. fraction_calculator, decimal_to_fraction), so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a use case (exact division with steps and remainder) but never says when to prefer this over fraction_calculator, decimal_to_fraction, or round_decimal. No conditions, prerequisites, or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

make_barcodeBarcode generatorA
Read-onlyIdempotent
Inspect

Make an SVG barcode. Validates retail check digits and lengths. GS1-128 and GS1 DataMatrix accept bracketed (01)GTIN(17)YYMMDD(10)lot; use make_qr for QR codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to encode; at most 1024 UTF-8 bytes.
formatNocode128

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: it validates retail check digits and lengths (i.e. it can fail on bad input) and documents the bracketed GS1 application-identifier input syntax.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: output form first, then validation behavior, then input syntax, then the alternative tool. Every sentence carries distinct information with no repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 return artifact (SVG), and it covers validation failures and GS1 syntax for a two-parameter tool. Minor gaps remain: no mention of symbol sizing/options or what a validation failure looks like in the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (format has no description), so the description compensates by explaining the GS1-128/DataMatrix bracketed input form such as (01)GTIN(17)YYMMDD(10)lot and the per-format validation rules that constrain `text`. The 1024-byte limit is left to the schema, which already states it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Make an SVG barcode") plus the formats it supports, and explicitly separates itself from make_qr. An agent can distinguish it from read_barcode and make_qr without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes QR requests to make_qr, which is the main sibling ambiguity in this space. It does not, however, say when to pick each barcode format (e.g. ean13 vs code128 vs datamatrix), so format selection is left to the enum.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

make_qrQR code makerB
Read-onlyIdempotent
Inspect

Make an SVG QR code for text, a URL, or Wi-Fi network details.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoText or URL to encode. Required unless wifi is provided.
wifiNoWi-Fi details; takes precedence over text when present.
formatNosvg

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and repeatability profile is fully covered by structured data. The description's only added behavioral fact is that the output is SVG, which is modest but genuine; it says nothing about return shape or size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the output format and the accepted inputs with zero filler. It is hard to trim further, though it is so terse that it omits useful routing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 ideally say what the caller receives (inline SVG markup, a file, an image). Naming 'SVG' partially covers this, and the input side is adequately documented in the schema, making the definition minimally viable but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, and the schema itself documents the text/wifi fields and the wifi precedence rule, so the description does not need to compensate heavily. It reinforces the input kinds and the SVG format but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Make an SVG QR code') with the three supported input kinds spelled out (text, URL, Wi-Fi details), which is more than a restatement of the name. It does not distinguish itself from the sibling make_barcode or explain why one would pick a QR code over a barcode, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what it produces but never states when to use it versus alternatives such as make_barcode or read_barcode, nor any prerequisites or exclusions. An agent gets no routing guidance beyond the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

make_run_loopRun Loop MakerA
Read-onlyIdempotent
Inspect

Make walking/running loops that start and end at one point, each within 3% of the target distance. Returns Google Maps links and an encoded polyline. Routes and map data © OpenStreetMap contributors (ODbL); each result credits the routing service that made it.

ParametersJSON Schema
NameRequiredDescriptionDefault
viaNo
countNo
startYes
stopsNo
preferNo
directionNoany
avoid_crimeNoSteer round blocks with more reported crime than the start (city police reports, last 12 months; San Francisco and Seattle for now). Not a guarantee.
distance_kmYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, closed-world status, so the bar is lower. The description adds real value: the 3% distance tolerance, the return payload (Google Maps links + encoded polyline), and the ODbL attribution requirement, which hints at reliance on external routing data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core behavior and constraint, no padding. The closing attribution sentence is compliance boilerplate but legitimately informative about data provenance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return format is covered (links + polyline, so no output schema is needed), but for an eight-parameter route generator the description says nothing about how via/stops/prefer/direction shape the loop. An agent must reverse-engineer the route-building semantics from bare schemas.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Eight parameters with only 13% schema description coverage, and the description names no parameter at all. It implicitly constrains 'distance_km' via the 3% tolerance and 'start' via the start/end-at-one-point rule, but leaves 'via', 'stops', 'prefer', and 'direction' entirely to the schema, which does not document them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource: 'Make walking/running loops that start and end at one point,' plus a precise behavioral constraint (each loop within 3% of target distance). No sibling tool performs route generation, so the tool is unambiguous against the surrounding calculator/citation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The activity type (walking/running) implies the use case, but there is no explicit when-to-use, when-not-to-use, or alternative routing mode. 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.

margin_calculatorMargin CalculatorA
Read-onlyIdempotent
Inspect

Calculate cost, selling price, gross profit, margin percentage and markup percentage from two independent values including cost or price.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoCost per item (USD; at most two decimal places)
priceNoSelling price per item (USD; at most two decimal places)
marginPercentNoGross margin as percent of selling price
markupPercentNoMarkup as percent of cost

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it computes a set of derived metrics from any valid pair of inputs, which tells the agent how dynamic the tool is. It does not describe validation/lookup failures, but the schema's oneOf enforces input combinations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action, the outputs, and the input pattern with no filler. Nothing is wasted and the key information comes first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and annotations cover the safety profile. The description is sufficient for an agent to invoke the tool correctly, though it could say a word about which input combinations are valid (the oneOf constraint) rather than leaving that entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter is documented with bounds and units (USD, percent-of-price vs percent-of-cost), so the schema carries the semantic load. The description reinforces the cost/price pairing and the output set but adds no syntax or format detail beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Calculate) and enumerates the outputs (cost, selling price, gross profit, margin %, markup %), and states the input pattern ('from two independent values including cost or price'). It is clearly distinguishable from sibling calculators like discount_calculator or percentage_calculator, though it doesn't name an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from two independent values including cost or price' implies the usage pattern (supply any valid pair), but there is no explicit when-to-use or when-not-to-use guidance versus siblings like roi, unit_price, or discount_calculator. Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mass_volume_convertIngredient Grams and Cups ConverterA
Read-onlyIdempotent
Inspect

Convert mass to volume or reverse with named units and either a USDA FoodData Central ingredient cup-weight preset or an entered positive density in g/mL.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesOpposite dimension from source.
fromYesExplicit mass or volume source.
valueYesNonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values.
densityNoCustom density in grams per milliliter; exactly one of density or ingredient is required.
ingredientNoUSDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the density/ingredient requirement, but that is also encoded in the schema's oneOf and parameter descriptions, so little new behavioral context is contributed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the core action first and the discriminating detail (density or ingredient) second. No filler, though it packs several constraints into one clause rather than breaking them out for scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description conveys the essential mechanic (cross-dimension conversion via density or ingredient) adequately for a 5-parameter tool, with only sibling routing left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 in the schema, including the density XOR ingredient constraint, the g/mL unit, and the value formats. The description restates the density requirement without adding syntax or format detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (convert) and the specific transformation (mass to volume or reverse) with the two mechanisms that make it distinct: a USDA FDC ingredient preset or an entered density in g/mL. This separates it from the generic sibling unit_convert, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the mention of density/ingredient signals that this tool is for cross-dimension (mass↔volume) conversions. There is no explicit when-to-use vs. unit_convert guidance, no note that same-dimension conversions belong elsewhere, and no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mulch_calculatorMulch CalculatorA
Read-onlyIdempotent
Inspect

Calculate mulch layer volume and whole 2 cu ft and 3 cu ft bag counts from rectangle dimensions, circle diameter or total area and depth in inches.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoTotal bed area in square feet or square metres
unitNoDimension unit; area uses its square; default ft
shapeYesBed shape or already measured total area
widthNoRectangle width in selected unit
lengthNoRectangle length in selected unit
diameterNoCircle diameter across the bed in selected unit
depthInchesYesLayer depth in inches

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a safe, idempotent, closed-world read (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description adds a behavior the annotations cannot convey: bag counts are returned as whole bags (rounding-up semantics implied) for the two standard bag sizes, which directly affects how results should be interpreted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, densely packed sentence with no filler; outputs and input modes are front-loaded so an agent can judge relevance immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter documentation, the description does not need to spell out return fields, and safety is covered by annotations. It is complete enough to call correctly; the only minor gap is that the ft/m unit choice is left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (shape, length, width, diameter, area, depthInches, unit) is already documented in the schema. The description only reiterates depth in inches and the shape options, adding no new syntax, defaults, or constraints beyond the structured data. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (calculate) and concrete outputs (layer volume plus whole 2 cu ft / 3 cu ft bag counts) along with the accepted input shapes (rectangle, circle, or total area). This clearly separates it from volume_calculator or square_footage_calculator, though it never names an alternative to steer the agent between mulch vs gravel/concrete costing tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly tells the agent which input mode to pick (rectangle dimensions, circle diameter, or a pre-measured total area) and notes depth is in inches, which is useful context. However, it gives no explicit when-to-use/when-not guidance and does not point to any sibling tool as an alternative or prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

one_rep_max_calculatorOne-Rep Max CalculatorA
Read-onlyIdempotent
Inspect

Calculate Epley and Brzycki one-rep maximum estimates from lifted weight and repetitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
repsYes
unitsNoWeight unit; returned estimates have the same unitkg
weightYesLifted weight; results use the same unit

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool is read-only, idempotent, non-destructive, and closed-world. The description adds methodological transparency by naming the Epley and Brzycki formulas, but does not disclose any safety, permission, or rate-limit behavior beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It states the purpose, method, and required inputs efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core calculation and inputs, and the output schema handles return values. Minor gaps remain, such as not mentioning the optional units parameter or the 1–12 rep range, but these are fully documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, with weight and units documented in the schema and reps constrained by min/max. The description only restates that weight and repetitions are inputs, adding no extra meaning such as unit handling or rep limitations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Calculate') and resource ('one-rep maximum estimates') and names the two formulas used (Epley and Brzycki). It clearly distinguishes this tool from other calculator siblings by its unique domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor any prerequisites or exclusions. Usage is only implied by the resource name and inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pace_calculatorRunning Pace CalculatorA
Read-onlyIdempotent
Inspect

Calculate running distance, elapsed time or pace from exactly two values and distance units.

ParametersJSON Schema
NameRequiredDescriptionDefault
paceNoPace in minutes, M:SS or H:MM:SS per selected distance unit
timeNoElapsed time in minutes, M:SS or H:MM:SS
unitsNokm
distanceNoDistance in selected units

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description's main addition is the exactly-two-inputs constraint, which largely duplicates the schema's oneOf; it says nothing about rounding, precision, or handling of invalid input beyond what structured data provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity leaves gaps that a slightly longer sentence could have closed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four simple parameters, an output schema covering return values, and annotations covering safety, the definition is nearly complete. Remaining gaps are minor: precision/rounding behavior and error handling for the exactly-two constraint are unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% and each property is documented (pace format, time format, distance units, enum for units). The description only gestures at 'distance units' and the two-of-three rule, adding little beyond the schema; baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Calculate') and the exact resources (running distance, elapsed time, pace), plus the key constraint that exactly two of the three must be supplied. It is clear what the tool does, though it offers no explicit differentiation from siblings like unit_convert or hours_calculator beyond the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'exactly two values' rule gives a real invocation constraint, but that rule is also encoded in the schema's oneOf. There is no guidance on when to prefer this over related calculators (unit_convert, hours_calculator) or what happens with invalid combinations; usage is implied rather than explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

page_checkPage CheckerA
Read-onlyIdempotent
Inspect

Check whether one public HTML page shows content. Returns working, suspect or broken, findings with reasons and bounded snippets, status, final URL and text length. No JavaScript rendering; 10 seconds overall, 2 MB HTML. Public HTTP/HTTPS ports 80/443 only.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http or https page URL.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, openWorld, non-destructive), yet the description adds substantial operational context beyond them: no JS execution, a 10-second wall-clock budget, a 2 MB HTML ceiling, and a port restriction. It also pre-declares the response shape, including final URL and text length. This is exactly the value-add the dimension rewards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the purpose, then returns, then constraints. Every sentence carries distinct information with no filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 enumerates the return fields, so an agent can anticipate the response. The one gap is that it never explains what separates 'suspect' from 'broken', which matters for interpreting the verdict; otherwise nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With one parameter at 100% schema coverage, the structural baseline is 3. The description adds meaning the schema does not: the URL must be public, must be http/https, and is effectively limited to ports 80/443, which constrains what values will actually succeed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Check whether one public HTML page shows content,' and immediately names the concrete output vocabulary (working, suspect, broken). This is clearly distinguishable from conversion-oriented siblings like page_to_markdown, which do not return a health verdict.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides real selection conditions through exclusions: 'No JavaScript rendering; 10 seconds overall, 2 MB HTML. Public HTTP/HTTPS ports 80/443 only.' An agent knows this tool is unsuitable for JS-rendered pages, slow hosts, or non-standard ports. It does not name an alternative tool for those cases, 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.

page_to_markdownPage to MarkdownA
Read-onlyIdempotent
Inspect

Read one public HTML page as clean Markdown with title, headings, lists, tables and absolute links. No logins, paywalls or JavaScript rendering; 2 MB HTML limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http or https page URL.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive and open-world traits, so the bar is lower; the description still adds real value by disclosing the hard 2 MB payload ceiling, the absence of JS rendering, and the shape of the rendered output. It omits failure behavior (timeouts, non-HTML content, HTTP error handling), which would matter for a network fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the first front-loads what the tool does and returns, the second carries the guardrail constraints. No filler, no restatement of the name or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 characterizes the returned Markdown and the input limits, which is enough to call it correctly. It leaves out error/edge-case behavior such as non-HTML responses or fetch failures, a minor but real gap for a single-URL fetch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, so the schema already explains that url must be a public http/https page URL. The description only echoes the 'public page' constraint without adding format or normalization detail, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource+output: read one public HTML page and return clean Markdown, enumerating what is preserved (title, headings, lists, tables, absolute links). It is unambiguous about scope, though it never names or contrasts itself with page-adjacent siblings such as page_check, seo_check or get_transcript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear negative conditions for use: no logins, no paywalls, no JavaScript rendering, and a 2 MB HTML limit, which lets an agent rule this tool out for authenticated or client-rendered pages. It stops short of naming an alternative tool for those cases, so exclusions are stated without a redirect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paint_quantityPaint CalculatorA
Read-onlyIdempotent
Inspect

Calculate paint volume and whole containers from entered area or supported surface geometry, openings, whole coats and user-supplied per-coat coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoTotal gross surface area in selected squared units. Enter a bounded decimal or fraction string; positive except openings/price.
coatsYesWhole coat count.
areaUnitNoDimensions unit; areas and coverage use its square. Default ft.
coverageYesEntered per-coat coverage in selected square area units per selected volume unit. Enter a bounded decimal or fraction string; positive except openings/price.
openingsNoUnpainted opening area in the selected squared unit, no greater than gross area. Default 0. Enter a bounded decimal or fraction string; positive except openings/price.
surfacesNo
volumeUnitNoVolume unit for paint, coverage denominator and container. Default us_gal.
containerVolumeYesEntered volume of one container in selected volume units. Enter a bounded decimal or fraction string; positive except openings/price.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly=true, idempotent=true, destructive=false and closed-world, so the safety profile is fully covered. The description adds a genuine behavioral trait beyond them: the tool rounds to 'whole containers', telling the agent the output is a discrete container count rather than a raw fractional volume.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence naming the computation first, then the inputs. No filler, no redundant restatement of the title, and every clause maps to actual tool behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the high schema coverage handles parameter detail. The only shortfall is the thin usage guidance around choosing area vs surfaces, but the oneOf in the schema largely compensates for that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 88%, so the schema already documents area, coats, coverage, openings, containerVolume and units in detail. The description only restates the parameter concepts (openings, whole coats, per-coat coverage) without adding syntax, defaults, or interaction rules beyond what the schema provides. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Calculate) and resource (paint volume and whole containers) plus the input modes it accepts (entered area or supported surface geometry). No sibling tool competes in this space (concrete/mulch/gravel/volume calculators are distinct materials), so the resource is unambiguously identified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from entered area or supported surface geometry' implicitly signals the two mutually exclusive input paths, matching the schema's oneOf. However, there is no explicit when-to-use/when-not guidance, no prerequisites, and no named alternative, so usage is only 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.

pay_convertPay Rate ConverterA
Read-onlyIdempotent
Inspect

Convert gross annual salary to hourly pay or hourly pay to annual salary using your entered weekly hours and paid weeks. Pure arithmetic.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesGross amount in one entered currency.
directionNoConversion direction; default annual-to-hourly.
paidWeeksYesPaid weeks per year.
hoursPerWeekYesPaid hours per week.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. 'Pure arithmetic' adds a small amount of context (no external state, deterministic), but the description says nothing about rounding behavior or the format of the resulting figure, which matters for a pay calculation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with both conversion directions and no filler. The trailing 'Pure arithmetic.' fragment is terse and functional, though slightly clipped.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. For a four-parameter pure-arithmetic converter, the description plus schema plus annotations give the agent everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents amount, direction, paidWeeks and hoursPerWeek, including the direction enum and defaults. The description merely restates the time-base inputs ('weekly hours and paid weeks') without adding syntax, rounding, or currency meaning beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (convert) and resource (gross annual salary / hourly pay) and names both directions, which is enough to separate it from generic siblings like unit_convert or hours_calculator. It does not explicitly name a sibling alternative, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of 'your entered weekly hours and paid weeks' implies the required inputs, giving a weak cue about when the tool applies. There is no statement of when to use this versus unit_convert, hours_calculator, or time_card_calculator, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

percentage_calculatorPercentage CalculatorA
Read-onlyIdempotent
Inspect

Calculate X percent of Y, X as a percentage of Y, or signed percentage change from X to Y.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesPercentage, part, or original value by mode
yYesWhole or new value by mode
modeYesof: X% of Y; is: X is what % of Y; change: from X to Y

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the 'signed' nuance for percentage change, but does not discuss edge cases, precision, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence covers all operations with no wasted words. The structure is appropriate for a simple pure calculator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple mathematical domain, rich annotations, 100% schema coverage, and an output schema, the description is complete enough for correct invocation. No additional return-value or safety explanation is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 x, y, and the mode enum. The description restates the three mode equations but adds no syntax, constraint, or edge-case detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb, 'Calculate', and enumerates the exact three operations the tool performs: percent-of, percent-as, and signed percentage change. This clearly distinguishes it from sibling calculators such as ratio_calculator or average_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what can be calculated but gives no explicit guidance on when to use this tool versus alternatives like ratio_calculator, fraction_calculator, or discount_calculator. Usage is only implied by the listed modes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pickleball_court_costPickleball Court Cost and Size PlannerA
Read-onlyIdempotent
Inspect

Check whether a pickleball court fits a space and show public court project costs. Returns rulebook footprints and one-court fit in either orientation, separate cost cards, and unpriced scope. Cost cards are public city project and planning figures, not a price for this court. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoOmit when unknown.
sizeNoOmit when unknown.
fenceNoOmit when unknown.
courtsNoCourt count; omitted uses 1 for math, marked assumed.
finishNoOmit when unknown.
lightsNoOmit when unknown.
space_width_ftNoOpen, level space in feet; provide both length and width or neither.
space_length_ftNoOpen, level space in feet; provide both length and width or neither.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-open-world, and the description adds genuine extra context: execution is 'pure rules and Decimal, no network, model or clock,' cost figures are public city planning numbers rather than quotes, some scope is returned unpriced, and consumption draws on a shared free daily allowance. That is well beyond what the annotations convey and sets correct expectations about determinism and accuracy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and the fit/cost split in the first sentence, then layers caveats compactly. Slightly dense telegraphic phrasing ('Pure rules and Decimal, no network, model or clock') costs a point, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 all-optional params and no output schema, the description does the work of summarizing the return surface (footprints, fit in both orientations, cost cards, unpriced scope) and flags assumptions. It stops short of stating the concrete response shape or how 'assumed' defaults are surfaced, so it is strong but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all eight optional parameters, including the 'omit when unknown' defaults and the paired length/width rule. The description adds only indirect hints (footprints, orientation) rather than parameter syntax or units beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific dual purpose with concrete verbs and resources: 'Check whether a pickleball court fits a space and show public court project costs.' It then enumerates what returns (rulebook footprints, one-court fit in either orientation, cost cards, unpriced scope), so an agent knows exactly what the tool produces 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when it applies (fit checking a space against rulebook dimensions, and sourcing public project cost figures) and warns that the cost cards are 'not a price for this court.' It does not name explicit exclusions or contrast against sibling cost calculators, but the domain is narrow enough that routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pole_barn_costPole Barn Cost CalculatorA
Read-onlyIdempotent
Inspect

Estimate pole barn construction costs for given dimensions, optionally finished as living space. Returns national construction ranges for the building only, with no published typical figure. Site work/slab/doors/height/permits are not priced. use=residential adds the separate living-space build-out band with an open top and a combined planning estimate. Includes an unpriced checklist, two separate unscaled reference cards and dated sources. Pure arithmetic, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
useNoshell: building only. residential: add the separate living-space build-out band.shell
width_ftYesRequired width in feet; footprint must be 100–10,000 sq ft.
length_ftYesRequired length in feet; footprint must be 100–10,000 sq ft.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld=false), yet the description adds real behavioral context: it warns there is 'no published typical figure' and only ranges are returned, lists what is excluded from pricing, and notes the inclusion of an unpriced checklist, reference cards, and dated sources. 'Pure arithmetic, no network or model' usefully reinforces openWorldHint=false. It stops short of describing the exact return shape in full.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information-dense and front-loaded with the core purpose and scope exclusions first. Sentences are long and packed (the enumeration of checklist/cards/sources is slightly opaque), but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 burden of explaining returns — and it does, covering the range-based output, the absence of a typical figure, the residential add-on band, and the supplementary material. For a read-only arithmetic calculator with full schema coverage, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the width/length semantics are already handled (baseline 3). The description adds meaning beyond the schema by explaining that use=residential 'adds the separate living-space build-out band with an open top and a combined planning estimate,' which the enum description only hints at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Estimate pole barn construction costs') plus the scope ('for given dimensions, optionally finished as living space'), which cleanly separates it from the other cost calculators in the sibling list (driveway_cost, fence_cost, concrete_calculator). An agent can identify the tool 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear scope boundaries for when this tool applies versus what it explicitly will not cover: 'Site work/slab/doors/height/permits are not priced' and 'building only.' However, it never names an alternative tool for those excluded items, so routing to a sibling is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

powerExponent CalculatorB
Read-onlyIdempotent
Inspect

Compute a real number raised to an entered exponent with bounded inputs and explicit domain errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesBase.
exponentYesExponent.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that inputs are bounded and that domain errors are surfaced explicitly, which is useful behavioral context beyond the annotations, though it does not say what triggers an error.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, front-loading the core operation and appending the two constraints (bounded inputs, explicit domain errors). Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter math tool with an output schema, annotations, and full schema coverage, the description is nearly sufficient: it names the operation, notes input bounds, and warns of domain errors. It stops short of explaining which input combinations are outside the domain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters ('base', 'exponent') are documented there with their min/max bounds. The description only restates the conceptual relationship (base raised to exponent) and adds no format or edge-case detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('compute a real number raised to an entered exponent'), which is unambiguous and matches the title. However, it does not distinguish the tool from math siblings like logarithm, simplify_sqrt, or scientific_evaluate, so an agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives such as logarithm or scientific_evaluate, and no context about prerequisites or typical call scenarios. Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prime_number_checkerPrime Number CheckerA
Read-onlyIdempotent
Inspect

Compute deterministic primality below 3.3 × 10^24 using the 13 prime Miller–Rabin bases through 41, plus complete factorization through 10^12 or a smallest factor through 10000.

ParametersJSON Schema
NameRequiredDescriptionDefault
integerYesNonnegative decimal digits, 0 <= n < 3300000000000000000000000 (3.3 × 10^24), at most 25 digits. Full composite factorization through 10^12; otherwise smallest prime factor search through 10000 only.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description focusing on the deterministic Miller-Rabin base set and the two-tier factorization limits adds genuinely useful behavioral context about correctness guarantees and computational ceilings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the main capability and then appends the secondary factorization behavior. Nothing is wasted, though the parenthetical bounds are somewhat heavy for the space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it supplies the algorithm and limit details needed to know when the result is trustworthy. Only the lack of guidance on edge cases (e.g. 0 or 1) keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the 0 <= n < 3.3e24 range, the 25-digit cap, and the factorization limits. The description largely restates those same bounds, so it adds little beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Compute) and resource (deterministic primality / factorization) with precise numerical bounds and algorithm details. It is not tautological, but it never differentiates itself from math siblings like gcf_calculator or simplify_sqrt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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, and no alternative tools are named. Usage is only implied by the tool's nature (check if a number is prime, or factor it), which is adequate for a self-contained calculator but leaves the agent to infer the boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

proofreadProofreaderA
Read-onlyIdempotent
Inspect

Fix spelling, grammar, punctuation and word choice while keeping meaning and voice. Text goes to a language model: with no key, a small shared daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to proofread, at most 2,000 words.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover safety (readOnly, idempotent, non-destructive, openWorld); the description adds the operationally critical facts the agent cannot get elsewhere: the text is sent to an external language model, the default path uses a small shared daily allowance via Google Gemini, and an X-OpenRouter-Key header switches to the caller's own key. That is exactly the kind of auth/quota/external-service disclosure that matters for a tool whose input leaves the process.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The purpose is front-loaded and the operational caveat about model routing follows immediately, so an agent reading only the first clause still knows what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Auth, quota and external-model routing are covered, and the safety profile comes from annotations, so the main gaps are minor: the return shape (corrected text vs. change list) and behavior when the shared allowance is exhausted are unstated, and there is no output schema to fill that in.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('Text to proofread, at most 2,000 words'), so the schema already carries the semantics. The description adds nothing about the parameter itself, which is the expected baseline of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb set (fix) and resource (spelling, grammar, punctuation, word choice) plus the constraint that meaning and voice are preserved. None of the sibling tools (word_count, character_count, extract_strings, font_generator) overlap with proofreading, so no sibling differentiation is needed for an agent to pick this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the tool's obvious purpose but never stated as a when-to-use rule, and there is no when-not guidance (e.g. length limits beyond the schema, or what to do for non-English text). No alternative tool is named, which is acceptable here since no sibling competes, but the routing/quota sentence reads as behavioral disclosure rather than selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pythagorean_theorem_calculatorPythagorean Theorem CalculatorB
Read-onlyIdempotent
Inspect

Compute the third right-triangle side from exactly two measured sides, both acute angles, the right angle and area using the Pythagorean theorem.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNoLeg a in the common length unit (10^-9 to 10^9).
bNoLeg b in the common length unit (10^-9 to 10^9).
unitNoCommon length unit for every coordinate or side; area uses its square.units
hypotenuseNoHypotenuse, opposite the right angle in the common length unit (10^-9 to 10^9).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds that it uses the Pythagorean theorem and mentions computed quantities (angles, area), but does not describe precision, error handling, or output format. With annotations carrying the behavioral burden, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, but it is grammatically awkward and could be misread ('from exactly two measured sides, both acute angles, the right angle and area'). It is front-loaded with the main action but not optimally structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple math tool with full schema coverage, rich annotations, and an output schema, the description adequately conveys the high-level purpose. The awkward phrasing around outputs (angles, area) introduces slight ambiguity that the output schema resolves, but the description is otherwise complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameter meanings are fully documented in the schema. The description only restates that exactly two sides are required, which is already captured by the schema's oneOf and description. No additional syntax, format, or constraint details are provided beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Compute' and resource 'third right-triangle side' using the Pythagorean theorem, and mentions angles and area. The phrasing is slightly awkward but an agent can identify the tool's function from siblings that are mostly unrelated calculators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance or alternatives. The phrase 'from exactly two measured sides' implies input requirements but is already covered by the schema's oneOf. There is no indication of when to use this tool versus other triangle-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quadratic_solveQuadratic Formula CalculatorA
Read-onlyIdempotent
Inspect

Solve ax² + bx + c = 0 from entered coefficients. See real or complex roots, the discriminant and linear or constant cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesCoefficient; zero or absolute magnitude 10^-12 to 10^12.
bYesCoefficient; zero or absolute magnitude 10^-12 to 10^12.
cYesCoefficient; zero or absolute magnitude 10^-12 to 10^12.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds meaningful output-context beyond those annotations by disclosing that results include real or complex roots, the discriminant, and linear/constant cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact clauses, front-loaded with the operation and followed by output expectations. No redundant or wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, pure-calculation tool with a full output schema and rich annotations, the description supplies all necessary context: input form, output categories, and special cases. Nothing important is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 context by placing a, b, and c into the quadratic equation ax² + bx + c = 0, clarifying their roles beyond the schema's repeated generic 'Coefficient' descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (solve) and resource (ax² + bx + c = 0) and distinguishes the operation from generic calculators by naming expected outputs: real or complex roots, discriminant, and linear/constant cases. An agent can identify this as the quadratic-equation solver 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for quadratic equations from coefficients, but it does not explicitly say when to choose this over sibling calculators or when not to use it. Usage is inferable, not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ratio_calculatorRatio CalculatorA
Read-onlyIdempotent
Inspect

Simplify decimal A:B ratios, solve A:B = C:?, or scale the ratio to a target term or total.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesNonnegative A term
bYesNonnegative B term
cNoKnown C term in C:?
modeYesOperation
targetNoTarget amount in the same units as A and B
targetPartNoPart assigned the target; default a

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the input domain (decimal ratios) and case semantics, but says nothing about output form, rounding/precision, or how degenerate inputs (e.g., zero terms) are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the primary operation (simplify), with no filler or repetition of the title/schema. Every clause maps to a real mode of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and the mode enumeration plus annotations make the tool callable. It is nearly complete, with only the semantics of non-integer/zero input handling left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 slightly beyond the schema by glossing the 'solve' case as A:B = C:? (clarifying c's role) and by describing target as a 'target term or total', which maps directly onto the targetPart enum values a|b|total.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (decimal A:B ratios) and enumerates three distinct operations — simplify, solve A:B = C:?, and scale — matching the mode enum, so the agent knows exactly what the tool computes. It does not explicitly differentiate itself from near-neighbors like fraction_calculator or percentage_calculator, but 'ratio' is a distinctive enough domain that confusion is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each mode is paired with the problem shape it addresses ('solve A:B = C:?' implies you have a known C and want the missing term; 'scale to a target term or total' implies you have an amount to fit into the ratio). This gives clear per-mode context for selection, but there are no explicit exclusions or pointers to alternative calculator tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_barcodeBarcode scannerA
Read-onlyIdempotent
Inspect

Read every barcode in a PNG, JPEG or WebP image, given as base64 (or a data URL), a public https URL, or an attached file. At most 2 MB and 4000 by 4000 pixels. Returns text, format, corner positions and GS1 product number, expiry and lot when present.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic https URL of a PNG, JPEG or WebP image; 2 MB maximum.
fileNoAn image file the user attached (OpenAI Apps SDK file parameter).
imageNoBase64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower. The description still adds real substance: hard limits of 2 MB and 4000x4000 pixels, and an enumeration of what comes back (text, format, corner positions, GS1 product number, expiry, lot) 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences: accepted inputs and limits first, returned fields second. No filler, no restatement of the title, every clause carries information an agent needs before calling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes responsibility for describing return values and it does so concretely. Combined with the input limits and the three mutually exclusive input paths, an agent has everything needed to make a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 the 4000x4000 pixel cap that appears nowhere in the schema (the schema only repeats the 2 MB limit per parameter). It also clarifies that exactly one of image/url/file should be supplied, reinforcing rather than merely echoing the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read every barcode in a ... image') plus the accepted input forms and payload size limits. The read-side verb cleanly separates it from the generate-side siblings make_barcode and make_qr 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: it accepts an image one of three ways, and the schema note says 'Give one of image, url or file.' There is no explicit when-to-use or when-not guidance (e.g. no statement about preferring the attached-file path over base64, or any input that this tool will reject as out of scope).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recall_checkRecall CheckA
Read-onlyIdempotent
Inspect

Search local U.S. CPSC data for up to 10 recall notices that may match — check the notice. updated_at is when this local copy of CPSC data was last refreshed (UTC, ISO 8601), not a recall date; each match's date is its notice date. May not cover every batch or country; read the notice. No CPSC endorsement.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesProduct name, brand, model number or UPC.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the bar is lower. The description adds genuinely useful context beyond them: the data is a local copy, updated_at reflects refresh time rather than a recall date, coverage is incomplete, and results are capped at 10.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but every clause carries information, and the core purpose is front-loaded before the caveats. The semicolon-and-em-dash packing is slightly heavy but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter search tool with no output schema, the description covers the result cap (10), the meaning of the updated_at output field, coverage limitations, and a disclaimer. Nothing an agent needs to call and interpret it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single query parameter is fully documented in the schema ('Product name, brand, model number or UPC'). The description adds no further input semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search local U.S. CPSC data for up to 10 recall notices') with clear scope (local, U.S., capped at 10). It is unambiguously distinguishable from the calculator/utility siblings, none of which are recall lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly tells the agent this is for checking product recall notices and adds caveats ('check the notice', 'May not cover every batch or country'), but it never states when to use it versus alternatives or what queries are well-suited. Adequate but with clear gaps in explicit usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_gapRésumé vs job descriptionA
Read-onlyIdempotent
Inspect

Compare résumé skills with Columbus, Ohio job postings, or with one pasted job description. Résumé is not stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyNoJob family for the Columbus postings check; required unless job_ad is given.
job_adNoPlain text of one job description; lists the skills it names that the résumé shows and does not show.
resume_textYesPlain text of the résumé.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely non-obvious behavioral fact — "Résumé is not stored" — which addresses a real user/agent privacy concern that structured fields do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two lean sentences with the core action front-loaded and the privacy note trailing. Every clause carries information; there is 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, non-destructive analysis tool with no output schema, the description covers the two input modes and the data-handling behavior, which is enough to invoke it correctly. It does not preview the shape of the gap result, though the job_ad parameter text hints at it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (family enum, job_ad length bounds, resume_text length bounds, and the family-required-unless-job_ad rule) is already documented. The description reinforces the mode selection and privacy stance but adds no new parameter-level meaning, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ("Compare") plus resource ("résumé skills") and both scopes are spelled out: Columbus, Ohio job postings or a single pasted job description. No sibling tool overlaps, and an agent immediately knows this performs a résumé-vs-posting skill gap comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly establishes the two usage modes (aggregate Columbus postings vs one pasted job description), so an agent knows the tool's applicable context. It stops short of stating when to prefer one mode over the other or any exclusions, which the schema's "required unless job_ad is given" note partially covers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retirement_drawdownRetirement Income CalculatorA
Read-onlyIdempotent
Inspect

Arithmetic on entered numbers only: level end-of-period withdrawal, total withdrawn and complete period table from a balance, fixed entered nominal annual return and term. Monthly, quarterly or annual periods; nearest-cent half-up rounding; final withdrawal clears residue. Rates are entered, never fetched.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesWhole years; at most 360 monthly, 120 quarterly or 30 annual rows.
balanceYesStarting balance in USD, at most two decimal places.
frequencyYesWithdrawal timing: 12 monthly, 4 quarterly or 1 annual end-of-period withdrawal per year.
annualReturnPercentYesEntered fixed nominal annual return percentage; at most six decimal places, divided by periods per year.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld=false and non-destructive, so the safety profile is covered. The description goes beyond them with genuinely useful behavior: nearest-cent half-up rounding, the final withdrawal clearing residual balance, and the guarantee that rates are entered rather than fetched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the core computation and then the period/rounding details, with no filler. It is information-rich but slightly packed, which costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full output schema, the return values need not be re-explained, and annotations cover safety. The description supplies the calculation convention (level end-of-period, half-up rounding, residue clearing) that an agent needs to invoke it correctly, leaving only sibling-routing guidance missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 all four parameters with ranges, enum values and semantics. The description adds only marginal meaning ('monthly, quarterly or annual periods', 'end-of-period withdrawal', 'final withdrawal clears residue') beyond what the schema states, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (retirement drawdown) and precisely enumerates outputs: level end-of-period withdrawal, total withdrawn, and a complete period table from a balance, return and term. It also draws a boundary ('arithmetic on entered numbers only... rates are entered, never fetched') that separates it from rate-fetching or market-data tools among the many calculator siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the clear domain (level retirement withdrawals) and the input-source note ('rates are entered, never fetched'), which tells the agent this is a pure offline calculator. However, it never states when to prefer this over the closely related loan_schedule or compound_interest_calculator siblings, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roiROI CalculatorB
Read-onlyIdempotent
Inspect

Compute net gain and return on investment percentage from entered cost and final value, with optional annualization.

ParametersJSON Schema
NameRequiredDescriptionDefault
costYesCost (must be positive).
yearsNoOptional positive duration in years for annualized ROI.
finalValueYesFinal value.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is fully covered by structured data. The description adds that annualization is an optional behavior affecting the output, which is useful context, but nothing about behavior beyond the schema (e.g. rounding of the percentage, handling of edge values) is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler that front-loads the outputs and ends with the optional modifier. Every clause carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a complete input schema, an output schema, and full annotation coverage, the description only needs to frame the operation, which it does. It is essentially complete, falling short only of routing guidance among the numerically similar sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter documented including positivity and range constraints, so the baseline is 3. The description restates the same three concepts (cost, final value, years) without adding format, units, or interpretation guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific computation (net gain and ROI percentage) plus its two inputs and an optional annualization dimension, so an agent can immediately tell what the tool produces. It does not, however, explicitly differentiate itself from numerically adjacent siblings such as margin_calculator or percentage_calculator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to reach for this tool versus the many other finance/percentage calculators (margin_calculator, compound_interest_calculator, percentage_calculator) in the sibling set. Usage is only implied by the formula being described, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roman_numeralRoman Numeral ConverterA
Read-onlyIdempotent
Inspect

Convert whole numbers from 1 to 3999 to canonical Roman numerals, or convert canonical Roman numerals to numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesDecimal whole-number text from 1–3999 for to_roman, or Roman numeral text in either case for from_roman.
directionYesConversion direction.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered externally. The description adds only the 1–3999 bound and the 'canonical' constraint (implying non-canonical input like 'IIII' is rejected), which is light value for a pure-function tool; error behavior for invalid input is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, imperative and front-loaded, covering both directions with zero filler. Every clause (range, canonical form, reverse direction) carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter pure conversion with a full output schema and complete annotations, the description covers what an agent needs to select and call it. It could be slightly more explicit about failure behavior at the domain edges (0, 4000, non-canonical numerals), but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3 applies: the value parameter's type, length bounds, accepted cases, and the direction enum are all documented in the schema. The description's only addition beyond the schema is the word 'canonical', which marginally narrows accepted Roman input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Convert whole numbers to Roman numerals' and the inverse), including the exact domain 1–3999 and the 'canonical' qualifier. An agent can distinguish this from neighbors like base_convert, decimal_to_fraction, or epoch_convert without inspecting any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The bidirectional phrasing makes the two operating modes clear, and the direction enum plus example reinforce it. It stops short of explicit routing guidance (e.g., what to do with out-of-range numbers or non-canonical numerals), so it is clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

roof_replacement_costRoof Replacement Cost CalculatorA
Read-onlyIdempotent
Inspect

Estimate sloped roof area and roofing squares from a measured footprint and pitch. Calculates optional shingle purchase allowance, historical asphalt installation and matched removal scenarios, verified historical standing-seam bid endpoints, and a benchmark subtotal with your separately quoted extras; missing local prices remain get a local quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
pitchYesRise p in inches per 12 inches horizontal run; geometry only.
layersNoAsphalt removal layers; 0 means no removal. Metal rates do not vary with layers; only 0 or 1 supported.
materialYes
width_ftNoHorizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.
length_ftNoHorizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.
quoted_extrasNoYour own total dollars quote for separate items excluded from the installation/removal scope; no assumed surcharge.
waste_percentNoOptional asphalt purchase allowance only. Not applied to installed bid rates. No sourced midpoint/default.
footprint_sqftNoHorizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful context about calculation scenarios (optional shingle allowance, historical asphalt installation and removal, standing-seam bid endpoints, benchmark subtotal) and a limitation around missing local prices.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is front-loaded and clear, but the second sentence is a long, somewhat malformed run-on ending in 'missing local prices remain get a local quote.' The content could be tighter and better structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a moderately complex calculator with no output schema, the description lists the main calculated outputs and scenarios, and it notes the local-price limitation. It is largely complete, though it could clarify what the result object contains or how to interpret the benchmark subtotal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high at 88%, so the schema already documents most parameters. The description references pitch, footprint, waste, material, and quoted extras, but adds little syntax or format detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Estimate') and resource ('sloped roof area and roofing squares'), then extends to cost scenarios including asphalt and standing-seam. An agent can distinguish this from generic cost calculators by the roof-specific geometry and material scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage from a measured footprint and pitch, and notes that missing local prices require getting a quote. However, it does not explicitly state when to use this tool versus alternatives among the many sibling calculators, nor does it give clear exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

round_decimalRounding CalculatorA
Read-onlyIdempotent
Inspect

Round decimal strings exactly to decimal places, tens, hundreds or other powers of ten. Choose half away from zero or half even, including negative ties.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesUp to 200 decimal digits with optional exponent -200 through 200.
placesNoDecimal places; negative values round to tens, hundreds etc.; default 0.
tieModeNoExact halfway rule; default half-away.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds useful tie-rule context, including negative ties, which goes beyond annotations, but it does not discuss edge cases like input limits or return behavior (covered elsewhere).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the core operation and options. There is no filler, and every clause carries useful meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, deterministic rounding tool with rich annotations and an output schema, the description supplies the essential purpose and options. It lacks explicit alternative routing, but the annotations and schema cover safety and input details, leaving the definition largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so text, places, and tieMode are already fully documented in the schema. The description restates the places and tie concepts without adding syntax or format details beyond what the schema provides; the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: rounding decimal strings to decimal places, tens, hundreds, or other powers of ten, with explicit tie modes. The scope is precise and mostly distinguishes it from other rounding tools like round_sig_figs, though it does not name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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, and no alternative tools are named. The implied context is enough for an agent to infer basic use, but choosing between this and round_sig_figs is left to the schema and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

round_sig_figsSignificant Figures ConverterA
Read-onlyIdempotent
Inspect

Round a decimal string to a chosen number of significant figures using exact decimal half-up rounding; return plain and scientific notation.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesSigned decimal string, optionally with exponent notation; no commas.
significantFiguresYesNumber of significant figures to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: the exact half-up rounding policy (as opposed to banker's rounding) and that output includes both plain and scientific notation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the operation, then the rounding policy, then the return format. Every clause carries information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a pure, idempotent, read-only numeric transform with a full schema, an output schema, and complete annotations, the description supplies everything an agent needs to invoke it correctly. Error handling and pagination are irrelevant here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the value format (signed decimal string, optional exponent, no commas) and the significantFigures bounds fully documented in the schema. The description's phrase 'a chosen number of significant figures' merely echoes the parameter name, so it adds no meaning beyond structured fields — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (round), resource (decimal string), and the precise operation (to a chosen number of significant figures), which is enough to separate it from siblings like round_decimal or decimal_to_fraction on semantics alone. However, it never explicitly names the neighbouring rounding tool it could be confused with, so the differentiation is inferential rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no alternative tool is named, even though round_decimal and scientific_notation sit right beside it. The description only states what the tool does, leaving the agent to guess which rounding sibling fits a given request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scientific_evaluateScientific CalculatorB
Read-onlyIdempotent
Inspect

Evaluate arithmetic, powers, roots, logs and trigonometric functions with parentheses. Choose degrees or radians and get finite real results.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleUnitNoAngle mode for trig and inverse trig; default degrees.
expressionYesExplicit arithmetic expression; 256 tokens, 64 nested operations. No implicit multiplication.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false. The description adds that results are finite and real, and that angle mode matters for trig, but does not explain error behavior for invalid or undefined expressions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose first, then angle choice and result type. No filler and appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity evaluator with full schema descriptions, rich annotations, and an output schema, the description covers the core purpose and angle mode. It is largely complete, though it omits routing guidance against the many specific calculator siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the angleUnit enum/default and expression token/nesting limits. The description repeats the angle choice and adds 'with parentheses,' which is marginal beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Evaluate) and enumerates the function families (arithmetic, powers, roots, logs, trigonometric) plus parentheses. This clearly distinguishes it from narrow siblings like average_calculator or percentage_calculator, though it does not explicitly contrast with logarithm or power.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives no when-to-use context, no exclusions, and no alternatives among the many calculator siblings. The advice to choose degrees or radians is parameter setup, not usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scientific_notationScientific Notation CalculatorA
Read-onlyIdempotent
Inspect

Normalize decimal strings to scientific notation or expand exponent notation exactly. Keep all entered numerical digits without binary float conversion.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOutput focus; default normalize.
textYesUp to 200 decimal digits, exponent -200 through 200.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: exact digit preservation with no binary float conversion, which tells the agent this is a precision-preserving formatter rather than a floating-point evaluator.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences, front-loading the operation and then the behavioral guarantee. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering safety and an output schema covering return values, the description only needs to convey purpose and the exactness guarantee, which it does. The one remaining gap is routing context relative to sibling math tools, but the core call guidance is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the mode enum and the text length/digit-limit constraints are already documented in the schema. The description echoes the normalize/expand distinction but adds no syntax, format, or edge-case detail beyond what the structured fields provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (normalize/expand) and resource (decimal strings / exponent notation) and distinguishes the two directional operations clearly. It does not, however, differentiate itself from close siblings like scientific_evaluate or round_sig_figs, leaving the agent to infer which arithmetic tool applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given beyond the schema's mode enum. Nothing tells the agent why to pick this over scientific_evaluate, round_decimal, or round_sig_figs, which all touch the same numeric territory.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seo_checkSEO CheckerA
Read-onlyIdempotent
Inspect

Check one public HTML page with fixed SEO rules. Returns schema 1, score, strengths, ranked fixes and facts. No JavaScript rendering; 10 seconds overall, 2 MB HTML and at most 20 links. Public HTTP/HTTPS ports 80/443 only.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http or https page URL.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, and the description adds concrete operational traits beyond them: no JS rendering, 10-second overall budget, 2 MB HTML cap, max 20 links, and restricted public ports. It also sketches the return payload (schema 1, score, strengths, ranked fixes, facts), which matters because there is 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, with purpose front-loaded and constraints following in descending importance. No filler, no restatement of the tool name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on the burden of describing returns and does so briefly; the size, time, link and port limits complete the picture. An agent has everything needed to decide whether calling it will succeed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single required parameter is fully described in the schema ('Public http or https page URL'), so the baseline is 3. The description nonetheless adds real meaning by tying the URL to public ports 80/443 and an HTML (non-JS-rendered) page, narrowing what inputs will actually work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check one public HTML page') scoped by 'fixed SEO rules', so the agent knows exactly what analysis is performed. It does not name or differentiate against nearby siblings such as page_check or page_to_markdown, leaving that routing to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear applicability context: one page, public, HTML, no JavaScript rendering, ports 80/443 only. It never states when to prefer this over alternatives like page_check or find_data, but the operating envelope is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simplify_sqrtSquare Root SimplifierA
Read-onlyIdempotent
Inspect

Rewrite the square root of an integer from 0 to 10^12 as a√b using exact integer factors.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesNonnegative integer.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds useful behavioral context beyond annotations: the operation is exact, uses integer factors, and accepts a bounded nonnegative integer domain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no wasted words, front-loading the operation, input domain, and output form. It is appropriately sized for a simple unary mathematical tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not explain return values. For a one-parameter pure function with full schema coverage and safety annotations, the description contains everything needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single parameter is already fully documented by the schema. The description restates the input domain ('integer from 0 to 10^12'), which is consistent with the schema but does not add new parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Rewrite') and resource ('square root of an integer') with the exact output form 'a√b' and input domain '0 to 10^12'. This clearly distinguishes it from sibling math utilities such as power, logarithm, or quadratic_solve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but gives no guidance on when to use it versus alternatives, nor any prerequisites or exclusions. Usage is only inferable from the name and mathematical operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slope_calculatorSlope CalculatorA
Read-onlyIdempotent
Inspect

Compute slope, y-intercept, slope-intercept and point-slope equations, distance, midpoint and line inclination from two distinct points, including vertical lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yesx1 coordinate, in the common length unit (±10^9).
x2Yesx2 coordinate, in the common length unit (±10^9).
y1Yesy1 coordinate, in the common length unit (±10^9).
y2Yesy2 coordinate, in the common length unit (±10^9).
unitNoCommon length unit for every coordinate or side; area uses its square.units

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds a genuine edge-case disclosure ('including vertical lines') and a precondition ('two distinct points'), but does not say how vertical lines are reported or what the response shape is. Useful but modest added context over 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence led by the verb 'Compute', with each enumerated output earning its place. It is dense rather than padded, though the long capability list is slightly list-like rather than prioritized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and the input schema fully documents all five parameters. Combined with annotations covering safety, an agent has everything needed to invoke this tool correctly; only alternative-routing guidance is absent, which is scored elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with every coordinate and the 'unit' enum documented in the schema including range limits and default. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Compute') and enumerates the exact resource outputs: slope, y-intercept, both equation forms, distance, midpoint and inclination. It is unambiguous what the tool produces. It does not, however, differentiate itself from the nearest sibling (pythagorean_theorem_calculator also computes distance between two points), 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('from two distinct points') and flags the vertical-line case, which tells the agent this is the right tool when given a coordinate pair. It offers no explicit when-to-use vs. alternatives comparison and no exclusions, so 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.

square_footage_calculatorSquare Footage CalculatorB
Read-onlyIdempotent
Inspect

Computes and sums rectangle, circle, triangle and L-shaped room areas in square feet and square metres.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNoCommon length unit for every entered dimension; default ft.
roomsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=true, idempotent=true, destructive=false and openWorld=false, so the safety profile is covered. The description adds that multiple rooms are summed and that areas are returned in both imperial and metric units, but says nothing about aggregation behavior, limits (max 100 rooms), or precision/rounding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the verb and result, carrying the shape list and output units with no filler. Nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return formatting need not be explained. However, for a tool that takes a nested per-room shape schema, the description covers only the shape and unit basics and omits the supported unit range and multi-room semantics beyond 'sums'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (the rooms array is undocumented while unit is described), so the description must partly compensate. It confirms the shape vocabulary but implies only square feet and square metres, while the unit enum actually accepts ft, in, yd and cm as well, leaving a gap on the unit parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-and-resource pair (computes and sums room areas) and enumerates the supported shapes, so an agent knows exactly what the tool produces. It does not differentiate itself from near-neighbors like flooring_cost, concrete_calculator, or paint_quantity, which also derive areas, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to reach for this tool versus area-estimating siblings, and no mention of prerequisites or exclusions. The agent must infer usage entirely from the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

time_card_calculatorTime Card CalculatorB
Read-onlyIdempotent
Inspect

Sum up to seven clock-time shifts and optionally split the total into regular minutes and minutes past 40 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYesCompleted shifts for one workweek; omit blank days
overtimeNoSplit minutes past 40 hours; arithmetic only, without eligibility or pay

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the 7-shift cap and clarifies that the overtime split is arithmetic only, but that caveat largely duplicates the schema's own overtime description, so the incremental value is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the primary action first and the optional behavior second, with no filler. Nothing could be removed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return values need not be explained, and the description covers the input scope and the overtime option. It is complete enough to call correctly, though a note on how invalid or overnight-crossing times are handled would add polish.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so rows, start/end, breakMinutes, overnight and overtime are all already documented in the schema. The description adds the 40-hour threshold concept but no format, ordering, or edge-case semantics beyond it, which matches the baseline 3 for a fully-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (sum clock-time shifts) and states the cardinality cap (up to seven), so the tool's function is unambiguous. It does not differentiate itself from nearby siblings such as hours_calculator, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no alternative is named even though hours_calculator sits adjacent and can plausibly be confused with this one. The reader must infer the use case from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tip_calculatorTip CalculatorA
Read-onlyIdempotent
Inspect

Calculate a bill tip and equal per-person shares, with cent rounding or optional whole-dollar rounding up.

ParametersJSON Schema
NameRequiredDescriptionDefault
billYesBill base in USD, at most two decimals
peopleNoNumber of equal shares; default 1
roundUpNoRound each share up to a whole dollar; otherwise up to a cent
tipPercentYesEntered tip percentage, at most two decimals

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is fully covered structurally. The description adds the behavioral distinction between cent rounding and whole-dollar round-up, but says nothing about how remainders are distributed across shares or about edge cases like people=1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence covering the core computation and the two rounding modes, with no redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering safety, a 100%-covered schema, and an output schema handling return values, the description needs little more. It is nearly complete for a simple calculator, with only minor ambiguity around how non-divisible amounts are allocated between the listed people.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter carries its own description with bounds and defaults, so the schema does the heavy lifting. The description restates share splitting and rounding but adds no syntax, format, or constraint detail beyond what the schema already documents, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (Calculate) and resource (bill tip and equal per-person shares) and names the two rounding modes it supports. No sibling tool covers tips, so an agent can immediately recognize this as the tip-calculation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the tool's name and the phrase 'bill tip'; there is no explicit when-to-use statement and no mention of alternatives such as percentage_calculator or unit_price. Adequate for a self-evident calculator but no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unit_convertUnit ConverterA
Read-onlyIdempotent
Inspect

Convert a bounded decimal or fraction quantity between explicit compatible mass, volume, international length, speed or item-count units. Reject incompatible dimensions; no density is inferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget unit in the same dimension. International length definitions and US liquid measures are explicit.
fromYesExplicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only.
valueYesNonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is low. The description adds genuine behavioral detail beyond them: incompatible dimension pairs are rejected rather than coerced, and no density is synthesized across mass/volume.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, with the core capability and the key constraint (no density inference) front-loaded ahead of any caveat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-format explanation is rightly omitted. Description covers scope, dimension rules, and the density boundary; only the naming of the sibling to use instead is left implicit, a minor gap for a tool with rich structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 still adds value the enums lack by grouping units into dimension families (mass, volume, length, speed, item-count) and by characterizing the value as bounded, which tells the agent the accepted conversion space without scanning 23 enum members.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Convert), the accepted quantity formats (decimal or fraction), and the exact unit families (mass, volume, international length, speed, item-count). 'Reject incompatible dimensions; no density is inferred' cleanly separates it from the sibling mass_volume_convert, which is the obvious confusion point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear selection context: use only for units within the same dimension, and it flags the density boundary that routes mass↔volume work elsewhere. It never names mass_volume_convert as an alternative, so the routing is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unit_priceUnit Price CalculatorA
Read-onlyIdempotent
Inspect

Compare package prices per equal mass, volume or whole item count in one entered currency, with exact tie detection and compatible units only.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyYesEntered three-letter currency label (letters only), shared by all prices; no exchange rates.
packagesYes
targetUnitYesOne common mass, volume or count unit for comparison.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, closed-world, and non-destructive, so the safety profile is covered. The description adds real behavior beyond that: exact tie detection and enforcement of compatible units only, plus the single-currency (no FX) constraint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the core action front-loaded and no filler. Every clause (equal mass/volume/count, one currency, tie detection, compatible units) carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and annotations cover the safety profile. The description is nearly complete, missing only minor practical notes such as the minimum of two packages or guidance on what happens with incompatible units.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% and the enum fields and nested package properties are already documented in the schema. The description reinforces that targetUnit is one common mass/volume/count unit and that packages must share a dimension, but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-plus-resource: comparing package prices normalized per equal mass, volume, or item count. This implicitly separates it from raw-conversion siblings like unit_convert and mass_volume_convert, but it never names an alternative, so it stops short of an explicit sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scope constraints ('in one entered currency', 'compatible units only') imply when the tool fits, but there is no stated when-to-use/when-not guidance and no alternative tool named for the case where units are incompatible or currencies differ.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volume_calculatorVolume CalculatorB
Read-onlyIdempotent
Inspect

Computes cube, box, cylinder, cone, sphere or rectangular-pyramid volume with its formula and cubic-unit conversions.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNoCube side.
unitNoCommon length unit for every entered dimension; default ft.
shapeYesSolid shape; pyramid has a rectangular base.
widthNoBase width.
heightNoPerpendicular height.
lengthNoBase length.
radiusNoRadius, not diameter.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds that the result includes the applicable formula and cubic-unit conversion, which is useful behavioral context, but says nothing about precision, rounding, or supported unit mixing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb, the resource, and the two notable output behaviors; no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, and annotations cover the safety and idempotency profile. What remains unstated is edge behavior such as handling of the shape-conditional required fields, but that is largely encoded in the oneOf schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 every parameter including the unit enum and the 'radius, not diameter' note. The description only reinforces the shape list and unit handling, adding little beyond the structured fields; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (computes volume) and enumerates the supported solids plus the returned formula and unit conversions, which is more than a restatement of the name. It does not, however, differentiate itself from the adjacent volume-adjacent sibling mass_volume_convert, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to pick this over mass_volume_convert or square_footage_calculator, no prerequisites, and no exclusions. Usage is only implied by the mention of shapes and cubic units.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

water_softener_sizeWater Softener Size CalculatorA
Read-onlyIdempotent
Inspect

Size a water softener from household water use and tested hardness, with yearly salt cost. Gallons per person per day is required (no national default used), for softened water only. Iron is optional; unknown when absent, and changes the setting per EcoPure's clear-water ferrous iron rule (5 gpg per ppm); other makers differ. Returns grains per day, working capacity before reserve, optional paired model ratings, three idealized EP42 test-rating examples, notes, assumptions and dated primary sources. Costs are salt only. Pure Decimal arithmetic, no network or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
bag_lbNoBag weight in lb.
peopleYesRequired whole household size.
salt_lbNoYour manual's lb salt at capacity_grains; requires capacity_grains.
hardnessYesRequired measured hardness; after conversion 0 < gpg <= 100.
iron_ppmNoOptional dissolved clear-water ferrous iron in ppm; absent means unknown. EcoPure adds 5 gpg per ppm (W4); other makers differ.
bag_priceNoPrice per bag; one store's price (Fleet Farm, observed 2 Oct 2026); enter yours.
hardness_unitNogpg or mg/L; divide mg/L by 17.1 (W1).gpg
interval_daysNoOptional target days between regenerations.
capacity_grainsNoYour manual's grains per regeneration; requires salt_lb.
gallons_per_person_dayYesRequired softened gallons per person per day; no national default used. Exclude bypassing outdoor taps.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world); the description adds genuinely behavioral context beyond them: 'Pure Decimal arithmetic, no network or model' (deterministic/offline), 'Costs are salt only' (cost scope), and a maker-specific iron rule with the caveat 'other makers differ'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Inputs and constraints are front-loaded before output and behavior clauses, and the dense parenthetical asides ('no national default used', 'other makers differ') are informative. It runs long with several stacked clauses, but each carries content rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on the return-value burden and enumerates the outputs (grains/day, capacity before reserve, paired model ratings, EP42 examples, notes, assumptions, dated sources). For a 10-parameter tool the coverage is strong; only minor details like the salt_lb/capacity_grains pairing are left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 restates the required-vs-optional split and the iron ppm rule, but the schema already documents those (including the 5 gpg/ppm and W4 reference), so added value over structured data is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource+scope: 'Size a water softener from household water use and tested hardness, with yearly salt cost.' Among ~90 calculator siblings, it is unambiguously the softener-sizing one, so no further differentiation is needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For softened water only' and 'gallons per person per day is required (no national default used)' tell the agent the operating conditions and the non-negotiable input. No explicit alternative-tool routing is given, but no sibling overlaps this function, so context is sufficient without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wheelchair_rampWheelchair Ramp CalculatorA
Read-onlyIdempotent
Inspect

Plan wheelchair ramp length from entrance rise. Returns the minimum horizontal run under ADA 2010 §405.2, cited width, landing, rise-per-run and handrail dimensions, and separate historical HUD accessibility cost cards with missing price cells visible. This is a planning guide, not a code inspection.

ParametersJSON Schema
NameRequiredDescriptionDefault
rise_inchesYesEntrance rise in inches; minimum horizontal run excludes landings and door maneuvering space.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely non-obvious context: the specific standards applied, the returned dimensions, and notably that HUD cost cards expose missing price cells rather than silently dropping them. It stops short of describing precision, rounding, or failure modes for invalid rises.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose before the output enumeration and the disclaimer. The middle sentence is a dense list of six outputs and one clause ('separate historical HUD accessibility cost cards with missing price cells visible') is awkwardly worded, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 list the main outputs (run length, width, landing, rise-per-run, handrail dimensions) plus the ancillary cost cards. For a single-parameter tool with full schema coverage this is nearly complete; only rounding/precision and the shape of the cost-card payload remain unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already defines rise_inches, its positive lower bound, and the fact that the computed run excludes landings and door maneuvering space. The description's 'from entrance rise' restates this without adding format, unit, or range guidance, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Plan wheelchair ramp length from entrance rise' — and anchors it to ADA 2010 §405.2, which no sibling calculator does. The tool is unmistakably distinguishable from the many generic numeric calculators in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing sentence 'This is a planning guide, not a code inspection' gives one explicit when-not boundary, which is useful. However, there is no positive usage framing, no prerequisites, and no routing to alternatives for related questions (e.g. cost estimation tools like driveway_cost or concrete_calculator).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

word_countWord counterB
Read-onlyIdempotent
Inspect

Count words, characters, sentences and paragraphs and estimate reading and speaking times from text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is covered. The description adds no further behavioral context such as output shape, language handling, or limits, so it only marginally exceeds 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly packed sentence with the operations front-loaded and no filler; every clause names a distinct computation the tool performs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description enumerates the computed metrics well. The remaining gap is the absence of any routing hint against the sibling character_count for overlapping use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter, text, and the schema's own description for it is empty (0% coverage). The phrase 'from text' confirms the input is raw text, but no guidance on format, length, or edge cases is added, so it only partially compensates for the empty schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (count/estimate) plus the exact outputs (words, characters, sentences, paragraphs, reading and speaking times) drawn from text. It is clear what the tool does, but it does not differentiate itself from the closely related sibling character_count.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of the overlapping sibling character_count, which an agent could easily pick instead if it only needs character totals. Usage is only implied by the input type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yard_drainage_causeYard Drainage Cause FinderA
Read-onlyIdempotent
Inspect

Find likely causes of water pooling in a yard, fix options, who does them and dated public cost estimates. Returns likely causes to investigate, not a diagnosis, with explainable observed-code rules, safety escalations, options and who does them. Prices are dated public planning estimates, with distinct scopes and source years; no 2026 price adjustment. Omit unknown groups; [] means none observed. Optional numbers price only agreed areas, designed storage or counted downspout sets; the soil check screens root-zone drainage. No network or model. Web and MCP share the free daily allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoOmit for unknown; [] means none observed. lower_outlet: A working lower outlet; utilities_in_area: Utilities in the area; septic_or_well_nearby: A septic system or well nearby; water_entering_house: Water entering the house
soilNoOmit for unknown; [] means none observed. clay: Clay soil; compacted: Compacted soil
whereNoOmit for unknown; [] means none observed. foundation: At the foundation; lawn_low_spot: A lawn low spot; slope_bottom: At the bottom of a slope; whole_yard: Across the whole yard
timingNoOmit for unknown; [] means none observed. after_rain: After rain; seasonal: Seasonally; dry_weather: In dry weather
gradingNoOmit for unknown; [] means none observed. slopes_toward_house: Ground slopes toward the house; settled_low_spot: A settled low spot; blocked_swale: A blocked swale; new_hard_surface: A new hard surface
guttersNoOmit for unknown; [] means none observed. overflowing: Overflowing gutters; leaking: Leaking gutters; discharge_near_foundation: Downspouts discharge near the foundation
boundaryNoOmit for unknown; [] means none observed. flow_from_higher_ground: Flow from higher ground; new_nearby_hard_surface: A new nearby hard surface
downspoutsNoWhole number of elbow-plus-extension sets, hardware only.
groundwaterNoOmit for unknown; [] means none observed. seepage: Seepage; saturated_below_surface: Saturated below the surface; seasonal_high_water: Seasonal high water
drop_inches_15minNoInches dropped in 15 minutes after pre-wetting and refilling the hole; Iowa State's informal root-zone check, not a dry-well design test.
dry_well_cubic_ftNoDesigned storage from a designer; never sized from this questionnaire.
rain_garden_sq_ftNoAgreed garden area; never computed from roof area.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, closed-world, non-destructive traits, and the description goes further: output is 'not a diagnosis', rules are explainable observed-code, safety escalations exist, prices are dated public estimates with distinct scopes/source years and no 2026 adjustment, and there is a shared free daily allowance (rate limit) with 'no network or model'. This is genuinely useful behavioral context 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and every sentence carries information, but the text is dense and repetitive ('who does them' appears in both the first and second sentences, and 'fix options'/'options' is duplicated). Four tightly packed clauses make it harder to parse than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, no-output-schema tool, the description covers output semantics (causes to investigate, not a diagnosis), pricing caveats and freshness, unknown-group handling, and the role of numeric inputs. Given there is no output schema, it does the heavy lifting well, though it does not describe the returned option/cost structure in detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 nonetheless adds real meaning by clarifying that the numeric parameters 'price only agreed areas, designed storage or counted downspout sets' (i.e., they drive costing, not sizing) and that the soil check screens root-zone drainage. It also restates the 'omit unknown groups; [] means none observed' semantics shared with the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find likely causes of water pooling in a yard') plus the secondary outputs (fix options, who does them, dated cost estimates). It clearly delineates the 'in a yard' scope, which implicitly separates it from the sibling basement_water_cause, but it never names that sibling explicitly. Clear but lacking explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the purpose statement; there is no explicit 'use this when...' routing and no alternative named, even though basement_water_cause is an obvious near-neighbor. The caveat 'returns likely causes to investigate, not a diagnosis' frames expectations but is not a selection guideline. Adequate only by inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

z_scoreZ Score CalculatorA
Read-onlyIdempotent
Inspect

Compute the standardized z score from an entered value, mean and positive standard deviation.

ParametersJSON Schema
NameRequiredDescriptionDefault
meanYesMean.
valueYesValue.
standardDeviationYesStandard deviation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety and determinism profile is fully covered. The description adds one useful constraint not in annotations (standard deviation must be positive), but nothing about numeric precision or edge cases. With annotations covering behavior, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that wastes no words. Every clause (verb, resource, required inputs, positivity constraint) earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. The description covers inputs and the positivity constraint, but for a numeric tool it could note edge cases (e.g., division-by-zero guard already enforced by schema, or rounding behavior). Such minor gaps keep it below a 5, but it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaningful semantics beyond the schema: it specifies that standardDeviation must be positive, which is real guidance beyond the schema's generic 'Standard deviation.' label, and the example value of 10 illustrates the intended scale.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compute) and resource (standardized z score) and enumerates the exact inputs needed (value, mean, positive standard deviation). This is distinct from siblings like average_calculator or percentage_calculator, so an agent can tell it apart 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by naming the inputs, but provides no explicit when-to-use guidance or alternatives. With ~90 sibling calculators, some routing context (e.g., 'use for standard-score normalization, not percentages') would be valuable but is absent.

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.

  1. 3 tool updates
    • Addedextract_strings
    • Addedinspect_apk
    • Addedinspect_binary
  2. 1 tool update
    • Addedhar_to_openapi
  3. 2 tool updates
    • Changedread_barcode5 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "url": "https://apitoolcalls.com/barcode-scanner/samples/ean13.png"
        +  }
        +]
      • addedInput schema / properties / file
        Added value: +{
        +  "description": "An image file the user attached (OpenAI Apps SDK file parameter).",
        +  "properties": {
        +    "download_url": {
        +      "type": "string"
        +    },
        +    "file_id": {
        +      "type": "string"
        +    },
        +    "file_name": {
        +      "type": "string"
        +    },
        +    "mime_type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "download_url",
        +    "file_id"
        +  ],
        +  "type": "object"
        +}
      • changedInput schema / properties / image / description
        Previous value: -"Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum."New value: +"Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file."
      • addedInput schema / properties / url
        Added value: +{
        +  "description": "Public https URL of a PNG, JPEG or WebP image; 2 MB maximum.",
        +  "maxLength": 8192,
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "image"
        -]
    • Changedresume_gap4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "job_ad": "Data analyst. Required: SQL, Python and Tableau.",
        +    "resume_text": "Data analyst with SQL and Excel experience building weekly reports."
        +  }
        +]
      • addedInput schema / properties / family / description
        Added value: +"Job family for the Columbus postings check; required unless job_ad is given."
      • addedInput schema / properties / job_ad
        Added value: +{
        +  "description": "Plain text of one job description; lists the skills it names that the résumé shows and does not show.",
        +  "maxLength": 60000,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "resume_text",
        -  "family"
        -]New value: +[
        +  "resume_text"
        +]
  4. 1 tool update
    • Changedmake_run_loop1 field changed
      • addedInput schema / properties / avoid_crime
        Added value: +{
        +  "default": false,
        +  "description": "Steer round blocks with more reported crime than the start (city police reports, last 12 months; San Francisco and Seattle for now). Not a guarantee.",
        +  "type": "boolean"
        +}
  5. 1 tool update
    • Addedmake_run_loop
  6. 5 tool updates
    • Addedbase_convert
    • Addeddebt_to_income
    • Addedretirement_drawdown
    • Addedroman_numeral
    • Addedround_sig_figs
  7. 1 tool update
    • Addedpage_check
  8. 8 tool updates
    • Addedcombinations
    • Addedloan_schedule
    • Addedlogarithm
    • Addedpower
    • Addedroi
    • Addedsimplify_sqrt
    • Changedunit_convert4 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"Explicit source unit. oz_av is mass; us_fl_oz is volume. US measures only."New value: +"Explicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only."
      • changedInput schema / properties / from / enum
        Previous value: -[
        -  "us_qt",
        -  "us_gal",
        -  "us_cup",
        -  "us_fl_oz",
        -  "us_tbsp",
        -  "us_tsp",
        -  "ml",
        -  "l",
        -  "oz_av",
        -  "lb_av",
        -  "g",
        -  "kg",
        -  "cm",
        -  "m",
        -  "in",
        -  "ft",
        -  "yd",
        -  "mi",
        -  "km",
        -  "knot",
        -  "mph",
        -  "each"
        -]New value: +[
        +  "us_qt",
        +  "us_gal",
        +  "us_cup",
        +  "us_fl_oz",
        +  "us_tbsp",
        +  "us_tsp",
        +  "ml",
        +  "l",
        +  "oz_av",
        +  "lb_av",
        +  "g",
        +  "kg",
        +  "cm",
        +  "mm",
        +  "m",
        +  "in",
        +  "ft",
        +  "yd",
        +  "mi",
        +  "km",
        +  "knot",
        +  "mph",
        +  "each"
        +]
      • changedInput schema / properties / to / description
        Previous value: -"Target must share the source dimension: mass, volume, length, speed or count. International length and nautical mile definitions; US liquid measures."New value: +"Target unit in the same dimension. International length definitions and US liquid measures are explicit."
      • changedInput schema / properties / to / enum
        Previous value: -[
        -  "us_qt",
        -  "us_gal",
        -  "us_cup",
        -  "us_fl_oz",
        -  "us_tbsp",
        -  "us_tsp",
        -  "ml",
        -  "l",
        -  "oz_av",
        -  "lb_av",
        -  "g",
        -  "kg",
        -  "cm",
        -  "m",
        -  "in",
        -  "ft",
        -  "yd",
        -  "mi",
        -  "km",
        -  "knot",
        -  "mph",
        -  "each"
        -]New value: +[
        +  "us_qt",
        +  "us_gal",
        +  "us_cup",
        +  "us_fl_oz",
        +  "us_tbsp",
        +  "us_tsp",
        +  "ml",
        +  "l",
        +  "oz_av",
        +  "lb_av",
        +  "g",
        +  "kg",
        +  "cm",
        +  "mm",
        +  "m",
        +  "in",
        +  "ft",
        +  "yd",
        +  "mi",
        +  "km",
        +  "knot",
        +  "mph",
        +  "each"
        +]
    • Addedz_score
  9. 1 tool update
    • Changedmass_volume_convert6 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "density": 0.5,
        -    "from": "g",
        -    "to": "us_cup",
        -    "value": "118.29411825"
        -  }
        -]New value: +[
        +  {
        +    "density": 0.5,
        +    "from": "g",
        +    "to": "us_cup",
        +    "value": "118.29411825"
        +  },
        +  {
        +    "from": "us_cup",
        +    "ingredient": "granulated_sugar",
        +    "to": "g",
        +    "value": "1"
        +  }
        +]
      • addedInput schema / oneOf
        Added value: +[
        +  {
        +    "not": {
        +      "required": [
        +        "ingredient"
        +      ]
        +    },
        +    "required": [
        +      "density"
        +    ]
        +  },
        +  {
        +    "not": {
        +      "required": [
        +        "density"
        +      ]
        +    },
        +    "required": [
        +      "ingredient"
        +    ]
        +  }
        +]
      • changedInput schema / properties / density / description
        Previous value: -"Required density in grams per milliliter; no ingredient presets."New value: +"Custom density in grams per milliliter; exactly one of density or ingredient is required."
      • addedInput schema / properties / ingredient
        Added value: +{
        +  "description": "USDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required.",
        +  "enum": [
        +    "all_purpose_flour",
        +    "bread_flour",
        +    "whole_wheat_flour",
        +    "granulated_sugar",
        +    "packed_brown_sugar",
        +    "powdered_sugar",
        +    "butter",
        +    "water",
        +    "whole_milk",
        +    "honey",
        +    "vegetable_oil",
        +    "uncooked_white_rice",
        +    "rolled_oats",
        +    "unsweetened_cocoa_powder",
        +    "table_salt"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "value",
        -  "from",
        -  "to",
        -  "density"
        -]New value: +[
        +  "value",
        +  "from",
        +  "to"
        +]
      • changedOutput schema / description
        Previous value: -"Structured entered quantities, explicit unit labels, calculated results and formula; numeric arithmetic from entered values, with no inferred density, coverage or prices."New value: +"Entered quantity, unit labels, computed density and result, formula; ingredient presets also include the ingredient key, grams per US customary cup, FDC ID and source URL."
  10. 15 tool updates
    • Addedboard_feet
    • Addedcalendar_age_difference
    • Addedfuel_cost
    • Addedinflation_calculator
    • Addedjulian_day_convert
    • Addedlong_divide
    • Addedmass_volume_convert
    • Addedpaint_quantity
    • Addedpay_convert
    • Addedquadratic_solve
    • Addedround_decimal
    • Addedscientific_evaluate
    • Addedscientific_notation
    • Addedunit_convert
    • Addedunit_price
  11. 11 tool updates
    • Addedaverage_calculator
    • Addedcompound_interest_calculator
    • Addeddiscount_calculator
    • Addedgcf_calculator
    • Addedgravel_calculator
    • Addedlcm_calculator
    • Addedmargin_calculator
    • Addedmulch_calculator
    • Addedprime_number_checker
    • Addedpythagorean_theorem_calculator
    • Addedslope_calculator
  12. 53 tool updates
    • Addedapa_citation_generator
    • Addedbasement_water_cause
    • Addedbmi_calculator
    • Addedbody_fat_calculator
    • Removedcall_tool
    • Addedcalorie_calculator
    • Addedcharacter_count
    • Addedcompany_facts
    • Addedconcrete_calculator
    • Addeddate_calculator
    • Addeddecimal_to_fraction
    • Addeddriveway_cost
    • Addedepoch_convert
    • Addedev_charger_install_cost
    • Addedfence_cost
    • Addedfind_data
    • Addedflooring_cost
    • Addedfont_generator
    • Addedfraction_calculator
    • Addedfuneral_cost
    • Addedfurnace_age
    • Removedget_tool_schema
    • Addedget_transcript
    • Addedgpa_calculator
    • Addedgrade_calculator
    • Addedheart_rate_zones
    • Addedhours_calculator
    • Addedjson_formatter
    • Addedkitchen_remodel_cost
    • Addedmake_barcode
    • Addedmake_qr
    • Addedone_rep_max_calculator
    • Addedpace_calculator
    • Addedpage_to_markdown
    • Addedpercentage_calculator
    • Addedpickleball_court_cost
    • Addedpole_barn_cost
    • Addedproofread
    • Addedratio_calculator
    • Addedread_barcode
    • Addedrecall_check
    • Addedresume_gap
    • Addedroof_replacement_cost
    • Removedsearch_tools
    • Addedseo_check
    • Addedsquare_footage_calculator
    • Addedtime_card_calculator
    • Addedtip_calculator
    • Addedvolume_calculator
    • Addedwater_softener_size
    • Addedwheelchair_ramp
    • Addedword_count
    • Addedyard_drainage_cause
  13. 29 tool updates
    • Removedbasement_water_cause
    • Addedcall_tool
    • Removedcompany_facts
    • Removeddriveway_cost
    • Removedepoch_convert
    • Removedev_charger_install_cost
    • Removedfence_cost
    • Removedfind_data
    • Removedflooring_cost
    • Removedfuneral_cost
    • Removedfurnace_age
    • Addedget_tool_schema
    • Removedget_transcript
    • Removedkitchen_remodel_cost
    • Removedmake_barcode
    • Removedmake_qr
    • Removedpage_to_markdown
    • Removedpickleball_court_cost
    • Removedpole_barn_cost
    • Removedproofread
    • Removedread_barcode
    • Removedrecall_check
    • Removedresume_gap
    • Removedroof_replacement_cost
    • Addedsearch_tools
    • Removedseo_check
    • Removedwater_softener_size
    • Removedwheelchair_ramp
    • Removedyard_drainage_cause
  14. 4 tool updates
    • Addedfence_cost
    • Addedfurnace_age
    • Addedroof_replacement_cost
    • Addedwheelchair_ramp
  15. 1 tool update
    • Addedepoch_convert
  16. 10 tool updates
    • Addedbasement_water_cause
    • Addeddriveway_cost
    • Addedev_charger_install_cost
    • Addedflooring_cost
    • Addedfuneral_cost
    • Addedkitchen_remodel_cost
    • Addedpickleball_court_cost
    • Addedpole_barn_cost
    • Addedwater_softener_size
    • Addedyard_drainage_cause
  17. 1 tool update
    • Addedcompany_facts

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    31 deterministic utility tools over one public endpoint: image conversion and lossless EXIF/metadata stripping, App Store screenshot/icon/favicon generation, WCAG and OKLCH colour maths, .strings and provisioning-profile checks, plus TDEE, recipe and plant calculators. No API key, no account, no model calls.
    ISC
  • A
    license
    Not graded
    quality
    A
    maintenance
    Generate QR codes and create, edit and track dynamic (editable) QR codes with scan analytics, folders, style themes and branded subdomain management. Free REST API with an OpenAPI spec alongside; every tool takes a free API key.
    12
    AGPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to generate QR code images for text or links, convert public web pages to Markdown, fetch page metadata, and host small files through a hosted MCP endpoint, with paid tools settled via x402 and no API key.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    72 free, open-source (MIT) developer tools over a stateless, no-key MCP server: JSON/YAML/CSV conversion, PDF and image processing, JWT/hash/UUID utilities, DNS/TLS/HTTP checks, llms.txt and AI SEO checks, and more. Streamable HTTP with JSON responses.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources