Skip to main content
Glama

MaCalculatriceEnLigne

Server Details

Calculatrices francaises : salaire net, SMIC, impots, bareme kilometrique, TVA, conversions.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
30.4% over 76 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
tresor4k/macalc-mcp
GitHub Stars
1
Server Listing
macalc
ChatGPT
–
Claude
–

TDQS

B3/5.0

Scored across 446 tools

Disambiguation2/5

Most tools are in distinct calculator domains, but there are many overlapping or near-duplicate tools (e.g., VAT variants, shoe-size converters, tip calculators, cooking conversions, cable-section calculators, inflation adjusters), making tool selection error-prone. The huge surface amplifies ambiguity because agents must choose among several plausible calculators for the same task.

Naming Consistency4/5

Names are predominantly snake_case and verb-first, with calculate_* for calculators, convert_* for unit conversions, and list_/get_ for discovery. There are some inconsistencies such as calculate_*_convert versus convert_*, duplicate suffixes, and naming overlap, but the overall pattern remains readable.

Tool Count1/5

446 tools is an extreme mismatch for an MCP server, far beyond the typical 3-15 well-scoped tools. The list_bundles/get_bundle_tools discovery tools help, but they do not make a 446-tool surface practical for an agent.

Completeness5/5

The domain is online calculators and conversions, and the surface is extremely comprehensive across finance, health, construction, cooking, travel, science, and more. Discovery tools and calculate_anything further reduce dead ends.

Available Tools

446 tools
calculate_1rm_tableCalculate 1rm TableB
Read-onlyIdempotent
Inspect

Generate a full 1RM-to-12RM repetition table from a known lift using Epley formula. Returns: {input_weight, input_reps, estimated_1rm}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
repsYesRepetitions performed at that weight
weightYesWeight lifted in kg or lbs

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false and destructiveHint=false, so the safety and determinism profile is covered structurally. The description adds the Epley formula choice and the return shape, which is modest extra context but nothing about behavior beyond what annotations and output schema provide.

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 and formula are front-loaded in one efficient sentence. The remaining sentences are short, though the 'See list_bundles' pointer is tangential cross-promotion rather than information needed to invoke 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?

For a two-parameter, read-only, idempotent calculator with full schema coverage and an output schema, the description supplies enough to call it correctly. Restating the return object is redundant given the output schema, 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% and both parameters (weight, reps) are documented in the schema with bounds. The description only restates the input concept as 'from a known lift' and echoes the returned field names, adding no new meaning about units, ranges, or interpretation 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 ('Generate a full 1RM-to-12RM repetition table from a known lift') and names the underlying method (Epley formula), which is clear and concrete. However, it does not distinguish itself from the closely related sibling calculate_one_rep_max, leaving the agent to infer the difference.

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 (notably calculate_one_rep_max), nor any prerequisites or exclusions. The trailing 'See list_bundles for related sport calculators' is a cross-reference to a browsing tool, not usage guidance for this tool.

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

calculate_add_hoursCalculate Add HoursB
Read-onlyIdempotent
Inspect

Add two time durations and return the total in hours and minutes. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
hours1YesFirst duration — hours
hours2YesSecond duration — hours
minutes1YesFirst duration — minutes
minutes2YesSecond duration — minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds only the return shape (hours and minutes), which is modest added value given an output schema also exists. No edge-case behavior (e.g., minute overflow past 59, negative inputs) 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?

Two short sentences with the core purpose front-loaded first. The second sentence carries the only weak payload — a cross-reference to list_bundles and an unexplained 'temps-rh' label — but the whole thing is far from bloated.

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 four-parameter arithmetic tool with full schema coverage, an output schema, and complete annotations, nothing essential is missing to call it correctly. The only shortfall is the absence of routing guidance versus the many sibling time calculators.

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% with four well-described parameters (hours1/minutes1/hours2/minutes2, each with bounds). The description's 'two time durations' adds no syntax or constraint 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 and resource: add two time durations, with the output form (total in hours and minutes) made explicit. It is clearly distinguishable from neighbors like calculate_time_difference, though it never names that sibling to sharpen the contrast.

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 only guidance is 'See list_bundles for related "temps-rh" calculators', which points at a bundle-listing tool rather than naming an alternative calculator or stating when to prefer this over calculate_time_difference or calculate_timezone_convert. No when-to-use or when-not-to-use condition is given.

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

calculate_ageCalculate AgeB
Read-onlyIdempotent
Inspect

Calculate exact age in years, months and days from a birth date. Returns: {today, age_years, age_months, age_days, total_days_lived, days_to_next_birthday}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
birth_dateYesYYYY-MM-DD — Date of birth

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered for what is a pure deterministic computation. The description adds the enumerated return fields, but that largely restates the existing output schema, so net new behavioral insight 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.

Conciseness4/5

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

Two compact sentences, front-loaded with the core action before the return values. The inline return-field list is somewhat redundant given an output schema exists, but it is short and does not bloat the definition.

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 single-parameter calculator with full annotations and an output schema, the definition covers what the tool does and what it returns. The only meaningful gap is the unaddressed ambiguity against calculate_age_in_units, which is a usage-guideline issue rather than a completeness failure of core 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 100%, and the birth_date field is documented as 'YYYY-MM-DD — Date of birth' in the schema itself. The description only echoes 'from a birth date' without adding format, range, or edge-case (e.g., future dates) semantics, so 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+resource ('Calculate exact age ... from a birth date') with the unit of output (years, months, days), which is clear standalone. However, it does not distinguish itself from the very close sibling calculate_age_in_units, nor from the many animal-age tools (calculate_cat_age, calculate_dog_age), so sibling differentiation is missing.

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. The trailing 'See list_bundles for related temps-rh calculators' is a bundle cross-reference, not usage context, and it does not tell the agent when to pick this tool over calculate_age_in_units.

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

calculate_age_in_unitsCalculate Age In UnitsB
Read-onlyIdempotent
Inspect

Calculate exact age in multiple units from birth date. Returns: {weeks, hours, minutes, seconds}. See list_bundles for related 'fun' calculators.

NameRequiredDescriptionDefault
birth_dateYesBirth date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 closed-world behavior, so the safety profile is carried by structured data. The description adds the returned unit set, but since an output schema exists that is largely redundant, and nothing is said about date-range limits, future dates, 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 short sentences with the core operation front-loaded, and nothing is padded or vague. The middle sentence listing return units duplicates what the output schema already provides, which is the only wasted 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?

For a one-parameter, read-only calculator with full schema coverage and an output schema, the definition covers what the agent needs to invoke it correctly. The remaining omission is sibling disambiguation against calculate_age, which the description leaves to inference.

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 single parameter 'birth_date' is documented as YYYY-MM-DD in the schema itself. The description only restates 'from birth date' without adding format, range, or edge-case meaning, so the baseline of 3 for a fully documented single-parameter tool 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 ('Calculate exact age in multiple units from birth date') and names the output units, so the operation is unambiguous. However, the sibling list contains a plain 'calculate_age', and this description never explains how it differs from that tool, which is the single most likely confusion an agent would face.

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 only guidance is 'See list_bundles for related "fun" calculators', which is a cross-reference to browsing, not a when-to-use rule. There is no statement of when to prefer this over calculate_age, calculate_pet_age, or calculate_dog_age, and no input prerequisites beyond the required birth_date.

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

calculate_alcohol_unitsCalculate Alcohol UnitsB
Read-onlyIdempotent
Inspect

Compute alcohol units (UK) and grams of pure alcohol in a drink. Use for health tracking and limit awareness. Inputs: volume mL, ABV %. Returns UK units, grams of pure alcohol, and standard-drink equivalent. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
drinksYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 safe/pure-computation profile is fully covered. The description adds the valuable scope detail that units are UK-standard and lists what is returned, but adds nothing about limits, batch semantics, or validation behaviour 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.

Conciseness3/5

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

Prose is tight and front-loaded with the computation, but the final sentence pointing to list_bundles for 'cuisine' calculators is unrelated to alcohol-unit maths and does not earn its place.

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 single-parameter computation tool with an output schema and full annotations, the essentials are present, and return values are covered by the output schema anyway. The remaining gap is the batch array/schema shape, which the description neither clarifies nor corrects.

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%, so the description must carry the burden, yet it says 'Inputs: volume mL, ABV %' in the singular, while the schema requires an array of drink objects with type/volume_ml/abv_pct. It omits the 'drinks' array wrapper and the 'type' enum entirely, and its singular framing mildly misrepresents the accepted shape.

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 alcohol units (UK) and grams of pure alcohol'), which cleanly separates it from siblings like calculate_blood_alcohol or calculate_bac_points. It does not explicitly differentiate from those siblings, and the trailing 'See list_bundles for related cuisine calculators' pointer is off-topic rather than clarifying.

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?

Gives a use context ('health tracking and limit awareness') but no when-to-use-vs-alternative guidance, e.g., it never says how it differs from calculate_blood_alcohol or calculate_bac_points, which are close neighbours. Usage is 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.

calculate_altitude_sicknessCalculate Altitude SicknessA
Read-onlyIdempotent
Inspect

Assess altitude sickness risk and recommend acclimatization schedule. Returns: {risk_level, risk_color, recommended_acclimatization_days, symptoms_to_watch, recommendations}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
altitude_mYesTarget altitude in meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's remaining burden is light. It adds the shape of the result, but since an output schema exists that information is largely duplicative rather than new behavioral 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?

Two short sentences, purpose front-loaded before the routing pointer. Enumerating the return fields consumes most of the length and is redundant given the output schema, so it is efficient but not maximally tight.

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 single-parameter calculator with full schema coverage, complete annotations, and an output schema, the description supplies everything an agent needs to invoke it correctly. Nothing critical is missing; the return-field list is surplus rather than a 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?

Only one parameter (altitude_m) with 100% schema coverage including description and 0-8850 bounds, so the schema carries the semantics. The description adds no unit, range, or interpretation detail beyond what the schema already states; 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?

Specific verb+resource: 'Assess altitude sickness risk and recommend acclimatization schedule.' This is clearly distinguishable from the hundreds of unrelated calculate_* siblings, and no other sibling covers altitude sickness.

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: an agent with an altitude value infers it should use this tool. There is no explicit when-to-use/when-not statement, and the only routing hint ('See list_bundles for related voyage calculators') points to a discovery tool rather than naming an alternative calculator.

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

calculate_angle_convertCalculate Angle ConvertC
Read-onlyIdempotent
Inspect

Convert angles between degrees, radians, gradians and turns. Returns: {original}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesAngle value
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, non-open-world), so the description carries a lighter burden. It adds nothing beyond that — no note on numeric precision, rounding, or output format — and the 'Returns: {original}' placeholder is a malformed template artifact rather than useful disclosure.

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 tight and front-loaded, which is good. The second sentence is a broken placeholder ('{original}') that conveys no information, and the list_bundles pointer is tangential to invoking this tool.

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 explained, and the parameter surface is simple and fully documented. Still, the description omits the one thing an agent needs here — how this differs from convert_angle — and the malformed Returns clause leaves the output description worse than silence.

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 enums on both unit parameters, so the schema already documents all three parameters fully. The description repeats the unit list, which is harmless but adds no 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), resource (angles), and enumerates the supported units, so the operation is unambiguous. However, it never distinguishes itself from the sibling tool convert_angle, which appears to cover the same ground, leaving genuine ambiguity about which to pick.

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; the only guidance is a generic pointer to list_bundles for 'conversions' calculators. With a near-identical sibling (convert_angle) in the toolset, the absence of routing guidance is a meaningful gap.

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

calculate_annuity_paymentCalculate Annuity PaymentB
Read-onlyIdempotent
Inspect

Calculate periodic payment amount for a loan or annuity. Returns: {monthly_payment_eur, total_paid_eur, total_interest_eur}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
rateYesAnnual interest rate percent
periodsYesNumber of payment periods (months)
principalYesPrincipal amount EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered structurally. The description adds no further behavioral context (e.g., compounding convention, rounding, currency handling beyond the EUR-named fields), so it neither contradicts nor enriches 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?

Two short sentences, front-loaded with the purpose and with zero filler. The 'Returns:' sentence is redundant with the output schema, which costs it a point but does not make the text bloated.

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 the return-value listing in the description is unnecessary, and the three inputs are fully documented in the schema. What is missing is disambiguation from the many overlapping finance calculators, which is the main thing an agent needs to choose this 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 principal, rate (annual percent), and periods (months) are already documented in the schema. The description adds no parameter-level meaning beyond that, 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 ('Calculate periodic payment amount for a loan or annuity'), so an agent knows it is an annuity/loan payment solver. However, it does not distinguish itself from close siblings such as calculate_loan_payment, calculate_mortgage, or calculate_lmnp_amortization, which cover overlapping ground.

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 only routing hint is 'See list_bundles for related finance-universal calculators', which is a discovery pointer rather than a when-to-use rule. There is no guidance on when this is preferred over calculate_loan_payment or calculate_present_value, which is the key ambiguity given the sibling set.

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

calculate_anythingCalculate AnythingAInspect

Universal AI-powered calculator — handles any calculation not covered by specialized tools. Requires premium subscription.

NameRequiredDescriptionDefault
queryYesCalculation request in natural language (English or French)
contextNoOptional context: units, constraints, domain

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare openWorldHint=true, idempotentHint=false, and destructiveHint=false; the description adds one genuinely useful signal, the premium-subscription requirement, which is an entitlement gate an agent cannot infer from the schema. It does not explain why the call is non-idempotent (AI generation may vary between identical calls) or whether calls consume quota, so the added context is partial.

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 with the capability stated first and the constraint second; no filler and no repetition of schema or annotation content. 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?

An output schema exists, so return values need no explanation, and the schema covers both inputs. The description supplies the fallback positioning and the subscription requirement, leaving only minor gaps around cost/latency and explicit preference ordering versus specialized 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 only two parameters, so the schema fully documents 'query' (natural-language request, English/French) and 'context'. The description adds nothing about either parameter, 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 capability (universal calculator) and explicitly positions it as the fallback for calculations 'not covered by specialized tools', which distinguishes it from the hundreds of calculate_* siblings. The 'AI-powered' framing is slightly promotional but the catch-all role is unmistakable.

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?

'Handles any calculation not covered by specialized tools' functions as an implicit selection rule: reach for a domain-specific sibling first, then fall back here. No explicit 'do not use for X' guidance or examples, but the routing condition is clear enough to act on.

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

calculate_aquarium_volumeCalculate Aquarium VolumeB
Read-onlyIdempotent
Inspect

Compute aquarium water volume in L and US gallons. Use for fishkeeping, dosing, and stocking decisions. Inputs: shape (rectangular/cylindrical/bow-front), L×W×H or radius×height in cm. Returns liters and gallons. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
width_cmYes
height_cmYes
length_cmYes
substrate_cmNo

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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. The description adds essentially nothing behavioral beyond stating output units, which the output schema already provides. It is a pure computation, so a baseline 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?

Five short, front-loaded sentences with the core purpose and units stated first; little waste. The input and cross-reference sentences are compact, though the invented shape/radius detail is wasted (and misleading) 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?

An output schema exists so return values need not be explained, and the description covers purpose and units. But it misrepresents the input surface (nonexistent shape/radius params, missing substrate_cm), so an agent lacks a reliable picture of what to pass.

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?

With 0% schema coverage the description must compensate, and it partially does by naming L×W×H in cm. But it invents inputs that do not exist ('shape (rectangular/cylindrical/bow-front)', 'radius×height') and omits the real substrate_cm parameter, actively misdescribing 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 ('Compute aquarium water volume') plus output units (L and US gallons), which clearly distinguishes it from generic siblings like calculate_volume or calculate_pool_volume. Clear and specific, though it doesn't explicitly name the sibling it is not.

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?

'Use for fishkeeping, dosing, and stocking decisions' gives concrete usage context, and it cross-references list_bundles for related calculators. However, it offers no when-not guidance or direct alternative (e.g., calculate_volume for non-aquarium shapes).

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

calculate_areaCalculate AreaA
Read-onlyIdempotent
Inspect

Compute area for common 2D shapes (rectangle, triangle, circle, trapezoid, etc.). Use for geometry, real estate, or paint estimates. Inputs: shape + dimensions. Returns area in input-units squared. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
d1NoDiagonal 1 for rhombus
d2NoDiagonal 2 for rhombus
sideNoSide for hexagon
shapeYesShape type
widthNoWidth
heightNoHeight
lengthNoLength or base
radiusNoRadius
semi_majorNoSemi-major axis for ellipse
semi_minorNoSemi-minor axis for ellipse

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world, so the safety profile is fully covered. The description adds the return semantics ('area in input-units squared'), which is useful, but nothing about validity constraints or error behavior across the shape variants.

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 short sentences, front-loaded with the core purpose, with no filler. The trailing bundle pointer is the only mildly expendable sentence.

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 explained, and the tool is a pure read/compute with no side effects, meaning the annotations plus description cover the essentials. The remaining gap is which dimension parameters each shape requires, a real hazard given only 'shape' is required and additionalProperties is false.

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 of the 10 parameters has a short label, so the baseline is 3. The description adds no shape-to-dimension mapping, which is the one piece of semantics the schema genuinely lacks — 'width/height' vs. 'length/height' vs. 'semi_major/semi_minor' per shape is left entirely to inference.

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 ('Compute area for common 2D shapes') and enumerates the shape family, which cleanly separates it from calculate_volume, calculate_perimeter, and calculate_ellipse in the sibling list. An agent can pick this 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 Guidelines3/5

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

Gives context ('geometry, real estate, or paint estimates') but never says when NOT to use it or which sibling to prefer — e.g., calculate_ellipse exists separately yet ellipse appears in this tool's own enum, and calculate_paint_needed/calculate_paint_quantity are the natural siblings for the paint use case cited. The 'See list_bundles' pointer is a weak routing hint rather than real guidance.

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

calculate_auto_entrepreneurCalculate Auto EntrepreneurA
Read-onlyIdempotent
Inspect

Calculate French auto-entrepreneur (micro-enterprise) net income and social charges. Returns: {social_charges_rate_pct, social_charges, abatement_fiscal_pct, taxable_income_approx, net_before_tax, cfe_estimate_eur}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
revenueYesAnnual revenue (chiffre d'affaires) in euros
categoryNoActivity category: vente (sales), service_bic, service_bnc, liberalservice_bnc

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed-world scope, so the safety profile is fully covered. The description adds the output field list, but no behavioral context such as which category applies by default in practice, rounding behavior, or jurisdiction assumptions.

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 purpose, and the sibling pointer is placed last. The 'Returns:' enumeration is somewhat redundant given a full output schema exists, but it does not bloat the definition.

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, 100% schema coverage and an output schema all present, the description only needs to establish the domain and scope, which it does. A note on category selection defaults or jurisdiction limits would make it fully self-contained.

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 an enum on 'category' and a minimum on 'revenue', so the schema does the heavy lifting. The description adds nothing about parameter meaning beyond what the schema declares; 3 is the correct baseline.

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') plus a precisely scoped resource ('French auto-entrepreneur (micro-enterprise) net income and social charges'), which separates it from the many other French tax siblings like calculate_french_income_tax or calculate_employer_cost_fr.

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 domain-specific naming, and it does point to 'list_bundles' for related 'finance-france' calculators. However, it never states when to prefer this over calculate_french_income_tax or calculate_french_salary, so the routing guidance is only partial.

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

calculate_averageCalculate AverageA
Read-onlyIdempotent
Inspect

Compute simple, weighted, geometric, or harmonic mean. Use for grade averages, returns, or rates. Inputs: values list, optional weights, mode. Returns mean and detail. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
valuesYesArray of numbers
weightsNoOptional weights for weighted average

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so safety is covered. The description adds only that it returns 'mean and detail', which is thin behavioral context and arguably redundant given the output schema exists.

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 verb and the supported variants, and each sentence is short. The lone blemish is the erroneous 'mode' input mention and the somewhat gratuitous list_bundles pointer, but overall it is tight.

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 output schema exists so return-value description is not required, and the description covers purpose and inputs adequately. However, the nonexistent 'mode' parameter and the unexplained mechanism for choosing between mean types leave a real gap for a tool with four distinct modes.

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 coverage is 100%, so the baseline would be 3, but the description claims inputs include 'mode' — a parameter that does not exist in the schema (only values and weights are defined). This introduces a phantom parameter that could mislead an agent about how geometric/harmonic selection is made, offsetting the schema's own quality.

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 (mean/average) and enumerates the four variants it supports (simple, weighted, geometric, harmonic), which distinguishes it from generic arithmetic siblings like calculate_statistics or calculate_grade_average. An agent can identify its scope 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?

'Use for grade averages, returns, or rates' gives loose usage contexts but names no alternatives and provides no when-not-to-use guidance, despite there being a dedicated calculate_grade_average sibling. The 'See list_bundles' pointer is a catalog cross-reference, not real routing guidance.

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

calculate_bac_pointsCalculate Bac PointsA
Read-onlyIdempotent
Inspect

Estimate French Baccalauréat final score from grades and coefficients. Use to track lycée results before official scores. Inputs: grades by subject with coefficients. Returns weighted average and mention. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
grand_oralYesGrand oral (/20, coeff 10)
philosophyYesPhilosophy (/20, coeff 8)
specialty1YesSpecialty 1 (/20, coeff 16)
specialty2YesSpecialty 2 (/20, coeff 16)
french_oralYesFrench oral exam (/20, coeff 5)
french_writtenYesFrench written exam (/20, coeff 5)
continuous_controlYesContinuous assessment score (/720 = 40%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds that this is an estimate for pre-official tracking and that it returns a weighted average and mention, though it does not disclose formula assumptions or input constraints.

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 description is short and front-loads the purpose before usage, inputs, outputs, and a related-bundle pointer. The 'Inputs' and 'Returns' sentences partly duplicate the schema and output schema, so not every sentence fully 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, single-purpose calculator with a fully described input schema and an output schema, the description covers the essential context. It does not mention that all seven inputs are required or the 0–20/0–720 ranges, but those details are available 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 100%, so every parameter and its coefficient/scale is already documented in the schema. The description's 'grades by subject with coefficients' adds no syntax or meaning beyond that structured data.

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 ('French Baccalauréat final score'), and the mention of grades/coefficients clarifies the exact scope. This is sufficient to distinguish it from siblings such as calculate_brevet_points or calculate_parcoursup_points 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?

It states a concrete usage context ('track lycée results before official scores'), which tells the agent when this tool is relevant. However, it does not name direct alternatives or explicitly state when another calculator (e.g., Brevet or Parcoursup) should be chosen instead.

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

calculate_baking_altitudeCalculate Baking AltitudeA
Read-onlyIdempotent
Inspect

Adjust baking recipe for high altitude (less leavening, more liquid, higher temp). Use for mountain cooking. Inputs: altitude m, ingredients. Returns adjusted recipe. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
altitude_mYesAltitude in meters
flour_cupsYesFlour in cups
sugar_cupsYesSugar in cups
liquid_cupsYesLiquid in cups
oven_temp_cYesOven temperature °C

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the direction of the adjustment (less leavening, more liquid, higher temp), which is useful domain context, but says nothing about permissions, limits, or edge cases like sea-level input.

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 short sentences, purpose and mechanism front-loaded before the input/output summary. The trailing bundle pointer is marginally useful and the list reads cleanly, with little waste.

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 carry the safety profile. The description covers purpose, trigger context, and inputs adequately; only the sibling disambiguation is thin for a catalog with several baking/recipe calculators.

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 are already documented by the schema, establishing the baseline of 3. The description only summarizes 'altitude m, ingredients' and actually blurs the granular ingredient params (flour/sugar/liquid cups) into one vague term, adding no real meaning.

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+resource+mechanism: 'Adjust baking recipe for high altitude (less leavening, more liquid, higher temp).' An agent immediately knows what it computes. However, it does not differentiate itself from close siblings like calculate_baking_conversion or calculate_recipe_scale; the 'see list_bundles' pointer is not the same as naming the 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?

'Use for mountain cooking' gives an implied context for use, which is better than nothing. But there is no when-not guidance (e.g., low-altitude recipes, general baking conversions) and no mention of the sibling calculators that would cover adjacent cases.

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

calculate_baking_conversionCalculate Baking ConversionC
Read-onlyIdempotent
Inspect

Convert baking measurements between cups, tablespoons, grams, and milliliters for common ingredients. Use for translating recipes across regions. Inputs: ingredient, value, from-unit, to-unit. Returns converted quantity. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
ingredientYes
quantity_cupsYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.7/5.0
Behavior2/5

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

The annotations already disclose that this is a read-only, idempotent, non-destructive, closed-world calculation. The description adds little behavioral context beyond 'Returns converted quantity,' which is redundant because an output schema exists, and it omits any ingredient-specific conversion assumptions or limitations.

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 description is short and front-loads the purpose, but one sentence lists incorrect parameters and another cross-references list_bundles for unrelated 'cuisine' calculators, which does not earn its place. The overall size is reasonable, but the content includes low-value and inaccurate material.

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?

Given the simple two-parameter schema, 0% schema description coverage, and an output schema that already covers the return value, the description should at least explain ingredient and quantity_cups. Instead it misstates the inputs and provides no conversion basis, so it is not complete enough for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0% and the actual schema has only two parameters: ingredient and quantity_cups. The description instead lists 'value, from-unit, to-unit,' which do not exist in the schema, and it omits quantity_cups entirely, making its parameter guidance actively misleading.

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 clear verb and resource: converting baking measurements between cups, tablespoons, grams, and milliliters for common ingredients. It adds a usage context, 'translating recipes across regions,' but does not explicitly distinguish itself from close siblings such as calculate_cooking_conversion or convert_cooking.

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?

It gives an implied usage context ('Use for translating recipes across regions') but does not state when to choose this tool over the many other conversion and cooking calculators. There are no exclusions or explicit alternatives named.

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

calculate_base_converterCalculate Base ConverterB
Read-onlyIdempotent
Inspect

Convert numbers between bases (binary, octal, decimal, hexadecimal, any base 2-36). Returns: {input, decimal_value, result}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
valueYesNumber as string
to_baseYesTarget base
from_baseYesSource base

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the return shape {input, decimal_value, result}, which is modestly useful context but partially redundant given an output schema exists. No auth, limits, or error behavior 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?

Two tight sentences, front-loaded with the core operation and supported bases. Every clause earns its place with no filler.

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

Completeness4/5

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

With annotations and an output schema present, the description carries a light burden and covers purpose and return shape adequately. The one notable omission is sibling disambiguation from calculate_number_base_convert, which for a large overlapping toolset matters more than usual.

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 three params documented and base bounds (2-36) enforced in the schema. The description only restates the 2-36 range already present in the schema, adding no new meaning (e.g., accepted digit formats for values above 9). 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?

Specific verb+resource: 'Convert numbers between bases' with concrete examples of supported bases. It is clear what the tool does, but it never distinguishes itself from the sibling 'calculate_number_base_convert', which appears to cover the same operation. That overlap keeps it below 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?

No guidance on when to use this over the near-identical 'calculate_number_base_convert' sibling, nor any prerequisites for 'value' formatting. The 'See list_bundles' pointer is a cross-reference, not usage guidance. Effectively no when/when-not instruction.

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

calculate_beam_loadCalculate Beam LoadA
Read-onlyIdempotent
Inspect

Calculate max bending moment and shear for a beam under uniform distributed load. Returns: {load_kN_per_m, max_moment_kNm, max_shear_kN, note}. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
span_mYesBeam span in meters
beam_typeNoSupport typesimply_supported
load_kg_per_mYesDistributed load in kg/m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description usefully scopes the computation to uniform distributed loads (implying other load cases are out of scope), but adds nothing about limitations, edge cases, or assumptions 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?

Two tightly written sentences, with the core computation stated first. The trailing list_bundles cross-reference is mildly tangential for this specific tool, but it is short and does not obscure the primary purpose.

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 stateless, read-only calculator with an output schema present, the description covers what the tool computes and what it returns, so return values need not be re-explained. The one real gap is the unit asymmetry between the input (kg/m) and the returned load_kN_per_m, which the agent must infer.

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 (span_m, load_kg_per_m, beam_type enum) are already documented in the schema. The description adds no parameter detail and notably omits that beam_type supports 'simply_supported' vs 'cantilever', which materially changes the results; 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 gives a specific verb ('Calculate') plus the exact quantities and resource ('max bending moment and shear for a beam under uniform distributed load'). No sibling tool computes beam loads, so it is unambiguously distinguishable from the long list of other 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?

The only routing hint is 'See list_bundles for related construction calculators', which is a navigation pointer rather than a when-to-use statement. There is no indication of when this tool is appropriate versus alternatives, nor any prerequisite or exclusion (e.g., point loads or other load types not supported).

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

calculate_belgian_car_advantageCalculate Belgian Car AdvantageA
Read-onlyIdempotent
Inspect

Calculate Belgian benefit-in-kind for company car (avantage de toute nature voiture). Returns: {co2_reference, benefit_rate_pct, annual_taxable_benefit, monthly_taxable_benefit, estimated_monthly_tax_impact}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
co2YesCO2 emissions in g/km
fuel_typeNoFuel typeessence
catalog_valueYesCatalog value of the vehicle (HTVA) in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 well covered. The description adds a list of return fields, but that largely duplicates the existing output schema and does not disclose behavioral assumptions such as which tax year or ATN formula version is used.

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 description is front-loaded and only two sentences long, with no filler. The second sentence lists return fields that are already covered by the output schema, so it is mildly redundant rather than purely additive.

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 existing output schema, and rich annotations, the definition is nearly self-sufficient. The description supplies purpose and a related-calculators pointer, though it could note the Belgian tax-year or formula assumption for full completeness.

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 co2, fuel_type, and catalog_value in detail, including units and enum values. The description adds no parameter-level meaning beyond what the schema provides, making the baseline score of 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 states a specific verb ('Calculate') and a precise, differentiated resource ('Belgian benefit-in-kind for company car'), using the local term 'avantage de toute nature voiture'. It is immediately distinguishable from the many Belgian tax and car siblings such as calculate_belgian_income_tax or calculate_car_depreciation.

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 domain ('company car benefit-in-kind'), but there is no explicit guidance on when to use this tool versus alternatives or what preconditions apply. The only routing hint is 'See list_bundles for related finance-belgique calculators', which helps discovery but does not state when this specific calculator is the right choice.

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

calculate_belgian_donationCalculate Belgian DonationB
Read-onlyIdempotent
Inspect

Compute Belgian donation tax (droits de donation) by region (Bruxelles/Flandre/Wallonie). Use for estate planning in Belgium. Inputs: region, amount, recipient relation. Returns tax due and effective rate. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
amountYesDonation amount in euros
relationshipYesRelationship: direct_line (parents/children), between_spouses (or cohabitants), others

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, non-destructive, closed-world computation, so safety is fully covered. The description adds 'Returns tax due and effective rate', but that is largely redundant given an output schema exists, and it omits any caveats about regional rate assumptions.

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 short sentences, purpose front-loaded, no filler. It earns most of its space except for the redundant return-value statement and the inaccurate input list.

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?

Output schema exists, so return values needn't be explained, and annotations cover safety. The material gap is the phantom 'region' input that the schema does not support, leaving an agent unsure whether regionality is chosen or implicit.

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 coverage is 100% and defines amount and relationship, so the baseline would be 3. But the description asserts 'Inputs: region, amount, recipient relation' – 'region' is not a parameter at all, which is misleading, and 'recipient relation' loosely renames the relationship enum without adding meaning.

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 (compute Belgian donation tax) and scopes it to three regions, which separates it from the many other Belgian tax siblings like calculate_belgian_income_tax. However, it claims a 'region' input that the tool cannot actually take, slightly muddying what the tool is.

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?

'Use for estate planning in Belgium' gives a clear use context, and it points to list_bundles for related calculators. But there are no when-not conditions and no direct naming of an alternative sibling tool, leaving the routing guidance implicit.

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

calculate_belgian_income_taxCalculate Belgian Income TaxA
Read-onlyIdempotent
Inspect

Calculate Belgian personal income tax (IPP/PB) on an annual taxable base using the income-year 2026 (tax year 2027) progressive brackets, minus the tax-free allowance reduction (SPF method). Returns: {income, tax_free_amount, tax_free_reduction, taxable_base, income_tax, effective_rate_pct, marginal_rate_pct, ...}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
incomeYesAnnual taxable income in euros (after social security and professional expenses)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish the safe, idempotent, closed-world read profile, so the bar is lower; the description adds real domain context beyond that — the tax year applied, the progressive-bracket method, and the tax-free allowance reduction step. It omits assumptions such as household/dependents treatment, which matters for a tax engine.

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 sentences, front-loaded with the calculation identity before the version qualifier and cross-reference. The return-field preview is slightly redundant given the output schema but is short and skimmable, so no sentence is wasted.

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 needn't fully explain returns, and it correctly leaves detail there. Method and tax-year context are supplied, but a tax calculator with only 'income' as input silently assumes a household/family situation that the description never states, 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?

Single parameter with 100% schema description coverage, so the schema already defines 'income' as annual taxable income in euros after social security and professional expenses. The description only echoes that framing ('annual taxable base') and adds no further format, boundary, or unit nuance.

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+resource (Belgian personal income tax, IPP/PB) on an annual taxable base, and pins the version to income-year 2026 / tax year 2027 with the SPF method. It is clearly distinguishable from other national income-tax siblings by country, but it does not differentiate itself from close siblings such as calculate_belgian_salary or calculate_belgian_social_contributions.

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: 'on an annual taxable base' tells the agent what input shape is expected, and the closing 'See list_bundles for related finance-belgique calculators' is a navigation pointer rather than a when-to-use rule. No exclusion or alternative-selection guidance versus the other Belgian calculators.

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

calculate_belgian_pensionCalculate Belgian PensionA
Read-onlyIdempotent
Inspect

Estimate Belgian retirement pension based on career years and average salary. Use for retirement planning in Belgium. Inputs: years of contribution, average salary, status (employee/self-employed). Returns monthly pension estimate. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
career_yearsYesNumber of career years
average_salaryYesAverage annual salary in euros
household_typeNoPension type: single rate (60%) or household rate (75%)single

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds that a monthly pension estimate is returned, which is modest added context, but nothing about assumptions or edge cases (e.g. career_years capped at 45).

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 core purpose, then inputs, return, and a cross-reference. Mostly efficient, though the 'See list_bundles' pointer and the 'Inputs:' enumeration add some noise given the schema already lists them.

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 explained, and the description covers purpose and context adequately. However the incorrect parameter characterization leaves an agent that trusts the description to supply the wrong enum values.

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 coverage is 100%, so the baseline is 3, but the description actively misleads: it describes an input as 'status (employee/self-employed)' while the actual schema parameter is household_type with enum single/household (60%/75% rates). This contradicts rather than clarifies 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 (Estimate) and a precisely scoped resource (Belgian retirement pension), which distinguishes it from the many generic siblings like calculate_retirement_pension or calculate_swiss_lpp. An agent can identify it without opening the schema.

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

Usage Guidelines3/5

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

'Use for retirement planning in Belgium' implies a context but names no alternatives or exclusions, even though siblings like calculate_retirement_pension (generic) and calculate_retirement_date exist. The agent must infer when this Belgian-specific tool is preferred.

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

calculate_belgian_salaryCalculate Belgian SalaryA
Read-onlyIdempotent
Inspect

Convert Belgian gross monthly salary to net salary (estimate: employee ONSS 13.07% + annual personal income tax, single, no municipal surcharge; same engine as /api/v1/salaire-net?pays=be). Returns: {gross_monthly, social_cotisations_13_07pct, special_social_contribution, professional_withholding_tax, net_monthly, net_annual, ...}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
gross_monthlyYesGross monthly salary in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is covered. The description adds genuinely useful disclosure beyond that: the exact estimation assumptions (ONSS 13.07%, annual personal income tax, single filer, no municipal surcharge) and the internal endpoint it mirrors, which tells the agent the result is an estimate rather than a payroll-grade figure.

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 conversion statement, followed by assumptions, a brief return enumeration, and a related-tools pointer. Dense but every clause carries information; the return-field list is somewhat redundant given an output schema exists, which keeps it from a 5.

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 single-parameter, read-only calculator with an output schema, the critical missing piece would be the estimation assumptions — and those are supplied explicitly (single filer, no municipal surcharge). Remaining gaps are minor, e.g. no note on precision or whether other filing statuses are supported.

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 a single required parameter (gross_monthly, in euros) fully documented, so the baseline of 3 applies. The description confirms the euro currency and monthly basis but adds no syntax or edge-case guidance beyond 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+resource+scope: convert Belgian gross monthly salary to net salary. It is clearly distinguishable from siblings such as calculate_belgian_income_tax and calculate_belgian_social_contributions, which compute only a component rather than the full gross-to-net conversion.

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 (Belgian gross-to-net estimation) and the description cross-references the 'finance-belgique' bundle via list_bundles, but it never states when to prefer this tool over component calculators like calculate_belgian_income_tax or how it differs from calculate_french_salary / calculate_swiss_salary. No explicit exclusions or selection criteria are given.

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

calculate_belgian_social_contributionsCalculate Belgian Social ContributionsA
Read-onlyIdempotent
Inspect

Calculate Belgian self-employed social contributions (cotisations INASTI). Returns: {annual_income, tier1_up_to_73850_at_20_5pct, tier2_73850_to_108785_at_14_16pct, tier3_above_108785, total_contributions, effective_rate_pct}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
annual_incomeYesAnnual net professional income in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/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 the bar is lower. The description nonetheless adds genuine behavioral context by disclosing the progressive tier structure and the applied rates (20.5%, 14.16%), which tells the agent how the computation is bracketed rather than just that it is a safe read.

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 purpose in one sentence, followed by the output key list and a single cross-reference. Every element earns its place, though the enumerated return keys overlap with the existing output schema and could be trimmed.

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 single-parameter calculator with an output schema, the description covers domain, jurisdiction, and calculation shape adequately; return values are additionally documented by the output schema. Only the absence of explicit sibling routing keeps it short of 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?

There is exactly one parameter with 100% schema description coverage ('Annual net professional income in euros'), so the schema fully carries parameter meaning. The description adds nothing about the parameter itself, which matches the baseline 3 for high-coverage schemas.

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 + resource + jurisdiction: 'Calculate Belgian self-employed social contributions (cotisations INASTI)'. The scope is narrow enough (self-employed INASTI contributions) that an agent can immediately distinguish it from the many other Belgian finance siblings such as calculate_belgian_income_tax, calculate_belgian_salary, or calculate_belgian_pension.

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 qualifier 'self-employed' implies the population it applies to, but there is no explicit when-to-use or when-not guidance (e.g. salaried employees should use calculate_belgian_salary instead). The pointer to list_bundles is a discovery aid rather than usage guidance, so this remains 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.

calculate_belgian_vatCalculate Belgian VATA
Read-onlyIdempotent
Inspect

Calculate Belgian VAT — convert between HT and TTC. Returns: {amount_ht, amount_ttc, vat_amount, vat_rate}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=before tax, ttc=after taxht
rateNoVAT rate: 6%, 12% or 21%21
amountYesAmount in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered without the description. The description adds the conversion direction (HT<->TTC), which is useful, but omits operational details such as rounding behavior or accepted rate constraints beyond what the schema states.

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 the primary action, with no filler. The 'Returns:' enumeration is partly redundant against the existing output schema but stays compact and does not harm 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?

For a simple, annotation-backed calculator with a full output schema, the description covers purpose, operation, and return shape adequately, so return values need not be re-explained. The only shortfall is the absence of guidance distinguishing it from sibling VAT 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 enums (mode, rate) are fully documented in the schema, so the baseline of 3 applies. The description restates the HT/TTC concept but adds no new parameter meaning (e.g. how the rate enum interacts with mode) 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 Belgian VAT') plus the core operation ('convert between HT and TTC'), which cleanly separates it from the many sibling VAT calculators (french/moroccan/swiss/uk/generic). The 'Belgian' qualifier does the jurisdictional disambiguation work, though it never explicitly contrasts the tool with calculate_vat_generic or calculate_vat_reverse.

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 HT/TTC conversion framing; there is no explicit when-to-use or when-not-to-use statement and no routing against the neighboring VAT tools. The only pointer ('See list_bundles for related finance-belgique calculators') directs the agent to a bundle rather than clarifying which calculator to pick.

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

calculate_biorhythmCalculate BiorhythmA
Read-onlyIdempotent
Inspect

Compute physical, emotional, and intellectual biorhythm cycles for a date based on birth date. Use for self-tracking enthusiasts (pseudoscience). Inputs: birth date, target date. Returns 3 cycle values (-100 to +100) and zone. See list_bundles for related 'fun' calculators.

NameRequiredDescriptionDefault
birth_dateYesBirth date YYYY-MM-DD
target_dateYesTarget date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, and an output schema exists. The description still adds genuine value by flagging the pseudoscience nature (framing the results as entertainment rather than valid health data) and summarizing the returned shape, which goes beyond the structured metadata.

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: purpose first, usage/disclaimer second, inputs/outputs third, with a pointer to list_bundles last. No filler, well front-loaded.

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 two-input read-only calculator with a full output schema, nothing an agent needs to call it correctly is missing; the pseudoscience caveat and return summary round it out.

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 with format. The description merely lists the two inputs without adding syntax or constraints, so it neither compensates for nor improves on 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 (compute) and resource (physical/emotional/intellectual biorhythm cycles) and specifies the required inputs. It is clearly distinguishable from neighboring calculation tools like calculate_age or calculate_life_path_numerology.

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 'Use for self-tracking enthusiasts (pseudoscience)' gives some context about the intended audience, and it points to list_bundles for related 'fun' calculators. However, it never states when-not to use this tool or names a concrete alternative, so usage is only implied.

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

calculate_blood_alcoholCalculate Blood AlcoholB
Read-onlyIdempotent
Inspect

Estimate blood alcohol content (BAC) using Widmark formula. Returns: {bac_percent, legal_status_fr, estimated_sober_in_hours}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
sexYesBiological sex
drinksYesNumber of standard drinks (1 drink = 14g pure alcohol)
weight_kgYesBody weight in kilograms
hours_drinkingYesHours elapsed since first drink

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 the result is a Widmark-formula *estimate* and names the returned fields, but does not discuss accuracy limits or assumptions of the model, leaving moderate 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.

Conciseness4/5

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

Two short, front-loaded sentences with no filler. The only minor redundancy is enumerating return fields that an output schema already provides.

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 full output schema, and 100% parameter coverage, the description is sufficient to invoke the tool correctly. Its one real gap is the absence of disambiguation from siblings like calculate_alcohol_units and calculate_bac_points.

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% (drinks, weight_kg, sex enum, hours_drinking are all documented), so the schema carries the parameter burden. The description adds no parameter-level meaning beyond that, which is the expected baseline of 3.

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 (estimate), resource (blood alcohol content), and even the method (Widmark formula), so the purpose is unambiguous. However, it does not differentiate itself from close siblings such as calculate_alcohol_units or calculate_bac_points, which an agent could easily confuse with it.

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 or when-not-to-use guidance, and no routing away from near-identical siblings. The only pointer is 'See list_bundles for related "sante" calculators,' which is a discovery aid rather than usage guidance.

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

calculate_bmiCalculate BMIB
Read-onlyIdempotent
Inspect

Calculate Body Mass Index (BMI) and weight category. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
height_cmYesHeight in centimeters
weight_kgYesWeight in kilograms

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds only that a weight category is produced, and since an output schema exists, that is largely redundant. No extra behavioral context (rounding, category thresholds, unit assumptions) is offered.

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 the core action, with no filler. The second sentence is a cross-reference to list_bundles rather than information about this tool, which is mildly off-purpose but still cheap and useful for routing.

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 calculator with full schema coverage, complete annotations, and an output schema, the description supplies everything needed to invoke it correctly. It stops short of 5 only because it gives no differentiation from the nearby BMI/BMR/body-fat calculators.

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 both parameters (weight_kg, height_cm) fully described including units and minimums. The description adds no unit conventions, ranges, or edge-case handling 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 (Calculate) and resource (BMI) plus the derived output (weight category), which distinguishes it from adjacent siblings such as calculate_bmr, calculate_body_fat and calculate_ideal_weight. It never explicitly names those siblings, so differentiation relies on the agent's own reading of the tool 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?

The only guidance is 'See list_bundles for related sante calculators', which is a discovery pointer rather than a when-to-use rule. There is no statement of when this tool is preferable to calculate_bmr or calculate_body_fat, 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.

calculate_bmrCalculate BMRA
Read-onlyIdempotent
Inspect

Calculate Basal Metabolic Rate using Mifflin-St Jeor equation. Returns: {bmr_kcal}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
ageYesAge in years
sexYesBiological sex
height_cmYesHeight in centimeters
weight_kgYesWeight in kilograms

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and non-destructive, so safety is covered. The description adds genuinely useful context by naming the exact equation used, which explains the computation. It does not disclose edge cases (e.g., formula limits by age/sex), but an output schema exists, so return detail is not required here.

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, front-loaded with the core action and method, then the return. No wasted words. 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 deterministic calculator, the definition is essentially complete: annotations cover the safety profile, the schema fully documents the four inputs, and an output schema handles the return shape. The only missing piece is explicit routing guidance versus adjacent health calculators.

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% — all four parameters (weight_kg, height_cm, age, sex) are documented in the schema with ranges and an enum. The description adds no additional parameter meaning, 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?

Names a specific verb (Calculate) and resource (Basal Metabolic Rate) and even specifies the method (Mifflin-St Jeor), which meaningfully distinguishes it from siblings like calculate_bmi or calculate_tdee. It stops short of explicitly contrasting those siblings, but the formula pinpoints the exact calculation.

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 its own use case through the resource name but offers no explicit when-to-use or when-not conditions relative to calculate_tdee, calculate_bmi, or calculate_ideal_weight. The 'see list_bundles' line is a discovery pointer rather than usage guidance, leaving the agent to infer applicability.

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

calculate_body_fatCalculate Body FatA
Read-onlyIdempotent
Inspect

Estimate body fat percentage from BMI, age and sex using Deurenberg equation. Returns: {body_fat_pct}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
ageYesAge in years
bmiYesBody Mass Index
sexYesBiological sex

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 structurally. The description adds the deterministic formula name and the return key, which is modest additional context but nothing about accuracy limits or edge cases (e.g. output near BMI extremes).

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 the core action and method, with no padding. The explicit 'Returns: {body_fat_pct}' is slightly redundant given an output schema exists, and the list_bundles pointer is tangential, but the text is otherwise tight.

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 three-input calculator with a full schema, complete annotations and an output schema, the description supplies everything needed to invoke it correctly: inputs, method and the returned field. Only edge-case behavior and the sibling-vs-sibling choice are left 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 each of the three parameters carries its own description, range and enum, so the schema does the heavy lifting. The description only echoes the parameter names as inputs without adding format or constraint 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+resource ('Estimate body fat percentage') and names the exact inputs (BMI, age, sex) and method (Deurenberg equation), which implicitly separates it from the sibling calculate_body_fat_navy. It never names that sibling explicitly, 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 Guidelines3/5

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

Usage is only implied: an agent can infer it should be called when BMI, age and sex are available. There is no guidance on when to prefer this over calculate_body_fat_navy or calculate_bmi, and the closing pointer to list_bundles is a cross-reference, not a when-to-use rule.

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

calculate_body_fat_navyCalculate Body Fat NavyB
Read-onlyIdempotent
Inspect

Calculate body fat percentage using the US Navy circumference method. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
sexYesBiological sex
hip_cmNoHip circumference in cm (widest point, required for females)
neck_cmYesNeck circumference in cm (below larynx)
waist_cmYesWaist circumference in cm (at navel for males, narrowest for females)
height_cmYesHeight in centimeters
weight_kgNoBody weight in kg (default 70kg for fat mass calculation)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered. The description adds the method name, which does signal the underlying formula and its accuracy profile, but that largely restates the tool name and gives no further behavioral context (e.g. that hip measurement becomes mandatory for one sex).

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 with the purpose front-loaded and no filler. The second sentence about list_bundles is a slight tangent but costs little and may aid discovery.

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 no explanation, annotations cover the safety profile, and the schema fully documents all six inputs. Combined with a clear purpose statement, an agent has 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%, with each of the six parameters documented including units, measurement sites, defaults and the female-only requirement for hip_cm. The description adds no parameter 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 (Calculate), resource (body fat percentage) and qualifying method (US Navy circumference), so an agent knows exactly what is computed. It does not, however, distinguish itself from the closely-named sibling calculate_body_fat, leaving the agent to guess which body-fat tool to pick.

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 only guidance is 'See list_bundles for related sante calculators', which is a discovery pointer rather than a when-to-use statement. There is no mention of when the Navy method is preferable to calculate_body_fat, calculate_bmi, or calculate_waist_hip_ratio, and no prerequisites such as needing hip_cm for females.

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

calculate_bpm_to_msCalculate Bpm To MsB
Read-onlyIdempotent
Inspect

Convert BPM tempo to millisecond delay times for different note values. See list_bundles for related 'musique' calculators.

NameRequiredDescriptionDefault
bpmYesTempo in beats per minute
note_valueYesMusical note value to convert

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and closed-world, so the safety profile is fully covered and the description need not restate it. The description adds domain context that output is a delay time in milliseconds per note value, but says nothing extra about precision, rounding, or bounds beyond what the schema's min/max already imply.

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, both earning their place: the first states the transformation and its output unit, the second routes to related calculators. The core purpose is front-loaded with no 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 an output schema present, the description need not explain return values, and both required parameters are fully documented in the schema, so the definition is sufficient to invoke the tool correctly. The remaining gap is the absence of explicit when-to-use/alternative guidance for a very narrow computation.

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 of note values is fully enumerated in the schema, so the structured fields already carry the parameter meaning. The description adds no syntax, range, or format detail beyond the schema, making the 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 (Convert) and a precise resource (BPM tempo to millisecond delay times), with the note-value dimension called out, so an agent knows exactly what transformation this performs. It does not explicitly differentiate itself from adjacent music/time siblings such as calculate_frequency_note or calculate_reverb_predelay, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

The only guidance is a navigation pointer ('See list_bundles for related musique calculators'), which tells the agent where related tools live but not when to choose this tool over alternatives. There is no statement of prerequisites, input ranges, or when-not-to-use, leaving the agent to infer usage from the purpose sentence alone.

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

calculate_braking_distanceCalculate Braking DistanceB
Read-onlyIdempotent
Inspect

Compute reaction + braking distance by road condition (dry/wet/icy). Use for driver safety education. Inputs: speed km/h, reaction time s, road type. Returns total stopping distance m. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
conditionNoRoaddry
speed_kmhYesSpeed km/h

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds that this is a pure physics computation returning a distance in meters, which is useful, but it is otherwise thin and inaccurately claims a reaction-time input.

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 short, front-loaded sentences that lead with the computation and end with a discovery pointer; appropriately sized for a simple calculator. One sentence is spent on the inaccurate input list, which detracts slightly from otherwise tight structure.

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 annotations, a 100%-covered schema, and an output schema, most of the burden is carried structurally. Still missing: what reaction time the model assumes internally (since it is not an input), and any differentiation from calculate_distance_securite.

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 coverage is 100%, so the two real parameters (speed_kmh, condition) baseline at 3. However, the description's 'Inputs:' list invents a third parameter ('reaction time s') that does not exist under additionalProperties:false, actively misleading the agent into an invocation that would fail.

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 reaction + braking distance by road condition') and scopes it to driver safety education, which clearly separates it from the hundreds of unrelated calculate_* siblings. The only blemish is that it advertises an input ('reaction time s') that the tool does not actually accept.

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?

Gives a domain hint ('Use for driver safety education') and routes to list_bundles for related 'auto-transport' calculators, so usage is implied. It never names or excludes a concrete alternative, notably the close sibling calculate_distance_securite (safety distance), leaving the agent to guess which to call.

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

calculate_braquetCalculate BraquetB
Read-onlyIdempotent
Inspect

Compute cycling gear ratio (braquet) and development per pedal turn. Use for road cycling gear analysis. Inputs: chainring teeth, sprocket teeth, wheel diameter mm. Returns ratio and meters per pedal turn. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
cog_teethYesNumber of teeth on the rear cog
chainring_teethYesNumber of teeth on the front chainring

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior3/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 that it returns ratio and meters per pedal turn, but gives no further behavioral detail such as precision or output structure.

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 stays compact. The input and return sentences are useful, though the incorrect wheel-diameter input makes one sentence harmful rather than helpful.

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 simple calculation tool with an output schema, the description is nearly sufficient, but it references a wheel diameter input that the schema does not accept. That inconsistency leaves the agent unable to know whether development per pedal turn can actually be computed.

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 coverage is 100% for the two actual parameters, so the baseline would be 3. However, the description claims a third input, 'wheel diameter mm', that does not exist in the schema, and calls cog_teeth 'sprocket teeth'. This mismatch can mislead invocation.

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 cycling gear ratio and development per pedal turn. It clarifies the domain with 'road cycling gear analysis' but does not distinguish itself from close siblings like calculate_gear_ratio or calculate_velo_development.

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?

Gives a clear context ('Use for road cycling gear analysis') but does not say when to choose this over calculate_gear_ratio or calculate_velo_development. The pointer to list_bundles is not a usage alternative for this calculation.

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

calculate_bra_sizeCalculate Bra SizeA
Read-onlyIdempotent
Inspect

Calculate bra size in FR, US or UK system from underbust and bust measurements (cm). Returns: {band_size, size, cup_diff_cm}. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
systemYes
bust_cmYes
underbust_cmYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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/non-destructive/closed-world, so the bar is lower, and the description adds useful context: inputs are in centimeters and the supported sizing systems. It doesn't state any preconditions or limitations (e.g. valid measurement ranges), 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.

Conciseness5/5

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

Two sentences, front-loaded with the operation and inputs, then the return shape and a cross-reference. 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?

For a three-parameter calculation tool, the description covers unit conventions, supported systems and output keys, which is most of what an agent needs. The main gap is routing relative to calculate_bra_size_convert, though the output schema relieves it of explaining return values.

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 0%, so the description carries the burden, and it does specify the measurement unit (cm) and the three accepted system values, which maps to all three required parameters. It adds little about the semantics of the bust/underbust values themselves, but the names are largely self-describing.

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 bra size) plus scope (FR/US/UK) and inputs (underbust, bust in cm), so the agent knows exactly what it computes. It does not differentiate itself from the close sibling calculate_bra_size_convert, which handles the case where a size already exists, 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?

There is no guidance on when to use this versus calculate_bra_size_convert or the other apparel-size tools. The pointer to list_bundles for 'textile-mode' calculators is a soft cross-reference, not a when-to-use rule or exclusion.

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

calculate_bra_size_convertCalculate Bra Size ConvertA
Read-onlyIdempotent
Inspect

Convert bra size between FR, US, UK and EU systems. Returns: {FR, US, UK, EU}. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
cupYesCup letter (A, B, C, D, DD, E, F)
band_sizeYesBand size in source system (numeric)
from_systemYesSource sizing system

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed world, so the safety profile is covered without the description. The description adds only the return shape ({FR, US, UK, EU}), which largely duplicates the output schema, and says nothing about conversion-table nuances (e.g., whether cup letters are re-mapped across systems) or failure behavior for odd band/cup inputs.

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 front-loaded, no padding. The return-shape fragment and the cross-reference are compact enough to earn their 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?

With an output schema defined and rich annotations, the description does not need to explain return values or safety, and it confirms the tool returns all four systems. It is slightly thin on when this converter should be chosen over related sizing tools, but nothing required 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.

Parameters3/5

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

Schema description coverage is 100% and all three parameters (band_size, cup, from_system) are documented in the schema, including the enum for from_system. The description's mention of the four systems restates the enum rather than adding meaning, 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?

Names a specific verb (Convert) and resource (bra size) and enumerates the four sizing systems it maps between, so the agent knows exactly what it produces. It does not, however, distinguish itself from the adjacent non-conversion sibling calculate_bra_size, leaving the agent to infer the difference 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 Guidelines3/5

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

Usage is only implied by the topic: convert a size when you need it in another system. There is no explicit when-to-use versus alternatives statement and no exclusions, though the closing pointer to list_bundles gives a mild ecosystem hint about related calculators.

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

calculate_bread_hydrationCalculate Bread HydrationA
Read-onlyIdempotent
Inspect

Compute baker's hydration % = water/flour×100. Use for bread recipe analysis. Inputs: flour g, water g. Returns hydration % and dough type (firm/standard/wet). See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
flour_gramsYesFlour weight grams
water_gramsYesWater weight grams

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 operation, so the safety profile needs no restating. The description adds the return categories (hydration % and dough type firm/standard/wet), which is useful, but the thresholds defining those categories are left unstated and the output schema already carries the return shape.

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 compact sentences with the formula and purpose front-loaded, then inputs and outputs. Every sentence is short and functional; the trailing list_bundles pointer is the only slightly tangential element.

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 output schema covers return values, so the description needn't explain them in depth. Purpose, inputs, and outputs are all addressed; only the category thresholds for the dough type are missing, which is a minor gap for a simple two-parameter calculator.

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 both parameters (flour_grams, water_grams) are already fully documented in the schema. The description's 'Inputs: flour g, water g' merely restates that, adding no syntax or unit nuance 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.

Purpose5/5

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

States a specific verb ('Compute'), the exact resource (baker's hydration %), and even the formula (water/flour×100), which unambiguously identifies the tool and differentiates it from generic calculators like calculate_hydration (water intake). An agent can select it without opening the schema.

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

Usage Guidelines3/5

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

Says 'Use for bread recipe analysis,' which implies context but gives no explicit when-not conditions or named alternatives. The pointer to list_bundles for related 'cuisine' calculators is vague routing rather than a concrete alternative selection rule, and it does not distinguish itself from the similarly named calculate_hydration sibling.

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

calculate_break_evenCalculate Break EvenA
Read-onlyIdempotent
Inspect

Compute break-even point in units and revenue. Use for business plans and pricing decisions. Inputs: fixed costs, price/unit, variable cost/unit. Returns break-even units and revenue. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
fixed_costsYesTotal fixed costs
price_per_unitYesSelling price per unit
variable_cost_per_unitYesVariable cost per unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is fully covered structurally. The description adds only 'Returns break-even units and revenue,' which slightly overlaps the existing output schema and omits edge cases (e.g. behavior when price per unit does not exceed variable cost).

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 core purpose in the first sentence and keeps each sentence short. The final pointer to list_bundles is arguably tangential for a computation tool, keeping it just short of perfect.

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 read-only calculator with an output schema and full schema parameter coverage, the description covers purpose, inputs, outputs, and navigational context. The remaining gap is edge-case behavior, which the annotations and output schema partly absorb.

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 all three parameters are already documented in the schema. The description merely restates the inputs ('fixed costs, price/unit, variable cost/unit'), adding no formula context such as units, currency, or sign conventions beyond what the schema provides.

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 ('break-even point in units and revenue'), so an agent immediately knows what it produces. However, it doesn't differentiate itself from any sibling calculator beyond the self-evident topic, which is fine given there is no competing break-even tool, but it stops short of the 5-tier sibling-naming example.

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 names the use context ('Use for business plans and pricing decisions'), which exceeds the bare minimum of an implied use. There are no exclusions or alternative calculators named, but for a standalone finance utility the stated context is clear enough.

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

calculate_breeding_due_dateCalculate Breeding Due DateB
Read-onlyIdempotent
Inspect

Compute due date for animal breeding given mating date and species gestation period. Use for breeders. Inputs: species (dog/cat/horse/rabbit/cow), mating date. Returns due date and gestation milestones. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
animalYes
mating_dateYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/idempotentHint true and destructiveHint false, so the safety profile is covered and the description only needs to add context. It does add a little ('Returns due date and gestation milestones'), though that is partly redundant with the output schema, and it discloses no calculation assumptions or validation rules.

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 short sentences, front-loaded with the purpose and inputs, with no filler. The list_bundles tail is the only sentence that does not clearly earn its place.

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 explained, and the description is adequate for a two-parameter read-only calculator. But the wrong enum list plus the wrong parameter name leave the agent without a reliable picture of valid inputs, which is the one thing that matters most 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%, so the description must carry the parameter burden, and instead of clarifying it misinforms: it names 'species' (the parameter is 'animal') and lists dog/cat/horse/rabbit/cow, which contradicts the actual enum (dog/cat/rabbit/hamster). An agent following the description could pass an invalid value such as 'horse'.

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 concrete verb+resource ('Compute due date for animal breeding') and names the two required inputs, so the tool's function is unambiguous. However, it does nothing to separate itself from close siblings like calculate_dog_pregnancy, calculate_cat_pregnancy, calculate_pregnancy_due_date and calculate_due_date.

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 only guidance is the thin audience note 'Use for breeders' plus an unrelated pointer to list_bundles. Nothing tells the agent when to prefer this generic tool over the species-specific pregnancy calculators in the sibling list, which is the main selection risk here.

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

calculate_brevet_pointsCalculate Brevet PointsA
Read-onlyIdempotent
Inspect

Estimate French Brevet (DNB) score from grades and continuous-control marks. Use for collège students forecasting their result. Inputs: grades by subject, continuous control. Returns total points and mention. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
mathYesMath exam score (/100)
oralYesOral exam score (/100)
frenchYesFrench exam score (/100)
scienceYesScience score (/50)
history_geoYesHistory-Geography score (/50)
socle_communYesSocle commun points (50-400)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds only 'Returns total points and mention,' which is already carried by the output schema, leaving little behavioral value beyond structured data. No auth, precision, or edge-case 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?

Three front-loaded sentences, with the core purpose first and no filler. The trailing list_bundles pointer is slightly tangential but does not bloat the text meaningfully.

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 needn't explain return values, and annotations cover the safety profile. It is complete enough for its target audience, with only the missing sibling/alternative routing as a 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%, so the schema already documents all six parameters with ranges (e.g., socle_commun 50-400, science /50). The description's 'grades by subject, continuous control' is a loose restatement rather than added meaning, so 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+resource: 'Estimate French Brevet (DNB) score from grades and continuous-control marks.' The 'Brevet (DNB)' framing distinguishes it from the nearby calculate_bac_points sibling, though the differentiation is implicit rather than stated. Clear purpose with mild sibling 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?

'Use for collège students forecasting their result' gives the target audience/context but no when-not guidance and does not name calculate_bac_points as the alternative for lycée students. The 'See list_bundles' pointer is a cross-reference to a discovery tool rather than an alternatives guide, so usage is implied rather than explicit.

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

calculate_brick_countCalculate Brick CountA
Read-onlyIdempotent
Inspect

Compute bricks or blocks needed for a wall including waste margin. Use for masonry projects. Inputs: wall dimensions, brick size, waste %. Returns brick count and pallets. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
typeNoBrick typeparpaing
height_mYesWall height m
length_mYesWall length m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is covered. The description adds that a waste margin is incorporated and that pallets are returned, but with an output schema present the return-value note carries limited weight and no caveats (e.g., what waste % is assumed, rounding) are 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?

Three short sentences, front-loaded with the core computation and efficient overall. The "Inputs:" sentence is a compact enumeration style, but its content is inaccurate, which undercuts the value of the space it occupies.

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 explained, and the masonry framing is adequate. However, the description implies inputs that the schema does not accept and omits that the waste margin and brick size are fixed internally rather than user-supplied, leaving a real ambiguity for 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?

The schema is fully documented and defines type/height_m/length_m, but the description's "Inputs: wall dimensions, brick size, waste %" names two inputs (brick size, waste %) that do not exist in the schema, which forbids additional properties. An agent may attempt to pass those phantom parameters and fail, so the description misleads rather than clarifies.

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+scope: compute bricks or blocks needed for a wall including a waste margin. It also distinguishes itself from the vast sibling set by pointing to list_bundles for related 'construction' calculators, so an agent can place it without opening the schema.

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

Usage Guidelines4/5

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

"Use for masonry projects" gives clear usage context and the list_bundles pointer routes agents to related tools. There is no explicit when-not or alternative masonry calculator named, 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.

calculate_buoyancyCalculate BuoyancyA
Read-onlyIdempotent
Inspect

Compute buoyancy force, displaced volume, or floating analysis (Archimedes). Use for physics or shipping. Inputs: object mass/volume, fluid density. Returns buoyant force and float/sink verdict. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
volume_m3YesObject volume m³
object_massYesObject mass kg
fluid_densityNoFluid density kg/m³

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so safety and determinism are covered without the description. The description adds that inputs are object mass/volume plus fluid density and that a float/sink verdict is produced, but says nothing about unit handling, the default fluid, or edge cases like zero volume.

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 short sentences, front-loaded with the purpose before inputs, outputs and the cross-reference. Slight filler in the trailing list_bundles pointer, but overall tight.

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 annotations carry the safety profile; the description covers purpose, inputs and result shape. It is only short on the default-fluid assumption and unit conventions, which matters for a computation 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?

Schema description coverage is 100% and all three parameters carry their own unit documentation, so the baseline is 3. The description repeats 'object mass/volume, fluid density' without adding anything the schema lacks, notably that fluid_density defaults to 1000 (water).

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 resources (buoyancy force, displaced volume, floating analysis) and anchors the method with '(Archimedes)'. No sibling in the list covers buoyancy, so the tool is unmistakable once matched against the catalog.

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?

'Use for physics or shipping' gives a loose domain hint but no when-not conditions, prerequisites, or a named alternative to compare against. The pointer to list_bundles is a discovery aid, not usage routing.

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

calculate_burn_rateCalculate Burn RateA
Read-onlyIdempotent
Inspect

Compute startup monthly burn rate and runway. Use for fundraising or expense control. Inputs: cash on hand, monthly expenses, monthly revenue. Returns burn, runway in months, profitability date. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
cash_balanceYesCash in bank EUR
monthly_revenueNoMonthly revenue EUR
monthly_expensesYesMonthly expenses EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 behavior, so the safety profile is covered. The description adds little beyond that (no auth, limits, or edge-case behavior), which is acceptable for a pure calculator but not rich 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?

Purpose is front-loaded and the text is short and scannable. However, the 'Inputs:' and 'Returns:' sentences largely duplicate the input schema and the existing output schema, so a small amount of redundancy is present.

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 three-parameter calculator with an output schema and full annotations, the description supplies enough to call it correctly. It also cross-references list_bundles for related finance calculators, adding useful discovery context.

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 the schema already documents all three parameters with EUR units. The description's 'cash on hand, monthly expenses, monthly revenue' merely restates these inputs without adding syntax or interpretation, matching the baseline 3 for high-coverage schemas.

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 ('startup monthly burn rate and runway'), which is clearly distinct from neighboring finance calculators like calculate_churn_rate or calculate_break_even. It does not explicitly contrast itself with any sibling, so it stops 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 Guidelines4/5

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

Provides a clear when-to-use statement ('Use for fundraising or expense control'), giving the agent concrete scenarios. It offers no exclusions or named alternatives, which keeps it from a 5.

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

calculate_cable_sectionCalculate Cable SectionB
Read-onlyIdempotent
Inspect

Compute electrical cable cross-section (mm²) per NF C 15-100. Use for residential wiring. Inputs: power kW, voltage, length, max voltage drop %. Returns required section. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
power_wYesPower W
voltageNoVoltage
length_mYesCable length m
max_drop_pctNoMax voltage drop %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.4/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 the safety profile is covered. The description adds real domain context beyond them: the governing standard (NF C 15-100), the residential scope, and the fact that a required section is the return value. It does not cover edge cases like minimum section rules or multi-phase wiring.

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 operation and standard, then inputs and return value, ending with a pointer to a sibling listing tool. The 'Inputs: ...' clause is terse but earns its place; nothing is padded.

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?

Output schema and annotations mean the safety and return-shape burden is off the description's shoulders, and it correctly supplies the standard and domain. The unresolved kW-vs-W discrepancy and the silence about calculate_cable_section_electrical leave two gaps an agent must guess through.

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 coverage is 100%, so baseline would be 3, but the description actively misstates the input model: it says 'power kW' while the schema parameter is power_w in watts, and omits that voltage and max_drop_pct have defaults. A unit mismatch of 1000x is worse than silence and can cause a wrong invocation.

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 electrical cable cross-section (mm²)') and anchors it to a named standard (NF C 15-100), which is genuinely distinguishing. However, it never acknowledges the near-identical sibling calculate_cable_section_electrical, so an agent cannot tell which of the two to pick from the description alone.

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

Usage Guidelines3/5

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

'Use for residential wiring' implies the applicable domain but gives no when-not conditions or explicit alternative routing. The only routing hint ('See list_bundles for related construction calculators') points to a discovery tool rather than to a competing calculator, so conflict resolution is left implicit.

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

calculate_cable_section_electricalCalculate Cable Section ElectricalB
Read-onlyIdempotent
Inspect

Calculate cable section from power, voltage, distance and max voltage drop. Returns: {current_a, allowed_drop_v, calculated_section_mm2, recommended_mm2}. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
power_wYesPower in watts
voltageNoVoltage (default 230V)
distance_mYesOne-way cable distance in meters
max_drop_pctNoMax voltage drop % (default 3)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, covering the safety profile. The description adds the return fields, which is useful context, but this may overlap with the output schema and does not disclose formula assumptions or limitations.

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 the main action, followed by return values. The list_bundles pointer is somewhat unnecessary for invoking this specific tool but does not bloat the definition significantly.

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, annotations cover safety, and the schema and output schema are rich. However, the description fails to differentiate this from the sibling calculate_cable_section and omits any note on electrical assumptions, which is a meaningful gap for selecting the correct calculator.

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 units and defaults. The description lists the same inputs without adding syntax, constraints, or electrical assumptions beyond what the schema provides.

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 cable section, and lists the main inputs. However, it does not distinguish this tool from the sibling calculate_cable_section, so an agent cannot tell them apart from the description alone.

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

Usage Guidelines2/5

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

Provides no when-to-use or when-not-to-use guidance, and does not name alternatives. The reference to list_bundles is vague and does not help select between this and other calculators.

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

calculate_cac_ltv_ratioCalculate Cac Ltv RatioA
Read-onlyIdempotent
Inspect

Compute Customer Acquisition Cost vs Lifetime Value ratio. Use for SaaS unit economics analysis (target ≥3.0). Inputs: total CAC, LTV. Returns ratio and health verdict. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
cacYesCustomer acquisition cost EUR
ltvYesCustomer lifetime value EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/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, closed-world behavior, so the safety profile is covered. The description adds domain-meaningful context beyond that: the interpretation threshold (target ≥3.0) and the fact that a health verdict accompanies the ratio. It omits edge-case behavior (e.g. LTV=0), keeping 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.

Conciseness4/5

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

Four short sentences, front-loaded with the core computation before usage, inputs, and output. The 'Inputs:' sentence mildly duplicates the schema and the bundle pointer is incidental, so it is efficient but not maximally tight.

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 2-parameter read-only calculator with a 100%-covered schema, an output schema, and full annotations, the description supplies the one thing structured fields cannot: the domain benchmark for interpreting the result. 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.

Parameters3/5

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

Schema description coverage is 100%, with both cac and ltv documented including EUR units, so the schema carries the semantic load. The description only restates them as 'Inputs: total CAC, LTV' and adds no format or constraint detail, matching the baseline 3.

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 a precise resource (CAC vs LTV ratio), and the acronym is spelled out so an agent knows exactly what is calculated. It is readily distinguishable from neighbor tools like calculate_churn_rate or calculate_roi.

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 ('Use for SaaS unit economics analysis') and even a benchmark target (≥3.0), so the agent knows when this applies. It does not name a competing tool or state exclusions, and the pointer to list_bundles is about discovery rather than a true alternative, so it falls 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.

calculate_caffeine_clearanceCalculate Caffeine ClearanceA
Read-onlyIdempotent
Inspect

Compute remaining caffeine in body over time using 5-hour half-life. Use for sleep planning. Inputs: caffeine mg, time since intake. Returns remaining mg and clearance forecast. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
mgYesCaffeine mg consumed
hoursNoHours since consumption

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral value by disclosing the fixed 5-hour half-life assumption that governs the accuracy of the result, plus the shape of the output (remaining mg and clearance forecast). It does not mention that individual variation, smoking, or medication alter clearance, which is the main caveat for this kind of estimate.

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 short sentences, front-loaded with what is computed, then usage, then inputs/outputs, then a related-tool pointer. Nothing is padded, though the inputs/outputs sentence is largely redundant given the schema and output 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?

For a two-parameter, low-complexity calculation with a full schema and an output schema, the description supplies the model assumption and the intended use, which is enough to call it correctly. Missing caveats about half-life variability are a minor gap rather than a blocker.

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 carry their own descriptions, so the schema does the heavy lifting. The description's 'Inputs: caffeine mg, time since intake' merely restates them without adding units, ranges, or edge-case handling 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 (remaining caffeine in body over time) and names the underlying model (5-hour half-life), which is more than a restatement of the title. However, it does not distinguish itself from the closely related siblings calculate_caffeine_half_life and calculate_caffeine_intake, which an agent could easily confuse with it.

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?

'Use for sleep planning' implies a context but gives no when-not guidance and names no alternative among the three caffeine-related siblings. The pointer to list_bundles is a discovery hint, not selection guidance.

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

calculate_caffeine_half_lifeCalculate Caffeine Half LifeB
Read-onlyIdempotent
Inspect

Calculate remaining caffeine in body after time elapsed. Returns: {hours_to_below_25mg, safe_to_sleep}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
hours_sinceYesHours since consumption
mg_consumedYesCaffeine consumed mg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the output shape (hours_to_below_25mg, safe_to_sleep), which is useful behavioral context, but omits the underlying assumption (e.g. an average half-life, inter-individual variation) that determines the result.

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, with the core purpose front-loaded and no padding. The enumerated return fields partially duplicate the existing output schema, and the list_bundles pointer is mild promotional filler, but both are brief enough not to bloat the definition.

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 pure two-parameter calculator with a declared output schema and full annotation coverage, the definition supplies everything needed to invoke it correctly. The missing piece is sibling differentiation against the other caffeine calculators, which matters less for invocation than for selection.

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 both hours_since and mg_consumed explicitly documented in the schema, so the baseline is 3. The description adds nothing beyond the schema, such as units for hours or whether hours_since is capped, so it does not exceed the baseline.

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 ('Calculate remaining caffeine in body after time elapsed'), so the computing action is unambiguous. However, it does not distinguish itself from the two closely related sibling tools calculate_caffeine_clearance and calculate_caffeine_intake, leaving the agent to infer the boundary between them.

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 only usage-adjacent sentence is a pointer to 'list_bundles for related sante calculators', which is a directory cross-reference rather than when-to-use/when-not guidance. It never states when to pick this over calculate_caffeine_clearance, calculate_caffeine_intake, or calculate_sleep_cycles.

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

calculate_caffeine_intakeCalculate Caffeine IntakeB
Read-onlyIdempotent
Inspect

Track caffeine intake against the safe daily limit (400 mg adult). Use for monitoring coffee/tea/soda consumption. Inputs: list of drinks (type, quantity). Returns total mg, % of limit, time-of-day distribution. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
drinksYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 externally. The description adds return content (total mg, % of limit, time-of-day distribution), but the time-of-day claim is unsupported by any time input in the schema, which undercuts its reliability. No auth, rate-limit or persistence notes.

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 two sentences are front-loaded and efficient, but the final sentence about list_bundles/'cuisine' calculators does not earn its place and distracts from a four-sentence description. Overall length is reasonable but not tight.

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 the description's recap of return values is redundant yet harmless; the substantive gap is parameter semantics (units, enum meaning). For a one-param tool with zero schema coverage, that omission leaves the agent guessing how to express quantity, and the unsupported time-of-day claim is misleading.

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%, so the description must carry the parameter burden. It names the shape ('list of drinks (type, quantity)') but never specifies what a unit of quantity means (cups? ml? mg?) nor explains the coffee/espresso/tea/cola/energy_drink enum values or why quantity must be > 0 — the single most important ambiguity for a caffeine calculator is left open.

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+resource ('Track caffeine intake against the safe daily limit (400 mg adult)') and gives concrete scope (coffee/tea/soda consumption, list of drinks). It is distinguishable from similarly-named siblings like calculate_caffeine_clearance and calculate_caffeine_half_life by name alone, but the description never explicitly contrasts itself with 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?

'Use for monitoring coffee/tea/soda consumption' gives implied context but no when-not conditions and no routing to the three caffeine-related siblings. The closing pointer to list_bundles for 'cuisine' calculators is off-topic for a caffeine tool and adds noise rather than guidance.

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

calculate_calories_burnedCalculate Calories BurnedB
Read-onlyIdempotent
Inspect

Estimate calories burned during physical activity using MET values. Returns: {calories_burned}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
activityYesType of activity
weight_kgYesBody weight in kilograms
duration_minutesYesDuration in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 without the description. The description does add that results are MET-based estimates (implying approximation, not precise measurement), but it says nothing about output units, rounding, or the assumptions behind the estimate.

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, front-loaded with the core action and method, with zero filler. The bundle cross-reference is a single trailing clause rather than padding.

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 needn't explain return values, and annotations cover safety and determinism for this pure-computation tool. The only mild gap is the absence of stated output units (kcal) and estimation caveats, which a caller might want before relying on the number.

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 carries its own description, so the schema already does the heavy lifting. The description adds no parameter-level meaning (no notes on weight units edge cases, duration interpretation, or activity enum semantics), 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 ('Estimate calories burned during physical activity') plus the underlying method (MET values), which clearly separates it from adjacent health calculators like calculate_dog_walking_calories or calculate_tdee. It never names an alternative sibling explicitly, so differentiation is inferred from the activity scope 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?

The only routing hint is 'See list_bundles for related sante calculators,' which points at a discovery tool rather than saying when to pick this calculator over calculate_tdee, calculate_bmr, or calculate_dog_walking_calories. No when-to-use, when-not, or prerequisite conditions are given; usage is only implied by the tool name.

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

calculate_canada_combined_taxCalculate Canada Combined TaxA
Read-onlyIdempotent
Inspect

Calculate combined Quebec + federal income tax on an employment income with the Quebec federal abatement (16.5%), single, no dependents (same engine as /api/v1/salaire-net?pays=qc). Returns: {income_cad, quebec_provincial_tax, federal_gross_tax, federal_abatement_qc, federal_net_tax, total_combined_tax, ...}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
income_cadYesAnnual employment income in CAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/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 the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the hard-coded assumptions (single, no dependents, 16.5% abatement) that constrain the result and the fields returned. It could go further on input limits or edge cases, but this is solid added 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?

Front-loaded with the core operation and assumptions, then output shape, then a discovery pointer. Every sentence carries information, though the explicit 'Returns: {...}' field list is partly redundant given an output schema already exists.

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 single-parameter read-only calculator with full schema coverage and an existing output schema, the description covers purpose, baked-in assumptions, and related-tool discovery. The endpoint reference ('/api/v1/salaire-net?pays=qc') is somewhat implementation-facing, but 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% and the single parameter (income_cad, annual employment income in CAD, minimum 0) is fully documented in the schema. The description's mention of 'employment income' only echoes the schema, adding no format, range, or unit 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.

Purpose5/5

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

States a specific verb and resource ('combined Quebec + federal income tax') plus the exact scope conditions (employment income, single, no dependents, 16.5% abatement). This implicitly separates it from the single-jurisdiction siblings calculate_quebec_income_tax and calculate_canada_federal_tax, so an agent can route correctly 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 qualifying context: employment income, single filer, no dependents, plus a concrete data source ('same engine as /api/v1/salaire-net?pays=qc') and a pointer to list_bundles for related calculators. It does not explicitly say when to prefer a sibling over this one (e.g. vs. calculate_quebec_income_tax), so no exclusions are stated.

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

calculate_canada_eiCalculate Canada EiA
Read-onlyIdempotent
Inspect

Calculate Canadian Employment Insurance (EI) premiums for Quebec and non-Quebec residents. Returns: {gross_annual_cad, max_insurable_earnings, insurable_earnings, employee_rate_pct, employee_premium}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
provinceNoProvince: QC (Quebec rate) or other (standard rate)QC
gross_annual_cadYesGross annual insurable earnings in CAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare this as a safe, deterministic, read-only calculation (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds little beyond that: it enumerates return fields that the output schema already documents, and does not disclose the rate year, whether premiums are capped at max insurable earnings, or rounding behavior.

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

Conciseness5/5

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

Two tight sentences, front-loaded with the purpose, followed by return fields and a cross-reference. No filler or hedging.

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 a full output schema and complete annotations, the description covers scope, jurisdiction variants, and the return shape well enough to call it correctly. Minor gaps remain around the applicable tax year and premium caps, which are not stated anywhere in the description.

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 (province enum, gross_annual_cad) are documented in the schema, so the baseline is 3. The description's mention of 'Quebec and non-Quebec residents' loosely maps to the province enum but repeats rather than extends the schema's own explanation of QC vs other rates.

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 Canadian Employment Insurance (EI) premiums') and scopes it to Quebec vs non-Quebec residents, which cleanly distinguishes it from siblings like calculate_canada_rrq, calculate_canada_federal_tax, and calculate_canada_combined_tax.

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 description's jurisdiction scope, but there is no explicit when-to-use guidance or comparison against the many adjacent Canada payroll/tax siblings. The pointer to list_bundles is a routing hint for related calculators, not a rule for selecting this tool over alternatives.

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

calculate_canada_federal_taxCalculate Canada Federal TaxB
Read-onlyIdempotent
Inspect

Calculate Canadian federal income tax (CRA) with the basic personal amount credited at the lowest rate (before any Quebec abatement). Returns: {income_cad, basic_personal_amount, basic_personal_credit, taxable_income, federal_tax, effective_rate_pct, marginal_rate_pct, ...}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
income_cadYesAnnual income in Canadian dollars (CAD)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds methodologically useful context the annotations cannot: the basic personal amount is credited at the lowest rate and the result is pre-Quebec-abatement, which tells the agent what the number actually represents. Reasonable given the annotation floor.

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?

Front-loaded with the purpose and one sentence of methodology, which is good. The enumerated return-field list ('{income_cad, basic_personal_amount, ...}') is largely redundant because an output schema already exists, and it trails off with an ellipsis, so that sentence does not fully earn its place.

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 rich annotations and an output schema, the description need not restate safety or return values, and the calculation rule it does state is helpful. What is missing for correct invocation is routing context — when this federal-only figure is appropriate versus the combined or Quebec calculators — which leaves the definition adequate but incomplete.

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 ('Annual income in Canadian dollars (CAD)'), so the schema carries the semantics on its own. The description adds no further parameter detail (e.g., gross vs. net income, rounding), leaving this at the baseline 3.

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+resource ('Calculate Canadian federal income tax (CRA)') and narrows scope with 'before any Quebec abatement', which lets an agent separate it from provincial tools like calculate_quebec_income_tax. However, it never names calculate_canada_combined_tax or the Quebec calculator as alternatives, so the differentiation is implied rather than explicit.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance: nothing tells the agent when to prefer this over calculate_canada_combined_tax or calculate_quebec_income_tax, nor when a Quebec abatement actually applies. The only pointer ('See list_bundles for related finance-afrique-quebec calculators') is about bundle discovery, not about selecting this tool.

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

calculate_canada_rrqCalculate Canada RrqA
Read-onlyIdempotent
Inspect

Calculate Quebec Pension Plan (RRQ) contributions for employee. Returns: {gross_annual_cad, rrq_base_earnings, rrq_contribution_tier1, rrq_additional_earnings, rrq_contribution_tier2, total_rrq_contribution, ...}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
gross_annual_cadYesGross annual earnings in CAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is covered. The description adds little behavioral context beyond listing return fields, which are already represented by the output schema; it does not mention assumptions such as employee-only eligibility or zero-income 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?

Two sentences, front-loaded with the core purpose. The return-field list is somewhat redundant given the output schema, but it is not excessive or distracting.

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 one-parameter deterministic calculator with a full input schema, output schema, and clear annotations, the description covers purpose and employee scope adequately. It could note exclusions or tie-ins to other Quebec payroll calculators, but nothing critical 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?

The only parameter, gross_annual_cad, is fully documented by the input schema at 100% coverage. The description does not add syntax, range, or interpretation beyond 'Gross annual earnings in CAD', 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: calculate Quebec Pension Plan (RRQ) contributions for an employee. The acronym expansion and employee scope distinguish it from siblings such as calculate_canada_ei and calculate_quebec_income_tax.

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 via 'for employee' and points to list_bundles for related calculators, but it does not explicitly say when to use this tool versus calculate_canada_ei, calculate_canada_combined_tax, or other Quebec payroll tools. Prerequisites or exclusions are unstated.

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

calculate_capital_gains_propertyCalculate Capital Gains PropertyB
Read-onlyIdempotent
Inspect

Compute French property capital gains tax (plus-value immobilière) including duration abatements. Use for sellers of secondary residence. Inputs: purchase price, sale price, years held, work cost. Returns tax due, social charges, net gain. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
sale_priceYesSale price in euros
years_heldYesNumber of years the property was held
purchase_priceYesOriginal purchase price in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so safety and idempotency are covered. The description adds useful domain behavior ('including duration abatements') that the annotations cannot express, but says nothing about assumption limits (e.g. that this covers secondary residences only, or what regime/rates are applied).

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

Conciseness4/5

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

Four short sentences, front-loaded with the purpose before inputs and outputs. The 'See list_bundles for related finance-france calculators' line is the weakest element but is a brief, potentially useful navigation hint.

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 the 'Returns tax due, social charges, net gain' sentence is redundant rather than necessary. Given full annotation coverage, 100% schema coverage and 3 simple scalar parameters, the description supplies enough context for correct invocation aside from the phantom 'work cost' parameter.

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 coverage is 100%, so the baseline would be 3, but the description actively misleads: it lists 'work cost' as an input while the schema defines only purchase_price, sale_price and years_held with additionalProperties=false. An agent following the description would pass a parameter that gets rejected.

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 with domain precision: 'Compute French property capital gains tax (plus-value immobilière) including duration abatements.' This is far more informative than the title. However, it does not distinguish itself from the near-identical sibling calculate_property_capital_gains_fr, leaving the agent unable to tell which one to pick.

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 line 'Use for sellers of secondary residence' gives a clear usage context, which is better than nothing. But with a near-duplicate sibling (calculate_property_capital_gains_fr) in a 300+ tool set, the absence of any 'use this instead of X' or exclusion guidance is a real routing gap.

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

calculate_carbon_footprintCalculate Carbon FootprintA
Read-onlyIdempotent
Inspect

Estimate annual personal carbon footprint (tCO₂e). Use for sustainability awareness. Inputs: housing, transport, diet, lifestyle. Returns total emissions and breakdown. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
kwhNoElectricity kWh/year
km_carNoCar km/year
km_planeNoFlight km/year
meat_kg_weekNoMeat kg/week

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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/openWorld=false, so the safety profile is covered structurally. The description adds little beyond that – it notes it 'returns total emissions and breakdown,' which is largely redundant given an output schema exists, and omits any assumptions or limits of the estimate.

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?

Five short, front-loaded segments with no filler; the purpose and unit lead. Slightly list-like with 'Inputs:' and 'Returns:' fragments, but nothing is wasted.

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 an idempotent read-only calculator with a full output schema and 100%-documented params, the description covers purpose, inputs, return shape, and related tools. Only the lack of guidance on estimate assumptions/limits keeps it from being 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%, so the four parameters (kwh, km_car, km_plane, meat_kg_week) are already documented. The description's 'housing, transport, diet, lifestyle' summary loosely maps to them but adds no syntax, units, or defaults beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Estimate) and resource (annual personal carbon footprint) with a unit (tCO₂e). Clear and self-contained, but it does not distinguish itself from the similarly named sibling calculate_carbon_sequestration, which an agent scanning the tool list could confuse.

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?

'Use for sustainability awareness' implies a context but gives no when-to-use/when-not guidance or named alternatives. The pointer to list_bundles for 'vie-quotidienne' calculators hints at related tools but is not a routing rule for picking this tool over siblings.

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

calculate_carbon_sequestrationCalculate Carbon SequestrationB
Read-onlyIdempotent
Inspect

Estimate CO2 sequestration by trees over their lifetime. Returns: {age_factor, annual_kg_co2_per_tree, annual_kg_co2_total, lifetime_kg_co2, lifetime_tonnes_co2, equivalent_cars_off_road_1yr}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
countNoNumber of trees (default 1)
age_yearsYesAge of the trees in years
tree_typeYesSpecies of tree

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is fully covered. The description adds nothing behavioral beyond that — no model assumptions, growth-curve basis, or estimation caveats — and merely enumerates return fields the output schema already defines.

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, purpose front-loaded followed by scope and a bundle pointer; nothing is padded. The Returns sentence is largely redundant against the existing output schema, which is the only mild waste.

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 tool is a simple pure calculation with full schema coverage, all-readonly annotations, and a declared output schema, so an agent has everything needed to call it. The inline return-field list duplicates the output schema and the estimation model is undocumented, but neither blocks correct invocation.

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% (tree_type enum, age_years, count with default), so the schema carries the parameter semantics. The description adds no format, unit, or modelling detail for tree_type/age_years beyond what is already structured, matching the baseline 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 and resource ('Estimate CO2 sequestration by trees over their lifetime'), which is clearly distinct from adjacent siblings like calculate_carbon_footprint or calculate_compost_volume. It stops short of naming an alternative it could be confused with, so the differentiation is implicit rather than explicit.

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

Usage Guidelines2/5

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

The only routing information is a pointer to list_bundles for 'astronomie-nature' calculators, which is a cross-reference, not a usage condition. There is no statement of when to prefer this tool over calculate_carbon_footprint or any other sibling, and no prerequisites.

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

calculate_card_draw_probabilityCalculate Card Draw ProbabilityB
Read-onlyIdempotent
Inspect

Calculate hypergeometric probability of drawing specific cards from a deck. Returns: {odds_one_in}. See list_bundles for related 'jeux-probabilites' calculators.

NameRequiredDescriptionDefault
deck_sizeNoTotal number of cards in the deck (default 52)
draw_countYesNumber of cards drawn
target_cardsYesNumber of target cards wanted in the draw
cards_in_deck_matchingYesNumber of target cards in the deck

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so little behavioral disclosure is required. The description adds that it returns an 'odds_one_in' value and the underlying math model, but does not describe any behavioral traits beyond what annotations and the output schema already convey.

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 tight sentences with the core computation front-loaded. The trailing list_bundles cross-reference is marginally useful and does not bloat the definition, though it is not essential to calling 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, return values need not be explained, and annotations plus full schema coverage handle parameters and behavior. The remaining incompleteness is the lack of differentiation from similar probability 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%, so deck_size, draw_count, target_cards, and cards_in_deck_matching are all documented in the schema. The description adds no parameter-level meaning (e.g., the relationship between target_cards and cards_in_deck_matching), so 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 ('Calculate hypergeometric probability of drawing specific cards from a deck'), and naming the hypergeometric model distinguishes it somewhat from generic probability siblings. However, it does not explicitly differentiate itself from closely related siblings such as calculate_poker_hand_probability or calculate_dice_probability.

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 only guidance is 'See list_bundles for related jeux-probabilites calculators,' which points to a catalog rather than explaining when to use this tool over the many probability siblings. There is no when-to-use, when-not, or alternative-tool routing for the actual decision an agent faces.

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

calculate_car_depreciationCalculate Car DepreciationA
Read-onlyIdempotent
Inspect

Calculate car residual value: Y1:-25%, Y2:-15%, Y3:-10%, Y4-5:-8%, Y6+:-5%. Returns: {residual_value, total_dep, pct_lost}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
age_yearsYesAge in years
purchase_priceYesOriginal price

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this as a safe, idempotent, non-destructive, closed-world read, so the bar is lower. The description still adds real behavioral value by disclosing the actual depreciation algorithm (Y1 -25%, Y2 -15%, ... Y6+ -5%), which is not derivable from the annotations or schema.

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

Conciseness5/5

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

Extremely dense and front-loaded: computation rule first, return shape second, sibling pointer last. Every sentence carries information and nothing is 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 and full annotation coverage, the description supplies the calculation logic an agent would otherwise lack. The only gap is the absence of guidance on how it relates to other car/finance calculators.

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% (both purchase_price and age_years are documented in the schema), so the baseline is 3. The description's year bands implicitly map to age_years but add no format, unit, or range 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 and resource ('Calculate car residual value') and goes further by spelling out the year-by-year depreciation schedule, so the agent knows exactly what is computed. It does not distinguish itself from the many other car-related siblings (lease_vs_buy, braquet, puissance_fiscale), 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?

The only routing hint is 'See list_bundles for related... calculators', which points at a discovery tool rather than explaining when to choose this calculator over alternatives. There is no when/when-not guidance or prerequisite information.

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

calculate_car_lease_vs_buyCalculate Car Lease Vs BuyA
Read-onlyIdempotent
Inspect

Compare leasing vs buying a car over the same period. Use for automotive purchase decisions. Inputs: car price, lease monthly cost, loan rate, ownership years. Returns total costs and recommendation. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
car_priceYesCar purchase price EUR
loan_rateYesLoan annual rate percent
loan_monthsYesLoan duration months
lease_monthsYesLease duration months
lease_monthlyYesMonthly lease payment EUR
residual_valueYesCar residual value at lease end EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.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, and destructiveHint=false, so the safe/stateless nature is covered structurally. The description adds that it returns 'total costs and recommendation,' which is mildly useful, but for a pure calculation there is little else to disclose; this meets the lowered bar rather than exceeding it.

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, then usage, inputs, and output in a compact set of sentences. The trailing pointer to list_bundles for 'finance-universal' calculators is mildly tangential but does not bloat the definition.

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 the description nonetheless summarizes them. For a 6-required-parameter, single-output calculation with full annotation coverage, the description is sufficient, though it does not address edge cases (e.g., zero residual value, rate of 0).

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 recaps inputs ('car price, lease monthly cost, loan rate, ownership years'), but 'ownership years' does not map cleanly onto the schema's lease_months/loan_months fields, so it adds no real precision beyond 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 comparison verb ('Compare leasing vs buying') plus the resource ('a car') and the scope ('over the same period'). This is clearly distinguishable from neighbors like calculate_car_depreciation or calculate_belgian_car_advantage 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 Guidelines4/5

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

'Use for automotive purchase decisions' gives clear situational context for when to invoke it, and no sibling tool performs this exact lease-vs-buy comparison. However, it names no explicit alternative or exclusion condition, which is why 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.

calculate_carpet_flooringCalculate Carpet FlooringA
Read-onlyIdempotent
Inspect

Compute flooring cost including waste margin. Use for renovation budget. Inputs: surface m², product price/m², waste %. Returns total cost and m² to order. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
width_mYesWidth m
length_mYesLength m
price_m2NoEUR/m²
waste_pctNoWaste %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 behavior, so the safety profile is covered. The description adds genuine behavioral context beyond that: it discloses the waste-margin logic and that results are total cost plus m²-to-order, which tells the agent what the computation yields.

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?

Four short sentences, front-loaded with the core purpose and followed by usage, inputs, and outputs, with no filler. The trailing list_bundles reference is brief and useful rather than padding.

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 deep explanation, and annotations carry the safety profile; the description covers purpose, inputs, and outputs adequately. The only gap is the mismatch between the described 'surface m²' input and the schema's length/width parameters.

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 names the concept inputs (surface m², price/m², waste %), which broadly maps to the params, but its 'surface m²' phrasing does not match the required length_m/width_m pair in the schema, adding a slight inconsistency rather than extra meaning.

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 action and resource: 'Compute flooring cost including waste margin,' and enumerates what it takes in and returns. It is distinguishable from pure area tools like calculate_floor_area, though it doesn't explicitly contrast itself with adjacent flooring siblings such as calculate_tile_quantity.

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?

'Use for renovation budget' gives a light context for when it applies, but there is no explicit when-not guidance or named alternative. The pointer to list_bundles is a discovery aid for sibling calculators rather than a selection rule, so usage remains implied.

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

calculate_cat_ageCalculate Cat AgeA
Read-onlyIdempotent
Inspect

Convert cat age to human-equivalent years (15+9+4×). Use for feline health. Inputs: cat age years. Returns human-equivalent age and life stage. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
cat_yearsYesCat age in years

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds the conversion formula and the two return values, but says nothing about input bounds beyond what the schema states or about behavior on extreme inputs — adequate, 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?

Short and front-loaded: purpose first, then usage, then inputs/outputs, then a cross-reference. The 'See list_bundles' sentence is slightly tangential but short and useful for discovery.

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 single-parameter calculator with an output schema and full annotation coverage, this is nearly sufficient — formula, input, and outputs are all stated. The only real gap is the absence of guidance distinguishing it from the other pet-age calculators in the sibling list.

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% with the single parameter already documented as 'Cat age in years', and the description's 'Inputs: cat age years' merely restates it. No additional unit or precision semantics are added, 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 ('Convert cat age to human-equivalent years') and even discloses the underlying formula (15+9+4×), which pins down exactly what computation happens. It does not explicitly name sibling alternatives like calculate_dog_age or calculate_pet_age, so an agent must infer differentiation from the word 'feline'.

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?

'Use for feline health' gives a topical context but no when-to-use/when-not conditions and no comparison against calculate_pet_age or calculate_dog_age. The pointer to list_bundles is a routing hint, not usage guidance for this tool itself.

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

calculate_cat_foodCalculate Cat FoodB
Read-onlyIdempotent
Inspect

Calculate daily cat food quantity based on weight, age and lifestyle. Returns: {kcal_per_day}. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
ageYes
indoorNo
weight_kgYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 non-open-world, so the safety profile is covered. The description adds the return shape (kcal_per_day), but since an output schema exists this is largely redundant and it says nothing about units of the input weight or how the lifestyle/indoor default is treated.

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 with the core purpose front-loaded and no padding. The trailing cross-reference to list_bundles is marginally useful rather than wasteful.

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 simple three-parameter calculator with a read-only annotation set and an output schema, the description is close to sufficient. The residual gaps are the loose 'lifestyle' vs 'indoor' mapping and the absence of input units, which an agent would need when constructing the call.

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 carry the burden. It loosely maps its three drivers to the three parameters ('weight, age and lifestyle'), but 'lifestyle' does not match the actual 'indoor' boolean, the unit for weight_kg is unstated, and the enum values for age are left entirely to 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 gives a concrete verb and resource ('Calculate daily cat food quantity') and names the three inputs that drive it, so the agent knows exactly what it computes. It does not, however, distinguish itself from nearby siblings such as calculate_dog_food or calculate_pet_food_portion, which share nearly the same phrasing.

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 pick this tool over calculate_pet_food_portion, calculate_dog_food, or calculate_cat_age. The only routing hint ('See list_bundles for related animaux calculators') points at a discovery tool, not at an alternative calculator, so it does not resolve the selection question.

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

calculate_cat_pregnancyCalculate Cat PregnancyA
Read-onlyIdempotent
Inspect

Compute cat due date from mating date (gestation 63-67 days). Use for breeders. Inputs: mating date. Returns due date window and milestones. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
mating_dateYesMating date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 genuine context beyond that: the 63-67 day gestation model and the returned due-date window plus milestones. It stops short of 5 because nothing is said about how the window is derived or rounding/edge-case handling.

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 short, front-loaded sentences with the core purpose first and no long prose. 'Inputs: mating date' duplicates the schema and earns little, but the overall size is appropriate and the relevant pointer to list_bundles is kept.

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, yet the description still outlines the window and milestones. Combined with annotations covering safety and a fully described single parameter, the definition is sufficient for correct invocation; only explicit selection guidance against related pregnancy calculators 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 parameter's format (YYYY-MM-DD) is fully documented in the schema. 'Inputs: mating date' simply restates what the schema already provides, adding no format or constraint detail, so this matches the baseline of 3.

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 (cat due date) with the decisive domain constraint 'gestation 63-67 days'. The species-specific framing separates it from unrelated calculators, but it does not name a sibling it could be confused with (e.g. calculate_dog_pregnancy or calculate_breeding_due_date), so it falls short of 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?

'Use for breeders' identifies the intended audience, which weakly implies when the tool applies, but there is no explicit when-to-use, when-not-to-use, or pointer to the dog/breeding alternatives. 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.

calculate_cheque_repasCalculate Cheque RepasA
Read-onlyIdempotent
Inspect

Calculate Belgian meal voucher (cheque-repas / maaltijdcheque) benefit. Returns: {face_value_per_voucher, employer_contribution_per_voucher, employee_contribution_per_voucher, monthly_total_vouchers, monthly_employer_cost, monthly_employee_contribution, ...}. See list_bundles for related 'finance-belgique' calculators.

NameRequiredDescriptionDefault
days_per_monthNoWorking days per month
employee_contributionNoEmployee contribution per voucher (min 1.09 EUR)
employer_contributionNoEmployer contribution per voucher (max 6.91 EUR)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description need not restate safety. It adds domain context (Belgian statutory benefit) but no behavioral specifics like the legal caps applying to contributions or whether defaults reflect current law.

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 a single crisp sentence. The trailing return-field enumeration is largely redundant given an output schema exists, and the trailing '...' makes it incomplete rather than exhaustive, but the overall length is reasonable.

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 calculator with 0 required params, 100% schema coverage, an output schema, and complete annotations, the description covers what the agent needs to select and call it. The main missing piece is disambiguation from other Belgian finance calculators.

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% — all three parameters (days_per_month, employee_contribution, employer_contribution) carry descriptions, defaults, and min/max bounds in the schema. The description adds nothing about their semantics, 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 (Belgian meal voucher / cheque-repas benefit), naming both the French and Dutch terms. Against a huge sibling set of generic 'calculate_*' tools, this is clearly distinguished as a country-specific payroll benefit 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?

It points the agent to list_bundles for related 'finance-belgique' calculators, which is a mild routing hint. But it never states when to choose this tool over, say, calculate_belgian_salary or calculate_employer_cost_fr, 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.

calculate_child_supportCalculate Child SupportA
Read-onlyIdempotent
Inspect

Estimate French child support (pension alimentaire) based on income, custody and number of children. Returns: {income, rate_pct, monthly_support, annual_support}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
incomeYesNet monthly income of the paying parent in euros
custodyNoCustody type: full (garde principale), alternating (alternee), reduced (visite et hebergement)full
children_countYesNumber of children (1-6)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the French-jurisdiction context and lists return fields, but does not disclose calculation assumptions, legal disclaimers, or rate-determination logic. It adds some value but not rich behavioral context beyond 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?

The description is two sentences, front-loads the core purpose, and avoids waste. The return-field sentence duplicates the output schema, but the overall structure is efficient and easy to scan.

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 calculator with full schema coverage, annotations, and an output schema, the description gives enough context to select and invoke it: domain, inputs, and output shape. It could be stronger by noting that results are estimates rather than legal advice or by clarifying the bundle reference, but no critical invocation detail 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 the schema already fully documents income, custody, and children_count, including the custody enum and defaults. The description names the same inputs but adds no syntax, formatting, or constraint detail beyond what the schema provides. 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 ('Estimate') and resource ('French child support (pension alimentaire)'), and names the three input factors. It clearly distinguishes this calculator from the many generic siblings by specifying French child support rather than a generic financial or tax calculation.

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 usage by stating the domain and inputs, but gives no explicit when-to-use or when-not-to-use guidance. The only routing hint is 'See list_bundles for related finance-france calculators,' which points to a bundle browser rather than explaining when to choose this tool over alternatives.

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

calculate_chinese_zodiacCalculate Chinese ZodiacA
Read-onlyIdempotent
Inspect

Determine Chinese zodiac animal and element from birth year. Returns: {full_sign}. See list_bundles for related 'fun' calculators.

NameRequiredDescriptionDefault
birth_yearYesBirth year

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds a concrete return value ('Returns: {full_sign}'), which is useful behavioral context beyond annotations.

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

Conciseness4/5

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

The description is two sentences and front-loaded with the core purpose. The second sentence about list_bundles is a minor tangent but still relevant for discovery, and there is no excessive verbosity.

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 tool's simplicity (one parameter, output schema present, annotations covering safety), the description is complete enough. It communicates what the tool does and what it returns; no critical gaps remain for an agent to invoke 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% and there is only one parameter, so the schema fully documents 'birth_year' including its range. The description adds no additional meaning beyond confirming 'from birth year', which is already in 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?

The description states a specific verb ('Determine') and resource ('Chinese zodiac animal and element'), and clarifies the input ('from birth year'). It even specifies the return value ('Returns: {full_sign}'), making it fully distinguishable from other calculate_* 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 implies usage (e.g., when you need a Chinese zodiac sign from a birth year) but provides no explicit guidance on when to use this tool versus alternatives. The pointer to 'list_bundles' for related calculators is a discovery aid, not a usage guideline for this specific tool.

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

calculate_churn_rateCalculate Churn RateA
Read-onlyIdempotent
Inspect

Compute customer or revenue churn rate over a period. Use for SaaS retention analysis. Inputs: starting customers, churned, period length. Returns churn %, retention %, and annualized rate. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
period_monthsNoPeriod in months
lost_customersYesCustomers lost
start_customersYesCustomers at period start

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds little beyond that: it restates inputs and outputs already present in the schema/output schema, and mentions no determinism caveats, unit assumptions, or limitations. Some value is added by framing it as a pure SaaS metric calculator.

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 short sentences, purpose front-loaded, no padding. The closing bundle pointer is marginally useful but slightly off-topic for selecting this tool. Efficient overall.

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 correctly sketches inputs, purpose, and domain fit. A deterministic read-only calculator of this complexity is adequately covered; only the missing 'customer vs revenue' clarification leaves a 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%, so the baseline is 3. The description lists 'starting customers, churned, period length' which mirrors the three schema parameters but adds no format, unit, or edge-case detail (e.g. what period_months defaults to, or that churn is computed against start_customers).

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 churn rate) plus scope (customer or revenue, over a period) and a domain (SaaS). Clear enough to distinguish from generic math siblings, though it does not explicitly name a competing sibling like calculate_burn_rate or calculate_cac_ltv_ratio. The 'revenue churn' claim is slightly loose given the schema only accepts customer counts.

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?

'Use for SaaS retention analysis' gives an implied use case but no when-not conditions and no named alternatives. The list_bundles reference points at a bundle-discovery tool rather than a competing calculator, so it does not help the agent choose between this and sibling finance metrics. Adequate but thin.

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

calculate_clothing_size_convertCalculate Clothing Size ConvertC
Read-onlyIdempotent
Inspect

Convert clothing size between EU, US and UK systems. Returns: {original}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
sexYesSex
sizeYesSize number in source system
garmentYesType of garment
from_systemYesSource system

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/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 nothing beyond that: it does not note that results are approximate, that sizing tables differ by garment/sex, or any caveat about conversion accuracy. The cryptic fragment 'Returns: {original}' conveys no real behavioral information and appears to be an unfilled template.

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 tight and front-loaded, which is good. But the second sentence is a template artifact ('Returns: {original}') that consumes space without communicating anything, and the list_bundles pointer is low-value for actually invoking this tool.

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 the description need not explain return values. However, given a four-required-param conversion whose correctness hinges on garment type and sex, the description omits the very context that makes the conversion meaningful, and the placeholder return text leaves the entry looking unfinished.

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 required params (sex, size, garment, from_system) documented and three of them enum-constrained, so the baseline is 3. The description contributes nothing further — it never mentions that size interpretation depends on 'garment' and 'sex' — so it does not exceed the baseline.

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 (clothing size) with the three systems it spans (EU, US, UK), which distinguishes it from siblings like calculate_shoe_size_convert, calculate_bra_size_convert, and calculate_ring_size_convert. It does not, however, mention that garment and sex affect the result, so the scope is slightly incomplete.

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 routing to alternative sibling converters (e.g. shoe/bra/ring size converts). The only pointer is to 'list_bundles', which is a discovery tool rather than a competing calculator, so an agent gets no help choosing between converters.

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

calculate_compost_volumeCalculate Compost VolumeA
Read-onlyIdempotent
Inspect

Compute compost volume produced from kitchen and garden waste over a year. Use for compost bin sizing. Inputs: household size, garden size m². Returns L/year and recommended bin volume. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
depth_cmNoCompost layer depth in centimeters (default 5cm)
surface_m2YesSurface area in square meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false, and destructiveHint=false. The description adds that it returns L/year and recommended bin volume, but an output schema exists and no auth, rate-limit, or other behavioral constraints are disclosed. It adds some context but not much beyond annotations and 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.

Conciseness4/5

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

Three sentences, front-loaded with the main purpose, then usage and related tools. The statement about return values is somewhat redundant because an output schema exists, but overall the text is tight.

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 low-complexity calculator with a complete input schema, output schema, and annotations, the description covers most needs. However, the inaccurate input list ('household size') reduces completeness and could confuse an agent about the actual required parameters.

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 coverage is 100%, so baseline would be 3, but the description lists 'household size' as an input when no such parameter exists, and it omits the schema's depth_cm parameter. This actively misleads about the required inputs despite the schema being complete.

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: computing compost volume from kitchen and garden waste over a year. The purpose is clear and distinguishes it from generic volume 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 Guidelines4/5

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

Explicitly says to use it for compost bin sizing and points to list_bundles for related 'jardinage' calculators. It gives clear context but does not state when not to use it or name a direct alternative.

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

calculate_compound_interestCalculate Compound InterestA
Read-onlyIdempotent
Inspect

Compute compound interest growth A=P(1+r/n)^(nt). Use for savings, retirement projections, investment forecasting. Returns final amount, total interest, and yearly breakdown. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
yearsYesInvestment duration in years
principalYesInitial amount
annual_rateYesAnnual interest rate in %
compounds_per_yearNoCompounding frequency per year

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, read-only, non-open-world computation, so the safety profile is covered. The description adds useful context by giving the exact formula and the return contents (final amount, total interest, yearly breakdown). It remains silent on rounding precision, rate-input format assumptions, and edge cases, so it adds moderate but not rich behavioral value.

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 operation and formula front-loaded, followed by use cases and a bundle cross-reference. No filler, though it could be marginally tighter.

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 needn't spell out return fields, and it already summarizes them; annotations cover the safety profile. Adding the formula and use cases makes it largely complete for a stateless math calculator, with only precision/edge-case behavior left 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%, so the schema already documents principal, annual_rate, years, and compounds_per_year; per the rubric this is a baseline 3. The formula A=P(1+r/n)^(nt) loosely signals the roles of n and t but adds no format or unit 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?

The description gives a precise verb+resource ('compute compound interest growth') and even states the formula A=P(1+r/n)^(nt), which cleanly separates it from simple-interest and present/future-value siblings. It stops short of a 5 because it never explicitly differentiates from the very close sibling calculate_compound_interest_monthly, leaving that distinction 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?

It names concrete scenarios ('savings, retirement projections, investment forecasting') that clearly frame when to reach for this tool, and points to list_bundles for related finance calculators. It does not state when-not to use it or name the obvious alternatives (calculate_simple_interest, calculate_compound_interest_monthly), so it falls short of an explicit routing rule.

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

calculate_compound_interest_monthlyCalculate Compound Interest MonthlyA
Read-onlyIdempotent
Inspect

Compute compound interest with monthly contributions (savings plan). Use for systematic savers. Inputs: initial amount, monthly contribution, annual rate %, years. Returns final value, total contributed, total interest. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
yearsYesNumber of years
principalYesInitial capital EUR
annual_rateYesAnnual interest rate percent
monthly_contributionYesMonthly contribution EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive behavior, so the safety profile is fully covered. The description adds the input list and a summary of return values, which is mild extra context, but it discloses nothing about edge cases (e.g., zero contributions, zero rate) or interpretation of the results.

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 remaining sentences are short and information-bearing. The 'See list_bundles...' sentence is the weakest, adding a discovery pointer rather than helping invoke this specific 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 needn't explain return format, and annotations cover safety, so the core call requirements are covered. Inputs and outcome are both mentioned; only edge-case behavior and sibling disambiguation are 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 four parameters are already documented in the schema, and the description's input list simply restates them. No additional meaning (units beyond 'EUR', sign conventions, or rate format) is supplied beyond what the schema already provides, so 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 and resource ('Compute compound interest with monthly contributions') and scopes it with '(savings plan)', which distinguishes it from the plain compound-interest sibling. However, it never names calculate_compound_interest or calculate_future_value, so differentiation is implied rather than explicit.

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

Usage Guidelines3/5

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

'Use for systematic savers' implies a usage context but gives no explicit when-not or alternative routing, even though close siblings like calculate_compound_interest and calculate_savings_goal exist. The list_bundles pointer is a discovery aid, not selection guidance for this tool.

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

calculate_concrete_mixCalculate Concrete MixC
Read-onlyIdempotent
Inspect

Compute cement, sand, gravel, and water for a given concrete volume (NF DTU 21). Use for construction projects. Inputs: volume m³, mix ratio. Returns weights of each ingredient. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
volume_m3YesVolume in m³

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/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 the NF DTU 21 standard and notes that it returns ingredient weights, which is useful context. However, it does not clarify behavioral details like whether the mix ratio is mandatory or how defaults 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.

Conciseness3/5

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

The description is short and front-loads the core purpose, which is good. However, one of its four sentences introduces a nonexistent parameter ('mix ratio'), and another points to list_bundles rather than focusing on invocation details. The false input sentence does not earn its place and actively harms conciseness.

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?

An output schema exists, so the description need not explain return values, yet it does so correctly in broad terms. The critical completeness failure is the mention of an unsupported 'mix ratio' input instead of clarifying the actual single-parameter interface. For a simple calculator with full schema and annotation coverage, the misleading parameter reference leaves the description incomplete and potentially error-inducing.

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 coverage for the single actual parameter (volume_m3) is 100%, so the baseline should be 3. But the description claims a second input, 'mix ratio,' which does not exist in the schema and is explicitly disallowed by additionalProperties=false. This creates a concrete risk that an agent will try to pass an unsupported parameter, undermining the otherwise clean 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 cement, sand, gravel, and water for a given concrete volume. It names the standard (NF DTU 21) and the ingredient outputs, which helps distinguish it from simpler construction calculators like calculate_gravel_quantity. It stops short of explicitly contrasting with concrete-related siblings such as calculate_concrete_stairs.

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 guidance is limited to 'Use for construction projects,' which is broad and does not clarify when this tool is preferable to siblings like calculate_gravel_quantity or calculate_concrete_stairs. It points to list_bundles for related calculators but provides no exclusions or decision criteria for selecting this tool over alternatives.

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

calculate_concrete_stairsCalculate Concrete StairsA
Read-onlyIdempotent
Inspect

Calculate concrete stair dimensions, volume and materials using Blondel's formula. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
width_mNoStair width in meters (default 0.9m)
height_mYesTotal stair height to climb in meters
num_stepsYesNumber of steps
thickness_cmNoSlab thickness under each tread in cm (default 15cm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is covered. The description adds the computational basis (Blondel's formula), a mild behavioral detail, but says nothing about validation limits or what the result set contains (though an output schema exists).

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 the core capability before the cross-reference. Efficient, though the list_bundles pointer is arguably tangential to invoking this specific 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?

The tool is simple (4 well-documented params, rich annotations, an output schema covering returns), so no return-value or safety explanation is needed. The only real gap is sibling disambiguation from calculate_staircase, which the description never addresses.

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 carries a unit, default and min/max in the schema, so the description need not re-document them. It names 'dimensions, volume and materials' as outputs, which loosely maps to width_m/height_m/thickness_cm, but adds no syntax or 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 (Calculate) plus resource (concrete stair dimensions, volume and materials) and names the underlying method (Blondel's formula), which is more informative than a bare title restatement. It does not, however, differentiate itself from the very similar sibling calculate_staircase, leaving the agent to guess which to pick.

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 only routing guidance is a pointer to list_bundles for related 'construction' calculators, which is a discovery hint rather than a when-to-use/why-this-over-alternatives statement. No condition or exclusion distinguishes it from calculate_staircase or calculate_brick_count/calculate_concrete_mix.

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

calculate_condominium_chargesCalculate Condominium ChargesA
Read-onlyIdempotent
Inspect

Compute one owner's share of condominium charges from the budget and tantièmes. Use for syndic or owner verification. Inputs: total budget, tantièmes-owned, total tantièmes. Returns annual and monthly share. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
total_chargesYesTotal annual condominium charges EUR
ownership_share_pctYesOwnership share (tantièmes) percent

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only that it returns an annual and monthly share, which is useful but thin given an output schema already exists; no rate limits, auth, or rounding/currency behavior are 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?

Front-loaded with the purpose, then usage, inputs, return values, and a cross-reference in a compact set of sentences. The 'Inputs:' enumeration is mildly redundant with the schema but does not bloat the 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 simple two-parameter read-only calculator with a full output schema and complete annotations, the description covers purpose, usage, inputs, and output shape. Only the minor input-naming mismatch and absence of any note on currency/rounding keep it from being 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 coverage is 100%, so the two parameters are already documented. The description's input list ('total budget, tantièmes-owned, total tantièmes') names three inputs against two actual parameters and frames them as absolute tantièmes while the schema uses a percentage, adding slight ambiguity rather than new meaning.

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 one owner's share of condominium charges from the budget and tantièmes'), which is precise and unambiguous. It does not differentiate against a close alternative calculator, but the 'immobilier' pointer and the domain-specific framing make the purpose clear.

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?

'Use for syndic or owner verification' gives an explicit persona/scenario for when to reach for this tool. It stops short of stating when-not-to-use or naming a competing calculator, 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.

calculate_coneCalculate ConeA
Read-onlyIdempotent
Inspect

Compute cone volume V=(1/3)πr²h and lateral/total surface area. Use for geometry or container design. Inputs: radius, height. Returns volume and areas. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
heightYesHeight
radiusYesBase radius

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare the safe, read-only, idempotent, non-destructive nature of the operation. The description adds the volume formula and states that areas are returned, which is useful but not deep behavioral context such as constraints, edge cases, or rounding behavior.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and formula, and is appropriately short. It has minor redundancy in restating that volume and areas are returned, and the list_bundles pointer is not essential.

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 geometry calculator with a full output schema and clear annotations, the description is essentially complete. It covers the purpose, inputs, and outputs without needing to explain return formatting or security-sensitive 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 100%, so the schema already documents both parameters. The description only restates 'Inputs: radius, height' without adding units, constraints, or interpretation beyond the schema baseline.

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 and resource — computing cone volume and lateral/total surface area — and even includes the volume formula. This clearly distinguishes it from siblings like calculate_sphere, calculate_cylinder, or calculate_volume.

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?

It says 'Use for geometry or container design,' which gives broad context but does not specify when to choose this over calculate_volume, calculate_sphere, or calculate_cylinder. No exclusions or alternative-routing guidance is provided.

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

calculate_confidence_intervalCalculate Confidence IntervalA
Read-onlyIdempotent
Inspect

Compute confidence interval for a sample mean. Use for statistics, A/B test results, or polling. Inputs: mean, std dev, sample size, confidence (90/95/99%). Returns CI lower/upper bounds. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
std_devYesStandard deviation
confidenceNoConfidence level95
sample_meanYesSample mean
sample_sizeYesSample size

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world behavior, so the safety profile needs no restating. The description adds only that output consists of CI lower/upper bounds, which the existing output schema already covers, so there is little behavioral value beyond 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.

Conciseness4/5

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

Front-loaded with the core purpose, then usage, inputs, and output in compact order with no filler sentences. The trailing cross-reference to list_bundles is mildly tangential but still short and potentially useful for discovery.

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 four-parameter, fully documented calculator with an output schema, the description covers purpose, context, inputs, and output adequately. The return-value sentence is redundant with the output schema, 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 every parameter is already documented. The description's input list (mean, std dev, sample size, confidence 90/95/99%) merely mirrors the schema, including the enum values, adding no format, unit, or constraint detail beyond it.

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 confidence interval for a sample mean'), which is clearly distinct from neighbors like calculate_statistics or calculate_sample_size. It doesn't explicitly name which sibling to use instead, 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 Guidelines4/5

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

Gives concrete usage contexts ('statistics, A/B test results, or polling'), which is clear positive guidance. It offers no exclusions or named alternatives despite a very dense calculator sibling set, so it does not reach the explicit when/when-not bar of a 5.

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

calculate_cooking_conversionCalculate Cooking ConversionB
Read-onlyIdempotent
Inspect

Convert recipe quantities between cups, ml, grams, oz, tbsp, tsp. Use for international recipe translation. Inputs: value, from, to, ingredient (for density). Returns: {original}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
amountYesAmount to convert
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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, so the safety profile is covered. The description adds the claim that an ingredient density input is accepted, which is useful context if true, but discloses nothing about precision, rounding, or how density is actually applied.

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 definition is short and front-loads the conversion scope, but several sentences are inaccurate or low-value: the placeholder 'Returns: {original}' conveys nothing, and the parameter list repeats wrong names. The trailing 'See list_bundles' pointer is tangential for a conversion tool.

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?

Safety is covered by annotations and an output schema exists, so return values need not be described. However, for a 3-required-param conversion tool the description omits decimal precision and density handling while asserting an ingredient parameter the schema does not accept, leaving the agent with a partly wrong mental model.

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 coverage is 100%, so baseline would be 3, but the description actively misleads: it names inputs as 'value, from, to, ingredient' when the schema defines amount, from_unit, to_unit, and 'ingredient' does not exist at all. This is worse than staying silent and could cause a bad call.

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) plus resource (recipe quantities) and lists the unit families involved, and the 'Use for international recipe translation' clause distinguishes it from the many non-cooking converters in the sibling list. It does not, however, clearly separate it from close cousins like convert_cooking or calculate_baking_conversion.

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?

'Use for international recipe translation' gives an implied context but no explicit when-not or alternative routing, even though near-identical siblings (convert_cooking, calculate_baking_conversion, calculate_recipe_scale) exist. The agent must guess which converter wins for a given request.

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

calculate_cooking_timeCalculate Cooking TimeC
Read-onlyIdempotent
Inspect

Estimate cooking time for meat, fish, or vegetables based on weight, method, and doneness. Use for kitchen planning. Inputs: food type, weight g, cooking method (oven/grill/sous-vide), doneness. Returns time min and target internal temp. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
foodYes
methodYes
weight_kgYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds that it returns time in minutes and a target internal temperature, which is useful context, but it misstates the parameter behavior (g vs kg, sous-vide vs boil), diluting trust in the behavioral claims.

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?

Front-loaded purpose sentence is efficient, but the following sentences are partly redundant with the schema and repeat incorrect unit/enum details, so not every clause earns its place. Ordering is reasonable but accuracy suffers.

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?

Because an output schema exists, the return-value sentence is not strictly needed, and the parameter enumeration mis-describes the actual schema (wrong unit, phantom 'doneness', wrong method list). For a 3-required-param tool with 0% schema coverage, the description leaves the agent with incorrect expectations.

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%, so the description must carry the parameter burden, and it does attempt to enumerate inputs. But it is inaccurate: it says 'weight g' while the schema uses weight_kg, lists 'sous-vide' which is not in the method enum (oven/grill/boil), and mentions a 'doneness' input that does not exist in the schema. The misleading detail makes it worse than no compensation.

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 (estimate) and resource (cooking time) plus scope (meat, fish, vegetables) and the factors considered, so the purpose is clear. However, it does not differentiate from siblings like calculate_meat_cooking_time or calculate_meat_cooking, which appear to cover the same 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 only guidance is the vague 'Use for kitchen planning' and a pointer to list_bundles for 'cuisine' calculators, which is not a selection cue. No when-to-use, when-not-to-use, or comparison against the nearly identical meat-cooking siblings is given.

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

calculate_cost_per_useCalculate Cost Per UseA
Read-onlyIdempotent
Inspect

Compute the cost-per-use of a purchase to evaluate value. Use for buying decisions on durable goods or subscriptions. Inputs: purchase price, expected uses or years. Returns cost per use and break-even use count. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
item_priceYesItem purchase price
expected_usesYesExpected number of uses

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, covering the safety profile for a stateless calculator. The description adds that it returns cost per use and a break-even use count, but since an output schema exists, this adds little beyond structured data. No rate limits or edge cases 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?

Three tight sentences, front-loaded with the core purpose followed by usage guidance and a pointer to the bundle tool. No filler, though the 'Inputs:'/'Returns:' recap slightly overlaps with the schema and output 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 an output schema present, return values need not be spelled out further, and annotations cover the safety profile. The description supplies purpose, scope and a discovery pointer, leaving only the boundary against pricing siblings unspecified.

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% with just two parameters (item_price, expected_uses), so the baseline is 3. The description's 'purchase price, expected uses or years' roughly mirrors the schema, but the added 'or years' phrasing hints at a time-based input the schema does not expose, which could mildly mislead an agent.

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 ('Compute the cost-per-use of a purchase') and frames its purpose ('to evaluate value'). This clearly distinguishes it from near-siblings like calculate_unit_price or calculate_grocery_unit_comparison, which compare price-per-unit rather than amortizing a purchase over expected uses.

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 usage context ('Use for buying decisions on durable goods or subscriptions') and points to list_bundles for related finance calculators. It does not, however, explicitly distinguish itself from the closest pricing siblings (calculate_unit_price, calculate_grocery_unit_comparison), so the 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.

calculate_cost_priceCalculate Cost PriceB
Read-onlyIdempotent
Inspect

Calculate unit cost price from raw materials, labor, and overhead. Returns: {total_cost}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
laborYesLabor cost
overheadYesOverhead/indirect costs
quantityYesNumber of units produced
raw_materialsYesRaw material cost

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed-world scope, so the safety profile is fully covered without the description. The description adds the computation model and a return shape, but nothing beyond that (e.g. rounding behavior, errors on zero quantity) — adequate 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.

Conciseness5/5

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

Two short sentences, zero padding, with the core action front-loaded and the cross-reference placed after it. 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?

An output schema exists and annotations carry the safety profile, so the definition does not need to explain return values or side effects. The one remaining gap is that nothing tells the agent when this calculator applies versus its numerous cost/price 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%, so all four parameters are documented in the schema itself and the baseline is 3. The description names three of the four inputs, adding no syntax, units, or interpretation beyond what the schema's own descriptions 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 and resource ('Calculate unit cost price') and enumerates the inputs (raw materials, labor, overhead), so the computation is unambiguous. It stops short of differentiating from near-neighbors such as calculate_unit_price or calculate_cost_per_use, only pointing at a bundle instead of contrasting siblings.

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 or when-not-to-use guidance. The only routing hint is 'See list_bundles for related finance-universal calculators,' which points at a discovery tool rather than defining the conditions that select this calculator over the many other cost/price calculators.

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

calculate_crop_factorCalculate Crop FactorB
Read-onlyIdempotent
Inspect

Calculate camera crop factor and equivalent focal length based on sensor width. See list_bundles for related 'photographie' calculators.

NameRequiredDescriptionDefault
sensor_width_mmYesCamera sensor width in millimeters (full frame = 36mm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered by structured data. The description adds only that the computation is sensor-width driven and derives two values. No rate limits, unit caveats, or edge-case behavior are disclosed, but with this annotation coverage 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?

Two short sentences, front-loaded with the core purpose. The second sentence is a useful signpost rather than filler, though it belongs more to usage guidance than to the purpose statement. Minimal waste.

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 only one fully-documented parameter and an output schema that covers return values, the description supplies what the agent needs to invoke the tool correctly. The remaining gap is the absence of usage context relative to sibling photography calculators.

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 single parameter (sensor_width_mm) is fully documented in the schema, including the full-frame = 36mm reference. The description's 'based on sensor width' merely restates 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 ('camera crop factor and equivalent focal length') with the input basis ('based on sensor width'). It is unambiguous what the tool does. It does not, however, contrast itself with the several photography siblings (calculate_depth_of_field, calculate_exposure_triangle, calculate_hyperfocal_distance), 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?

The only guidance is 'See list_bundles for related photographie calculators,' which is a navigation pointer, not a statement of when to use this tool versus alternatives. There is no mention of prerequisites, units assumptions, or exclusions. An agent gets no decision rule from the description.

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

calculate_crypto_profit_lossCalculate Crypto Profit LossA
Read-onlyIdempotent
Inspect

Compute crypto trading profit/loss including fees. Use for crypto investors tracking realized P&L. Inputs: buy price, sell price, quantity, buy fee, sell fee. Returns net P&L, ROI %, break-even price. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
quantityYesQuantity of cryptocurrency traded
buy_priceYesPurchase price per unit in fiat currency
sell_priceYesSale price per unit in fiat currency
buy_fee_pctNoBuy transaction fee percentage (default 0.1%)
sell_fee_pctNoSell transaction fee percentage (default 0.1%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds that fees are part of the computation and what outputs are returned, but since an output schema exists that return list is largely redundant and no sign convention (losses negative) or currency assumption 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?

Four short sentences, front-loaded with purpose before inputs and outputs. The input/output enumeration partly restates the schema and output schema, so it is efficient but not entirely free of 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 read-only, closed-world calculator with full schema coverage and an output schema, the description covers purpose, inputs, outputs and discovery. Minor gaps remain around sign convention for losses and the percent-vs-absolute fee wording, but nothing blocking for a correct invocation.

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 complete and the 3 score baseline applies. The description's 'buy fee, sell fee' phrasing slightly diverges from the actual buy_fee_pct/sell_fee_pct percentage parameters, adding no additional meaning beyond 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 ('Compute crypto trading profit/loss including fees') and narrows scope to realized P&L for crypto investors, which cleanly separates it from siblings like calculate_mining_profitability, calculate_staking_rewards, calculate_impermanent_loss and calculate_crypto_tax_fr.

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?

'Use for crypto investors tracking realized P&L' gives clear usage context, and 'See list_bundles for related crypto calculators' points at discovery. It stops short of naming when NOT to use it (e.g. unrealized P&L, tax reporting), so no explicit alternative routing.

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

calculate_crypto_tax_frCalculate Crypto Tax FRA
Read-onlyIdempotent
Inspect

Calculate French flat tax (30% PFU) on cryptocurrency capital gains at withdrawal. Returns: {gain_ratio}. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
total_gains_eurYesTotal unrealized gains in the portfolio in EUR
withdrawal_amount_eurYesAmount being withdrawn/sold in EUR
total_portfolio_value_eurYesTotal current portfolio value in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare the operation read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real domain context the annotations cannot: the tax model (30% flat PFU), the point in time it applies (withdrawal), and the primary returned field. It does not explain the underlying gain formula, but that is a modest gap against annotation coverage.

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 tight sentences with the core definition front-loaded and no padding. The trailing 'See list_bundles' line is a slight self-promotional add-on and '{gain_ratio}' is terse, keeping this just short of a 5.

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 the description wisely limits itself to naming the headline field. Combined with 100% schema coverage and full annotation coverage, an agent has everything needed to call it correctly; only the calculation mechanics remain 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 all three parameters are already documented in the schema. The description adds no parameter-level detail beyond that baseline and does not clarify how total_gains_eur, portfolio value and withdrawal amount combine. Baseline 3 is appropriate when the schema carries the 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?

The description names a specific verb (calculate), resource (French flat tax / PFU on crypto capital gains), and even the exact rate (30% PFU) and triggering event (at withdrawal). This is enough to distinguish it from siblings like calculate_crypto_profit_loss and calculate_french_income_tax 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?

It implies the applicable context ('at withdrawal'), which is a useful trigger condition. However, it never states when to use this over the closely related calculate_crypto_profit_loss, nor does it name any exclusion. The 'See list_bundles' pointer routes to a bundle lister rather than a competing sibling, so usage 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.

calculate_currency_cross_rateCalculate Currency Cross RateA
Read-onlyIdempotent
Inspect

Calculate cross exchange rate between two currencies via USD. Returns: {cross_rate_a_to_b, cross_rate_b_to_a}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
rate_a_usdYesUnits of currency A per 1 USD
rate_b_usdYesUnits of currency B per 1 USD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds value beyond that by disclosing the USD-pivot mechanism and the exact return keys, which the 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?

Three tight clauses: purpose first, return shape second, cross-reference last. Nothing is padded and the action is front-loaded, so an agent can parse it in one pass.

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 deterministic two-input math tool with annotations covering safety and an output schema present, the description is essentially complete. Restating the return keys is mildly redundant given the output schema, which is the only reason it is not 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 both parameters are already explained as 'Units of currency X per 1 USD'. The description's 'via USD' reinforces that convention but adds no syntax or edge-case 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 and resource ('calculate cross exchange rate between two currencies') and adds the mechanism 'via USD', which is meaningful for currency math. It does not explicitly differentiate itself from the many currency siblings (calculate_currency_exchange, calculate_exchange_rate_margin), 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 only routing signal is 'See list_bundles for related conversions calculators', which points at a bundle rather than stating when to pick this over the sibling exchange-rate tools. Usage is implied rather than stated, so it sits at minimum viable.

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

calculate_currency_exchangeCalculate Currency ExchangeB
Read-onlyIdempotent
Inspect

Calculate currency exchange with bank margin and show fees lost. Returns: {amount_source, from_rate_vs_usd, to_rate_vs_usd, mid_market_amount, amount_after_margin, fees_lost, ...}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
amountYesAmount to exchange in source currency
to_rateYesTarget currency rate vs USD (e.g. JPY=150)
from_rateYesSource currency rate vs USD (e.g. EUR=1.08)
bank_margin_pctNoBank/exchange margin percentage (default 2.5%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 value by naming the margin concept and some output fields (mid_market_amount, amount_after_margin, fees_lost), but it repeats return-value content that a dedicated output schema already carries and says nothing about defaults, rounding, or rate-source expectations.

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 compact sentences, front-loaded with the purpose before the return-value enumeration and the bundle pointer. The '{...}' return preview is slightly noisy given an output schema exists, but nothing is padded.

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?

Parameters are fully documented in schema and return values are covered by the output schema, so the description is minimally sufficient. The missing piece is routing context among dozens of near-identical currency/finance calculators, which an agent would need to pick this 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 all four parameters including the bank_margin_pct default of 2.5% are already documented in the schema. The description adds no syntax, unit, or constraint detail beyond that baseline.

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+resource (calculate currency exchange) and adds the distinguishing scope of bank margin and fees lost. However, it never differentiates itself from the many sibling currency tools (calculate_currency_cross_rate, calculate_exchange_margin, calculate_exchange_rate_margin), leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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

The only guidance is a pointer to list_bundles for 'voyage' calculators, which is a directory hint rather than a when-to-use/when-not-to-use rule. No alternative currency tool is named as a fallback or contrast case.

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

calculate_curtain_fabricCalculate Curtain FabricB
Read-onlyIdempotent
Inspect

Compute fabric meters needed for curtains, including hems and pattern repeat. Use for sewing. Inputs: window dimensions, fullness, pattern repeat. Returns fabric length to buy. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
num_panelsNoNumber of curtain panels
fullness_ratioNoFullness ratio (2 = double fullness)
window_width_cmYesWindow width cm
window_height_cmYesWindow height cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile needs no restatement. The description adds that hems and pattern repeat are included in the computation and that it returns fabric length to buy, which is useful scope context, but nothing about units, edge cases, or how the result is derived. Adequate but thin beyond annotations.

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

Conciseness4/5

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

Four short sentences, front-loaded with the purpose and the return value, with no filler. The structure is tight; the only issue is the inaccurate input list, which is a correctness problem rather than a verbosity one.

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 spelled out, and the safety annotations cover the risk profile. For a simple computation the description is nearly sufficient, but the phantom 'pattern repeat' input leaves the parameter story inconsistent with the schema.

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 coverage is 100%, so the baseline is 3, but the description lists 'pattern repeat' as an input when no such parameter exists in the schema, and omits num_panels entirely. This mismatch risks sending the agent looking for a nonexistent field, so it detracts rather than adds value over 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: computing fabric meters for curtains, with scope (hems, pattern repeat). An agent can identify the domain (sewing/textile) clearly. However, it does not differentiate itself from close siblings like calculate_curtain_width, calculate_fabric_needed, or calculate_fabric_yardage, so the boundary is blurry.

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?

'Use for sewing' is the only when-to-use signal and it is minimal. The only alternative mentioned is list_bundles, which is a discovery tool, not a competing calculator. It never says when to prefer this over calculate_curtain_width or calculate_fabric_needed, leaving the agent to guess among several similar siblings.

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

calculate_curtain_widthCalculate Curtain WidthB
Read-onlyIdempotent
Inspect

Compute total curtain width using a fullness factor (1.5-3.0×). Use for window dressing. Inputs: window width m, fullness ratio. Returns total fabric width. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
fullnessNoFullnessstandard
window_cmYesWindow width cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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 safety is covered. The description adds the fullness factor range (1.5-3.0x) and the return concept, but for a pure calculator that is modest added context 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?

Front-loaded with the core computation, short sentences, no filler. It reads slightly choppy and mixes input/return/sibling notes, but overall efficient and appropriately sized for a simple calculator.

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 need not be explained, and the description covers the purpose, inputs, and a cross-reference. It is adequate for a two-parameter calculator, the only gap being the conflicting unit/type statements versus the schema.

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 coverage is 100%, so the schema documents both parameters, but the description actively misaligns with it: it says 'window width m' while the schema field is window_cm in centimeters, and calls fullness a numeric 'ratio (1.5-3.0x)' while the schema defines it as a string enum (flat/standard/generous). This introduces unit and type confusion rather than adding meaning.

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 total curtain width') with the domain qualifier 'window dressing'. It hints at related calculators but does not disambiguate from the close sibling calculate_curtain_fabric, which is arguably the most relevant 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?

'Use for window dressing' gives implied context, and it points to list_bundles for related tools. However, it never addresses when to use this versus the near-identical calculate_curtain_fabric or calculate_fabric_needed siblings, leaving real disambiguation to inference.

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

calculate_cycling_powerCalculate Cycling PowerB
Read-onlyIdempotent
Inspect

Estimate cycling power output considering gradient, speed and total mass. Returns: {power_watts, watts_per_kg}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
speed_kmhYesSpeed in km/h
weight_kgYesRider weight in kilograms
gradient_pctYesRoad gradient in percent (positive = uphill)
bike_weight_kgNoBike weight in kilograms

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds the return shape {power_watts, watts_per_kg} and the notion of 'total mass', but says nothing about the underlying model — whether wind, rolling resistance, or drivetrain losses are assumed, which materially affects trusting 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.

Conciseness4/5

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

Two short sentences, front-loaded with the purpose; nothing is padded. The return-value sentence is slightly redundant given an output schema exists, but it is brief and not harmful.

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 small pure-calculation tool with 100% schema coverage and an output schema, the description covers purpose, inputs, and return fields adequately. The main remaining gap is the physical assumptions behind the estimate, which an agent might reasonably want before presenting results as authoritative.

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, making 3 the baseline. The phrase 'total mass' is a mild value-add because it hints that weight_kg and bike_weight_kg are combined, but no formula, unit convention, or gradient sign behavior is added 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 gives a specific verb ('Estimate'), a specific resource ('cycling power output'), and the driving inputs (gradient, speed, total mass). This clearly separates it from confusingly named siblings like calculate_electrical_power or calculate_power_unit_convert. It does not, however, explicitly name a sibling it supersedes or differs from.

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, or alternative-selection guidance. The only navigation hint is 'See list_bundles for related sport calculators,' which is a discovery pointer rather than a condition for choosing this tool over e.g. calculate_velo_development or calculate_braquet.

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

calculate_cylinderCalculate CylinderA
Read-onlyIdempotent
Inspect

Compute cylinder volume V=πr²h and surface area A=2πr(r+h). Use for tanks, pipes, or containers. Inputs: radius, height. Returns volume and areas. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
heightYesHeight
radiusYesRadius

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's remaining behavioral contribution ("Returns volume and areas") is largely redundant with the existing output schema, so it adds little beyond structured 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?

Four short sentences, front-loaded with the formula and output, then usage, then inputs, then a pointer to a sibling bundle. No filler, though the "Returns volume and areas" line duplicates the output schema and could be dropped.

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 annotations carrying the safety profile, the definition covers purpose, inputs, and outputs adequately for a two-parameter pure computation. The one notable omission is units (metric vs imperial), which matters for a physical volume calculator.

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 "Inputs: radius, height" restates the two properties and only marginally enriches them by tying them to the formula symbols; no unit, range, or format detail is added beyond the schema's minimum:0 constraints.

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 the exact operation and outputs with explicit formulas (V=πr²h, A=2πr(r+h)), naming the resource (cylinder) precisely. This makes it trivially distinguishable from geometric siblings like calculate_cone, calculate_sphere, and calculate_volume.

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?

"Use for tanks, pipes, or containers" gives concrete usage context, and it points to list_bundles for related math calculators. However, it never says when to prefer this over calculate_cone/calculate_sphere/calculate_volume, nor any exclusions or edge-case handling (e.g., what units).

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

calculate_daily_proteinCalculate Daily ProteinB
Read-onlyIdempotent
Inspect

Calculate recommended daily protein intake based on weight and fitness goal. Returns: {rate_g_per_kg, daily_protein_g, calories_from_protein}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
goalYesFitness goal
weight_kgYesBody weight in kilograms

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the operation read-only, idempotent, non-destructive and closed-world, so the safety profile is fully covered. The description's only added behavioral content is the return field list, which duplicates the output schema rather than disclosing anything new such as rounding, formula source, or clamping 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?

Two short sentences with the purpose front-loaded and no filler. The explicit return-field enumeration is slightly wasteful given an output schema exists, but it costs little and does not obscure the main statement.

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, closed-form calculator with full schema coverage, complete annotations and a declared output schema, the description supplies everything needed to invoke it correctly. Missing details (e.g., which population the rates target, whether weight is lean or total mass) are minor for a deterministic formula 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?

Schema description coverage is 100% and the goal enum is enumerated in the schema, so both parameters are already documented. The phrase 'based on weight and fitness goal' restates the schema without adding units nuance, allowed ranges, or mapping of goal values to protein rates. 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?

The description names a specific verb and resource ('Calculate recommended daily protein intake') plus the two inputs that drive the result, so the agent knows exactly what it produces. It does not differentiate from closely related siblings such as calculate_tdee, calculate_daily_vitamins or calculate_recipe_nutrition; the 'sante' bundle pointer is navigational, not disambiguating.

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, nor any prerequisites or exclusions. The only routing hint ('See list_bundles for related sante calculators') points at a browsing tool, not at a competing calculator, so the agent must infer applicability on its own.

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

calculate_daily_vitaminsCalculate Daily VitaminsC
Read-onlyIdempotent
Inspect

Check daily vitamin and mineral intake against RDA recommendations. Use for nutrition tracking. Inputs: list of foods with quantities. Returns % RDA per nutrient and deficiencies. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
ageYes
sexYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds that output is '% RDA per nutrient and deficiencies,' but an output schema exists, so that return detail is largely redundant and no auth, rate-limit, or data-source behavior 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?

Four short sentences, front-loaded with purpose, then usage, inputs, and returns. Efficient with little waste, though the trailing 'See list_bundles' sentence adds marginal routing value.

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?

An output schema and safety annotations exist, but the core input described (foods with quantities) does not exist in the schema, leaving an agent unable to reconcile the description with the actual callable parameters. For a calculation tool whose main input is missing from the schema, the definition is materially incomplete.

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

Parameters1/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 carry parameter meaning, yet it claims the input is a 'list of foods with quantities' while the schema exposes only 'age' and 'sex' with no food parameter at all. This actively misleads an agent about how to invoke the tool and never mentions the two real required parameters.

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 daily vitamin and mineral intake against RDA recommendations,' which is clear and concrete. It does not differentiate from close siblings such as calculate_daily_protein or calculate_recipe_nutrition; the 'See list_bundles for related cuisine calculators' pointer is a generic cross-reference, not a real disambiguation.

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?

'Use for nutrition tracking' gives a domain context but no when-to-use vs when-not, no prerequisites, and no named alternative among the many nutrition siblings. The list_bundles pointer implies a routing step but does not state the condition for choosing this tool over others.

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

calculate_data_transfer_timeCalculate Data Transfer TimeA
Read-onlyIdempotent
Inspect

Calculate file transfer time at a given connection speed. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
speed_mbpsYesConnection speed in Mbps
file_size_gbYesFile size in GB

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 agent knows this is a pure, side-effect-free computation. The description adds essentially nothing beyond that — no note on units returned, rounding, or that it is deterministic — so it earns only baseline credit given the annotation coverage.

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 the action and its input, with no filler. The trailing list_bundles cross-reference is mild but arguably unnecessary padding for a self-contained calculator.

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 deterministic calculator with full schema descriptions and an output schema, the description covers what is needed to invoke it correctly. Nothing essential is missing, though it offers no hint about the result's unit or magnitude.

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 both parameters (speed_mbps, file_size_gb) carry their own descriptions with positive-only constraints, so the schema does the heavy lifting. The description only obliquely references 'connection speed' and adds no unit 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 and resource ('Calculate file transfer time') plus the key input condition ('at a given connection speed'), so an agent can tell what the tool produces. Differentiation from the hundreds of calculate_* siblings is absent, however, apart from a generic pointer to list_bundles rather than a named competing 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?

The one-line purpose implies the scenario (estimating download/upload duration), which is enough for an agent to recognize the use case. There is no explicit when-to-use/when-not statement and no named alternative, and the 'See list_bundles' sentence is discovery guidance 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.

calculate_day_of_weekCalculate Day Of WeekB
Read-onlyIdempotent
Inspect

Find the day of the week for any date (Zeller's congruence). Use for historical dates or birthday checks. Inputs: day, month, year. Returns weekday name. See list_bundles for related 'fun' calculators.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations fully cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description adds the underlying algorithm and that it returns a weekday name, but the return value is also covered by the output schema, so incremental behavioral 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.

Conciseness4/5

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

Four short, front-loaded sentences with the core purpose first. The trailing 'See list_bundles for related fun calculators' is tangential and adds little, but overall it is tight.

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 an output schema present, return values need no explanation, and purpose/method are clear. However the incorrect input description and absence of sibling routing leave gaps for what should be a trivially simple one-parameter tool.

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?

The description claims 'Inputs: day, month, year', but the schema defines a single required field 'date' in YYYY-MM-DD format. This mismatch could push an agent to supply three separate values and actively misleads against the schema's 100% coverage.

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+resource: 'Find the day of the week for any date', with the algorithm (Zeller's congruence) named. It is clearly distinguishable from numeric-date siblings like calculate_days_between or calculate_time_difference, though it does not explicitly contrast itself with 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?

'Use for historical dates or birthday checks' gives loose usage context but no when-not guidance and no named alternative among the many date-related siblings. The pointer to list_bundles for 'fun' calculators is a weak side reference rather than real routing help.

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

calculate_days_betweenCalculate Days BetweenB
Read-onlyIdempotent
Inspect

Calculate days, weeks, approximate months and working days between two dates. Returns: {weeks, months_approx, working_days}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
end_dateYesYYYY-MM-DD — End date
start_dateYesYYYY-MM-DD — Start date

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description's remaining behavioral content ('Returns: {weeks, months_approx, working_days}') merely restates what the output schema already provides, adding little 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.

Conciseness4/5

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

Two short sentences, front-loaded with the core purpose and no filler. The return-shape sentence is mildly redundant given an output schema exists, but it is brief and does not bloat the definition.

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, read-only, two-parameter calculator with full schema coverage and an existing output schema, the description covers what is computed and what comes back. 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.

Parameters3/5

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

Both parameters are fully documented in the schema (100% coverage, each with type and YYYY-MM-DD format), so the schema carries the burden. The description only says 'between two dates' and adds no format, ordering, or edge-case semantics (e.g. whether end_date is inclusive) beyond what the schema already states.

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 ('Calculate days, weeks, approximate months and working days between two dates') and names the exact outputs, so an agent knows precisely what the tool computes. It does not, however, differentiate itself from overlapping siblings such as calculate_working_days, calculate_day_of_week, or calculate_time_difference, which is why this 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?

There is no statement of when to use this tool rather than the many other date/duration siblings, and no exclusions. The only routing hint is a vague pointer ('See list_bundles for related temps-rh calculators'), which suggests a bundle 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.

calculate_debt_capacityCalculate Debt CapacityA
Read-onlyIdempotent
Inspect

Calculate maximum loan capacity using French HCSF 35% debt ratio rule. Returns: {max_monthly_payment, max_loan, note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
rateNoAnnual interest rate in % (default 3.5)
duration_yearsNoLoan duration in years (default 25)
existing_debtsNoExisting monthly debt payments in EUR (default 0)
monthly_incomeYesNet monthly income in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this as a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description goes beyond them by disclosing the actual computation rule (HCSF 35% debt ratio) and the output keys, which materially affects how results should be interpreted. It omits assumptions such as whether insurance/charges are included in existing_debts, so it is not fully transparent.

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

Conciseness5/5

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

Two tight sentences: the purpose and governing rule come first, then the return shape and a cross-reference. No filler, no restating of the tool title, 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 a 100%-documented schema, an output schema, and full safety annotations, the description only needs to add domain context, which it does via the HCSF rule and the note field. It could still say what the 'note' caveat generally contains or what the model excludes (insurance, fees), but nothing essential to calling it 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 rate, duration_years, existing_debts and monthly_income are already documented in the schema with units, defaults and bounds. The description adds no parameter-level meaning beyond that, 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+resource ('Calculate maximum loan capacity') and pins down the exact method ('French HCSF 35% debt ratio rule'), which makes it distinguishable from the many other finance calculators in the sibling list. It does not explicitly contrast itself with near-neighbours like calculate_debt_to_income or calculate_debt_service_ratio, so sibling differentiation is implicit 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 Guidelines3/5

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

The pointer to list_bundles for 'immobilier' calculators is navigation help, not selection guidance. There is no statement of when to pick this over calculate_debt_to_income or calculate_mortgage, and no prerequisites (e.g. that income must be net monthly EUR) are given; usage is only implied by the domain.

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

calculate_debt_service_ratioCalculate Debt Service RatioB
Read-onlyIdempotent
Inspect

Calculate debt-to-income ratio and maximum additional loan capacity. Returns: {ratio_pct, max_monthly_debt_35pct, max_additional_loan_payment, status}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
monthly_debtsYesExisting monthly debt payments EUR
monthly_incomeYesNet monthly income EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description does surface one useful behavioral assumption, the implicit 35% debt ceiling encoded in the returned field max_monthly_debt_35pct, but it adds nothing about currency handling, rounding, or assumptions behind the ratio.

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 compact sentences with the core purpose front-loaded. The return-field enumeration duplicates the existing output schema, so it is mild filler rather than earned content, but the total length is still tight.

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 two-parameter, read-only, deterministic calculator with a published output schema and a sibling list, the description covers purpose, output shape, and a cross-reference to the calculator bundle. The remaining gap, disambiguation from calculate_debt_to_income/calculate_debt_capacity, is marginal for such a simple computation.

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% for both parameters (net monthly income EUR, existing monthly debt payments EUR), so the schema carries this dimension. The description only alludes to income and debt through the term 'debt-to-income' and adds no format or unit 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 output resource: it computes a debt-to-income ratio plus maximum additional loan capacity, which is more concrete than the name alone. However, it does not distinguish itself from the near-identical siblings calculate_debt_to_income and calculate_debt_capacity, leaving the agent to guess which one is intended.

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 obvious alternative tools (calculate_debt_to_income, calculate_debt_capacity, calculate_debt_capacity/loan_to_value). The only pointer is 'See list_bundles', which is navigational, not a usage rule.

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

calculate_debt_to_incomeCalculate Debt To IncomeA
Read-onlyIdempotent
Inspect

Compute debt-to-income (DTI) ratio. Use for mortgage qualification or financial health checks. Inputs: monthly debt, monthly gross income. Returns DTI % and risk category. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
monthly_debtYesTotal monthly debt payments
monthly_incomeYesGross monthly income

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4/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 useful behavioral context by naming the returned outputs (DTI % and risk category) and the intended financial scenarios.

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 short, front-loaded, and every sentence contributes: purpose, use case, inputs/outputs, and related bundle pointer.

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 and annotations cover safety, so the description is largely complete for invocation. A direct pointer to the closest debt-related alternatives would make it fully complete given the very large sibling set.

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 in the schema. The description restates the inputs but adds no additional format, constraint, or interpretation details 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: "Compute debt-to-income (DTI) ratio." It clearly identifies the calculation, but it does not directly distinguish itself from similar siblings such as calculate_debt_service_ratio or calculate_debt_capacity.

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 usage context: "Use for mortgage qualification or financial health checks." It lacks explicit when-not guidance or direct alternatives, so it is strong but not complete.

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

calculate_delivery_costCalculate Delivery CostB
Read-onlyIdempotent
Inspect

Estimate shipping cost from weight, distance and service (standard vs express). Returns: {cost_eur, formula, note}. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
typeNoService levelstandard
weight_kgYesPackage weight kg
distance_kmYesDelivery distance km

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, and this is a pure calculation, so the safety profile is fully covered. The description adds that the result is an estimate with a formula and note, but that overlaps with the output schema rather than revealing new behavior such as whether rates are region-specific or fixed.

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 purpose before the return shape and pointer. The explicit return-shape listing is largely redundant given a declared output schema, which is minor waste but not 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?

With an output schema present, the description need not explain return values, and inputs are fully covered by the schema. The main gap is the absence of sibling differentiation among the numerous related shipping and cost 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 coverage is 100%, so weight_kg, distance_km and the standard/express enum are already documented with units and defaults. The description restates the same three inputs without adding format, unit, or boundary semantics 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?

States a specific verb (estimate) and resource (shipping cost) and names the driving inputs (weight, distance, service level). However, it does not distinguish itself from clearly related siblings like calculate_international_shipping or calculate_shipping_volumetric, leaving an agent to guess which shipping calculator 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?

There is no when-to-use framing and no exclusions or alternatives among the many shipping/cost siblings. The only pointer is to list_bundles, which is a browsing aid rather than routing guidance between competing tools.

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

calculate_densityCalculate DensityA
Read-onlyIdempotent
Inspect

Compute density, mass, or volume given the other two. ρ=m/V. Use for materials, chemistry, fluid dynamics. Inputs: any 2 of (mass, volume, density). Returns the third. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
densityNokg/m³
mass_kgNoMass kg
volume_m3NoVolume m³

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare a read-only, idempotent, non-destructive, closed-world calculation, so the safety burden is lifted. The description adds genuine behavioral value by disclosing the solve-for-the-missing-variable contract (supply any two, get the third) and the exact formula, though it says nothing about units consistency or what happens if all three or only one input is supplied.

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?

Five short clauses, front-loaded with the core action and formula, followed by use cases, the input contract, and a cross-reference. No filler and no repetition of schema content.

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 description covers purpose, inputs, and domains adequately. It is slightly thin on edge behavior (unit consistency, handling of zero or three supplied inputs), which matters for a formula tool with all-optional parameters.

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 schema documents each parameter with units (kg/m³, kg, m³), so the baseline would be 3. The description goes beyond the schema by explaining the 2-of-3 input contract and the returned third value, which is not derivable from three optional numeric 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?

States a precise verb (Compute) and the three interchangeable target quantities, and gives the governing relation ρ=m/V so the agent immediately knows the math. This clearly distinguishes it from siblings like calculate_density_convert (unit conversion) and calculate_volume (geometry).

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?

Names concrete application domains (materials, chemistry, fluid dynamics) and points to list_bundles for the related 'science' calculator group, which gives the agent routing context. It does not explicitly state when NOT to use it, e.g. versus calculate_density_convert for unit changes, 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.

calculate_density_convertCalculate Density ConvertB
Read-onlyIdempotent
Inspect

Convert density between kg/m³, g/cm³, lb/ft³, and lb/gal. Use for engineering, chemistry, fluid mechanics. Inputs: value, from-unit, to-unit. Returns converted density. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesDensity value
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, fully covering the safety profile for a pure calculation. The description adds only 'Returns converted density,' which is minimal. There is little behavior left to disclose, so a 3 is appropriate, but nothing beyond the annotations is meaningfully added.

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?

Compact and front-loaded: the conversion statement comes first, followed by usage context and inputs. The 'Inputs: value, from-unit, to-unit' sentence largely duplicates the schema, which is minor padding, but the whole text is short and readable.

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 an output schema present, return-value explanation is unnecessary, and annotations cover safety, so the remaining burden is light. Still, the description gives no guidance on choosing this over calculate_density or convert_weight and lists units inconsistent with the enum, leaving gaps an agent must resolve from 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 the enum values are self-documenting, so the schema carries the load (baseline 3). The description merely restates the three input names, and its unit list (lb/gal) contradicts the actual enum (oz_in3), adding a small risk of confusion rather than 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 (Convert) and resource (density) with an explicit scope of units, so it is clearly distinguished from generic siblings like convert_weight. However, the listed units do not match the schema enum (it claims lb/gal while the schema offers oz_in3), and it does not differentiate itself from calculate_density, which likely computes density rather than converting it.

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 domain hints ('engineering, chemistry, fluid mechanics') indicate context but not when to choose this tool over calculate_density or convert_* siblings. The 'See list_bundles' pointer is a discovery aid, not an alternative-selection rule. No prerequisites or exclusions are stated.

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

calculate_depth_of_fieldCalculate Depth Of FieldA
Read-onlyIdempotent
Inspect

Calculate depth of field, near/far focus limits and hyperfocal distance for a camera lens. Returns: {near_limit_m, far_limit_m, coc_mm}. See list_bundles for related 'photographie' calculators.

NameRequiredDescriptionDefault
apertureYesLens aperture (f-number, e.g. 2.8)
distance_mYesSubject distance in meters
focal_length_mmYesLens focal length in millimeters
sensor_width_mmNoCamera sensor width in mm (default 36 for full frame)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 a brief return-object summary, but since an output schema exists and no computation assumptions, permissions, or edge cases are disclosed, it provides limited additional behavioral context.

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 two compact sentences, front-loads the core purpose, then adds return fields and a cross-reference. Every sentence earns its place with no unnecessary detail.

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 calculator with full schema coverage, annotations, and an output schema, the description is nearly sufficient. It states what is computed and points to related bundles, though it omits guidance on when to prefer this over the dedicated hyperfocal-distance 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?

Schema description coverage is 100%, so the schema already documents all four parameters including units and defaults. The description adds no extra parameter meaning, such as how sensor_width_mm affects results or acceptable ranges beyond what the schema states, 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: it calculates depth of field, near/far focus limits, and hyperfocal distance for a camera lens. This is clear and scoped, but it does not explicitly differentiate itself from the sibling tool calculate_hyperfocal_distance, which is a closely related 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 only usage guidance is 'See list_bundles for related photographie calculators,' which points to related tools but does not state when to use this tool versus alternatives like calculate_hyperfocal_distance. Usage is implied by the purpose statement, but no explicit when/when-not guidance or exclusions are provided.

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

calculate_dew_pointCalculate Dew PointA
Read-onlyIdempotent
Inspect

Compute dew point temperature using Magnus formula. Use for HVAC, weather, comfort analysis. Inputs: temperature °C, relative humidity %. Returns dew point °C and comfort class. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
temp_cYesTemperature °C
humidity_pctYesRelative humidity %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/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, closed-world, so safety is well covered. The description adds genuine behavioral value beyond that: the algorithm (Magnus formula) and the shape of the result (dew point °C plus a comfort class).

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 short, front-loaded sentences with no waste; the purpose leads and the sibling pointer trails. Minor overlap with schema-documented inputs keeps it out of 5 territory.

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 calculator with full schema coverage, an output schema, and complete safety annotations, this is essentially complete. The only missing element is guidance on edge cases (e.g., humidity bounds), which is minor.

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 two parameters are fully documented there with units. The description simply restates them (temperature °C, humidity %), adding no range, format, or edge-case meaning 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.

Purpose5/5

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

States a specific verb (compute), resource (dew point temperature), and even the method (Magnus formula). Distinguishes it from nearby siblings like calculate_heat_index and calculate_wind_chill, which are similarly weather-comfort 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?

Gives clear context for use (HVAC, weather, comfort analysis) but names no alternative and no when-not-to-use condition. It points to list_bundles for related calculators, which is a sibling reference rather than an alternative for this specific computation.

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

calculate_dice_probabilityCalculate Dice ProbabilityA
Read-onlyIdempotent
Inspect

Calculate dice roll probability for exact values, minimum or maximum targets. Returns: {probability}. See list_bundles for related 'jeux-probabilites' calculators.

NameRequiredDescriptionDefault
targetYesTarget value to calculate probability for
num_diceYesNumber of dice to roll
num_sidesNoNumber of sides on each die (default d6)
comparisonYesComparison type: exact match, at least target, or at most target

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, closed-world computation, so the safety profile is covered. The description adds the return shape ({probability}), but since an output schema exists that is largely redundant, and nothing is said about the d6 default or the 1-20 dice cap handling.

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 tightly written sentences with the core purpose front-loaded and no redundancy. The trailing list_bundles pointer is marginally useful routing 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?

Given full schema coverage, an output schema, and read-only annotations, the description supplies enough for correct invocation. Only marginal context (dice/sides defaults, relationship to similar probability tools) is absent.

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 each parameter is documented, so the baseline is 3. The description's restatement of the comparison modes ('exact values, minimum or maximum targets') mirrors the enum rather than adding constraints or formatting detail beyond it.

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+resource ('Calculate dice roll probability') and enumerates the supported comparison modes, so the agent knows exactly what it computes. It does not, however, distinguish itself from nearby probability siblings such as calculate_card_draw_probability or calculate_probability_binomial, other than a generic pointer to list_bundles.

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 three modes named (exact, minimum, maximum targets) and the list_bundles cross-reference gives ecosystem context, but there is no explicit when-to-use vs when-to-prefer-another probability 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.

calculate_dilutionCalculate DilutionA
Read-onlyIdempotent
Inspect

Compute dilution C1·V1=C2·V2. Solve for any unknown. Use for chemistry, lab work, pharmacy. Inputs: any 3 of (C1, V1, C2, V2). Returns the fourth. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
c1NoInitial concentration
c2NoFinal concentration
v1NoInitial volume
v2NoFinal volume

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish it is a read-only, idempotent, non-destructive, closed-world computation. The description adds behavioral value by stating the solver is flexible over which variable is unknown and returns the fourth, which is not derivable from the annotations alone.

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 formula and the input/output contract are front-loaded, and every clause carries information. No filler sentences.

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 4-param pure calculator with an output schema and full annotation coverage, the description is essentially complete. The only omission is disambiguating from calculate_solution_dilution, which would have fully closed the loop.

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 of c1/v1/c2/v2 labeled (initial/final concentration/volume). The description's formula adds the relationship between them but no format or unit guidance beyond the schema, so 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 action ('compute dilution'), the exact formula C1·V1=C2·V2, and the operation mode (solve for any unknown). An agent can immediately tell this apart from generic calculators in the large 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 Guidelines4/5

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

Gives clear domains ('chemistry, lab work, pharmacy') and the input condition (any 3 of C1, V1, C2, V2). It does not, however, distinguish itself from the very similar sibling calculate_solution_dilution, which is the main source of selection ambiguity.

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

calculate_discountCalculate DiscountB
Read-onlyIdempotent
Inspect

Calculate discounted price with optional successive discounts. Returns: {original_price, price_after_first, effective_discount_pct}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
discount_pctYesFirst discount percentage
discount2_pctNoOptional second successive discount
original_priceYesOriginal price

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 return shape and the notion that discounts can be successive, but says nothing about how the two discounts compose or any rounding/edge-case 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?

Two compact sentences, with the core purpose front-loaded and the pointer trailing. Little waste, though the explicit return-value listing is redundant given an output schema exists.

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, 100% parameter coverage, and rich annotations, the description covers what an agent needs to invoke the tool. It is only thin on disambiguation from the near-identical sibling calculate_discount_effective.

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 in the schema, making 3 the baseline. The phrase 'optional successive discounts' loosely maps to discount2_pct but adds no ordering or stacking semantics beyond what the schema implies.

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 discounted price') plus the distinguishing feature of 'optional successive discounts'. It does not, however, differentiate itself from the very similar sibling calculate_discount_effective, which an agent could easily 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?

There is no statement of when to use this tool versus alternatives such as calculate_discount_effective or calculate_percentage. The only pointer, 'See list_bundles for related finance-universal calculators,' is a navigation aid, not usage guidance.

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

calculate_discount_effectiveCalculate Discount EffectiveA
Read-onlyIdempotent
Inspect

Compute the effective discount when stacking multiple promotions. Use for promo design or shopping comparisons. Inputs: original price, discount % list. Returns final price and effective single-discount equivalent. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
discount_1_pctYesFirst discount %
discount_2_pctNoSecond discount %
original_priceYesOriginal price

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered and this is a pure computation with no side effects to disclose. The description adds the return summary ('final price and effective single-discount equivalent'), which is useful context even though an output schema exists. One caveat it does not disclose is that stacking is capped at two discounts, which matters for a tool pitched as handling 'multiple promotions.'

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 short sentences, front-loaded with the core computation before purpose, inputs, outputs, and cross-reference. Nothing is padded. The closing list_bundles pointer is the weakest sentence and arguably does not earn its place in a calculation tool's description.

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?

Annotations supply the safety profile and an output schema documents the return values, so the description only needs to establish scope, inputs, and intent — all present. The remaining gap is that the two-discount ceiling versus the stated 'multiple promotions' framing is never reconciled, which could mislead an agent about input capacity.

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 three parameters are fully documented in the schema and the baseline is 3. The description's 'Inputs: original price, discount % list' summarizes but adds no format detail beyond the schema, and the word 'list' mildly overstates capacity since additionalProperties is false and only discount_1_pct/discount_2_pct exist. No numeric semantics (percentage vs. fraction, ordering) are added.

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 effective discount when stacking multiple promotions,' which pins the scope to stacked discounts rather than a single markdown. That implicitly separates it from siblings like calculate_discount, calculate_percentage, or calculate_markup_margin, though no sibling is named. Clear and unambiguous, but it stops short of 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?

Offers scenario context ('promo design or shopping comparisons') and a cross-reference ('See list_bundles for related finance-universal calculators'), so usage is implied rather than stated as a decision rule. There is no when-not guidance and no explicit alternative named for the single-discount case. The list_bundles pointer is tangential — it points at a bundle-listing tool rather than a competing calculator.

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

calculate_distance_2dCalculate Distance 2dA
Read-onlyIdempotent
Inspect

Compute Euclidean distance between two 2D points. Use for geometry, mapping. Formula: √((x2−x1)²+(y2−y1)²). Inputs: x1,y1,x2,y2. Returns distance. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
x1YesX1
x2YesX2
y1YesY1
y2YesY2

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered; the description adds that the operation is a deterministic pure formula returning the distance, which is useful but modest. No extra notes on units, 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.

Conciseness4/5

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

Four short sentences, front-loaded with the action, then the formula and inputs. The trailing pointer to list_bundles is mildly promotional but does aid discovery, so nearly all content 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 read-only, four-number calculator with a fully covered schema, an output schema, and clear annotations, the description supplies purpose, formula, inputs, and return type — enough to call it correctly. Only unit/precision conventions are left unspecified.

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 the four parameters are formally documented (albeit only as 'X1', 'Y1', etc.). The description adds real value by giving the formula, which explains how the four inputs relate as two ordered points, but it does not clarify coordinate conventions (units, axes, order of points).

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 ('Compute Euclidean distance between two 2D points') and disambiguates from the many sibling distance calculators (3d, horizon, flight) by naming the dimensionality and method. The formula reinforces exactly what operation is performed.

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?

'Use for geometry, mapping' gives a broad context but names no exclusion or alternative, even though close siblings like calculate_distance_3d, calculate_pythagoras, and calculate_slope exist. The agent must infer that 2D coordinates are what select this tool over its 3D counterpart.

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

calculate_distance_3dCalculate Distance 3dA
Read-onlyIdempotent
Inspect

Compute Euclidean distance between two 3D points. Use for 3D modeling, physics. Formula: √(Δx²+Δy²+Δz²). Inputs: x1,y1,z1,x2,y2,z2. Returns distance. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
z1Yes
z2Yes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds the computation formula and input grouping but nothing about precision, rounding, units, or error behavior beyond what annotations and the output schema 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?

Front-loaded purpose, then formula, then inputs, then return — short and scannable with no padding. The telegraphic fragments ('Returns distance.') are terse but not wasteful.

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 needn't explain the return value, and annotations cover the safety profile. Formula plus input enumeration is enough for an agent to call this correctly; only unit/coordinate-system assumptions are left 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 0%, so the description carries the burden, and it does name all six parameters and implies the point-1/point-2 pairing (x1,y1,z1 vs x2,y2,z2) that the schema's alphabetical property order obscures. However it adds no unit conventions, coordinate-system assumptions, or type detail beyond the names themselves.

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 Euclidean distance between two 3D points') and even gives the formula, which unambiguously separates it from calculate_distance_2d. It stops short of naming that sibling explicitly, so an agent must infer the 2D/3D split 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 Guidelines3/5

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

'Use for 3D modeling, physics' gives domain context but no when-to-use rules, no exclusions, and no pointer to the 2D alternative. The trailing 'See list_bundles for related math calculators' is a weak discovery hint rather than routing guidance.

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

calculate_distance_securiteCalculate Distance SecuriteA
Read-onlyIdempotent
Inspect

Calculate safe following distance using the 2-second rule (French highway code). Returns: {safety_distance_2s_m, highway_3s_m, note}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
speed_kmhYesVehicle speed in km/h

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world behavior, so the safety profile is covered. The description adds genuine domain context beyond them: it discloses the 2-second rule basis and the 3-second highway variant, which shapes 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?

Two sentences, front-loaded with the core purpose, and the pointer to related calculators sits last. Nothing is padded or 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?

For a one-parameter pure calculator with an output schema, full annotations, and a 100%-covered input schema, the description supplies enough to invoke correctly. The residual gap is that the return-shape listing duplicates the output schema and no exclusion guidance is offered against similar driving-distance 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?

There is a single parameter with 100% schema description coverage ('Vehicle speed in km/h', 0-250), so the schema already carries the semantics and the baseline is 3. The description never mentions the speed input, adding nothing 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 verb and resource plus the governing rule ('safe following distance using the 2-second rule (French highway code)'), which is far more precise than a generic 'calculate distance'. It does not, however, explicitly distinguish itself from nearby siblings such as calculate_braking_distance or calculate_speed_distance_time, so an agent must infer the boundary from 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 Guidelines3/5

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

Usage is only implied: an agent can infer this applies when a driver's safe gap is needed, but there is no when/when-not statement and no explicit alternative (e.g., braking distance vs. following distance). The pointer to list_bundles for related 'auto-transport' calculators is a discovery aid, not usage guidance.

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

calculate_distance_to_horizonCalculate Distance To HorizonA
Read-onlyIdempotent
Inspect

Calculate the distance to the horizon from a given height. Returns: {distance_km, distance_miles, distance_nautical_miles}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
height_mYesObserver height above ground in metres

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and idempotency profile is fully covered structurally. The description's only added behavior is the return field list, which duplicates the output schema rather than revealing anything new (units, precision assumptions, 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.

Conciseness4/5

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

The core purpose is front-loaded in a single tight sentence, and the whole definition is two sentences. The trailing list_bundles cross-reference is mild noise that does not help an agent invoke this specific tool, keeping it just short of a 5.

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 one fully documented parameter, complete annotations, and an output schema present, the description supplies everything needed to call the tool correctly. The only shortfall is that the return-value enumeration is redundant with the output schema rather than filling a real 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 coverage is 100% with a single parameter, and the schema already specifies 'Observer height above ground in metres' with exclusiveMinimum 0. The description only restates 'from a given height' and adds no syntax, unit, or range meaning 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 verb and resource ('Calculate the distance to the horizon') plus the input domain ('from a given height'), which cleanly separates it from adjacent siblings like calculate_hyperfocal_distance, calculate_distance_2d, or calculate_star_magnitude_distance. An agent can identify the tool's function 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 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, no prerequisites, and no exclusions. The 'See list_bundles for related astronomie-nature calculators' line is a discovery cross-reference, not invocation guidance, so usage must be inferred entirely from the name.

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

calculate_dog_ageCalculate Dog AgeA
Read-onlyIdempotent
Inspect

Convert dog age to human-equivalent years using modern AAHA method. Use for canine health monitoring. Inputs: dog age years, breed size. Returns human-equivalent age. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
sizeNoDog sizemedium
dog_yearsYesDog age in years

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds the calculation methodology (AAHA) as useful context, but reveals nothing about limits, edge cases (e.g. very old dogs), or validation 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?

Four short sentences, front-loaded with the core conversion, no filler in the main explanation. The trailing list_bundles pointer is the only sentence that arguably doesn't need to be here.

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 carrying the safety profile and an output schema existing, the description needn't explain return values, yet it still notes the return. It is complete enough for a simple two-parameter read-only calculator, with only usage-boundary detail 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 only 2 parameters, so the schema already documents 'dog_years' and the 'size' enum. The description loosely restates them as 'dog age years, breed size' without adding format, unit, or default ('medium') information, so 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 and resource ('Convert dog age to human-equivalent years') and names the method (AAHA), so an agent can distinguish it from calculate_cat_age or calculate_pet_age without opening the schema. It stops short of explicitly naming those alternatives, which keeps it out of the top band.

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?

'Use for canine health monitoring' gives an implied use case but no when-not conditions and no explicit pointing to sibling age calculators (calculate_cat_age, calculate_pet_age) that an agent might confuse it with. The pointer to list_bundles is a discovery hint, not invocation guidance.

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

calculate_dog_foodCalculate Dog FoodC
Read-onlyIdempotent
Inspect

Calculate daily dog food quantity based on weight, age and activity level. Returns: {kcal_per_day}. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
ageYes
activityYes
weight_kgYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, which fully cover the safety profile. The description adds no behavioral context beyond that—no auth needs, rate limits, calculation assumptions, or limitations—and the stated return field is covered by the 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.

Conciseness4/5

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

The description is two sentences and front-loads the main purpose efficiently. The second sentence mixes a return value that is already covered by the output schema with a cross-reference to list_bundles, so not every clause earns its place, but overall it remains compact.

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 calculation tool with annotations covering safety and an output schema available, the description identifies the inputs and output sufficiently. The slight tension between 'daily dog food quantity' and returning 'kcal_per_day' is resolved by the output schema, so no critical invocation detail is missing.

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%, so the description must compensate, but it only restates parameter names (weight, age, activity level) without explaining units, enum meanings (puppy/adult/senior, low/medium/high), or constraints. It adds minimal meaning beyond the schema property names.

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 (Calculate) and resource (daily dog food quantity) and names the three input factors. It is clear but does not differentiate from closely related siblings like calculate_cat_food or calculate_pet_food_portion; the reference to list_bundles is not a sibling calculator comparison.

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 explicit when-to-use guidance, no prerequisites, and no alternatives to this tool. The reference to list_bundles points to a bundle discovery tool, not to when this calculator should be chosen over another.

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

calculate_dog_pregnancyCalculate Dog PregnancyA
Read-onlyIdempotent
Inspect

Compute dog due date from mating date (gestation 63 days). Use for breeders. Inputs: mating date. Returns due date window and milestone dates. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
mating_dateYesMating date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, non-destructive behavior, and closed-world scope. The description adds useful domain behavior beyond the annotations: the 63-day gestation assumption and that the tool returns a due date window plus milestone dates. An output schema exists, so it need not spell out the exact return shape.

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 description is short and front-loads the core computation and input. The final cross-reference to list_bundles is slightly incidental but still relevant to the calculator bundle context.

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 one-parameter calculator with full schema coverage and an output schema, the description supplies the key domain assumption (63-day gestation) and output expectations. It does not need to explain return values because the output schema covers them.

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 only one parameter and schema description coverage is 100%, so the schema already documents mating_date and its YYYY-MM-DD format. The description names 'mating date' as the input but adds no further semantics, which is acceptable at the baseline for a fully documented single 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 states a specific verb and resource: compute a dog due date from a mating date, with the 63-day gestation period made explicit. It distinguishes dog pregnancy from cat pregnancy by name, but does not explicitly differentiate it from sibling tools such as calculate_breeding_due_date.

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 'Use for breeders' gives implied audience context, but the description does not state when to choose this tool over calculate_breeding_due_date or other pregnancy-related calculators. No exclusions or alternatives are provided.

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

calculate_dog_walking_caloriesCalculate Dog Walking CaloriesB
Read-onlyIdempotent
Inspect

Compute calories burned by dog and human during a walk. Use for pet weight management. Inputs: dog weight, walk duration, pace. Returns calories burned by both. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
paceYes
duration_minYes
dog_weight_kgYes
walker_weight_kgYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only that the return contains calories for both dog and human, which is helpful but shallow; nothing about assumptions (e.g., estimation model, whether the walk is flat) 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?

Four short sentences, front-loaded with the core purpose before inputs and outputs. The trailing 'See list_bundles for related animaux calculators' is mild navigation noise inside a calculation tool rather than a defect of length.

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 the return format need not be explained, and annotations cover safety. The gaps that remain are input-side: a required parameter (walker_weight_kg) is unmentioned, no units are stated, and the enum semantics are left entirely to the schema, leaving the description only marginally more informative than the structured fields.

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 carry the burden, but it names only three of the four required parameters ('dog weight, walk duration, pace') and never mentions walker_weight_kg, which is required and central to the human calorie output. It also omits units (kg/min, implied by schema names) and gives no meaning for the pace enum values slow/moderate/brisk.

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: computing calories burned by dog and human during a walk, which is clearly distinct from the generic calculate_calories_burned sibling. It frames the intent ('Use for pet weight management') but never names an alternative tool, so the differentiation is by resource name rather than explicit routing.

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?

'Use for pet weight management' is a light when-to-use signal, and the 'animaux' bundle pointer hints at a topic area. However, there are no exclusions and no comparison against the many other calorie/pet siblings (calculate_calories_burned, calculate_tdee, calculate_pet_food_portion), so the agent still has to infer the boundary.

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

calculate_dollar_cost_averageCalculate Dollar Cost AverageA
Read-onlyIdempotent
Inspect

Calculate DCA portfolio value and performance for recurring crypto investments. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
periodsYesNumber of investment periods
average_priceYesAverage purchase price per unit over all periods
current_priceYesCurrent market price per unit
investment_per_periodYesAmount invested per period in fiat currency

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/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 openWorldHint=false, covering the safety profile. The description adds domain context around DCA and crypto but does not disclose calculation assumptions, limitations, or other behavioral traits beyond what the annotations already provide.

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 description is front-loaded and only two sentences long. The first sentence is essential; the second is a useful cross-reference, though not strictly necessary for invoking this tool correctly.

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 presence of an output schema and rich annotations, the description needs mainly to establish purpose and domain. It does so adequately, though it could better differentiate this DCA calculator from other crypto-related calculators.

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 input schema already documents all four required parameters. The description itself adds no parameter-level meaning, making the baseline score 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 gives a specific verb and resource: calculating DCA portfolio value and performance for recurring crypto investments. It is clear what the tool does, but it does not explicitly distinguish itself from crypto-adjacent siblings such as calculate_crypto_profit_loss or calculate_portfolio_allocation.

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 'for recurring crypto investments' implies the intended domain, and it points to list_bundles for related calculators. However, it gives no explicit when-to-use or when-not-to-use guidance relative to alternative calculators.

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

calculate_dpe_energy_classCalculate Dpe Energy ClassC
Read-onlyIdempotent
Inspect

Determine French DPE energy class from primary energy consumption. Returns: {note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
kwh_m2_yearYesPrimary energy consumption in kWh/m2/year

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/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 elsewhere. The description adds no behavioral context of its own, and its one behavioral claim is the unresolved template artifact 'Returns: {note}', which conveys nothing. No contradiction with annotations, but no added value either.

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?

Two short sentences that are front-loaded with the purpose, so size is fine. However, the '{note}' placeholder is an unrendered template fragment that does not earn its place, and the list_bundles pointer is tangential to calling 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?

One fully documented required parameter, a complete annotation set, and an output schema (so return values need not be explained). The description covers what an agent needs to select and invoke it; the only blemishes are the broken '{note}' fragment and the absence of any DPE domain framing.

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% for the single parameter (kwh_m2_year), so the schema fully documents units and meaning. The description's phrase 'primary energy consumption' just restates that, adding no thresholds (e.g. DPE class boundaries) or edge-case semantics. 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 ('Determine French DPE energy class') plus the driving input (primary energy consumption), which is genuinely distinct from siblings like calculate_malus_ecologique or calculate_energy_physics. It does not name or contrast a particular sibling, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

The only guidance is 'See list_bundles for related "immobilier" calculators', which is a navigation pointer, not a when-to-use rule. There is no statement of prerequisites, input scope, or when a different calculator would be the right choice.

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

calculate_drain_slopeCalculate Drain SlopeB
Read-onlyIdempotent
Inspect

Compute required drain slope (% and cm/m) to ensure proper water flow per plumbing code. Use for plumbing or roof drainage. Inputs: pipe length, pipe diameter, application. Returns slope % and drop in cm. See list_bundles for related 'plomberie' calculators.

NameRequiredDescriptionDefault
fixture_typeYesType of sanitary fixture being drained
pipe_diameter_mmNoDrain pipe diameter in millimeters (default 100mm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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/non-destructive, so safety is covered. The description adds that results follow plumbing code and gives the output shape (slope % and drop in cm), but says nothing about code variants, assumptions, or edge cases such as minimum diameters.

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 short sentences, the purpose and units front-loaded, no filler. The input enumeration is compact but happens to be inaccurate, which detracts slightly from otherwise tight structure.

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-value detail is arguably redundant, and annotations handle the safety profile. The gap is that the description's input list contradicts the real schema, leaving an agent to reconcile 'pipe length'/'application' against fixture_type and pipe_diameter_mm.

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?

The schema documents both parameters at 100% coverage, so the baseline would be 3. The description actively misleads, though: it advertises inputs of 'pipe length, pipe diameter, application', but the schema has fixture_type (enum) and pipe_diameter_mm, with no length or 'application' field. That mismatch works against correct invocation.

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+resource ('Compute required drain slope') with units and the governing code, which separates it from the generic calculate_slope sibling. It does not explicitly name that sibling, so the differentiation is implicit 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 Guidelines3/5

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

'Use for plumbing or roof drainage' gives a domain context, and the description points to list_bundles for related 'plomberie' calculators. However, it never says when to pick this over calculate_slope, calculate_pipe_diameter, or calculate_pipe_flow_rate, nor lists any prerequisites.

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

calculate_dress_alterationsCalculate Dress AlterationsB
Read-onlyIdempotent
Inspect

Estimate dress alteration cost and time by alteration type. Use for tailoring or wedding-dress budgeting. Inputs: alterations needed (hem, sides, sleeves), garment type. Returns total cost estimate and time hours. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
target_sizeYesTarget FR dress size
measurement_bustYesActual bust measurement cm
measurement_hipsYesActual hip measurement cm
measurement_waistYesActual waist measurement cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 safety behavior is covered by structured data. The description adds the output shape (total cost estimate and time hours), which is useful, but says nothing about whether the cost is currency-specific, region-specific, or how estimates are derived. An output schema exists, so the return-format mention is redundant rather than additive.

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?

Four short, front-loaded sentences, but the third sentence is not just wasted — it is wrong, describing non-existent inputs. The opening and the list_bundles pointer do earn their place.

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 computation tool with a full output schema, the description only needs to nail inputs, scope and output meaning — and it fails on inputs, listing the wrong fields entirely. An agent cannot reliably determine what to supply from this definition alone. The missing coverage of units (cm, FR dress size) is partially saved by the schema.

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?

The description names inputs that do not exist in the schema: 'alterations needed (hem, sides, sleeves)' and 'garment type' are not parameters, while the four actual required parameters (target_size, measurement_bust, measurement_waist, measurement_hips) go unmentioned. This is actively misleading rather than merely silent, despite the schema's 100% description coverage. An agent reading only the description would construct the wrong call.

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 (estimate) and resource (dress alteration cost and time) and narrows the scope with 'by alteration type'. It also distinguishes itself from the sea of calculate_* siblings by pointing at the 'textile-mode' bundle. However, it does not differentiate against the nearest siblings (calculate_fabric_needed, calculate_clothing_size_convert, calculate_shoe_size).

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?

'Use for tailoring or wedding-dress budgeting' gives a use context, and it cross-references list_bundles for related calculators. There is no when-not guidance, no prerequisites, and no statement of how it differs from the other garment/textile calculators.

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

calculate_due_dateCalculate Due DateB
Read-onlyIdempotent
Inspect

Calculate estimated due date using Naegele's rule and return trimester milestone dates

NameRequiredDescriptionDefault
last_period_dateYesYYYY-MM-DD — First day of last menstrual period

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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 closed-world behavior, so the safety profile is covered. The description does add genuinely useful context: the calculation method (Naegele's rule) and that trimester milestones are produced. It omits meaningful caveats such as the 28-day-cycle / 280-day assumption that affects accuracy, so it goes beyond annotations but not far.

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, front-loaded with the action and method, with no filler. Every clause (verb, method, return content) earns its place.

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 re-explained, and annotations carry the safety profile. The remaining gap is the crowded due-date/cycle sibling space: without any disambiguation or stated assumption (LMP-based, 28-day cycle), the agent has enough to call it but not to choose it confidently.

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 parameter is fully documented in the schema (YYYY-MM-DD, first day of last menstrual period). The description adds no format, range, or unit guidance beyond that, 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+resource (calculate estimated due date) and adds the method (Naegele's rule) plus the returned artifacts (trimester milestone dates). However, it gives no differentiation from near-duplicate siblings such as calculate_pregnancy_due_date, calculate_ovulation, calculate_menstrual_cycle, or calculate_breeding_due_date, so an agent cannot tell which date tool to pick from the description alone.

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

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 (e.g. requires a known LMP date), and no mention of the alternative due-date tools in the sibling list. The agent must infer the use case from the name alone.

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

calculate_earthquake_energyCalculate Earthquake EnergyA
Read-onlyIdempotent
Inspect

Calculate energy released by an earthquake from its magnitude. Returns: {energy_joules, tnt_equivalent_kg}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
magnitudeYesRichter/moment magnitude

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 only the return field names, which are also present in the output schema, and does not disclose calculation assumptions, formula, or limits beyond what annotations provide. No contradiction.

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 purpose. The return values and cross-reference are brief and no filler is present. Every clause serves a purpose.

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, deterministic calculator with an output schema and safety annotations, the description is sufficient. It names the input concept and return fields; the output schema supplies exact structure, so no further behavioral detail is required.

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 sole parameter 'magnitude' is documented as 'Richter/moment magnitude' with a 0–10 range in the schema. The description says 'from its magnitude' but adds no format, unit, or range details 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.

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 ('energy released by an earthquake') with the input basis ('from its magnitude'). The term 'earthquake' differentiates it from generic energy siblings such as calculate_kinetic_energy or calculate_energy_physics, so an agent can identify its scope 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 Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance is given. The phrase 'See list_bundles for related calculators' points to a catalog tool rather than stating when this calculator is appropriate versus alternatives. Usage is only implied by the purpose sentence.

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

calculate_ects_creditsCalculate Ects CreditsA
Read-onlyIdempotent
Inspect

Estimate ECTS credit workload (1 ECTS ≈ 25-30 study hours). Use for university course planning across Europe. Inputs: course hours, credits target. Returns expected workload and balance. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
weeksYesNumber of weeks
hours_per_weekYesStudy hours per week
hours_per_creditNoHours per ECTS credit (standard: 25-30)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safe, deterministic nature is covered by structured data. The added value is thin: the 1 ECTS ≈ 25-30 hours fact duplicates the hours_per_credit schema description, and 'Returns expected workload and balance' duplicates what the output schema already exposes.

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 short sentences, front-loaded with the core computation before usage, inputs, returns and discovery pointers. Efficient, though the inputs/returns sentences partly restate structured data.

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 documented in prose, and all three parameters are schema-documented. Only the imprecise 'credits target' input phrasing slightly misleads an agent about what to pass.

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 is 3. The description's input summary ('course hours, credits target') does not match the actual schema fields (hours_per_week, weeks, optional hours_per_credit) and adds no syntax or range 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?

Clear specific verb+resource: 'Estimate ECTS credit workload' with the domain stated ('university course planning across Europe'). It does not, however, distinguish itself from adjacent education-related siblings such as calculate_study_schedule or calculate_gpa_french beyond pointing to bundle discovery.

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?

'Use for university course planning across Europe' gives an implied usage context, and 'See list_bundles for related education calculators' is a soft discovery pointer. There is no explicit when-not-to-use guidance or a named alternative calculator for overlapping needs.

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

calculate_electrical_powerCalculate Electrical PowerB
Read-onlyIdempotent
Inspect

Compute electrical power for single or three-phase circuits. Use for electrical engineering. Inputs: voltage, current, phase, power factor. Returns power kW and apparent power kVA. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
phaseNoPhasemono
cos_phiNoPower factor
currentYesAmps
voltageYesVolts

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 non-destructive, so the safety profile is covered. The description adds that output is power in kW plus apparent power in kVA, but with an output schema present that is largely restating structured data; nothing is said about the formula assumptions (e.g. whether cos_phi applies to three-phase).

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 short, front-loaded sentences with the computing action first. 'Use for electrical engineering' is near-filler and the list_bundles pointer is tangential, but there is no bloat overall.

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 an idempotent, read-only pure calculation with a fully described schema and an output schema, the definition covers inputs, phase handling, and return units. The only real gap is which sibling calculator to prefer, which is a routing concern rather than a completeness 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 property already carries its own note ('Amps', 'Volts', 'Power factor'), so the description simply re-lists the same four inputs without adding units, ranges, or defaults. 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 and resource ('Compute electrical power') and narrows scope to single/three-phase circuits, which separates it from generic converters like calculate_power_unit_convert. It does not, however, distinguish itself from close electrical siblings such as calculate_ohms_law or calculate_cable_section_electrical.

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?

'Use for electrical engineering' is a domain label, not guidance on when this tool is the right choice versus ohms_law, electricity_cost, or power_unit_convert. No exclusions, prerequisites, or alternatives are named; the pointer to list_bundles is a catalog reference, not tool-selection advice.

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

calculate_electricity_costCalculate Electricity CostA
Read-onlyIdempotent
Inspect

Compute electricity cost for an appliance. Use for energy budgeting. Inputs: power W, daily usage hours, kWh price. Returns daily/monthly/yearly cost. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
daysNoDays
power_wYesWatts
hours_dayYesHours/day
price_kwhNoEUR/kWh

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description restates return granularity (daily/monthly/yearly cost) which is also available via the output schema, adding little 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.

Conciseness4/5

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

Compact and front-loaded: purpose, usage, inputs, returns, and a cross-reference in short sentences with no filler. The redundant returns sentence is the only mild waste given the output schema exists.

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 input schema, an output schema covering return values, and annotations covering safety, the description only needs to convey purpose and usage, which it does. Adequate for a simple single-purpose calculator.

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. The description mirrors the fields ('power W, daily usage hours, kWh price') but adds no formatting, unit, or default semantics beyond what the schema provides, matching the baseline.

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 electricity cost for an appliance'), which is unambiguous. It does not distinguish itself from close siblings like calculate_electricity_cost_appliance, calculate_led_savings, or calculate_ev_charging_cost, so an agent must infer the boundary.

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

Usage Guidelines3/5

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

'Use for energy budgeting' gives an implied context but no explicit when-to-use vs alternatives or any exclusions. The pointer to list_bundles is navigation, not selection guidance against sibling calculators.

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

calculate_electricity_cost_applianceCalculate Electricity Cost ApplianceA
Read-onlyIdempotent
Inspect

Compute annual electricity cost of a household appliance. Use for energy audit and replacement decisions. Inputs: power W, daily hours, kWh price. Returns annual cost and CO₂ kg. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
power_wYesPower in watts
hours_dayYesHours used per day
price_kwhNoEUR per kWh

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is fully covered and the description adds nothing to it. It does contribute that the result includes CO₂ kg alongside cost and points to list_bundles for related 'energie' calculators, but omits assumptions such as the default 0.25 EUR/kWh price and any day/year basis.

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 short sentences, front-loaded with the core action followed by usage and outputs. The inputs/returns list is slightly redundant with the schema and output schema, but it is compact and earns most of its 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?

For a deterministic three-parameter calculation with a full output schema, the description supplies purpose, use case, and the extra bundle cross-reference, which is enough to call it correctly. The remaining omission is sibling disambiguation against calculate_electricity_cost.

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 (power_w, hours_day, price_kwh) are already documented including units and the 24-hour cap. The description restates the inputs ('power W, daily hours, kWh price') without adding format, default, or edge-case meaning, which is the baseline 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+resource ('Compute annual electricity cost of a household appliance') and scopes it to an annual figure, which is clearer than a generic cost tool. It does not, however, distinguish itself from the close sibling 'calculate_electricity_cost' (nor from calculate_led_savings/laundry_cost), so an agent must guess which one fits.

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?

'Use for energy audit and replacement decisions' gives a usage context but no when-not guidance and no named alternative among the many electricity/cost calculators. Usage is implied rather than explicitly routed, which is the minimum viable level.

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

calculate_ellipseCalculate EllipseA
Read-onlyIdempotent
Inspect

Compute ellipse area A=π·a·b and approximate perimeter (Ramanujan). Use for elliptical fields, tracks, or design. Inputs: semi-major a, semi-minor b. Returns area and perimeter. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesSemi-major axis
bYesSemi-minor axis

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral value by naming the perimeter approximation (Ramanujan), which signals the result is approximate rather than exact — a meaningful disclosure for a computation tool.

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 short front-loaded sentences with no padding, and the formula leads. The trailing pointer to list_bundles is mildly tangential but still useful for discovery.

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 deterministic calculator with an output schema already present, the description covers attribution, inputs, and outputs adequately. It even states the return values despite the output schema making that optional, leaving little uncovered.

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 description's 'semi-major a, semi-minor b' merely restates the schema's parameter descriptions. Baseline 3 is appropriate; no syntactic or constraint detail is added beyond 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 (compute) and resource (ellipse area/perimeter) with the exact formulas, including the approximation method for perimeter (Ramanujan). An agent can immediately distinguish this from generic calculate_area or calculate_perimeter siblings.

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 use contexts ('elliptical fields, tracks, or design') and points to list_bundles for related math calculators. However, it never explicitly excludes or contrasts with the close siblings calculate_area, calculate_perimeter, calculate_sphere, or calculate_cone, so the routing decision is only partially supported.

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

calculate_emergency_fundCalculate Emergency FundA
Read-onlyIdempotent
Inspect

Compute recommended emergency fund target (3-6 months of expenses). Use for personal financial planning. Inputs: monthly expenses, dependents count, income stability. Returns recommended fund and savings timeline. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
dependentsYesNumber of dependents
job_stabilityYesJob stability level
monthly_expensesYesMonthly expenses EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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. The description adds the 3-6 month heuristic and notes a savings timeline is returned, but does not disclose anything beyond the annotation and schema surface (e.g. no assumptions or rounding behavior).

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

Conciseness4/5

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

Front-loaded with the core purpose and free of padding; the input/return sentences are terse. The trailing 'See list_bundles' cross-reference is a mild extra but plausibly useful for discovery.

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 carry the safety profile; combined with 100% parameter coverage the description is sufficient to invoke the tool correctly. Only the missing when-to-use guidance keeps it from full marks.

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 (monthly_expenses, dependents, job_stability with its enum) are already documented in the schema. The description merely restates the input names without adding units or interpretation 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.

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 (recommended emergency fund target) with the concrete 3-6 month rule. An agent can immediately tell this apart from the many other finance calculators in the sibling list, e.g. calculate_savings_goal or calculate_retirement_savings_gap.

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?

'Use for personal financial planning' gives only a generic domain context; it does not state when this tool is preferred over adjacent calculators such as calculate_savings_goal or calculate_burn_rate, nor any exclusions. Usage is implied rather than specified.

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

calculate_employer_cost_frCalculate Employer Cost FRA
Read-onlyIdempotent
Inspect

Compute total employer cost in France (gross + social charges). Use for hiring budget or freelance vs salary comparison. Inputs: gross salary, status (cadre/non-cadre). Returns employer cost and total charges. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
gross_monthlyYesMonthly gross salary EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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. The description adds scope ('gross + social charges') and the return shape, but discloses no assumptions such as which default status/rate table is applied when status is omitted, which matters for a cost estimate.

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 short sentences, front-loaded with purpose then usage then inputs then cross-reference; little waste. Slightly list-like, but each clause carries 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 not be explained, and the single required parameter is documented at 100% coverage. However, the phantom 'status' input leaves the description inconsistent with the actual contract, which is a real completeness gap for an agent trying to call it correctly.

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?

The description advertises an input 'status (cadre/non-cadre)' that does not exist in the schema, which declares only gross_monthly with additionalProperties=false. This mismatch could lead an agent to send an invalid 'status' argument and get a validation error, actively misleading rather than clarifying.

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 with scope: 'Compute total employer cost in France (gross + social charges).' This clearly distinguishes it from siblings like calculate_french_salary (net salary) and calculate_portage_salarial, which cover adjacent but different French payroll concepts.

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 concrete use cases ('hiring budget or freelance vs salary comparison') and routes to list_bundles for related 'finance-france' calculators. It does not, however, state when to prefer it over calculate_french_salary or similar siblings, so the alternative-selection guidance is incomplete.

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

calculate_energy_physicsCalculate Energy PhysicsB
Read-onlyIdempotent
Inspect

Calculate kinetic (½mv²), potential (mgh), mass-energy (E=mc²), or work (F·d). Returns: {energy_joules, energy_kj, energy_kwh}. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
typeYesEnergy type
force_nNoForce N (work)
mass_kgNoMass in kg
height_mNoHeight m (potential)
distance_mNoDistance m (work)
velocity_msNoVelocity m/s (kinetic)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the return payload keys (energy_joules, energy_kj, energy_kwh) and the underlying formulas, but says nothing about error behavior or what happens when required inputs for a chosen mode are omitted.

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

Conciseness5/5

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

Three short, front-loaded sentences: scope first, return payload second, related-calculator pointer last. No filler and nothing 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?

An output schema exists, so the description needn't explain return structure, and the formulas implicitly reveal which parameters each mode consumes — important since only 'type' is marked required. The remaining gap is the absence of any note on invalid or missing per-mode inputs.

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 tags each parameter with its mode ('Force N (work)', 'Height m (potential)'). The formulas in the description imply the m/v, m/h, F/d parameter pairings, but this largely restates what the schema labels already convey, 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) plus the exact physics quantities covered, with formulas attached to each mode, so an agent immediately knows the tool's scope. It does not, however, differentiate itself from the sibling calculate_kinetic_energy, which overlaps with its 'kinetic' mode.

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 routing away from the overlapping kinetic-energy sibling. The 'See list_bundles for related science calculators' line is a cross-reference, not guidance on selecting this tool over an alternative.

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

calculate_equationCalculate EquationC
Read-onlyIdempotent
Inspect

Solve 1st degree (ax+b=0) or 2nd degree (ax²+bx+c=0) equations. Returns: {error}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesCoefficient a
bYesCoefficient b
cNoCoefficient c (for degree 2)
degreeYesEquation degree

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds nothing beyond that, and 'Returns: {error}' is a templated placeholder that is actively unhelpful for a deterministic math solver with a defined output schema. No edge cases (no real roots, a=0, degree/c mismatch) are disclosed.

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?

Sentence one is well front-loaded and waste-free. Sentence two is boilerplate that does not earn its place: 'Returns: {error}' conveys nothing useful when an output schema exists, and the list_bundles cross-reference is marginal for a solver.

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 an output schema present, the description need not explain return values, so the only real obligations are disambiguation and edge-case framing. It omits differentiation from calculate_quadratic_equation and any handling notes, leaving it minimally adequate for a simple, low-risk math 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?

Schema description coverage is 100%, so the schema already documents a, b, c, and the degree enum, making the baseline 3 appropriate. The description's equation forms loosely tie a/b/c to their roles, but adds no format, range, or constraint 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 (Solve) plus the resource and the two exact forms it handles (ax+b=0, ax²+bx+c=0), which is concrete enough for an agent to match inputs. However, it never distinguishes itself from the sibling calculate_quadratic_equation, which appears to cover the same degree-2 territory, so an agent cannot route between them from this text 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 versus the many other math calculators, and no note on the degree-2 vs degree-1 selection logic beyond restating the formulas. The pointer to 'list_bundles for related math calculators' is a browsing hint, not usage guidance or an alternative to this tool.

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

calculate_ev_charging_costCalculate Ev Charging CostA
Read-onlyIdempotent
Inspect

Compute electric vehicle charging cost and time to full. Use for EV trip planning. Inputs: battery kWh, current %, target %, charger kW, kWh price. Returns cost and hours. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
price_kwhNoPrice per kWh
target_pctNoTarget charge %
battery_kwhYesBattery capacity kWh
current_pctYesCurrent charge %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is fully covered and this is a pure-computation tool with little else to disclose. 'Returns cost and hours' adds a light output summary, but the description does not explain defaults (price_kwh=0.25, target_pct=80) or edge behavior such as current > target.

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 core purpose in the first sentence and packs inputs/returns into a compact enumeration. The trailing list_bundles pointer is mildly extraneous but short and does not bury the key 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 not be described, and all four parameters are schema-documented. However, the description's mention of a nonexistent 'charger kW' input leaves the parameter story inconsistent, and nothing explains the charging-time model or the effect of default values.

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 100%, so the schema alone earns a baseline of 3, but the description actively introduces confusion: it lists 'charger kW' as an input, and no such parameter exists in the schema (only battery_kwh, current_pct, target_pct, price_kwh). Naming a nonexistent input misleads an agent preparing the call.

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 ('Compute electric vehicle charging cost and time to full'), which unambiguously separates it from generic siblings like calculate_electricity_cost or calculate_fuel_cost. The scope (cost + charge time) is concrete and an agent could route to it without opening the schema.

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

Usage Guidelines3/5

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

'Use for EV trip planning' gives a domain hint but no when-not conditions or named alternatives among the many cost/energy siblings. The 'See list_bundles for related energie calculators' pointer is a discovery cross-reference, not usage guidance for selecting this tool over calculate_electricity_cost.

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

calculate_excavationCalculate ExcavationA
Read-onlyIdempotent
Inspect

Compute excavation volume (m³) and truck loads needed for a foundation, pool, or trench. Use for construction. Inputs: length, width, depth (m), bulking factor. Returns m³ to remove and 8m³-truck count. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
depth_mYesDepth in meters
width_mYesWidth in meters
length_mYesLength in meters
soil_typeNoSoil type (swell: normal=1.25, rocky=1.50, clay=1.30)normal

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower. The description still adds value by disclosing the return semantics (m³ to remove and an 8m³-truck count), which tells the agent the output shape and the truck-capacity assumption used.

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 front-loaded sentences that state purpose, usage, inputs/outputs, and a cross-reference. Mostly earns its place, though 'Use for construction' is slightly redundant filler next to the more specific use cases.

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 present, the description is complete enough: it names inputs, output values, and a related-bundle pointer. Minor gap is that it doesn't explain how soil_type/swell affects the result, though the schema largely covers 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 100%, so the schema already documents all four parameters including the soil_type enum and its swell values, giving a baseline of 3. The description adds units and the term 'bulking factor', but that term only loosely maps to the schema's soil_type parameter, adding little beyond 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 (compute) and resource (excavation volume in m³ and truck loads), with concrete use cases (foundation, pool, trench). This clearly distinguishes it from adjacent siblings like calculate_volume, calculate_garden_soil, or calculate_gravel_quantity.

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 usage context ('Use for construction', foundation/pool/trench) and points to list_bundles for related 'construction' calculators. However, it does not explicitly name which sibling to use instead or state when NOT to use it (e.g., vs a plain volume calculator).

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

calculate_exchange_marginCalculate Exchange MarginA
Read-onlyIdempotent
Inspect

Detect the hidden margin charged by a money exchanger over the mid-market rate. Use to compare currency exchange offers. Inputs: offered rate, mid-market rate. Returns margin %. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
bank_rateYesBank/bureau rate
market_rateYesMid-market rate

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered. The description adds only that the calculation is relative to the mid-market rate; it discloses no additional behavioral traits such as handling of zero/invalid rates or what happens when bank_rate is below market_rate.

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 short sentences, front-loaded with the core purpose and definition of the metric. The trailing pointer to list_bundles for 'voyage' calculators is a marginal cross-sell that does not help invoke this tool, but it costs little.

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 only two required numeric inputs, an output schema present, and annotations covering the safety profile, the description supplies everything needed to call the tool correctly. The only omission is disambiguation from the duplicate-looking sibling.

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 (bank_rate = 'Bank/bureau rate', market_rate = 'Mid-market rate'). The description restates them as 'offered rate' and 'mid-market rate' without adding format, unit, or ordering semantics 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: detecting the margin a money exchanger charges over the mid-market rate, which is clearer than a generic 'calculate margin'. However, it does not distinguish itself from the near-identical sibling calculate_exchange_rate_margin (nor calculate_currency_exchange / calculate_currency_cross_rate), leaving an agent unable to choose between the two.

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?

'Use to compare currency exchange offers' gives an implied context of use, but there are no exclusions and no named alternative — critically, the almost identically named sibling calculate_exchange_rate_margin is never mentioned, so the routing decision is left unresolved.

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

calculate_exchange_rate_marginCalculate Exchange Rate MarginB
Read-onlyIdempotent
Inspect

Calculate the margin charged on a currency exchange. Returns: {cost_per_1000_eur, rating}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
bank_rateYesRate offered by bank/exchange
mid_market_rateYesMid-market (real) exchange rate

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior2/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 a return shape, but an output schema is present, so this repeats structured data and adds no new behavioral context such as permissions or calculation constraints.

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 short sentences, front-loaded with purpose. The final sentence about list_bundles is tangential to this tool's operation, but the overall text is compact and wastes little 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?

For a simple two-parameter calculator with annotations covering safety and an output schema covering return values, the description is largely complete. It states purpose and return fields, though it omits any guidance on when to prefer it over similar currency calculators.

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 bank_rate and mid_market_rate are fully documented in the schema. The description adds no parameter semantics, making the 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?

States a specific verb 'Calculate' and resource 'exchange rate margin' on a currency exchange. However, it does not distinguish itself from near-identical siblings such as calculate_exchange_margin or calculate_currency_exchange.

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 tool versus alternatives. The only pointer is to list_bundles for related calculators, which is not an alternative for this task and does not specify preconditions or exclusions.

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

calculate_expected_value_betCalculate Expected Value BetB
Read-onlyIdempotent
Inspect

Calculate expected value and profitability of a bet or investment decision. Returns: {lose_probability}. See list_bundles for related 'jeux-probabilites' calculators.

NameRequiredDescriptionDefault
bet_costNoUpfront cost to enter the bet (default 0)
win_amountYesNet amount won if outcome is positive
loss_amountYesNet amount lost if outcome is negative
win_probabilityYesProbability of winning (0 to 1)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world, which fully covers the safety profile for a pure calculator. The description adds 'profitability' framing but nothing beyond that. The stray 'Returns: {lose_probability}' is redundant given a full output schema exists, so it neither adds nor contradicts.

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 with the purpose front-loaded. The 'Returns: {lose_probability}' fragment is slightly noisy, but overall the text is tight and free of padding.

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 pure-calculation tool with a full output schema and annotations covering the safety profile, the description is largely sufficient. The main shortfall is the absence of any routing guidance among the many probability/odds siblings, which is minor relative to the calculator's self-contained nature.

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 meanings of win_probability, win_amount, loss_amount, and bet_cost are already documented in the schema. The description adds no unit, range, or interpretation detail beyond what the schema provides, which is the expected baseline 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 and resource: 'Calculate expected value and profitability of a bet or investment decision.' An agent knows what computation is performed. However, it does not differentiate from nearby siblings like calculate_lottery_odds, calculate_poker_hand_probability, or calculate_dice_probability, leaving some ambiguity about which probability tool to pick.

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 only guidance is 'See list_bundles for related jeux-probabilites calculators', which points at a browsing tool rather than explaining when to use this calculator versus alternatives. There is no statement of when-not to use it or which sibling covers adjacent scenarios.

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

calculate_exposure_triangleCalculate Exposure TriangleB
Read-onlyIdempotent
Inspect

Calculate the missing exposure value (aperture, shutter speed or ISO) given the other two. Returns: {ev_value, lv_value, shutter_speed_s}. See list_bundles for related 'photographie' calculators.

NameRequiredDescriptionDefault
isoYesISO sensitivity value
apertureYesAperture f-number
shutter_speedYesShutter speed in seconds (e.g. 0.004 for 1/250s)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered by structured data. The description adds the return keys {ev_value, lv_value, shutter_speed_s}, but that duplicates the declared output schema and omits any behavioural context such as unit assumptions or how conflicting inputs are resolved.

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 compact sentences, front-loaded with the core calculation and with no filler. The return-value sentence is largely redundant given an output schema exists, which is the only wasted space.

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 and full annotations exist, so return format and safety need not be restated. The remaining gap is the unresolved tension between the description's 'given the other two' and the three required parameters, leaving an agent unsure whether one input is optional.

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 coverage is 100%, so the schema already defines all three parameters and their units, giving a baseline of 3. However the description states a value is 'missing' and derived from 'the other two', while the schema marks iso, aperture and shutter_speed as all required — this is misleading about whether any parameter is optional, which could cause an agent to omit a required argument.

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 (the missing exposure value among aperture, shutter speed, ISO), so an agent can distinguish it from neighbouring photography calculators like calculate_depth_of_field or calculate_crop_factor. It is clear, but the 'missing ... given the other two' framing conflicts with a schema that requires all three, which slightly muddies the purpose.

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 calculation description plus a pointer to list_bundles for related 'photographie' calculators. There is no explicit when-to-use statement and no guidance on choosing this over the other exposure/photography siblings such as calculate_hyperfocal_distance or calculate_crop_factor.

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

calculate_fabric_neededCalculate Fabric NeededA
Read-onlyIdempotent
Inspect

Compute fabric meters needed for a garment by pattern. Use for sewing. Inputs: garment type, size, fabric width. Returns meters of fabric. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
sizeYesGarment size
garment_typeYesGarment type
fabric_width_cmYesFabric roll width cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered. The description adds only that the result is expressed in meters and that the computation is pattern-based; it says nothing about precision, rounding, or how unusual garment/width combinations 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.

Conciseness4/5

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

Four short sentences, front-loaded with the core computation and with no filler. The 'Returns meters of fabric' sentence is largely redundant given an output schema exists, which is the only real waste.

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 rich schema, full annotations, and an output schema, the definition supplies everything needed to invoke the tool correctly. The remaining gap is sibling disambiguation against the other fabric/curtain calculators, which matters in a catalogue of this size.

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 three parameters documented and two constrained by enums, so the schema carries the semantic load. The description merely restates the input list ('garment type, size, fabric width') without adding units, valid ranges, or meaning beyond the schema, which is the expected baseline when coverage is this high.

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: 'Compute fabric meters needed for a garment by pattern,' which tells the agent exactly what comes out (meters of fabric) and what it is for (sewing). It does not, however, distinguish itself from close siblings such as calculate_fabric_yardage, calculate_curtain_fabric, or calculate_knitting_yarn, so an agent choosing between fabric calculators gets no routing help.

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?

'Use for sewing' is a weak domain hint rather than a real when-to-use condition, and there is no statement of when NOT to use it or which sibling to prefer. The pointer to list_bundles mentions 'related textile-mode calculators' but does not name the competing tools directly, so the guidance is implied rather than explicit.

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

calculate_fabric_yardageCalculate Fabric YardageB
Read-onlyIdempotent
Inspect

Calculate fabric needed for a garment in meters (includes 10% for pattern matching). Returns: {meters_needed, note}. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
sizeYes
garmentYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is covered. The description adds genuine behavioral context beyond that: a 10% pattern-matching allowance and the return shape. It does not mention assumptions about fabric width, which matters for yardage.

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 short sentences, front-loaded with the core action and the unit, then the pattern-matching caveat and return shape, then a cross-reference. No filler; every sentence 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 two-enum-param calculator with an output schema and full annotations, the description supplies what is needed to invoke it. The one real gap is disambiguation from calculate_fabric_needed, which the description does not 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 0%, but both parameters are closed enums with self-explanatory values (garment: shirt/dress/pants/skirt/jacket; size: S/M/L/XL). The description frames the input as 'for a garment in meters' but adds no syntax or constraint detail; the enums carry the meaning.

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+resource+unit: 'Calculate fabric needed for a garment in meters.' Clear what it does. However, it does not distinguish itself from the near-identical sibling calculate_fabric_needed (nor calculate_curtain_fabric / calculate_knitting_yarn), so an agent cannot tell which fabric tool to pick from the description alone.

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

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 prerequisite guidance. The pointer 'See list_bundles for related textile-mode calculators' gestures at a family but never says when this tool applies versus calculate_fabric_needed, leaving selection to inference.

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

calculate_factorial_permutationCalculate Factorial PermutationB
Read-onlyIdempotent
Inspect

Calculate factorial, permutations P(n,r), and combinations C(n,r). Returns: {factorial}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
nYesn value
rNor value for P(n,r) and C(n,r)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior2/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 almost nothing behavioral beyond that, and the fragment 'Returns: {factorial}' is an unclear placeholder that only mentions one of three outputs.

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 operations, no padding. The trailing 'Returns: {factorial}' is slightly noisy/ambiguous but does not bloat the 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?

An output schema exists, so return values need not be described. The description covers all three computations and the schema enforces the n<=170 bound, leaving little an agent needs 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 already documents n and r. The description adds marginal meaning by tying r to P(n,r) and C(n,r), which is the baseline expectation 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 names three concrete operations (factorial, permutations P(n,r), combinations C(n,r)), which is far more precise than a generic math tool. It does not explicitly differentiate itself from math siblings like calculate_gcd_lcm or calculate_logarithm, 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. The 'See list_bundles for related math calculators' pointer is a discovery aid, not a routing rule that helps an agent choose this tool over the many sibling math calculators.

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

calculate_fertilizer_npkCalculate Fertilizer NpkA
Read-onlyIdempotent
Inspect

Calculate NPK fertilizer quantities needed based on crop type and soil type. Returns: {total_kg}. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
crop_typeYesType of crop to fertilize
soil_typeYesType of soil
surface_m2YesSurface area in square meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered by structured data. The description adds only ''Returns: {total_kg}'', a return detail that is also redundant with the existing output schema, and says nothing about units, precision, or edge cases; it neither contradicts nor meaningfully extends 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?

Two short sentences, with the core purpose front-loaded ahead of the cross-reference pointer. Nothing is padded, though the ''Returns: {total_kg}'' clause is largely redundant given the output 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?

For a simple, three-parameter read-only calculator with full schema coverage, rich annotations, and an output schema, the description supplies enough to call the tool correctly. The remaining gap is only that the large gardening-sibling cluster is not disambiguated.

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 two enum-constrained parameters, so the schema already documents each field. The description names crop type and soil type but adds no semantics beyond them and never mentions surface_m2, so it does not exceed the schema baseline.

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 NPK fertilizer quantities'') plus the two driving inputs (crop type, soil type), so an agent immediately knows what the tool produces. It does not, however, differentiate itself from adjacent gardening siblings such as calculate_garden_soil, calculate_lawn_seed, or calculate_raised_bed_soil, so sibling selection still requires inference.

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 phrasing ''based on crop type and soil type'' implies the scenario where this applies, and the ''See list_bundles'' pointer offers a discovery path. There is no explicit when-not guidance or named alternative for adjacent cases (e.g. soil amendment vs. seeding vs. fertilizing), leaving usage only implied.

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

calculate_fish_tank_heaterCalculate Fish Tank HeaterA
Read-onlyIdempotent
Inspect

Compute aquarium heater wattage needed by tank volume and target temp. Use for aquarium setup. Inputs: tank L, current temp, target temp. Returns wattage W. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
room_temp_cYesRoom temperature °C
target_temp_cYesTarget water temperature °C
volume_litersYesTank volume liters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/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 that the result is a wattage figure, but says nothing about assumptions (heater sizing margin, temperature delta) or 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?

Three tight sentences, front-loaded with the computation and result, with no wasted prose. The trailing bundle reference is minor and optional rather than distracting.

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 value need not be explained, and the description still names the returned unit (W). For a small pure-calculation tool this is essentially complete, though assumptions behind the formula 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 100%, so all three parameters (volume_liters, room_temp_c, target_temp_c) are already documented with units. The description merely restates them as 'tank L, current temp, target temp' with no added semantics, 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 ('Compute aquarium heater wattage') plus the driving inputs, which cleanly distinguishes it from near siblings like calculate_aquarium_volume and calculate_water_heater_size.

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

Usage Guidelines3/5

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

'Use for aquarium setup' gives an implied context but no conditions, prerequisites, or explicit when-not guidance. The pointer to list_bundles is a mild routing aid rather than genuine alternative selection.

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

calculate_flight_distanceCalculate Flight DistanceB
Read-onlyIdempotent
Inspect

Calculate great-circle distance between two coordinates. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
lat1YesDeparture latitude
lat2YesArrival latitude
lon1YesDeparture longitude
lon2YesArrival longitude

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 non-destructive behavior, so safety is covered. The description adds the great-circle computation model, but omits the output unit (km/miles/nm), which is the main behavioral unknown for this tool.

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, front-loaded sentences with the core action stated first. The second sentence is a lightweight bundle pointer that is arguably filler but costs little.

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 structure needn't be explained. However, distance units and the coordinate datum are left unspecified, which is a meaningful omission for a distance calculator despite otherwise adequate coverage.

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 lat/lon clearly labeled departure/arrival and bounded by min/max. The description adds nothing beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource and even the method: 'great-circle distance between two coordinates.' That distinguishes it from a generic distance tool, though it does not name or differentiate from siblings such as calculate_distance_2d/3d or calculate_light_year_distance.

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?

'See list_bundles for related voyage calculators' is a cross-referral, not when-to-use guidance. It never says when to pick this over calculate_distance_2d/3d or what prerequisites apply, so an agent gets no routing help.

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

calculate_floor_areaCalculate Floor AreaA
Read-onlyIdempotent
Inspect

Calculate total floor area and Carrez habitable area from a list of rooms. Returns: {rooms, total_area_m2, carrez_area_m2, note}. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
roomsYesRooms with length and width in meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/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 this is known to be a safe, deterministic pure computation. The description adds nothing beyond that and even restates the return keys, which the output schema already carries; no assumptions, limits, or edge-case behavior (e.g. zero-area rooms, unit expectations) are 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?

Two short sentences, front-loaded with the core action and outputs, with no filler. The trailing pointer to list_bundles is marginally useful routing rather than essential content, keeping 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?

The tool is a simple single-parameter pure calculation, and with a dedicated output schema present there is no need to explain return values. The description is sufficient for correct invocation, though it leaves the overlap with sibling area/Carrez calculators unresolved.

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% for the single 'rooms' array parameter, and the schema already defines items with required length_m/width_m and minimum 0. The phrase 'from a list of rooms' adds no syntax or semantics beyond what the schema states, 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 two named outputs (total floor area, Carrez habitable area) computed from a room list, which is concrete and actionable. It does not, however, distinguish itself from the neighboring calculate_surface_carrez or calculate_area tools, so an agent has no explicit signal on which of these overlapping area calculators to pick.

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 'from a list of rooms' (use when you have per-room length/width), and it routes the agent to list_bundles for related construction calculators. There is no statement of when this is preferable to calculate_surface_carrez or calculate_area, and no exclusion criteria.

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

calculate_flow_rate_convertCalculate Flow Rate ConvertA
Read-onlyIdempotent
Inspect

Convert flow rate between L/s, L/min, L/h, m³/h, gpm, cfm. Use for plumbing, HVAC, or industrial design. Inputs: value, from-unit, to-unit. Returns converted flow rate. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesFlow rate value
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds only that it returns a converted flow rate, which is close to restating the title; no note on precision, rounding, or invalid-unit handling.

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 short sentences, front-loaded with the conversion scope before domain context and I/O. 'Returns converted flow rate' is mildly redundant given the output schema, but nothing else is wasted.

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 and 100% parameter coverage, the description only needs to establish scope and it does. The one gap is the 'L/s' unit claimed in the description that the from_unit/to_unit enums do not offer, which could mislead an agent.

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 enums on both unit parameters, so the schema already carries parameter meaning. The description merely names the three inputs and adds no format, range, or unit-token guidance beyond 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 (convert) and resource (flow rate) and enumerates the exact unit set, which cleanly separates it from neighbors like calculate_pipe_flow_rate, calculate_pressure_convert, or convert_volume. An agent can identify this tool without opening the schema, despite the listed 'L/s' not appearing in the enum.

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?

Offers domain context ('plumbing, HVAC, or industrial design') and a pointer to list_bundles, but never says when to prefer this over sibling converters or when it is inapplicable. Usage is implied by domain rather than stated as a condition.

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

calculate_food_cost_per_servingCalculate Food Cost Per ServingA
Read-onlyIdempotent
Inspect

Compute food cost per serving from ingredient costs. Use for restaurants, meal-prep services. Inputs: list of ingredients with cost and quantity used, servings. Returns cost per serving and total. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
servingsYes
ingredientsYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare this as a read-only, idempotent, non-destructive, closed-world calculation, so the safety profile is covered. The description adds the basic return shape ('cost per serving and total'), but because an output schema exists, it adds limited behavioral context beyond structured 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?

The description is short and front-loaded with the core computation. The final sentence about list_bundles is useful but slightly tangential; otherwise there is little wasted 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?

Given the rich annotations and the presence of an output schema, the definition is largely complete for tool selection and invocation. The main remaining gap is the nested ingredient parameter semantics, especially total_quantity versus used_quantity.

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 carry more burden. It explains that ingredients need cost and quantity used and that servings are required, but it does not clarify the distinction between total_quantity and used_quantity, which is important for the nested ingredient object.

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 food cost per serving from ingredient costs. It also names target contexts (restaurants, meal-prep services), making the purpose clear, though it does not explicitly distinguish itself from nearby cost or recipe 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?

It gives context for use ('Use for restaurants, meal-prep services'), which implies when the tool is appropriate. However, it does not say when not to use it or name direct alternatives among the many sibling cost/recipe calculators.

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

calculate_forceCalculate ForceA
Read-onlyIdempotent
Inspect

Compute force using Newton's second law F=m·a. Use for physics problems. Inputs: mass kg, acceleration m/s². Returns force in newtons. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
force_nNoNewtons
mass_kgNoMass kg
accelerationNom/s²

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 bar is lower. The description adds real context beyond them: the exact formula applied, the unit convention of each input, and the unit of the returned value.

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 formula and computation, then units, then output. Four short sentences with little waste, though the trailing list_bundles pointer is marginally useful discovery filler rather than core definition content.

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 needn't explain return structure, and it still names the return unit. One gap: the schema exposes force_n as an input (and required parameters are zero), yet the description frames force as an output only, leaving the agent unclear on whether force_n should ever be supplied.

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 three parameters and the baseline is 3. The description restates mass in kg and acceleration in m/s², which is mildly clarifying but adds no syntax, ranges, or handling of the unusual force_n input present in 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, resource, and the governing formula (F=m·a), which unambiguously separates it from lookalike physics siblings such as calculate_kinetic_energy or calculate_energy_physics. An agent can identify the exact computation 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?

"Use for physics problems" gives an implied domain but names no alternative calculator and no exclusions (e.g., when to prefer calculate_kinetic_energy or calculate_spring_constant instead). The only cross-reference points at list_bundles, a discovery tool rather than a competing calculation.

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

calculate_fractionCalculate FractionB
Read-onlyIdempotent
Inspect

Perform fraction operations: add, subtract, multiply, divide, simplify. Returns: {input, result, decimal}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
den1YesDenominator 1
den2NoDenominator 2
num1YesNumerator 1
num2NoNumerator 2
operationYesOperation

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds the return shape ({input, result, decimal}) but nothing else behavioral — no note on divide-by-zero handling, denominator constraints, or defaults for the optional operands.

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 tight, front-loaded sentences with no filler; the operation list leads and the return/cross-reference follow. The return-value clause is slightly redundant given an output schema exists, costing a little density.

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 5 fully documented parameters, an output schema, and complete annotations, the description is close to sufficient. It could still note that num2/den2 are optional (so 'simplify' works with a single fraction) and that this tool overlaps calculate_fraction_operations.

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 of operations is fully documented in the schema, so the description's list of operations ('add, subtract, multiply, divide, simplify') merely repeats structured data. Baseline 3 is appropriate when the schema already carries parameter meaning.

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+resource ('Perform fraction operations') and enumerates the supported operations, so the tool's function is unambiguous. However, it does not distinguish itself from the near-identical sibling calculate_fraction_operations (nor from calculate_ratio_simplify), leaving the agent unable to tell why it would pick this one over that one.

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 the duplicate-looking calculate_fraction_operations sibling, nor any prerequisites. 'See list_bundles for related math calculators' is a cross-reference to a discovery tool, not usage guidance for this calculator.

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

calculate_fraction_operationsCalculate Fraction OperationsA
Read-onlyIdempotent
Inspect

Add, subtract, multiply, or divide two fractions and return the simplified result. Use for math homework. Inputs: num1/den1, op, num2/den2. Returns result fraction (lowest terms). See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
den1YesDenominator of first fraction
den2YesDenominator of second fraction
num1YesNumerator of first fraction
num2YesNumerator of second fraction
operationYesOperation to perform

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/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, so the safety profile is fully covered. The description adds the useful behavioral trait that the result is returned in lowest terms, but says nothing about edge cases such as a zero denominator or division-by-zero errors.

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 short sentences, front-loaded with the operation and result before the usage note and cross-reference. No filler, though the list_bundles sentence is tangential to calling this tool correctly.

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 covering return values and annotations covering the safety profile, the description only needs to convey the operation set and simplified-result behavior, which it does. Nothing essential for correct invocation 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 five parameters are already documented, and the description merely restates them as "num1/den1, op, num2/den2". It also abbreviates the parameter as "op" while the schema names it "operation", a minor inconsistency that adds no 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 precise verb set (add/subtract/multiply/divide) and resource (two fractions) plus the output transformation (simplified result). This distinguishes it from near-neighbors like calculate_fraction, calculate_ratio_simplify, and calculate_gcd_lcm, which an agent could otherwise 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 Guidelines3/5

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

"Use for math homework" gives an implied context but no explicit when-to-use vs. when-not, and no comparison against the many other math/arithmetic siblings (calculate_fraction, calculate_equation, calculate_ratio_simplify). The pointer to list_bundles is a cross-reference, not selection guidance.

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

calculate_freezer_durationCalculate Freezer DurationC
Read-onlyIdempotent
Inspect

Return maximum recommended freezer storage duration for a food type. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
food_typeYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the annotations—no note about input validation, error handling for invalid food types, or any scoping constraint.

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 front-loads the purpose efficiently. The second sentence ('See list_bundles for related cuisine calculators') does not help invoke this tool and slightly dilutes the description, so conciseness is adequate but not optimal.

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, has an output schema, and annotations cover safety, so the description needn't explain returns or safety. However, it lacks usage guidelines and parameter semantics, and does not distinguish itself from the closely related calculate_freezer_thaw_time, leaving clear gaps despite the low complexity.

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%, so the description must compensate, but it only repeats the parameter name via 'for a food type' and does not explain the accepted enum values or their meaning. The enum in the schema makes the values self-evident, but the description adds no semantic 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?

The description states a specific verb and resource: 'Return maximum recommended freezer storage duration for a food type.' It clearly distinguishes the purpose from most sibling calculators, but does not explicitly contrast with the closely related calculate_freezer_thaw_time, so sibling differentiation is incomplete.

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 instead of alternatives such as calculate_freezer_thaw_time or other food-storage calculators. The only routing hint is 'See list_bundles for related cuisine calculators,' which is tangential and does not help the agent choose among calculators.

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

calculate_freezer_thaw_timeCalculate Freezer Thaw TimeA
Read-onlyIdempotent
Inspect

Estimate thawing time for frozen food by weight and method. Returns: {safe_temp_check, tip}. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
methodYesThawing method
weight_kgYesFood weight kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 bar is low. The description's only extra claim is the return shape {safe_temp_check, tip}, which duplicates the output schema rather than adding behavioral context such as assumptions about starting temperature or method constraints.

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 the core capability, with no filler. The trailing list_bundles pointer is marginally useful and slightly off-topic for a thawing tool, keeping it just below a perfect score.

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 only two fully-documented parameters, an output schema, and annotations covering the safety profile, the description supplies everything an agent needs to call the tool correctly; return values need not be explained further.

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 weight_kg (kg, exclusiveMinimum 0) and the method enum (fridge/cold_water/microwave). The description only restates 'by weight and method' and adds no unit, range, or method-selection nuance 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 gives a specific verb+resource ('Estimate thawing time for frozen food') plus the driving inputs ('by weight and method'), which cleanly separates it from nearby food calculators like calculate_freezer_duration or calculate_meat_cooking. It stops short of explicitly naming the sibling it differs from, so an agent still has to infer the boundary.

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

Usage Guidelines3/5

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

Usage is only implied via the required inputs (weight and method); there is no explicit 'use this when… / not when…' guidance. The 'See list_bundles for related cuisine calculators' line is a cross-reference for discovery, not an alternative-selection rule.

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

calculate_french_income_taxCalculate French Income TaxA
Read-onlyIdempotent
Inspect

Calculate French income tax (IR) 2026 on 2025 income per Article 197 CGI: progressive brackets with family quotient, family-quotient cap (1,807 EUR per extra half-share beyond 1 share single / 2 shares couple, 903.50 EUR per quarter share) and décote (897 EUR single / 1,483 EUR couple minus 45.25% of tax). Not implemented: the 4,262 EUR cap for single parents (parent isolé) and the special 1,079 / 1,801 EUR cases of art. 197 I-2; DOM reductions. Returns: {income, family_quotient, tax_before_cap, qf_cap, tax_after_cap, decote, total_tax, effective_rate_pct, marginal_rate_pct, brackets}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
partsNoNumber of fiscal shares (1=single, 2=married, +0.5 per child)
coupleNotrue = joint taxation (married/PACS couple, base 2 shares); false = individual taxation (base 1 share)
incomeYesAnnual net taxable income in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, closed-world), and the description goes well beyond them by disclosing the algorithm (progressive brackets, family quotient, QF cap amounts, décote formula), the exact limitations of the implementation, and the returned fields. Explicitly flagging unimplemented edge cases is high-value behavioral disclosure.

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

Conciseness4/5

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

Front-loaded with purpose, year and legal reference before the detailed formula and limitation clauses; every clause carries substantive tax-law information. It is a dense, long single block rather than clearly separated sentences, which slightly hurts scannability.

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 3-parameter, read-only calculation tool with full schema coverage, an output schema and complete annotations, nothing essential is missing: it names the formula basis, the year, the scope limits and the return fields. An agent can call it correctly without further context.

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% (baseline 3), and the description still adds meaning by explaining the half-share mechanics and cap ('1,807 EUR per extra half-share beyond 1 share single / 2 shares couple, 903.50 EUR per quarter share'), which directly contextualizes the `parts` and `couple` parameters. It adds real interpretation beyond the terse 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 and resource (calculate French income tax) plus the exact tax year (2026 on 2025 income) and legal basis (Article 197 CGI). This is enough to distinguish it from siblings like calculate_french_salary, calculate_belgian_income_tax, calculate_swiss_income_tax and calculate_crypto_tax_fr without opening a schema.

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

Usage Guidelines4/5

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

Gives clear context and explicit scope exclusions ('Not implemented: the 4,262 EUR cap for single parents... DOM reductions'), which tells an agent when this tool will produce wrong answers. It also points to list_bundles for related 'finance-france' calculators. It stops short of naming a direct sibling alternative for the unsupported cases, so it is not a full 5.

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

calculate_french_salaryCalculate French SalaryA
Read-onlyIdempotent
Inspect

Convert French gross salary to net salary for 2026 (cadre, non-cadre, or civil servant). Returns monthly/annual net, social contributions, employer cost. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
statusNoEmployment statuscadre
gross_monthlyYesGross monthly salary in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is covered. The description adds the 2026 tax-year scope, which is genuinely useful behavioral context, but the 'returns monthly/annual net, social contributions, employer cost' list largely duplicates what the output schema already exposes.

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 compact sentences with the core conversion stated first, followed by the output summary and the routing pointer. Every clause is informative, though the routing sentence is the weakest link.

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 there is no need to enumerate return values, and annotations carry the safety profile. The description covers scope, year, and domain, leaving only cross-tool usage guidance as the main gap for a low-complexity two-parameter 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?

Schema coverage is 100%, so the schema fully documents gross_monthly and the status enum, making 3 the baseline. The description re-lists the status values (cadre, non-cadre, civil servant) in French terms, adding minor domain color but no syntax, units, or defaults 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: 'Convert French gross salary to net salary for 2026', including the three employment statuses and the output scope. It is clearly distinguishable from other country salary calculators (belgian, swiss) by the 'French' qualifier, though it does not name any of the many rival French finance tools 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 closing line 'See list_bundles for related finance-france calculators' is a soft routing hint but gives no when-to-use/when-not criteria against siblings like calculate_employer_cost_fr or calculate_french_income_tax. Usage is only implied by the year and status framing.

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

calculate_french_vatCalculate French VATA
Read-onlyIdempotent
Inspect

Calculate French VAT (TVA) — convert between HT (before tax) and TTC (after tax). Supports all 4 French VAT rates. Returns: {amount_ht, amount_ttc, vat_amount, vat_rate}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=before tax, ttc=after taxht
rateNoVAT rate percentage20
amountYesAmount in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false) and openWorldHint=false, so the agent knows this is a pure local computation. The description confirms it supports all 4 rates and enumerates the return fields, but that return shape is largely redundant with the output schema, so it adds limited behavioral context beyond structured 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?

Two tight sentences, front-loaded with the primary purpose followed by a secondary navigation hint. Minor waste in restating the return fields already present in the output 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 a full schema, an output schema, and complete annotations, the agent has everything needed to invoke correctly; the description's contribution is the jurisdiction scoping and conversion framing. Nothing critical is missing, though a rounding/locale note would be the one thing a French VAT tool might usefully add.

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 enums (mode: ht/ttc, rate: 2.1/5.5/10/20) are already documented in the schema. The description restates HT/TTC and the rate coverage but adds no syntax, rounding, or edge-case detail, so baseline 3 is correct.

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 French VAT (TVA)') and immediately names the two conversion directions (HT/TTC). It is clearly distinguishable from the many sibling VAT calculators (Belgian, Swiss, Moroccan, generic, reverse) by naming the French jurisdiction 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 HT/TTC conversion framing implies when the tool applies, but there is no explicit when-to-use versus the obvious alternatives (calculate_vat_generic, calculate_vat_reverse, calculate_belgian_vat). The only routing hint is a pointer to list_bundles for related 'finance-france' calculators, which is a discovery aid rather than usage guidance.

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

calculate_frequency_noteCalculate Frequency NoteB
Read-onlyIdempotent
Inspect

Calculate the frequency of a musical note based on equal temperament tuning. See list_bundles for related 'musique' calculators.

NameRequiredDescriptionDefault
noteYesNote name in chromatic scale
octaveYesOctave number (A4 = concert pitch reference)
tuning_referenceNoTuning reference frequency in Hz (default A4=440Hz)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and closed-world behavior, so the safety profile is covered. The description adds the equal-temperament computation model, which is meaningful context, but says nothing about precision, edge cases (octave bounds), or return format beyond what the output schema carries.

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 front-loaded, no wasted words. The sibling pointer is compact and clearly secondary.

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 establish what is computed and how. Equal temperament is stated, which is the key domain fact; minor gaps remain around precision and octave-bound 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 100%, so all three parameters (note enum, octave range, tuning_reference default 440Hz) are already documented in the schema. The description adds only the general tuning-model framing, which is the baseline expectation 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+resource (calculate the frequency of a musical note) and adds the tuning model (equal temperament), which is genuinely useful specificity. It does not, however, differentiate itself from the many sibling calculate_* tools beyond a link to a bundle.

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 only routing guidance is 'See list_bundles for related musique calculators,' which is a browse hint, not a when-to-use/when-not statement. There is no mention of when this tool is appropriate versus other music/audio calculators.

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

calculate_fuel_consumptionCalculate Fuel ConsumptionB
Read-onlyIdempotent
Inspect

Calculate fuel consumption in L/100km and MPG from distance and fuel used. Returns: {l_100km, mpg_us, mpg_uk, co2_g_km_petrol}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
distance_kmYesDistance in km
fuel_litersYesFuel consumed in liters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 shape of the result set (l_100km, mpg_us, mpg_uk, co2_g_km_petrol), but since an output schema exists, that restates structured data rather than disclosing new behavioral traits such as how co2 is derived or edge-case handling.

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 computation and its output units. The trailing list_bundles pointer is mildly tangential but short enough not to bloat the definition.

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 calculator with full schema coverage, an output schema, and annotations covering the safety profile, the description supplies everything needed to invoke it correctly. Only the missing sibling differentiation keeps it from being 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 coverage is 100% and both parameters (distance_km, fuel_liters) are documented in the schema with units and minimums. The description's mention of 'distance and fuel used' mirrors the schema without adding constraints, formats, or units beyond what is already given; 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), resource (fuel consumption), the output units (L/100km and MPG), and the inputs (distance and fuel used). This implicitly distinguishes it from relatives like convert_fuel_consumption and calculate_fuel_economy_conversion, though it never names those siblings explicitly to sharpen the boundary.

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, no when-not, and no named alternative. The only pointer is 'See list_bundles for related auto-transport calculators,' which is discovery navigation rather than guidance on choosing this tool over convert_fuel_consumption or calculate_fuel_cost.

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

calculate_fuel_costCalculate Fuel CostA
Read-onlyIdempotent
Inspect

Compute fuel cost for a journey. Use for trip budgeting or company expense. Inputs: distance km, consumption L/100km, fuel price €/L. Returns total cost and L used. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
fuel_priceYesPrice/liter
consumptionYesL/100km
distance_kmYesDistance km

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is covered by structured data. The description adds only the output summary (total cost and liters used), which is largely duplicated by the existing output schema, and says nothing about rounding, currency handling, or units of the result.

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, then use case, inputs, output, and a cross-reference in four short sentences with little waste. The inputs sentence is somewhat redundant with the schema, but the overall shape is tight.

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 pure deterministic calculator with full annotations, a 100%-covered schema, and an output schema, the description supplies enough framing (purpose, use case, inputs, related bundle). It omits only minor things like rounding/currency assumptions of the returned cost.

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 the schema already documents all three parameters with units. The description restates the same inputs with the same units, adding no meaning beyond the schema descriptions (e.g., no note on acceptable ranges or what consumption means for the result).

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 fuel cost for a journey'), so it is unambiguous against the many sibling calculators. It does not, however, explicitly distinguish itself from the closest sibling calculate_fuel_consumption, which is the main ambiguity an agent would face.

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 concrete use contexts ('trip budgeting or company expense') and points to list_bundles for adjacent 'auto-transport' calculators. There are no when-not conditions or an explicit hand-off to a specific alternative tool, but the usage context is clear.

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

calculate_fuel_economy_conversionCalculate Fuel Economy ConversionA
Read-onlyIdempotent
Inspect

Convert between fuel economy units: L/100km, mpg-US, mpg-UK, km/L. Use for car comparisons across regions. Inputs: value, from-unit, to-unit. Returns converted economy. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesFuel economy value to convert
to_unitYesTarget unit of fuel economy
from_unitYesSource unit of fuel economy

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world, which fully covers the safety profile for a pure arithmetic conversion. The description adds no behavioral context beyond that (no edge cases, no rounding/precision notes), but nothing is contradicted, so a 3 is appropriate given the low bar set by rich 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?

Short and front-loaded: the unit list and purpose come first, and it is easy to scan. The "Inputs: ..." and "Returns converted economy" clauses are largely redundant against the input schema and output schema, a minor waste but not enough to hurt 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?

For a simple, stateless conversion tool with full annotation coverage, a complete input schema, and an output schema, the description is essentially sufficient – the agent needs nothing more to invoke it correctly. The one real gap is not routing against the overlapping `convert_fuel_consumption` sibling.

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 unit parameters carry enums, so the schema fully documents the parameters. The description's "Inputs: value, from-unit, to-unit" merely restates them without adding format, constraint, or default semantics beyond what the schema provides – baseline 3.

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 (fuel economy units) and enumerates the four supported units, so the agent knows exactly what operation is performed. However, it never distinguishes itself from the near-identical sibling `convert_fuel_consumption` (nor `calculate_fuel_consumption`), which is the key differentiator an agent would need.

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?

"Use for car comparisons across regions" gives one implied usage context, which is better than nothing. But it provides no when-not guidance and no routing away from the confusingly similar `convert_fuel_consumption` sibling, so the agent must guess which of the two to call.

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

calculate_future_valueCalculate Future ValueB
Read-onlyIdempotent
Inspect

Compute the future value (FV) of a present sum at a given interest rate. Use for savings projections. Inputs: present value, annual rate %, years, compounding frequency. Returns FV and total interest. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
rateYesAnnual rate percent
yearsYesNumber of years
present_valueYesPresent value EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, non-destructive, offline read. The description adds that the result includes FV and total interest, but that duplicates the output schema, and it discloses nothing about rounding, decimal conventions, or how negative/zero edge cases behave. Adequate but thin given the low bar set by full annotation coverage.

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 short sentences, front-loaded with the core computation and ending with a useful bundle pointer. The input enumeration partly restates the schema and introduces the erroneous compounding-frequency item, costing a little efficiency.

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 simple three-parameter calculator with an output schema and full annotations, the description covers purpose, a use case, and return values. The unsupported compounding-frequency claim is the one material gap that could cause an incorrect 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 100%, so the schema already defines present_value, rate, and years. However, the description lists 'compounding frequency' as an input while the schema has only three properties and additionalProperties:false, so the extra named input is phantom and likely to mislead an agent into searching for a parameter that does not exist.

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 future value (FV) of a present sum at a given interest rate'), which is distinct from the inverse calculate_present_value and from calculate_compound_interest. It does not explicitly name the sibling it differs from, 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?

'Use for savings projections' gives one positive context but no when-not conditions and no routing among the many finance siblings (calculate_present_value, calculate_compound_interest, calculate_annuity_payment). The cross-reference to list_bundles is a generic pointer, not an alternative-selection rule.

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

calculate_garden_soilCalculate Garden SoilB
Read-onlyIdempotent
Inspect

Compute soil volume (m³) and number of bags needed for a garden bed. Use for gardening. Inputs: area, depth, bag volume. Returns m³ and bag count. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
width_mYesWidth m
depth_cmYesDepth cm
length_mYesLength m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/5.0
Behavior3/5

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

Annotations already fully declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds the return payload ('Returns m³ and bag count'), which is mildly useful even though an output schema exists, but discloses nothing about bag-volume assumptions, rounding, or units handling.

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?

Compact and front-loaded: the computation and return values come first, followed by usage and a cross-reference. Every sentence is short, though the inaccurate input list is wasted space that should have matched the schema.

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 three-parameter calculator with full schema coverage and an output schema, the description is roughly sufficient on returns and safety. Its completeness is undermined by the fabricated input list (area, bag volume) that contradicts the actual schema, leaving the agent to reconcile a mismatch.

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 covers all three parameters at 100%, which would normally be a baseline 3, but the description actively misstates them: it lists 'area, depth, bag volume' while the schema actually defines length_m, width_m, and depth_cm. Only 'depth' maps to a real parameter, so the description misleads rather than informs.

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+resource: computes soil volume in m³ plus bag count for a garden bed. This is distinguishable from siblings like calculate_raised_bed_soil or calculate_compost_volume, though it never names them. Purpose is clear without being explicitly differentiated.

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?

'Use for gardening' is a trivial restatement with no when/when-not guidance and no comparison to the nearest siblings (raised bed soil, compost volume, garden water needs). The 'See list_bundles' pointer routes to a discovery tool, not to the alternative the agent should choose between.

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

calculate_garden_sunlight_hoursCalculate Garden Sunlight HoursB
Read-onlyIdempotent
Inspect

Estimate effective daily sunlight hours for a garden based on latitude, month and orientation. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
monthYesMonth number (1=January, 12=December)
latitudeYesLatitude in degrees (-90 to 90)
orientationYesGarden orientation / aspect

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered structurally. The description contributes one piece of real context — the word 'effective' signals the output is a practical/attenuated figure rather than raw astronomical daylight — but does not explain what adjustments are applied or the precision of the estimate. With an output schema present, return format need not be described.

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 with the computational intent front-loaded and no filler. The trailing list_bundles pointer is only marginally on-topic for this specific tool, keeping 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?

For a three-parameter, read-only calculation with a full-coverage schema, existing annotations and an output schema, the description covers what is needed to invoke it. The only real omission is disambiguation from the sun/solar siblings, which is a discoverability rather than invocation 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% with a documented enum for orientation, so the schema already carries full parameter meaning. The description merely restates the three parameter names without adding interpretation, such as how orientation maps to reduced hours or how latitude interacts with month. 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?

Names a specific verb+resource ('Estimate effective daily sunlight hours for a garden') and the three determinant inputs, which is more precise than most sibling calculate_* names. However, it does not distinguish itself from nearby siblings such as calculate_sun_exposure or calculate_sunrise_sunset, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

The only usage-adjacent sentence points at list_bundles for 'jardinage' calculators, which is discovery guidance rather than when-to-use guidance. There is no statement of when this tool is preferable to calculate_sun_exposure or calculate_sunrise_sunset, 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.

calculate_garden_water_needsCalculate Garden Water NeedsB
Read-onlyIdempotent
Inspect

Compute weekly water needs for a garden by area and plant type. Use for irrigation planning. Inputs: garden m², climate, plant mix. Returns L/week and watering frequency. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
seasonYesCurrent season
plant_typeYesType of plants in the garden
surface_m2YesGarden surface area in square meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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. The description's "Returns L/week and watering frequency" only duplicates the existing output schema, adding little behavioral insight beyond 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?

Four short, front-loaded sentences with no filler; the purpose leads and details follow. The only slightly wasteful part is restating return values already covered by the output 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?

For a read-only calculator with a full output schema and annotated safety profile, the description is nearly sufficient and even adds a useful cross-reference to list_bundles. The input paraphrase mismatch (climate vs season, plant mix vs plant_type) is the main remaining gap.

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 coverage is 100%, so the baseline is 3, but the description's paraphrase is inaccurate: it names "climate" where the schema parameter is season, and "plant mix" where the schema has a singular plant_type enum. Renaming parameters risks misleading the agent rather than clarifying them, dropping it below the schema-only baseline.

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 (weekly water needs for a garden by area and plant type), which clearly separates it from garden-adjacent siblings like calculate_garden_soil or calculate_garden_sunlight_hours. The core purpose is unambiguous, though it doesn't explicitly name which sibling would be used instead.

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?

"Use for irrigation planning" implies a usage context but gives no when-not guidance, prerequisites, or explicit alternatives among the many garden/water calculators. The mention of list_bundles is a directory pointer, not selection guidance.

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

calculate_gas_fee_ethCalculate Gas Fee EthA
Read-onlyIdempotent
Inspect

Calculate Ethereum transaction gas fee in ETH and USD. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
gas_limitNoGas limit for the transaction (default 21000 for simple transfer)
eth_price_usdNoCurrent ETH price in USD (default 3000)
gas_price_gweiYesGas price in Gwei

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/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 only that both ETH and USD figures are returned, which is thin and partly redundant with the output schema; no mention of defaults or assumptions (e.g. default gas limit/ETH price) at the behavioral level.

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, front-loaded with the core purpose and followed by a single relevant discovery pointer. No filler, no restating 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?

With a full output schema and 100% schema coverage, the description needn't explain parameters or return values, and it names the resource and output units. What is missing is only minor: which gas-price/limit conventions or defaults apply when an agent omits optional inputs, which the schema already handles via defaults.

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 (gas_limit, eth_price_usd, gas_price_gwei) are already documented with units, defaults and minimums in the schema. The description contributes no additional parameter meaning, 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 a precise resource (Ethereum transaction gas fee) plus the unit of the result (ETH and USD). This clearly distinguishes it from the hundreds of sibling calculators, none of which share this resource.

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: an agent infers it should call this when it wants an ETH gas-fee estimate. The pointer to list_bundles is a discovery aid for related crypto calculators rather than a when-to-use/when-not rule or an explicit alternative for the same task.

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

calculate_gcd_lcmCalculate GCD LCMA
Read-onlyIdempotent
Inspect

Calculate GCD (PGCD) and LCM (PPCM) of two integers using Euclidean algorithm. Returns: {gcd, lcm}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesFirst integer
bYesSecond integer

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and non-destructive, so the safety profile is covered. The description adds that it uses the Euclidean algorithm and returns {gcd, lcm}, which is modest but genuine added context for a pure computation.

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 action, then return shape, then a cross-reference. Compact and largely waste-free, with only the list_bundles pointer being of marginal value.

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-integer pure-computation tool with full schema coverage, annotations, and an output schema, the description supplies everything needed to call it correctly. Return format is even restated despite the output schema handling 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% with both 'a' and 'b' documented as integers. The description only restates 'two integers', adding no syntax, range, or edge-case meaning 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.

Purpose5/5

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

States a specific verb (Calculate) and precise resources (GCD/PGCD and LCM/PPCM of two integers), plus the algorithm used. This clearly distinguishes it from the hundreds of adjacent calculate_* 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?

The description implies its use case (compute GCD/LCM) but gives no explicit when-to-use or when-not guidance relative to alternatives. The pointer to list_bundles for related 'math' calculators is a discovery aid, not functional selection guidance.

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

calculate_gear_ratioCalculate Gear RatioA
Read-onlyIdempotent
Inspect

Compute gear ratio and torque/speed multiplication. Use for mechanical engineering, cycling, automotive. Inputs: driver teeth, driven teeth. Returns ratio and torque multiplier. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
driven_teethYesDriven gear teeth
driving_teethYesDriving gear teeth

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 by structured data. The description adds the output content ('ratio and torque multiplier') but no behavioral context such as assumptions about units, edge cases, or rate limits, so it earns a baseline rather than a high score.

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 short, front-loaded sentences with no filler: purpose first, then domains, then inputs, then outputs. The final cross-reference to list_bundles is tangential to the calculation itself but is cheap and potentially useful for discovery.

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 needn't explain the return shape, and annotations already carry the safety semantics. It covers purpose, domains, inputs, and a discovery pointer, which is sufficient for a two-parameter, single-formula calculator, though a note on units or the driving/driven convention would have closed the last 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 both parameters are already documented as 'Driving gear teeth' and 'Driven gear teeth'. The description's 'driver teeth, driven teeth' restates that in slightly looser wording and adds no syntax, unit, or constraint detail, 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 ('Compute') and resource ('gear ratio'), and extends the scope to 'torque/speed multiplication', which tells an agent exactly what computation is performed. It does not, however, name or distinguish itself from the very similar siblings calculate_braquet, calculate_velo_development, or calculate_motor_torque, so the boundary 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 Guidelines3/5

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

The description lists domain contexts ('mechanical engineering, cycling, automotive'), which is implied usage guidance, and it cross-references list_bundles for related 'science' calculators. It never states when NOT to use this tool or why an agent should pick it over the closely related gear/cycling calculators in the sibling list.

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

calculate_glycemic_loadCalculate Glycemic LoadB
Read-onlyIdempotent
Inspect

Calculate glycemic load (GL) per food and total for a meal. Returns: {thresholds}. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
foodsYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 a terse 'Returns: {thresholds}' note, but it is a placeholder rather than meaningful behavioral context and the output schema already covers return shape.

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 with the core purpose front-loaded and no filler. The trailing list_bundles pointer is arguably waste for this tool, keeping it short of a 5.

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 explained. However, with 0% schema description coverage and a structured foods input, the description leaves the agent without guidance on the required per-food fields, which is a real gap for calling the tool correctly.

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% and the single 'foods' parameter is an array of objects whose required fields (name, gi, carbs_g, portion_g) are undocumented in both schema and description. 'Per food and total for a meal' hints that input is a per-food list, but it does not explain the required per-item fields or their units/ranges.

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 glycemic load (GL)') and clarifies the scope as 'per food and total for a meal', which distinguishes it from generic nutrition calculators like calculate_recipe_nutrition. It does not explicitly name a sibling it is not, but the meal-level GL framing is specific enough to identify the tool.

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 only guidance is 'See list_bundles for related cuisine calculators', which is an off-topic pointer that does not tell the agent when to use this tool versus alternatives such as calculate_recipe_nutrition. There are no conditions, prerequisites, or exclusions.

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

calculate_gpa_frenchCalculate GPA FrenchA
Read-onlyIdempotent
Inspect

Convert French school grades (out of 20) to GPA and academic mention. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
note_1YesGrade 1 out of 20
note_2YesGrade 2 out of 20
note_3NoGrade 3 out of 20 (optional)
note_4NoGrade 4 out of 20 (optional)
note_5NoGrade 5 out of 20 (optional)
coeff_1NoCoefficient for grade 1
coeff_2NoCoefficient for grade 2
coeff_3NoCoefficient for grade 3 (0 if unused)
coeff_4NoCoefficient for grade 4 (0 if unused)
coeff_5NoCoefficient for grade 5 (0 if unused)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds no behavioral context beyond the conversion purpose, such as how optional grades or coefficients affect the calculation. With annotations carrying the behavioral burden, this is adequate but not enriched.

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 first sentence is front-loaded and states the core conversion clearly. The second sentence cross-references list_bundles, which is somewhat tangential to invoking this specific tool but brief. Overall appropriately sized with minimal waste.

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 tool has 10 parameters, but schema coverage is full and an output schema exists, so return values and parameter details need not be repeated in the description. Annotations cover safety, and the description states the core conversion. It is complete enough for correct invocation, though it does not clarify sibling selection.

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 ten parameters are documented in the input schema. The description only notes that grades are out of 20 and that the output includes a mention, adding no parameter-level syntax or format details 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 (Convert) and resource (French school grades out of 20) along with the outputs (GPA and academic mention). This distinguishes it from generic grade calculators like calculate_grade_average by the French 0–20 scale and mention conversion.

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 only guidance is 'See list_bundles for related education calculators,' which points to a catalog rather than explaining when to choose this tool over siblings. Usage is implied by the conversion purpose, but no explicit conditions, prerequisites, or alternatives are named.

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

calculate_grade_averageCalculate Grade AverageA
Read-onlyIdempotent
Inspect

Compute simple or weighted grade average. Use for school report cards. Inputs: grades list, optional weights/coefficients. Returns weighted average and missing-grade-needed forecast. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
gradesYesArray of grades
coefficientsNoOptional array of coefficients/weights

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and non-destructive behavior, so the safety profile is covered. The description adds the non-obvious capability of returning a 'missing-grade-needed forecast', which is genuine behavioral value, but it says nothing about validation (e.g., coefficient/grades length mismatch) 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?

Four short sentences, front-loaded with the core action before usage, inputs, and the cross-reference. Efficient overall, though the trailing bundle pointer is slightly tangential to calling 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?

Output schema exists so return values need no elaboration, and annotations cover the safety profile; the description still adds inputs and the forecast capability. The main gap is failing to position itself against the near-identical calculate_average and calculate_grade_needed 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%, so the schema fully documents both parameters. The description merely restates them ('grades list, optional weights/coefficients') without adding format or constraint meaning, which is the correct baseline 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+resource ('Compute simple or weighted grade average') and scopes it to school report cards. It distinguishes itself somewhat from the generic calculate_average sibling by the 'grade' qualifier, but never names calculate_average or calculate_grade_needed explicitly, so sibling disambiguation 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 Guidelines3/5

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

Provides an implied usage context ('Use for school report cards') but no when-not guidance and no named alternatives. With siblings like calculate_average and calculate_grade_needed in the same domain, the agent must guess which tool applies to a bare averaging request.

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

calculate_grade_neededCalculate Grade NeededC
Read-onlyIdempotent
Inspect

Calculate the grade needed on remaining exams to reach target average. Returns: {error}. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
exams_doneYesNumber of exams completed
exams_totalYesTotal number of exams
target_averageYesTarget final average
current_averageYesCurrent average out of 20

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds nothing behavioral beyond that: no note on how it handles unreachable targets, invalid exam counts, or rounding, and the templated 'Returns: {error}' line conveys no real information.

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 description is short and leads with the core purpose, which is good. However, the second sentence is boilerplate: the 'Returns: {error}' placeholder is an unsubstituted template token, and the list_bundles cross-reference does little work here, so not every sentence earns its place.

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 simple read-only calculator with a full parameter schema and an output schema, the description is close to adequate, but it leaves real gaps: it never states the expected unit convention (the schema's 0-20 bounds imply a French-style scale), and the placeholder return line adds confusion rather than clarity. An agent would still have to infer the grade-scale context from the schema alone.

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 in the schema, including the 0-20 range for averages and the exclusive minimum on exam counts. The description adds no syntax, ordering, or validation semantics beyond what the schema already states, 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: computes the score required on remaining exams to hit a target average. That is distinguishable from generic siblings like calculate_grade_average or calculate_average, though the description never explicitly names the neighboring grade/GPA calculators it could be confused 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 when-to-use or when-not-to-use guidance, and no naming of alternatives such as calculate_grade_average or calculate_gpa_french. The only routing hint, 'See list_bundles for related education calculators', is a discovery pointer, not a criterion for selecting this tool over a sibling.

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

calculate_gravel_quantityCalculate Gravel QuantityB
Read-onlyIdempotent
Inspect

Compute gravel volume (m³) and weight (tonnes) for a surface and depth. Use for paths, foundations, drainage. Inputs: area, depth, gravel density. Returns volume and weight. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
width_mYesWidth m
depth_cmYesDepth cm
length_mYesLength m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered. The description adds that it returns volume and weight, but with an output schema present this adds little beyond structured data, and no rate limits, auth, or density-handling behavior are 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?

Short and front-loaded with the core computation first, then usage, inputs, returns, and routing. Every sentence is brief, though the inaccurate inputs sentence does not earn its place.

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 simple pure-calculation tool with full schema coverage, annotations, and an output schema, the description is largely adequate. The incomplete/misleading input list is the main gap, since the weight output presumably relies on a density default that is never explained.

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 coverage is 100% and requires length_m, width_m, and depth_cm, but the description lists 'Inputs: area, depth, gravel density' - 'area' is a derived value and 'gravel density' is not a parameter at all. This mismatches the schema and could mislead the agent about what to supply.

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 gravel volume (m³) and weight (tonnes) for a surface and depth. This clearly distinguishes it from generic volume tools like calculate_volume or calculate_compost_volume, though it doesn't explicitly name a sibling it is not.

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?

Gives use contexts ('paths, foundations, drainage') and routes to list_bundles for related construction calculators, which is helpful. However, there are no when-not conditions or explicit alternatives among the many sibling calculators.

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

calculate_grocery_unit_comparisonCalculate Grocery Unit ComparisonA
Read-onlyIdempotent
Inspect

Compare unit prices of grocery items — normalizes g→kg, mL/cL→L. Returns: {best_value, savings_vs_priciest}. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
itemsYesItems: name, price, quantity, unit (kg/g/L/mL/cl/unit)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/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 the bar is low. The description adds genuine behavior beyond that: automatic normalization of g→kg and mL/cL→L, which tells the agent it need not pre-convert units before calling.

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 sentences with no filler; the core purpose and normalization rule are front-loaded, and the sibling reference is relegated to the end. Nothing needs trimming.

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 explaining the return shape is optional (and done here, harmlessly). With 100% schema coverage and full annotations, the definition is nearly self-sufficient; only the lack of differentiation from calculate_unit_price keeps it short of complete.

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 nested item schema already documents name/price/quantity/unit, so the baseline is 3. The description adds value beyond the schema by specifying which conversions are performed (g→kg, mL/cL→L), clarifying how the 'unit' field will be interpreted.

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+resource ('Compare unit prices of grocery items') plus the normalization behavior, so the agent knows exactly what is computed. It does not, however, differentiate itself from the near-identical sibling calculate_unit_price, which is the main ambiguity in a catalog this size.

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 phrase 'grocery items' (multiple items, per the minItems:2 constraint). The only explicit routing is 'See list_bundles for related vie-quotidienne calculators,' which points at a discovery tool rather than naming when to pick this over calculate_unit_price. No when-not conditions are given.

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

calculate_harvest_dateCalculate Harvest DateB
Read-onlyIdempotent
Inspect

Estimate harvest date for vegetables based on sowing date and region. Returns: {harvest_date, days_to_harvest}. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
regionYesGrowing region: north (+10 days), south (-10 days), mediterranean (-15 days)
plant_typeYesType of vegetable
sowing_dateYesSowing date in ISO format (YYYY-MM-DD)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior2/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 fully covered. The description adds nothing behavioral beyond that: the advertised return payload is redundant with the output schema, and no assumptions, precision caveats, or failure modes are 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?

Two sentences, no filler, with the core purpose front-loaded and the bundle pointer relegated to the end. 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 simple deterministic, closed-world calculator with full annotations, complete required params and an output schema, the description is sufficient to invoke correctly. Minor gaps: no statement of what the estimate assumes (e.g. climate/frost independence) or that all three inputs are mandatory.

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 region enum already documents the +10/-10/-15 day offsets, so the schema carries parameter meaning. The description restates the inputs without adding format or semantics beyond the schema, which is the expected baseline.

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 ('Estimate') plus resource ('harvest date for vegetables') and names the two driving inputs (sowing date, region). It is clearly distinguishable from garden-adjacent siblings like calculate_seed_quantity or calculate_garden_soil, though it does not explicitly contrast against them.

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 only guidance is a cross-reference to list_bundles for 'jardinage' calculators, which is a discovery pointer rather than a when-to-use statement. There is no indication of prerequisites, when a different tool fits better, or limits on applicability.

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

calculate_hat_sizeCalculate Hat SizeA
Read-onlyIdempotent
Inspect

Calculate hat size in FR/EU, US/UK systems and standard S/M/L/XL from head circumference (cm). Returns: {head_circumference_cm, FR_EU, US_UK, standard_size}. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
head_circumference_cmYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4/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 outside the description. The description adds little beyond that — it restates the returned field names, which the output schema already provides — and says nothing about validation behavior (e.g. what happens for out-of-range circumference despite exclusiveMinimum) or rounding conventions for the size mapping.

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 tight sentences, with the core capability front-loaded and the return shape trailing. The trailing 'See list_bundles' pointer is marginal filler for a single-purpose calculator but costs only a few words.

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, non-destructive calculator with full annotations and an output schema, the description covers purpose, input unit, and output systems — everything needed to invoke it correctly. No behavioral gaps remain that the structured fields don't already close.

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 0%, so the description carries the burden for the single parameter; it does so by supplying the unit ('head circumference (cm)') that the schema omits. With only one clearly named required input, this is adequate, though it does not state the accepted range or precision expected.

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 ('Calculate hat size') and enumerates the exact output systems (FR/EU, US/UK, S/M/L/XL) plus the input basis (head circumference in cm). An agent can immediately tell this apart from sibling calculators such as calculate_bra_size or calculate_clothing_size_convert.

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 resource name; there is no explicit when-to-use, no prerequisites, and no named alternative among the many sizing/convert siblings. The one routing hint ('See list_bundles for related textile-mode calculators') points at a bundle-directory tool rather than a competing calculator, so it helps discovery but not tool selection.

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

calculate_heart_rate_zonesCalculate Heart Rate ZonesA
Read-onlyIdempotent
Inspect

Calculate heart rate training zones Z1-Z5, optionally using Karvonen method. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
max_hrYesMaximum heart rate in bpm
resting_hrNoResting heart rate for Karvonen method (bpm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and closed-world, so the safety profile is fully covered without description help. The description adds the meaningful behavioral fact that a Karvonen variant exists and changes the calculation, but says nothing about input validation bounds or failure modes.

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, with the core capability front-loaded. The trailing 'See list_bundles for related sante calculators' is the weakest element and reads as filler for an agent trying to decide between this tool and its siblings, but it costs little.

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 2-parameter, single-responsibility calculator with a full output schema and complete annotations, the description covers what is computed and which zone family is returned. The omission is disambiguation from sibling heart-rate and training-zone tools, not missing operational detail.

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 carry their own descriptions, including the explicit 'Resting heart rate for Karvonen method (bpm)' on resting_hr. The description's mention of the Karvonen method merely restates that linkage, adding no format, default, or dependency 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 and resource ('Calculate heart rate training zones Z1-Z5') and names the optional Karvonen method, so the agent knows exactly what is produced. It does not, however, distinguish itself from near-neighbors in the toolset such as calculate_training_zones_running or calculate_max_heart_rate, so an agent cannot route between them from the description alone.

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

Usage Guidelines3/5

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

'Optionally using Karvonen method' implies the condition under which resting_hr is supplied, which is useful implied usage guidance. But no explicit when-to-use/when-not statement is given, and the only cross-reference points at list_bundles (a catalog tool) rather than at the competing sibling calculators, so alternative selection 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.

calculate_heat_indexCalculate Heat IndexA
Read-onlyIdempotent
Inspect

Calculate the apparent temperature (heat index) from temperature and humidity. Returns: {heat_index_c, feels_warmer_by_degrees, risk_level}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
humidity_pctYesRelative humidity in percent
temperature_cYesAir temperature in degrees C

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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's return-shape listing is largely redundant with the existing output schema and it discloses no edge-case behavior (e.g., validity ranges for heat index). With annotations carrying the safety 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.

Conciseness4/5

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

Three short sentences, front-loaded with the core purpose. The explicit Returns block is somewhat redundant given a formal output schema exists, but overall it is tight and earns most of its 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?

For a simple 2-parameter, fully-documented tool with an output schema and full annotations, the description covers purpose, inputs, and returns sufficiently. The bundle cross-reference adds useful context; only minor gaps (physical validity constraints) remain.

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 in the schema (humidity 0-100%, temperature in C). The description names the inputs but adds no units, ranges, or format detail 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 verb (Calculate) and resource (apparent temperature / heat index) plus the two inputs, making it clearly distinguishable from siblings like calculate_wind_chill or calculate_dew_point. An agent can identify the tool's function 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 its use (given temperature and humidity) and offers a cross-reference to list_bundles for related calculators, but it gives no explicit when-to-use vs. when-not guidance nor names the closest alternative tools. Adequate but with a clear gap.

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

calculate_heat_pump_copCalculate Heat Pump CopB
Read-onlyIdempotent
Inspect

Compute heat pump Coefficient of Performance (COP). Use for HVAC efficiency analysis. Inputs: heat output kW, electric input kW. Returns COP and seasonal SCOP estimate. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
indoor_tempNoIndoor target °C
outdoor_tempYesOutdoor temperature °C

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 only that it returns 'COP and seasonal SCOP estimate', which the output schema already conveys. No auth, rate-limit, or edge-case context is provided.

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 short sentences, front-loaded with the core purpose and scope. The trailing bundle pointer is slightly tangential but not wasteful.

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?

The description contradicts the schema on what inputs are required, which is a correctness gap an agent could act on wrongly. Output schema covers returns, but the input mismatch leaves the definition incomplete/inaccurate 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 coverage is 100% (baseline 3), but the description actively misdescribes the inputs: it claims 'heat output kW, electric input kW' while the schema actually takes indoor_temp and outdoor_temp. This conflicting parameter description is misleading rather than additive.

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 (heat pump Coefficient of Performance), and 'Use for HVAC efficiency analysis' frames the domain. It is distinguishable from the many generic 'calculate_*' siblings, though it does not name any specific sibling it differs from.

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?

'Use for HVAC efficiency analysis' gives implied context, and 'See list_bundles for related energie calculators' points at discovery. However, there is no explicit when-to-use/when-not or any named alternative among the hundreds of calculate_* tools.

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

calculate_horse_weightCalculate Horse WeightA
Read-onlyIdempotent
Inspect

Estimate horse weight using Carroll formula from heart girth and body length. Use for vets, feed dosing. Inputs: heart girth cm, body length cm. Returns weight kg. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
body_length_cmYesBody length cm
heart_girth_cmYesHeart girth circumference cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/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 safe-read profile is covered. The description adds value beyond that by naming the estimation algorithm (Carroll formula) and the output unit (kg), which tells the agent the result is an approximation method rather than a measured value.

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 short, front-loaded sentences; the core purpose, use case, inputs, and output are stated with no filler. The trailing bundle reference is a minor add but still relevant.

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 value need not be spelled out, and the description still notes 'Returns weight kg'. For a two-parameter, fully-covered, read-only calculator this is essentially complete; only the usage exclusion 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% and both parameters are already documented with names. The description merely restates 'heart girth cm, body length cm' without adding format, range, or measurement guidance, so it earns the baseline 3 for a fully-covered 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+resource ('Estimate horse weight'), the exact method (Carroll formula), and the driving inputs (heart girth and body length). This is unambiguous against the huge family of sibling calculate_* tools.

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 a clear usage context ('Use for vets, feed dosing') and points to list_bundles for related 'animaux' calculators, so the agent knows the domain. It stops short of naming a when-not condition or a specific alternative calculator to use instead.

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

calculate_hourly_costCalculate Hourly CostB
Read-onlyIdempotent
Inspect

Compute fully-loaded hourly cost-to-company. Use for project pricing or freelance rate. Inputs: monthly salary, social charges %, billable hours/month. Returns true hourly cost. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
work_daysNoWorking days/year
charges_pctNoEmployer charges %
annual_grossYesAnnual gross salary EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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, and an output schema exists, so the safety and return-value burden is lifted. The description adds only 'Returns true hourly cost', which is redundant with the output schema, and no computation assumptions (e.g., how charges_pct is applied).

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?

Front-loaded and short, which is good, but the 'Inputs:' sentence restates schema fields incorrectly and therefore does not earn its place. The list_bundles pointer is useful cross-referencing but sits at the tail.

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 simple three-parameter calculator with a full output schema and annotations, the description is nearly sufficient. However, the annual-vs-monthly input mismatch and the unspecified treatment of charges_pct/work_days leave the agent with an incorrect mental model of the required inputs.

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 coverage is 100% (baseline 3), but the description's input list actively contradicts the schema: it says 'monthly salary' when the required parameter is annual_gross (annual gross salary EUR), and 'billable hours/month' when the parameter is work_days (working days/year). This misleads the agent about required input units and time base.

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 fully-loaded hourly cost-to-company', which is unambiguous. It does not differentiate itself from close siblings such as calculate_employer_cost_fr, calculate_french_salary, or calculate_salary_hourly_to_annual (the inverse operation), so an agent must guess between 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?

'Use for project pricing or freelance rate' gives an implied context but no explicit when-not or named alternative. The sibling set contains several near-duplicate salary/cost calculators, and the description only points to list_bundles rather than routing the agent to the correct sibling.

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

calculate_housing_aidCalculate Housing AidA
Read-onlyIdempotent
Inspect

Estimate French housing aid (APL — Aide Personnalisee au Logement). Returns: {rent, rent_ceiling, estimated_apl, note}.

NameRequiredDescriptionDefault
rentYesMonthly rent in euros
city_zoneNoCity zone: 1 (Paris/IDF), 2 (large cities), 3 (rural)2
household_sizeNoNumber of people in household (1-6)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a safe, read-only, idempotent, closed-world computation, so the safety profile is fully covered. The description adds only the 'estimate' framing and names a 'note' field, which hints at caveats but does not explain the simplifications or the meaning of the returned note. 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.

Conciseness5/5

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

Two short clauses, zero waste, and the core purpose is front-loaded before the return-shape mention. Every sentence earns its place.

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 and annotations cover return values and safety, so little more is strictly required. However, for a French housing-aid estimator whose real-world calculation depends on household income, the description never flags that this is a simplified estimate with assumptions, leaving an agent unable to judge reliability.

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% (rent, city_zone with enum meaning, household_size range), so the schema already documents all three parameters. The description adds no parameter-level meaning beyond that, which is the correct baseline when the schema is complete.

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 a specific resource (French housing aid / APL), with the French expansion spelled out. It is easily distinguished from the large sibling set, including other French benefit calculators like calculate_prime_activite or calculate_pinel_tax_reduction.

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 when-to-use context, no eligibility prerequisites (income, tenant status), and no indication of how it differs from neighboring French-aid tools. The reader only knows what it computes, not when it is the right tool.

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

calculate_housing_loan_comparisonCalculate Housing Loan ComparisonB
Read-onlyIdempotent
Inspect

Compare multiple mortgage offers sorted by total cost. Returns: {offers_count, best_offer, comparison}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
offersYesList of mortgage offers to compare
loan_amountYesLoan amount in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 one genuine addition is that results are ranked by total cost, a real behavioral trait; the listed return keys largely restate what the existing output schema already 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?

Two short sentences, front-loaded with the core action and ranking behavior. The trailing list_bundles pointer is minor padding but not harmful.

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 enumerate return values, and annotations cover safety; the schema fully documents inputs. It is complete for correct invocation, missing only guidance on how this comparison tool relates to the other mortgage calculators.

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% for both parameters, including nested offer fields (rate, bank_name, duration_years, insurance_rate), so the schema carries parameter meaning. The description adds nothing about parameter format or constraints, which is acceptable at this coverage level.

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 (compare multiple mortgage offers) plus a scope detail (sorted by total cost), which is enough to separate it from single-offer calculators like calculate_mortgage or calculate_loan_payment. It never names a sibling explicitly, so differentiation is implied 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 guidance and no comparison against the many mortgage/loan siblings (calculate_mortgage, calculate_us_mortgage, calculate_mortgage_insurance, calculate_loan_early_repayment). The pointer to list_bundles is a discovery cross-reference, not an alternative-selection rule.

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

calculate_hydrationCalculate HydrationB
Read-onlyIdempotent
Inspect

Compute recommended daily fluid intake by weight, activity, and weather. Use for athletes and outdoor workers. Inputs: weight kg, activity hours, temperature °C. Returns L/day and electrolyte recommendation. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
climateNoClimate/environmenttemperate
weight_kgYesBody weight in kilograms
activity_minutesNoDaily exercise duration in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the return shape (L/day plus an electrolyte recommendation), which is helpful context, but with an output schema present and no note on assumptions, defaults, or edge cases, this is mid-range.

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 purpose and ending with a cross-reference. No filler, though the 'Inputs:' sentence spends words restating parameters incorrectly, which costs a point.

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 read-only calendar-style calculator with full schema coverage and an output schema, the description is adequate, but two gaps matter: the parameter prose conflicts with the actual schema, and there is no differentiation from the water-intake sibling. An agent has enough to call it, but not enough to call it correctly on the first try.

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?

The description actively misdescribes the schema: it lists 'activity hours' where the schema has activity_minutes (default 0, in minutes), and 'temperature °C' where the schema has a climate enum (temperate/hot/cold) with no temperature field at all. An agent following the prose would attempt to pass a numeric temperature and convert hours. This is worse than adding 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 and resource ('Compute recommended daily fluid intake') and scopes it by weight, activity, and weather, which is clear. However, it never distinguishes itself from the near-identical sibling calculate_water_intake (nor calculate_bread_hydration), so an agent cannot tell which hydration/water tool to pick.

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?

'Use for athletes and outdoor workers' gives a target audience but no when-not conditions and no named alternatives, despite calculate_water_intake occupying almost the same space. The pointer to list_bundles is a navigation aid, not usage guidance.

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

calculate_hydraulic_pressureCalculate Hydraulic PressureB
Read-onlyIdempotent
Inspect

Compute hydraulic system pressure P=F/A. Use for hydraulic design. Inputs: force N, area m². Returns pressure in Pa, kPa, bar, psi. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
force_nYesForce N
area_cm2YesPiston area cm²

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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, so the safety profile is fully covered. The description adds the returned units (Pa, kPa, bar, psi), but that is also captured by the output schema, so net new behavioral context 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.

Conciseness4/5

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

Compact and front-loaded: formula, usage, inputs, outputs, cross-reference, in one tight block. The list_bundles sentence is slightly tangential but cheap and does not bury the core facts.

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 an output schema present, the return values needn't be explained, and the description correctly covers the formula and both operands. The unit mismatch between description (m²) and schema (cm²) is a real completeness defect for a two-parameter physics tool where units decide correctness.

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 100% so the baseline would be 3, but the description actively contradicts the schema: it says 'area m²' while the parameter is area_cm2 documented as 'Piston area cm²'. An agent following the description could supply a square-metre value into a square-centimetre field and get a result off by 10,000x. This is misleading rather than additive.

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+resource ('Compute hydraulic system pressure') and even gives the governing formula P=F/A, which distinguishes it from generic siblings like calculate_pressure_convert and calculate_water_pressure_loss. However, it does not explicitly name which sibling to prefer, so an agent still has to infer the boundary against calculate_force and the pressure converters.

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?

'Use for hydraulic design' gives a domain context but no when-not-to-use or explicit alternative. The pointer to list_bundles for related 'science' calculators is a soft routing hint rather than a selection rule, and it never says that unit conversion should go to calculate_pressure_convert.

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

calculate_hyperfocal_distanceCalculate Hyperfocal DistanceB
Read-onlyIdempotent
Inspect

Calculate hyperfocal distance and near/far sharp limits for a lens and aperture. See list_bundles for related 'photographie' calculators.

NameRequiredDescriptionDefault
coc_mmNoCircle of confusion in mm (default 0.03 for full frame)
apertureYesAperture f-number
focal_length_mmYesLens focal length in millimeters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 need not restate it. The description adds only that output includes near/far sharp limits, which is largely replicated by the output schema, so no meaningful extra 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?

Two sentences with the computational purpose front-loaded and no redundancy. The trailing list_bundles pointer is marginally useful navigation rather than pure filler, but it is not part of the tool's core job.

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 pure-function calculator with full annotation coverage, a rich output schema, and fully documented parameters, the description is essentially complete. It is slightly thin on when to prefer it over related photographic calculators like depth of field.

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%: coc_mm, aperture, and focal_length_mm all carry descriptions and defaults in the schema. The description adds no units, ranges, or syntax beyond that, so the 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?

The description names a specific verb (calculate), resource (hyperfocal distance), and the secondary outputs (near/far sharp limits) plus its inputs (lens and aperture). It does not, however, differentiate itself from close photographic siblings such as calculate_depth_of_field or calculate_crop_factor, leaving the boundary 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?

There is no when-to-use or when-not-to-use guidance and no named alternative tool. The 'See list_bundles' line is a cross-sell pointer to related photography calculators rather than a routing instruction for choosing this tool over a sibling.

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

calculate_ideal_gasCalculate Ideal GasA
Read-onlyIdempotent
Inspect

Solve PV=nRT. Provide any 3 of: pressure_pa, volume_m3, moles, temperature_k. R=8.314. Returns: {error}. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
molesNoAmount in mol
volume_m3NoVolume in m³
pressure_paNoPressure in Pa
temperature_kNoTemperature in K

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the requirement of supplying exactly three inputs and mentions returning an error object, but does not elaborate on error conditions or edge cases. With annotations covering the core 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.

Conciseness4/5

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

The description is three short, front-loaded sentences with no wasted words. The final sentence about list_bundles is slightly tangential but still useful for discovery; overall it is efficient and well-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 simple calculator with annotations and an output schema, the description covers the essential input pattern and points to related tools. It could mention what happens if more than three inputs are provided or clarify the return shape, but the output schema presumably handles those details, making the definition nearly 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 each parameter's meaning (e.g., 'Pressure in Pa') is already documented. The description lists the parameter names but adds no further semantic detail; baseline 3 applies when the schema handles 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 the specific formula 'Solve PV=nRT' and lists the four variables, making the tool's purpose unmistakable. It does not explicitly differentiate itself from other physics calculators (e.g., calculate_pressure_convert), but the formula is specific enough that an agent can identify its niche.

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?

Instructs to 'Provide any 3 of' the four variables, which clarifies the invocation pattern. However, it offers no guidance on when to choose this tool over alternatives like calculate_pressure_convert or calculate_volume, and the pointer to 'list_bundles' is for discovery rather than usage context.

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

calculate_ideal_weightCalculate Ideal WeightA
Read-onlyIdempotent
Inspect

Estimate ideal body weight using Lorentz and Devine formulas. Returns: {lorentz_kg, devine_kg, average_kg}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
sexYesBiological sex
height_cmYesHeight in centimeters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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, so the safety profile is covered. The description adds the formulas used and the exact return keys, which is mild but real added context; it says nothing about precision, rounding, or input validation 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?

Two short sentences, front-loaded with the purpose, then the return shape and a pointer to list_bundles. Tight overall, though the return-key listing is arguably redundant against a formal output 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?

For a simple two-required-parameter calculator with full annotation coverage and an output schema, the description covers purpose, method, and return keys adequately. Only the absence of usage guidance versus sibling weight/BMI calculators is a 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% (sex enum and height_cm minimum are documented), so the baseline is 3. The description adds no meaning beyond what the schema fields already convey for either parameter.

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) plus resource (ideal body weight) and even names the formulas used (Lorentz, Devine), which distinguishes it from siblings like calculate_ideal_weight_range or calculate_bmi 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?

Usage is only implied by the purpose itself — an agent can infer it belongs to body-weight estimation. The cross-reference to list_bundles points at related calculators but does not say when to prefer this tool over calculate_ideal_weight_range or calculate_bmi.

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

calculate_ideal_weight_rangeCalculate Ideal Weight RangeB
Read-onlyIdempotent
Inspect

Compute healthy weight range based on BMI 18.5-24.9. Use for nutrition planning. Inputs: height cm. Returns ideal weight range (min, max) in kg and lb. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
sexYesBiological sex
frameYesBody frame size
height_cmYesHeight in cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, closed-world read, so the description only needs to add context beyond that. It does add the underlying formula (BMI 18.5-24.9), which is useful, but it also inaccurately summarizes the inputs as 'height cm' when sex and frame are required, understating what drives the result.

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 behavior in the first sentence and kept to four short, punchy clauses. The trailing 'See list_bundles for related sante calculators' is mildly off-topic filler, and the input summary is truncated, but overall there is little waste.

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 describing the returned min/max in kg and lb is redundant but harmless. What is missing is the routing context that matters most for this tool: how it differs from calculate_ideal_weight and calculate_bmi. For a simple read-only calculator that is the main remaining 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 two parameters carry enums ('male'/'female', 'small'/'medium'/'large'), so the schema fully documents the inputs. The description adds nothing on sex or frame and its 'Inputs: height cm' line is actually incomplete, but with full schema coverage 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 healthy weight range') and even discloses the method (BMI 18.5-24.9), so the purpose is unambiguous. However, it never distinguishes itself from the near-identical sibling calculate_ideal_weight or from calculate_bmi sitting right next to it in the list, so an agent still has to guess which of the three to pick.

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?

'Use for nutrition planning' is a domain hint, not usable routing guidance: it gives no when-to-use condition, no when-not, and no alternative. With calculate_ideal_weight and calculate_bmi as siblings, the absence of any disambiguation is a genuine selection risk.

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

calculate_impermanent_lossCalculate Impermanent LossB
Read-onlyIdempotent
Inspect

Calculate impermanent loss for a DeFi liquidity pool position when price ratio changes. Returns: {value_in_pool_ratio}. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
price_ratio_changeYesPrice ratio change multiplier (e.g. 2.0 if token doubled in price, 0.5 if halved)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 shape of the returned field (value_in_pool_ratio), but that largely duplicates the output schema and it says nothing about assumptions of the model (e.g. constant-product pools) or input boundaries beyond the schema minimum.

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 short sentences, front-loaded with the core purpose and the triggering condition. The trailing cross-reference to list_bundles is the least load-bearing sentence but is not wasteful enough to drag it below 4.

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 one fully documented required parameter, an output schema that covers the return value, and annotations covering side effects, the description only needs the purpose sentence and the comparison note. The missing piece is differentiation from the other crypto calculators in the sibling set.

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 is documented with an example ('2.0 if token doubled in price, 0.5 if halved') and a minimum of 0.01. The description adds no syntax or interpretation 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 and resource: calculate impermanent loss for a DeFi liquidity pool position, triggered by a price ratio change. That is far clearer than the tautological siblings, but it does not distinguish itself from closely related siblings such as calculate_crypto_profit_loss or calculate_staking_rewards.

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?

It never states when to use this tool versus alternatives. The pointer to list_bundles routes to a bundle-listing tool, not to the near-identical crypto calculators an agent would actually weigh against it, so no selection guidance is provided.

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

calculate_inflation_adjusted_valueCalculate Inflation Adjusted ValueA
Read-onlyIdempotent
Inspect

Compute real (inflation-adjusted) purchasing power of a future amount. Use for retirement or savings goal in today's euros. Inputs: nominal future amount, years, average inflation %. Returns real value. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
yearsYesNumber of years
amountYesAmount in EUR
inflation_rateYesAnnual inflation rate percent

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only 'Returns real value' and an input summary, which is thin. With the annotation burden lifted, 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?

Front-loaded with the core purpose and kept to a few tight sentences with no filler. The trailing 'See list_bundles' sentence is marginal but short. Overall well-sized.

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 safety. Inputs, purpose, and a usage context are all present. The only real omission is disambiguation from overlapping inflation/purchasing-power 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%, so the baseline is 3. The description restates the three inputs (nominal amount, years, average inflation %) but adds no units nuance, sign conventions, or edge-case behavior beyond the schema's own 'Amount in EUR' and 'Annual inflation rate percent'.

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+resource: 'Compute real (inflation-adjusted) purchasing power of a future amount.' An agent can tell this is an inflation discounting calculation. However, it does not differentiate from near-identical siblings like calculate_inflation_adjustment or calculate_purchasing_power, so the boundary is left implicit.

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?

'Use for retirement or savings goal in today's euros' gives a use context, which is more than nothing. But there is no when-not guidance and no named alternative among the many finance siblings that overlap. The list_bundles pointer is a discovery aid, not routing guidance.

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

calculate_inflation_adjustmentCalculate Inflation AdjustmentA
Read-onlyIdempotent
Inspect

Adjust a nominal amount to a target year using a constant inflation rate. Use for real-value comparisons across time. Inputs: amount, inflation rate %, years. Returns adjusted value and total inflation factor. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
yearsYesNumber of years
amountYesOriginal amount
inflation_rateYesAnnual inflation rate in %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered. The description usefully discloses the modeling assumption ('constant inflation rate') beyond the annotations, but offers no info on precision, rounding, or edge cases. This clear addition over structured data merits a solid 3.

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 short sentences, front-loaded with the purpose and then inputs/returns. Every sentence is short and mostly earns its place; the input restatement is slightly redundant given the schema, keeping it out of 5 territory.

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 schema coverage, the description need not explain returns, yet it does state them (mild redundancy). It is complete enough to call the tool correctly, though it omits any guidance on how it differs from calculate_inflation_adjusted_value.

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 all three parameters are documented in the schema, so the baseline is 3. The description merely restates 'amount, inflation rate %, years' without adding format, sign, or range 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?

States a specific verb and resource: 'Adjust a nominal amount to a target year using a constant inflation rate.' An agent knows exactly what computation happens. However, it fails to distinguish itself from the near-identical sibling calculate_inflation_adjusted_value, so the sibling-differentiation requirement for a 5 is not met.

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?

'Use for real-value comparisons across time' gives implied usage context, but there is no explicit when-to-use vs when-not, and no mention of the obvious alternative calculate_inflation_adjusted_value which does essentially the same thing. The pointer to list_bundles is a cross-reference to a bundle tool, not usage guidance for picking between sibling calculators.

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

calculate_inheritance_taxCalculate Inheritance TaxA
Read-onlyIdempotent
Inspect

Calculate French inheritance tax (droits de succession) based on relationship and amount. Returns: {amount, abatement, taxable_base, tax_due, effective_rate_pct, marginal_rate_pct}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
amountYesInherited amount in euros
relationshipYesRelationship to deceased: spouse, child, sibling, other

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false, and openWorldHint=false, so the safety profile is well covered. The description adds domain context (French inheritance tax) and enumerates return fields, but does not go beyond the output schema or annotations in any meaningful behavioral way.

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, the return fields are listed compactly, and the bundle pointer is last. No sentence is wasted, and the structure makes the tool's scope immediately clear.

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 calculator with 100% schema coverage, full annotations, and an output schema, the description gives adequate purpose and domain context. The main gap is the lack of selection guidance versus other French tax tools, but the core information needed to invoke the tool correctly is 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 coverage is 100%, and the schema already documents amount as euros and relationship with four enum values. The description adds no syntax, format, or constraint information 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.

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 a precisely scoped resource (French inheritance tax / droits de succession), which distinguishes it from siblings like calculate_french_income_tax and calculate_property_transfer_tax. It also names the two calculation inputs (relationship and amount).

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 or when-not-to-use guidance is given. The sentence 'See list_bundles for related finance-france calculators' points to a bundle listing but does not help an agent choose between this tool and sibling tax calculators.

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

calculate_insulation_rCalculate Insulation RA
Read-onlyIdempotent
Inspect

Compute thermal resistance R = thickness/lambda. Use for insulation specification (RT2020/RE2020). Inputs: thickness m, conductivity λ W/m·K. Returns R-value m²·K/W. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
lambdaYesConductivity W/(m.K)
thickness_mmYesThickness mm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/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), yet the description goes further by disclosing the exact computation formula and the output unit (m²·K/W), which is genuinely useful for a calculator. It omits assumptions such as whether thickness must be in SI meters versus the schema's mm.

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?

Four short sentences covering formula, use case, inputs, output, and a sibling pointer — front-loaded with the formula and with no filler. Nothing here is redundant with the schema or 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?

An output schema exists so return values need no further explanation, and annotations cover the safety profile. The remaining gaps are the mm-vs-m unit confusion and the failure to disambiguate from calculate_insulation_r_value.

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 coverage is 100%, so both parameters are already documented as thickness_mm (mm) and lambda (W/m·K). The description instead says 'thickness m', which conflicts with the schema's millimeter unit and would make the stated formula R = thickness/lambda numerically wrong if followed literally.

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+resource with the underlying formula (R = thickness/lambda), so the operation is unambiguous. It does not, however, distinguish itself from the near-identical sibling calculate_insulation_r_value, leaving an agent to guess which of the two to 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 a clear domain context ('use for insulation specification (RT2020/RE2020)') and routes to list_bundles for related construction calculators. It offers no when-not guidance and never mentions the overlapping insulation sibling, so exclusion criteria are absent.

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

calculate_insulation_r_valueCalculate Insulation R ValueA
Read-onlyIdempotent
Inspect

Calculate thermal R-value: R = thickness/lambda. Compare with RE2020 targets. Returns: {lambda_w_mk, r_value_m2KW, re2020_targets, walls_ok, roof_ok, floor_ok}. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
lambdaYesConductivity W/(m·K) — mineral wool ~0.035, polyurethane ~0.025
thickness_mmYesInsulation thickness in mm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is covered. The description usefully discloses that the tool evaluates RE2020 targets and returns per-element pass flags (walls_ok, roof_ok, floor_ok), but listing the return fields duplicates the existing output schema rather than adding behavioral depth.

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, front-loaded sentences: the formula leads, the compliance comparison follows, then the sibling pointer. Slight redundancy in enumerating return fields that the output schema already defines, but overall efficient.

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 present, the description need not explain return values, and it correctly supplies the domain frame (RE2020 compliance) and the governing formula. It is essentially complete for a two-parameter read-only calculator, missing only disambiguation from the similarly named insulation sibling.

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 both parameters carry unit-aware descriptions (lambda W/(m·K) with example values, thickness in mm), so the baseline is 3. The formula in the description clarifies how the two inputs relate but adds no syntax or unit detail beyond what the schema already provides.

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 (thermal R-value) plus the exact formula R = thickness/lambda, so the computation is unambiguous. It does not, however, differentiate itself from the very similarly named sibling calculate_insulation_r, leaving a potential ambiguity an agent cannot resolve from the text.

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?

'Compare with RE2020 targets' implies the French building-regulation compliance use case, which is genuine context. But there is no explicit when-to-use/when-not guidance and no mention of the near-duplicate calculate_insulation_r sibling; the pointer to list_bundles is navigation, not usage guidance.

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

calculate_insurance_estimateCalculate Insurance EstimateA
Read-onlyIdempotent
Inspect

Estimate annual car insurance from vehicle value, driver age and bonus-malus. Returns: {annual_premium_eur, monthly_eur, note}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
driver_ageYesDriver age
vehicle_valueYesVehicle value EUR
bonus_malus_coefficientNoBonus-malus (0.5=best, 3.5=worst)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered. The description adds that it returns an 'Estimate' (non-binding flavor) and the exact return keys, but the return keys duplicate the existing output schema, leaving limited extra behavioral 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?

Two tight sentences that front-load the purpose, then the return shape and related-tool pointer. Little wasted text, though restating the return keys is slightly redundant given the output 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?

Inputs, output shape and a related-tool pointer are all present, and annotations plus the output schema cover safety and return details. Only a note about the estimate being non-binding/indicative is arguably 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 three parameters including the bonus-malus range (0.5=best, 3.5=worst) and defaults. The description merely lists them, adding no syntax or unit 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 'Estimate' combined with a precise resource 'annual car insurance' and the three driving inputs. This clearly separates it from generic insurance siblings like calculate_travel_insurance_estimate or calculate_mortgage_insurance, though it never explicitly names a competing 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?

The pointer to 'See list_bundles for related auto-transport calculators' gives a discovery path but is not a when-to-use/when-not rule. There are no explicit prerequisites or exclusions, so usage is only implied by the resource name.

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

calculate_international_shippingCalculate International ShippingB
Read-onlyIdempotent
Inspect

Estimate international shipping cost and delivery time by carrier and weight. Use for e-commerce or expat shipping. Inputs: from-country, to-country, weight kg, dimensions. Returns cost range and lead time. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
from_zoneYesDestination zone
weight_kgYesActual parcel weight in kg
dimensions_cmYesParcel dimensions in cm (length, width, height)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that it returns an estimated cost range and lead time, but says nothing about accuracy caveats, carrier coverage, or rate limits beyond what is implied by 'Estimate'.

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?

Five short, front-loaded sentences that cover purpose, use case, inputs, and output with no padding. The choppy fragment style is efficient, though not elegant.

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 explained, and the estimate semantics are clear. But the description omits the zone-based input model entirely and substitutes a country-to-country model that the tool does not support, leaving the agent with an inaccurate mental model of the call.

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 coverage is 100%, so the baseline would be 3, but the description actively misstates the parameters: it lists 'from-country, to-country' and 'by carrier' when the schema only accepts a single from_zone enum (destination zone), weight_kg, and dimensions_cm. An agent trusting the description could look for parameters that do not exist.

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 ('Estimate international shipping cost and delivery time') and scopes it by carrier and weight, which distinguishes it from siblings like calculate_shipping_volumetric and calculate_delivery_cost. However, its claim of the input shape ('from-country, to-country') does not match the actual schema, which slightly muddies an otherwise clear purpose.

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?

'Use for e-commerce or expat shipping' gives a use case but no when-not guidance and no explicit alternatives. The pointer to list_bundles for related 'voyage' calculators is a helpful routing hint, though it is a bundle-listing tool rather than a directly competing calculator.

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

calculate_inventory_eoqCalculate Inventory EoqA
Read-onlyIdempotent
Inspect

Compute Economic Order Quantity (Wilson formula). Use for supply chain optimization. Inputs: annual demand, order cost, holding cost per unit. Returns EOQ and orders/year. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
order_costYesCost per order
holding_costYesAnnual holding cost per unit
annual_demandYesAnnual demand units

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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, openWorldHint=false, so the safety profile is fully covered structurally. The description adds the inputs and the return values ('Returns EOQ and orders/year'), but return values are already covered by the output schema, so the added behavioral value is modest. No edge cases (zero costs, unit mismatch, division-by-zero) are 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?

Front-loaded with the purpose, then inputs, then outputs — a sensible ordering with no filler. The trailing 'See list_bundles...' sentence is mildly tangential but short and potentially useful for discovery, so it does not seriously hurt the structure.

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 three-parameter, fully documented, read-only calculator with an output schema and rich annotations, the description supplies everything needed to invoke it correctly. The only genuine gap is the absence of units or guidance on invalid/zero inputs, which is minor given the schema minimums.

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 three parameters ('annual demand, order cost, holding cost per unit') in essentially the same terms as the schema, adding no units, sign constraints, or interpretation beyond what is already documented.

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 ('Compute Economic Order Quantity') and even names the underlying method (Wilson formula), which unambiguously identifies the calculation among hundreds of calculate_* siblings. An agent can distinguish this from calculate_inventory_turnover 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?

'Use for supply chain optimization' implies a domain but gives no concrete when-to-use or when-not guidance relative to adjacent finance/inventory calculators. The pointer to list_bundles is a discovery aid rather than a true alternative-tool routing rule.

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

calculate_inventory_turnoverCalculate Inventory TurnoverA
Read-onlyIdempotent
Inspect

Compute inventory turnover ratio = COGS / avg inventory. Use for retail efficiency analysis. Inputs: COGS, average inventory value. Returns turnover and days-on-hand. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
cogsYesCost of goods sold
avg_inventoryYesAverage inventory value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false, and destructiveHint=false. The description adds value beyond those annotations by disclosing the deterministic formula and the return values (turnover and days-on-hand), which helps an agent understand the computation and output 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?

The description is front-loaded with the core formula and then quickly covers use case, inputs, outputs, and a related pointer. It is efficient, though the input listing is somewhat redundant given 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 an output schema present, the description need not explain return values, yet it does so concisely. Annotations cover the safety profile, and the description supplies the formula and use case. It could mention edge cases like the avg_inventory minimum, but the schema already enforces 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 100%, and the schema already documents both parameters with types, minimums, and descriptions. The description merely repeats 'Inputs: COGS, average inventory value' without adding syntax, format, or meaning beyond the schema, so the baseline 3 is appropriate.

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

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 with an explicit formula (inventory turnover ratio = COGS / avg inventory), making the tool's function clear. It does not explicitly differentiate itself from sibling calculators such as calculate_inventory_eoq or other finance tools, 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 phrase 'Use for retail efficiency analysis' gives an implied use case, but there is no guidance on when not to use it or which alternative to choose. The pointer to list_bundles is a weak substitute for explicit alternatives.

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

calculate_jet_lag_recoveryCalculate Jet Lag RecoveryA
Read-onlyIdempotent
Inspect

Estimate jet lag recovery time based on timezone difference and direction of travel. Returns: {direction, tips}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
timezone_diff_hoursYesTimezone difference in hours (positive = eastward, negative = westward)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered structurally. The description adds a light behavioral note ('Returns: {direction, tips}'), but says nothing about the recovery model's assumptions (e.g. whether naps/melatonin are factored in) that would matter to 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.

Conciseness4/5

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

Two short sentences, purpose front-loaded, no padding. The trailing 'See list_bundles' cross-reference is useful but slightly off-topic for the core statement.

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 return-values sentence is arguably redundant, but with one fully documented parameter and complete annotations the definition gives an agent everything needed to invoke it correctly. Only the model's underlying assumptions 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 there is only one parameter, whose description already explains the sign convention (positive = eastward, negative = westward) and the -12..14 bound. The description restates the parameter's meaning without adding format or edge-case detail, 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?

States a specific verb and resource: 'Estimate jet lag recovery time', with the input basis (timezone difference and direction of travel). No sibling shares this purpose, so differentiation is moot rather than missing, but the description does not explicitly anchor itself against nearby time/sleep tools (calculate_sleep_cycles, calculate_timezone_convert).

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?

'See list_bundles for related voyage calculators' points at a discovery path but gives no when-to-use vs when-not guidance and names no true alternative for this task. Usage is implied by the purpose statement rather than stated.

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

calculate_kinetic_energyCalculate Kinetic EnergyA
Read-onlyIdempotent
Inspect

Compute kinetic energy KE=½·m·v². Use for physics, vehicle safety analysis. Inputs: mass kg, velocity m/s. Returns kinetic energy in joules. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
mass_kgYesMass in kg
velocity_msYesVelocity in m/s

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 non-destructive, so the safety profile is fully covered. The description adds the units (kg, m/s, joules) and formula, but no auth, edge-case, or domain-constraint behavior beyond that; a 3 is appropriate when annotations carry the load.

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?

Compact, front-loaded with the formula and purpose in the first clause, then inputs, outputs, and a routing pointer. Every clause carries information, though the trailing list_bundles pointer is the least essential element.

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 the return structure, and it correctly gives the formula, input units, and output units. Nothing critical is missing for a two-parameter pure-computation 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?

Schema description coverage is 100% and both parameters already carry unit descriptions ('Mass in kg', 'Velocity in m/s'). The description repeats those units without adding format, range, or validation detail, so it does not exceed the schema-driven baseline.

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') plus the exact formula KE=½·m·v², which unambiguously distinguishes it from siblings like calculate_energy_physics or calculate_earthquake_energy. An agent can identify the required inputs and outputs from the description alone.

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

Usage Guidelines4/5

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

Gives concrete application contexts ('physics, vehicle safety analysis') and points to list_bundles for related 'science' calculators, which helps routing. It stops short of naming a specific competing sibling or stating when NOT to use this tool, so it falls short of the 5 benchmark.

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

calculate_knitting_yarnCalculate Knitting YarnA
Read-onlyIdempotent
Inspect

Calculate yarn needed for a knitting project (meters and number of 50g/100m balls). Returns: {meters_of_yarn, balls_50g_100m}. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
sizeYes
projectYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 results are expressed in meters and 50g/100m balls, but since an output schema exists this largely restates the structured data rather than disclosing new 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?

Two tightly written sentences, front-loaded with purpose before the cross-reference. The explicit 'Returns: {...}' clause is mildly redundant given the output schema, but costs little.

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, closed-enum calculator with an output schema, the definition is largely sufficient. The gaps are minor: no parameter explanation and a vague bundle reference.

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%, so the description carries the burden for the two parameters, and it says nothing about them. The enum values (scarf/hat/sweater/blanket/socks, S/M/L) are self-documenting, but the description adds no meaning about what size refers to or how it affects the calculation.

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 yarn needed for a knitting project') and pins down the output units (meters and 50g/100m balls), which separates it from nearby textile siblings like calculate_fabric_needed and calculate_fabric_yarnage-style tools. An agent can identify the domain 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?

It points at list_bundles for 'related textile-mode calculators', which is a weak routing hint rather than a when-to-use rule. There is no guidance on when to prefer this over calculate_fabric_needed or calculate_recipe_scaling, and 'textile-mode' is unexplained jargon. Usage is only implied.

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

calculate_laundry_costCalculate Laundry CostA
Read-onlyIdempotent
Inspect

Calculate weekly and annual laundry cost (electricity + water + detergent). Returns: {per_load_eur, weekly_eur, annual_eur}. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
loads_per_weekYesLoads per week
water_liters_per_loadNoLiters per load (default 50)
detergent_cost_per_loadNoDetergent EUR/load (default 0.30)
electricity_kwh_per_loadNokWh per load (default 1.2)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the return keys {per_load_eur, weekly_eur, annual_eur}, but since an output schema exists this is largely duplicative rather than new behavioral context.

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 front-loaded with the core action and result, uses two short sentences plus a pointer, and contains no filler. Every sentence adds useful information for an agent.

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 rich annotations, full schema coverage, and an output schema, the description provides enough context to invoke it correctly. The only minor gap is explicit guidance on when to choose it over nearby cost calculators.

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 each parameter is already documented with type, default, and description. The description's mention of electricity, water, and detergent maps conceptually to the parameters but adds no syntax, constraints, or defaults beyond the schema, matching the baseline for fully covered 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 states a specific verb (Calculate) and resource (weekly and annual laundry cost), and it enumerates the cost components (electricity + water + detergent). This clearly differentiates it from generic electricity, water, or detergent 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?

It points to list_bundles for related 'vie-quotidienne' calculators, which gives some discovery guidance. However, it does not state when to use this tool instead of alternatives like calculate_electricity_cost or calculate_water_bill, leaving usage selection largely implied.

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

calculate_lawn_mowing_frequencyCalculate Lawn Mowing FrequencyA
Read-onlyIdempotent
Inspect

Calculate recommended lawn mowing interval based on grass type, season and rainfall. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
seasonYesCurrent season
grass_typeYesType of grass: cool_season (fescue/rye), warm_season (bermuda/zoysia), or mixed
weekly_rainfall_mmNoAverage weekly rainfall in mm (default 25mm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 safety behavior is covered without the prose. The description adds nothing behavioral beyond that (no note on determinism of results, or that rainfall defaults when omitted, though that lives in the schema), so this is a minimum-viable 3 for a pure stateless calculator.

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, zero filler, and the core purpose is front-loaded before the cross-reference. Nothing needs to be trimmed.

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 deterministic calculator with full schema documentation, rich annotations and an output schema, the description covers what the agent needs to call it correctly. It is slightly thin on when-not-to-use, but nothing essential is missing given the structured metadata.

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 at 100%, with enums documented for season, grass_type and a default/minimum for weekly_rainfall_mm, so the schema already carries the parameter meaning. The description merely restates those three inputs, adding no units or format detail beyond what the schema provides — baseline 3.

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 plus resource: 'Calculate recommended lawn mowing interval,' with the determining inputs (grass type, season, rainfall) named inline. This is clearly distinct from the nearest siblings (calculate_lawn_seed, calculate_garden_water_needs, calculate_garden_sunlight_hours) because the output is a mowing interval, not a quantity of seed or water.

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 versus alternatives, nor any prerequisite or exclusion. The only routing hint is 'See list_bundles for related jardinage calculators,' which points at a discovery tool rather than a competing calculator, so it does not help the agent choose between lawn/garden siblings.

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

calculate_lawn_seedCalculate Lawn SeedA
Read-onlyIdempotent
Inspect

Compute grass seed quantity (kg) for a lawn area at recommended seeding rate. Use for landscaping. Inputs: area m², seed rate g/m². Returns seed kg. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
area_m2YesLawn area m²
rate_g_m2NoSeeding rate g/m²

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and determinism profile is fully covered. The description adds only that it returns seed in kg, which is largely redundant with the output schema. No additional behavioral context (rate defaults, rounding, units caveats) is provided.

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 short sentences, each carrying a distinct fact (what, context, inputs, output), and the core computation is front-loaded. The trailing list_bundles reference is the only element of marginal value.

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 calculator with an output schema and full annotation coverage, the description supplies enough to call it correctly. The one real gap is disambiguation from calculate_seed_quantity, which matters given the very large sibling set.

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 area_m2 and rate_g_m2. The description restates the same parameter names and units without adding meaning, and does not mention the default rate of 30 g/m². Baseline 3 applies when the schema carries the load.

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 grass seed quantity (kg) for a lawn area') with units, which is more than a restatement of the name. However, it does not distinguish itself from the sibling calculate_seed_quantity, leaving the agent to infer which is the generic vs. lawn-specific 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?

'Use for landscaping' is implied context but not an explicit when-to-use statement, and no condition or exclusion differentiates it from calculate_seed_quantity. The pointer to list_bundles is a cross-reference to bundles rather than guidance on selecting this tool.

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

calculate_leave_daysCalculate Leave DaysA
Read-onlyIdempotent
Inspect

Calculate French paid leave (congés payés): 2.5 days/month, max 25 working days/year. Returns: {accrual_per_month, accrued_days, capped_at_max, max_annual_days, days_to_max, months_to_max}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
start_dateYesYYYY-MM-DD — Employment start date
months_workedYesMonths worked in the reference period (1-12)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish the operation is read-only, idempotent and non-destructive, so the safety profile is covered. The description adds genuine domain behaviour beyond that: the accrual rate, the annual cap and the explicit capped_at_max / days_to_max semantics, which tell the agent what the computation does rather than merely that it is safe.

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 tight sentences, front-loaded with the accrual rule that defines the tool. The enumerated return-field list is somewhat redundant given that an output schema exists, which is minor waste, but the definition is otherwise dense and well-ordered.

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, complete parameter coverage and complete annotations, the description only needs to supply domain rules and it does so accurately. The one remaining gap is sibling disambiguation against calculate_vacation_days_fr, which is the primary selection risk in this crowded namespace.

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 specifies the YYYY-MM-DD format for start_date and the 1-12 bound for months_worked. The description adds no parameter-level meaning (e.g. how start_date interacts with the reference period), 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 a precise resource: French paid leave (congés payés) accrual at 2.5 days/month capped at 25 days. That is far more specific than most siblings in the catalogue. It does not, however, distinguish itself from closely related siblings such as calculate_vacation_days_fr or calculate_vacation_days_optimal, which an agent may reasonably confuse with it.

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 calculator versus the many other French leave/vacation calculators in the sibling list. The only routing hint — 'See list_bundles for related temps-rh calculators' — points to a bundle browser, not to a decision rule, and does not resolve the ambiguity with calculate_vacation_days_fr.

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

calculate_led_savingsCalculate LED SavingsA
Read-onlyIdempotent
Inspect

Compute energy and money saved by switching from incandescent/halogen to LED. Use for energy audit. Inputs: old wattage, LED wattage, daily hours, kWh price, bulbs. Returns yearly savings. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
led_wYesLED replacement wattage
old_wYesOld bulb wattage
hours_dayNoHours per day
num_bulbsNoNumber of bulbs
price_kwhNoEUR/kWh

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, so the safety profile is covered structurally. The description adds "Returns yearly savings," but says nothing about assumptions, units of the result, or rounding. With annotations carrying safety, 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?

Front-loaded with the core action, then usage, inputs, return, and a cross-reference — a logical order with little waste. The input enumeration partly duplicates the schema, keeping it short of a 5.

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 needn't detail return values, and it doesn't need to. Combined with full schema coverage and covering annotations, the description supplies what an agent needs 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 schema already documents all five parameters with types and defaults. The description merely re-lists them ("old wattage, LED wattage, daily hours, kWh price, bulbs") without adding format, unit, or default semantics beyond the schema. Baseline 3.

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 (energy and money saved switching incandescent/halogen to LED), which is far more specific than the dozens of generic calculate_* siblings. An agent can immediately tell this is an LED-retrofit savings calculator rather than a generic electricity-cost 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?

"Use for energy audit" gives an implied context, and "See list_bundles for related 'energie' calculators" points to a discovery path, but there is no explicit when-to-use vs when-not against the closest competing siblings (e.g. calculate_electricity_cost, calculate_solar_roi). Guidance is present but leaves the boundary with alternatives to inference.

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

calculate_life_path_numerologyCalculate Life Path NumerologyA
Read-onlyIdempotent
Inspect

Calculate numerology life path number from birth date. Returns: {life_path_number, meaning}. See list_bundles for related 'fun' calculators.

NameRequiredDescriptionDefault
birth_dateYesBirth date in YYYY-MM-DD format

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered. The description adds the return shape ({life_path_number, meaning}), which is modest extra context since an output schema also exists.

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 with the core action front-loaded and no wasted words. Nothing is repeated verbatim from the title beyond necessity.

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 single-parameter, read-only calculator with rich annotations and an output schema, this is nearly complete. It could say slightly more about what the 'meaning' field contains, but the output schema covers return values.

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 birth_date parameter is fully documented in the schema, including the YYYY-MM-DD format. The description only says 'from birth date' and adds no syntax or format detail beyond the schema, so baseline 3 applies.

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

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 numerology life path number from birth date') and names the exact input. Among hundreds of calculate_* siblings, this one is unambiguously distinguishable as the numerology 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 only routing hint is 'See list_bundles for related fun calculators,' which weakly implies a context (casual/fun calculators) but gives no when-to-use vs. alternatives or prerequisites. 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.

calculate_light_yearCalculate Light YearB
Read-onlyIdempotent
Inspect

Convert between light-years and km/miles. Use for astronomy. 1 ly = 9.461×10¹² km. Inputs: value, from, to. Returns converted distance. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
unitYesInput unit
valueYesValue

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds the conversion constant and states that it returns a converted distance, which is modest extra value, but discloses nothing about precision/rounding or supported ranges beyond the constant.

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?

Five short, front-loaded fragments with no padding; the purpose and conversion factor come first. It loses a point only because the 'Inputs: value, from, to' fragment is both wasteful and wrong, and a cross-reference to a bundle is buried at the end.

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?

Because an output schema exists, the description need not explain return values, and its single sentence there is harmless. But for a tool with an extremely close sibling it omits any disambiguation, and it contradicts the enum on supported units, leaving genuine 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 coverage is 100%, so 3 would be the baseline, but the description actively misstates the parameters: it lists 'value, from, to' while the schema defines only 'value' and 'unit'. It also advertises miles conversion, which is absent from the enum (ly, parsec, au, km). This is misleading rather than merely redundant.

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 ('Convert between light-years and km/miles') plus the domain ('astronomy'), so the agent knows what it computes. However it never distinguishes itself from the sibling calculate_light_year_distance, which sounds like it does the same thing, so sibling differentiation is missing.

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?

'Use for astronomy' is a domain hint, not usage guidance. There is no indication of when to pick this over calculate_light_year_distance, calculate_star_magnitude_distance, or the generic convert_distance, and no exclusions are stated. The only routing hint points to list_bundles, which is a browsing tool, not an alternative calculator.

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

calculate_light_year_distanceCalculate Light Year DistanceB
Read-onlyIdempotent
Inspect

Convert astronomical distances between light-years, parsecs, AU, km. Returns: {light_years, parsecs, au, km, original}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
valueYesDistance value
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 closed-world behavior, so the safety profile is covered. The description usefully adds the return shape, but says nothing about edge cases such as the exclusiveMinimum constraint on value or behavior with invalid units.

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 compact sentences with the conversion scope front-loaded and the return shape inline. Nothing is wasted, though the trailing cross-reference to list_bundles is of marginal value to the calling agent.

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, fully documented converter with an output schema and complete annotations, the definition covers what is needed to invoke it correctly. The only shortfall is the missing differentiation from near-identical 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%, so the schema already documents both parameters and the unit enum. The description restates the same unit set and mirrors the return keys without adding syntax, defaults, or meaning beyond what the schema provides.

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: converts astronomical distances between light-years, parsecs, AU, and km. The scope is unambiguous, but the description never distinguishes this tool from near-duplicate siblings such as calculate_light_year or convert_distance, so an agent cannot tell them apart from the text 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 the alternatives, despite two closely related siblings (calculate_light_year, convert_distance) existing. The only pointer, 'See list_bundles for related astronomie-nature calculators', is a cross-reference to a browsing tool, not usage guidance.

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

calculate_linear_regressionCalculate Linear RegressionB
Read-onlyIdempotent
Inspect

Calculate linear regression slope and intercept from summary statistics. Returns: {error}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
nYesNumber of data points
sum_x2YesSum of (xi-x_mean)²
sum_xyYesSum of (xi-x_mean)*(yi-y_mean)
x_meanYesMean of x values
y_meanYesMean of y values

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior2/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 nothing behavioral beyond that, and 'Returns: {error}' reads like an unfilled template placeholder that conveys no real information about output or failure behavior.

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?

Two short sentences with the core computation front-loaded, which is good. But 'Returns: {error}' is an unresolved placeholder that consumes space without earning it.

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 and full annotations exist, so the description need not explain returns or safety. The parameter set is fully documented in the schema. Still, the description is thin for a math tool with a formula-dependent input convention (centered sums, not raw sums), and the list_bundles pointer is only marginally relevant.

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 all five required parameters are individually documented, so the schema carries the burden. The description adds only the collective term 'summary statistics' and clarifies no individual parameter semantics beyond what the schema states — 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 (calculate) and resource (linear regression slope and intercept), plus the input modality ('from summary statistics'). It is clear what the tool computes, though it does not distinguish itself from near-siblings like calculate_slope or calculate_statistics.

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?

'From summary statistics' implies the input precondition (you must already have means and sums, not raw data), which is genuinely useful context. However, there is no explicit when-to-use/when-not guidance, and the pointer to 'list_bundles for related math calculators' is a navigation hint rather than a decision rule for choosing this tool over calculate_slope.

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

calculate_lmnp_amortizationCalculate Lmnp AmortizationA
Read-onlyIdempotent
Inspect

Calculate LMNP rental property amortization and annual tax deduction (French tax regime). See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
annual_rentYesAnnual gross rental income in EUR
property_valueYesProperty purchase price excluding land in EUR
furniture_valueYesFurniture and equipment value in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so safety behavior is fully covered structurally. The description adds domain context (amortization + annual tax deduction under the LMNP regime) but nothing about inputs limits, expected computation model, or error conditions.

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, front-loaded with the core purpose and no filler. The second sentence is a targeted cross-reference rather than padding.

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 this is close to complete. The only real gap is the absence of any differentiation from the adjacent calculate_lmnp_deficit 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?

Schema description coverage is 100% and all three required parameters (property_value, furniture_value, annual_rent) are documented with units in the schema, so the baseline is 3. The description adds the domain context that property and furniture values drive amortization, but no additional syntax, ranges, or interpretation 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 verb and resource ('Calculate LMNP rental property amortization and annual tax deduction') and scopes it to the French tax regime, which is enough for an agent to distinguish this from generic rental-yield tools. It does not, however, explicitly distinguish itself from the close sibling calculate_lmnp_deficit, leaving that separation 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 Guidelines3/5

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

Usage is only implied: the 'LMNP... French tax regime' framing tells an agent this applies to French furnished-rental tax computations, but there is no explicit when-to-use, prerequisite, or 'use X instead' guidance. The 'See list_bundles for related immobilier calculators' line is a discovery pointer rather than routing guidance.

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

calculate_lmnp_deficitCalculate Lmnp DeficitB
Read-onlyIdempotent
Inspect

Calculate LMNP (non-professional furnished rental) tax deficit. Returns: {total_deductible, deficit, note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
annual_rentYesAnnual rental income in EUR
annual_chargesYesAnnual deductible charges in EUR
depreciation_annualYesAnnual depreciation amount in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered structurally. The description adds the return shape, which is somewhat redundant given the output schema, and discloses no formula, edge-case behavior (e.g., surplus/deficit handling) or 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?

Two short sentences, purpose front-loaded, with the return shape and a cross-reference appended. Nothing is padded, though the return-shape sentence carries little weight since an output schema exists.

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?

Annotations cover safety, the schema documents all parameters, and an output schema exists, so the description doesn't need to explain returns or parameters. For a simple three-input calculator it is complete enough to invoke 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% with all three parameters documented in EUR, so the schema does the heavy lifting. The description adds no additional meaning about how annual_rent, annual_charges and depreciation_annual combine, which is the baseline-3 case.

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 (LMNP tax deficit) and even expands the acronym, so the agent knows the domain. It does not explicitly differentiate itself from the nearest sibling calculate_lmnp_amortization, but the deficit focus is distinct enough to identify the tool.

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 only guidance is 'See list_bundles for related immobilier calculators,' which is a discovery pointer, not a when-to-use statement. It never says when this applies versus calculate_lmnp_amortization, nor any prerequisites such as needing rent, charges and depreciation together.

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

calculate_loan_early_repaymentCalculate Loan Early RepaymentA
Read-onlyIdempotent
Inspect

Calculate interest savings from early partial loan repayment. Returns: {months_saved, new_months_remaining, interest_savings_eur, early_repayment_eur}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
early_amountYesEarly repayment amount EUR
monthly_paymentYesCurrent monthly payment EUR
months_remainingYesMonths remaining
remaining_capitalYesRemaining loan capital EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered without the description. The description adds that this is a deterministic savings computation and names currency-denominated outputs (EUR fields, early_repayment_eur), which is modestly useful context beyond 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?

Two sentences, front-loaded with the purpose before the return fields, and no filler. The returns block is somewhat redundant given an output schema exists, which keeps it just short of a 5.

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 four-parameter deterministic calculator with full annotations, 100% schema coverage, and an output schema, the description is nearly sufficient. It leaves one real gap: it does not explain the implied interest rate derivation, which an agent needs to understand to pass sensible inputs.

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 carries its own description and the baseline is 3. The description adds no format, unit-of-measure, or relationship guidance beyond what the schema states — notably it never explains how the interest rate is derived from remaining_capital, monthly_payment, and months_remaining.

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), a precise resource (interest savings from early partial loan repayment), and the exact output semantics. It is clearly distinguishable from adjacent siblings such as calculate_loan_payment, calculate_mortgage, and calculate_housing_loan_comparison.

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 only routing hint is 'See list_bundles for related finance-universal calculators,' which points at a catalogue rather than stating when this tool is the right choice. There is no mention of when to prefer it over calculate_loan_payment or other amortization tools, and no stated prerequisites or exclusions.

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

calculate_loan_paymentCalculate Loan PaymentB
Read-onlyIdempotent
Inspect

Calculate monthly loan payment for any generic loan. Returns: {principal, monthly_payment, total_cost, total_interest}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
monthsYesLoan duration in months
principalYesLoan amount
annual_rateYesAnnual interest rate in %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, covering the safety profile for this pure computation. The description adds the return field list, but no behaviour beyond that, which is acceptable given the annotation coverage.

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 the core action and followed by a compact return shape. The trailing 'See list_bundles' cross-reference is slightly tangential but takes little 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?

For a deterministic three-parameter calculator with a full output schema and complete annotation coverage, the description is sufficient; the return fields it names are redundant with the output schema but not harmful. The one real gap is the absence of guidance distinguishing it from the many other loan/interest calculators.

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 (principal, annual_rate, months) already carry units and bounds in the schema. The description adds no parameter-level meaning such as rate conventions or rounding, 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 (calculate monthly loan payment) with a scope qualifier ('any generic loan') that hints at its generality versus region-specific siblings like calculate_mortgage or calculate_us_mortgage. However, it never explicitly contrasts itself with those overlapping siblings (calculate_mortgage, calculate_annuity_payment, calculate_simple_interest), so differentiation is only implied.

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, despite heavy sibling overlap in the loan/interest space (calculate_mortgage, calculate_annuity_payment, calculate_loan_early_repayment, calculate_simple_interest). The phrase 'generic loan' faintly implies scope but the agent is left to infer which loan tool to pick.

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

calculate_loan_to_valueCalculate Loan To ValueA
Read-onlyIdempotent
Inspect

Compute Loan-to-Value (LTV) ratio for mortgage risk. Use for mortgage application or PMI thresholds. Inputs: loan amount, property value. Returns LTV %, risk level, PMI required y/n. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
loan_amountYesLoan amount EUR
property_valueYesProperty value EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/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, so the safety profile is covered. The description adds the output shape (LTV %, risk level, PMI y/n), but that overlaps with the existing output schema and offers no behavioral context such as assumptions or input constraints beyond the schema's exclusiveMinimum.

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 short sentences, front-loaded with purpose then usage then input/output summary; no filler, though the input/output recap is somewhat redundant given the schemas.

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 the description covers purpose, context, and the existence of related calculators. Sufficient for a two-parameter pure calculation, 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 coverage is 100% with only two required numeric params; the description merely restates 'loan amount, property value' without adding units, ranges, or edge-case guidance beyond what the schema already documents.

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 ('Compute Loan-to-Value (LTV) ratio for mortgage risk'), which unambiguously distinguishes it from numeric siblings like calculate_cac_ltv_ratio and calculate_debt_to_income.

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 ('use for mortgage application or PMI thresholds') and points to list_bundles for related 'immobilier' calculators, but does not explicitly contrast with adjacent tools such as calculate_mortgage or calculate_debt_service_ratio.

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

calculate_logarithmCalculate LogarithmB
Read-onlyIdempotent
Inspect

Calculate logarithm in any base (natural, common, binary). Returns: {result}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
baseNoLog base: e=natural, 10=common, 2=binarye
valueYesValue to take log of

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, fully covering the behavioral profile of a pure computation. The description adds no behavioral context beyond them, and 'Returns: {result}' is redundant given the 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.

Conciseness3/5

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

Front-loaded with the core purpose in the first clause, which is good, but 'Returns: {result}' duplicates the output schema and the list_bundles sentence is only tangentially relevant, so not every sentence 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 two-parameter pure calculator with full schema coverage, complete annotations, and an output schema, the definition covers what an agent needs to invoke it. The missing piece is usage guidance relative to other math tools, but that is a minor gap for a self-contained function.

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 base enum is already documented in the schema ('e=natural, 10=common, 2=binary'). The description repeats the same base information without adding syntax, defaults, or edge-case notes, 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 (logarithm) with the scope made explicit via the parenthetical 'any base (natural, common, binary)'. The function is inherently distinct from all calculate_* siblings, so an agent can identify 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 Guidelines2/5

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

The description gives no when-to-use or when-not-to-use guidance, and names no alternative calculator. 'See list_bundles for related math calculators' is a navigation pointer, not usage guidance for this tool.

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

calculate_lottery_oddsCalculate Lottery OddsB
Read-onlyIdempotent
Inspect

Compute the odds of winning a lottery for various prize tiers. Use for awareness, education. Inputs: numbers to pick, total numbers, bonus number config. Returns probability and 1-in-N for each tier. See list_bundles for related 'jeux-probabilites' calculators.

NameRequiredDescriptionDefault
bonus_poolNoSize of the bonus number pool (default 0, no bonus)
bonus_numbersNoNumber of bonus/powerball numbers to match (default 0)
total_numbersYesTotal numbers in the main pool
numbers_to_pickYesHow many numbers you pick

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 clear. The description adds little behavioral context beyond noting prize tiers and bonus configuration; it does not state assumptions such as fair draws or whether multiple tickets/combinations 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.

Conciseness4/5

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

The purpose is front-loaded and the description is reasonably short. Some sentences are redundant or low-value: the return-value sentence duplicates the output schema, and the list_bundles cross-reference is not needed for invoking 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?

With a full input schema, an output schema, and rich annotations, the description supplies enough context to identify and call the tool correctly. It is slightly incomplete on usage routing among the many probability calculators, but that is a minor gap for a deterministic calculator.

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. The description merely lists the same inputs at a high level ('numbers to pick, total numbers, bonus number config') without adding format, constraints, or examples 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 ('odds of winning a lottery') and scopes it to prize tiers. It is distinguishable from generic probability siblings by the lottery focus, but it does not explicitly differentiate itself from the other probability 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 Guidelines2/5

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

The only usage text is 'Use for awareness, education,' which is vague and does not explain when to choose this over calculate_card_draw_probability, calculate_dice_probability, or other probability tools. No exclusions or alternative-routing guidance is provided.

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

calculate_luggage_weightCalculate Luggage WeightA
Read-onlyIdempotent
Inspect

Calculate total luggage weight and compare to airline limits (carry-on, economy checked, business checked). Returns: {total_kg, status}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
itemsYesArray of luggage items with name and weight in kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 fully covered by structured data. The description adds the airline-limit tiers being compared and the return shape, but since an output schema exists, the return mention is largely redundant and no deeper behavioral context (e.g., which limits are defaulted) is given.

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, purpose front-loaded, no filler. The 'Returns: {total_kg, status}' clause is slightly redundant given the output schema, costing a point.

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, read-only calculator with annotations covering safety and an output schema covering the return, the description supplies everything an agent needs: what is computed, what it is compared against, and a pointer to related voyage 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 the single parameter is documented in the schema as 'Array of luggage items with name and weight in kg'. The description adds no meaning beyond that, 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 gives a specific verb+resource ('Calculate total luggage weight') and adds scope detail ('compare to airline limits (carry-on, economy checked, business checked)'). It doesn't name a competing sibling, but no other luggage-weight calculator exists in the sibling list, so disambiguation is inherent.

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?

'See list_bundles for related voyage calculators' points toward adjacent tooling but gives no explicit when-to-use, when-not, or prerequisites. 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.

calculate_malus_ecologiqueCalculate Malus EcologiqueA
Read-onlyIdempotent
Inspect

French ecological malus 2026: CO2 g/km based tax on new vehicle registration. Returns: {malus_eur, threshold, max}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
co2_g_kmYesCO2 emissions in g/km

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive behavior, so the safety profile is covered. The description adds useful context beyond that: the applicable jurisdiction/year (2026 France), the input basis (CO2 g/km) and the returned fields, which an agent would not otherwise know.

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 tight sentences, front-loaded with the core purpose, followed by output shape and a cross-reference. Nothing redundant, though the bundle pointer is of marginal value.

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 single-parameter, fully annotated, idempotent calculation with an output schema, the description covers jurisdiction, basis and returned keys. The main omission is eligibility/prerequisite context (e.g. what vehicle classes or thresholds apply), but that is minor given the strong structural coverage.

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 there is a single required, well-described number field, so the schema carries the semantics. The description only loosely reinforces the CO2/g-km meaning and adds no units nuance beyond the schema. 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 ('French ecological malus 2026 ... tax on new vehicle registration'), including the precise domain (CO2 g/km based) and year. An agent can distinguish it from the many other tax/vehicle calculators 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 Guidelines2/5

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

The only guidance is 'See list_bundles for related auto-transport calculators,' which is a navigation pointer, not a when-to-use rule. It never states when this tool should be selected over alternatives like calculate_puissance_fiscale or other vehicle-tax calculators, nor any prerequisites.

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

calculate_marathon_splitsCalculate Marathon SplitsB
Read-onlyIdempotent
Inspect

Generate target split times for a marathon, half-marathon, or other race. Use for race-day pacing. Inputs: target finish time, distance km. Returns 5K splits, halfway, and final pace. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
target_time_minutesYesTarget marathon finish time in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 safety behavior is covered. The description adds the delivered outputs (5K splits, halfway, final pace), but that largely duplicates the existing output schema rather than adding behavioral context like rounding rules or what happens for off-distance races.

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 short sentences, front-loaded with the primary purpose. The trailing 'See list_bundles...' pointer is marginal but compact. No filler or repetition.

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, read-only, with an output schema, so return-value detail is optional. The remaining gap is the phantom 'distance km' input, which leaves the description inconsistent with the actual single-parameter contract.

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 coverage is 100%, which would normally justify a baseline of 3. But the description asserts inputs of 'target finish time, distance km,' while the schema contains only target_time_minutes with no distance parameter. Advertising a nonexistent input misleads the agent about how to invoke the tool.

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: 'Generate target split times for a marathon, half-marathon, or other race.' This distinguishes it reasonably from neighbors like calculate_running_pace or calculate_race_prediction. However, it does not name an alternative sibling, so the differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

'Use for race-day pacing' gives a clear context, but there is no when-not guidance and no routing to alternatives such as calculate_running_pace or calculate_race_prediction, which an agent would need to disambiguate a large family of running calculators.

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

calculate_markup_marginCalculate Markup MarginB
Read-onlyIdempotent
Inspect

Convert between markup and margin (often confused). Use for pricing decisions or COGS reporting. Inputs: cost and either markup % or margin %. Returns selling price and the other metric. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
costYesCost price
selling_priceYesSelling price

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 and a pure calculator needs little more. The description's only added behavioral content is about return values ('Returns selling price and the other metric'), which the output schema already covers, so it adds limited value beyond 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.

Conciseness4/5

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

Three short sentences, front-loaded with the core purpose and the disambiguating 'often confused' note. The trailing 'See list_bundles for related finance-universal calculators' is mildly off-topic for a calculation call but not bloated.

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?

An output schema exists, so return values need not be described, but the description instead states an input contract that contradicts the schema's required parameters (cost + selling_price). For a required-argument calculator this misdescription is a material completeness defect.

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?

The description claims the inputs are 'cost and either markup % or margin %', but the schema requires cost and selling_price and exposes no markup/margin parameters at all. With 100% schema coverage the baseline would be 3, but this stated contract actively conflicts with the schema and would lead an agent to supply a nonexistent 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 concept ('convert between markup and margin') and even flags the common confusion, so the agent knows exactly what the tool computes. It does not, however, distinguish this from close siblings such as calculate_profit_margin or calculate_cost_price, which handle overlapping pricing math.

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?

'Use for pricing decisions or COGS reporting' gives a usage context but no when-not guidance and no explicit routing to alternatives despite many competing margin/profit siblings. The pointer to list_bundles is a discovery hint rather than a selection rule, so usage is only implied.

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

calculate_maternity_leave_frCalculate Maternity Leave FRA
Read-onlyIdempotent
Inspect

Compute French maternity leave duration and IJSS allowance. Use for HR or expectant parents. Inputs: due date, prior children count, multiple birth. Returns pre/post-birth leave days and allowance estimate. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
twinsNoMultiple birth
existing_childrenYesExisting children

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and closed-world, so the safety profile is fully covered. The description adds only a return summary (pre/post-birth leave days and allowance estimate), which is largely redundant given an output schema exists, and no auth/rate/determinism context beyond 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?

Purpose is front-loaded and the four short sentences are easy to scan. The list_bundles cross-reference is mildly extraneous but not wasteful.

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, an output schema, and complete annotations, the description is sufficient to call the tool correctly. The only shortfall is the phantom 'due date' input, which slightly undermines completeness.

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?

The description claims inputs of 'due date, prior children count, multiple birth', but the schema only defines existing_children and twins — there is no due_date parameter. 'prior children count' and 'multiple birth' loosely map to the schema, but advertising a non-existent input can mislead an agent, even though schema coverage is 100%.

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: 'Compute French maternity leave duration and IJSS allowance.' The France/HR domain and the two outputs (leave days, IJSS allowance) make it clearly distinguishable from the many other calculate_* tools, especially generic due-date and leave-day calculators.

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?

Names a target audience ('HR or expectant parents') and links to list_bundles for related 'finance-france' calculators, but never states when to prefer this over close siblings like calculate_due_date, calculate_pregnancy_due_date, or calculate_leave_days. Usage is implied rather than delimited.

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

calculate_max_heart_rateCalculate Max Heart RateB
Read-onlyIdempotent
Inspect

Estimate maximum heart rate using standard or age-adjusted formulas. Returns: {max_heart_rate}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
ageYesAge in years
formulaNoFormula: standard (220-age), tanaka (men), gulati (women)standard

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world, so the safety profile is fully covered. The description adds the formula families available (standard vs age-adjusted), which is useful framing, but for a pure deterministic calculation there is little else to disclose beyond what annotations and the output schema provide.

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 the core action. The 'Returns: {max_heart_rate}' clause is largely redundant given an output schema exists, costing a little space, but nothing else is 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 deterministic calculator with full schema coverage, rich annotations, and an output schema, the description covers purpose and available formulas adequately. The 'sante' bundle cross-reference is vague and the boundary against heart-rate-zone tools is unstated, 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 coverage is 100%: age (1-120 years) and the formula enum with its standard/tanaka/gulati explanations are documented in the schema itself. The description echoes 'standard or age-adjusted formulas' without adding syntax, units, or edge-case behaviour, so 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 ('Estimate maximum heart rate') and names the formula family, so the agent knows exactly what is computed. It does not, however, distinguish itself from near neighbours such as calculate_heart_rate_zones, calculate_training_zones_running, or calculate_vo2max, which share the cardiac-fitness 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?

There is no statement of when to use this tool versus the many adjacent cardiac/fitness calculators, nor any prerequisite or exclusion. The only routing hint is 'See list_bundles for related sante calculators', which points at a discovery tool rather than explaining selection.

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

calculate_meat_cookingCalculate Meat CookingB
Read-onlyIdempotent
Inspect

Compute meat cooking time and target internal temperature by cut and doneness. Use for kitchen prep. Inputs: meat type, weight kg, doneness. Returns oven time and target temp. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
meatYesMeat type
donenessNoDonenessmedium
weight_kgYesMeat weight kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 by structured data. The description's contribution is limited to "returns oven time and target temp," which the output schema already conveys, so it adds little behavioral context beyond the baseline.

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 two sentences are tight and front-loaded, but the closing sentence redirects the agent to list_bundles for "'cuisine' calculators," which is promotional noise rather than selection help and points away from the true sibling calculate_meat_cooking_time.

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 a full output schema and rich annotations, return values and safety need not be explained, so the description is adequate on those axes. It falls short on the one thing structured data cannot supply: disambiguating this tool from the extremely similar cooking-calculation siblings in a list of 300+ 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 enums are documented in the schema, so the schema carries the meaning. The description merely re-lists the inputs (meat type, weight kg, doneness) without adding units, defaults, or range constraints beyond what is already there - the baseline 3.

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: compute meat cooking time plus target internal temperature, scoped by cut and doneness. That is clear enough to select the tool, but it does nothing to separate it from the near-identical sibling calculate_meat_cooking_time, nor from calculate_cooking_time or convert_cooking.

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?

"Use for kitchen prep" is the only usage guidance and is essentially a restatement of the domain. There is no when-not guidance and no mention of the obvious alternative calculate_meat_cooking_time, which is the one decision an agent actually has to make here.

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

calculate_meat_cooking_timeCalculate Meat Cooking TimeB
Read-onlyIdempotent
Inspect

Compute oven cooking time for meat by cut, weight, and doneness. Use for cooking. Inputs: meat type, weight kg, target doneness. Returns time min and oven temp °C. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
donenessYesDesired doneness
meat_typeYesType of meat
weight_kgYesMeat weight kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 output shape ('time min and oven temp °C'), which is mildly useful, but discloses nothing about limitations, supported ranges, or edge cases. Adequate but thin given the annotation coverage.

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?

Front-loaded with the core purpose, which is good, but the middle sentences repeat the schema inputs and outputs that are already structured elsewhere, and 'Use for cooking' earns no place. The trailing list_bundles pointer is a non-sequitur that dilutes focus.

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 spelled out, and annotations cover safety, so the core is covered. What is missing is disambiguation from the many cooking-related siblings and any note on supported meats/weights — the gaps that actually affect correct selection.

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 enums on meat_type and doneness, so the schema already carries full parameter meaning. The description merely restates 'meat type, weight kg, target doneness' without adding units guidance, ranges, or defaults beyond what the schema shows — 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 oven cooking time for meat') plus the three driving inputs, which is clearly better than a tautology. However, it never distinguishes itself from its near-identical siblings calculate_meat_cooking and calculate_cooking_time, so an agent cannot tell which one to pick from the description alone. The mismatched word 'cut' (not an actual parameter) also blurs the scope slightly.

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?

'Use for cooking' is essentially no guidance — it does not say when this tool is preferable to calculate_meat_cooking, calculate_cooking_time, calculate_cooking_conversion, or convert_cooking. There are no exclusion conditions, prerequisites, or routing hints despite a large set of overlapping cooking siblings.

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

calculate_menstrual_cycleCalculate Menstrual CycleB
Read-onlyIdempotent
Inspect

Calculate next period, fertile window, and ovulation date. Returns: {next_period, ovulation_date, fertile_window_start, fertile_window_end}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
cycle_lengthNoAverage cycle length days
last_period_dateYesLast period start date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the burden is light. The description adds nothing beyond a field list that duplicates the existing output schema, and omits behavioral caveats that matter here — e.g. that the estimate assumes a regular cycle and ignores cycle variability.

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 the core purpose, no filler prose. Minor waste: the 'Returns: {next_period, ...}' enumeration restates keys already present in the output schema.

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?

Since an output schema exists, the return list is redundant rather than compensating. What is missing is the content only a description can carry: how this differs from calculate_ovulation, and the assumption set (regular cycles, 28-day default) behind the predictions.

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%: both cycle_length (default 28, range 21-45) and last_period_date (YYYY-MM-DD) are fully documented in the schema. The description adds no interpretation of these inputs, 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) plus the exact resources produced: next period, fertile window, ovulation date. That is clear enough to identify the tool, but it offers no differentiation from the overlapping sibling calculate_ovulation (and calculate_pregnancy_due_date / calculate_due_date), which an agent in this 400-tool family would need.

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. The only routing hint is 'See list_bundles for related "sante" calculators', which points at a catalog browser rather than telling the agent how to choose between this tool and calculate_ovulation.

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

calculate_mining_profitabilityCalculate Mining ProfitabilityA
Read-onlyIdempotent
Inspect

Compute crypto mining profitability after electricity costs. Use for miners evaluating ROI. Inputs: hashrate, power W, kWh price, network difficulty, coin price. Returns daily/monthly net profit. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
power_wattsYesMining hardware power consumption in watts
block_rewardNoBlock reward in coins (default 3.125 BTC post-halving)
hashrate_mhsYesMining hashrate in MH/s
coin_price_usdYesCurrent coin price in USD
network_difficultyYesCurrent network difficulty
electricity_cost_kwhYesElectricity cost per kWh in fiat currency

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so safety is covered and the bar is lower. The description adds that electricity costs are deducted and that daily/monthly net profit is the output, which is useful context, but it omits caveats like difficulty volatility or input assumptions.

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 short sentences with purpose front-loaded, use case second, output and pointer last. It is tight and well ordered, though the input enumeration partially duplicates the fully documented 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 annotations covering the safety profile and an output schema handling return values, the description is adequately complete: it conveys purpose, audience, key inputs and the output granularity (daily/monthly net profit). Only edge-case assumptions 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 an output schema exists, so the schema carries parameter meaning and the baseline is 3. The description's input list (hashrate, power W, kWh price, difficulty, coin price) merely restates schema fields without adding format, units or default semantics (e.g., the block_reward default).

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 (crypto mining profitability after electricity costs), and names the distinguishing feature (net of electricity costs). It does not explicitly differentiate from close siblings like calculate_crypto_profit_loss or calculate_staking_rewards, 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?

'Use for miners evaluating ROI' gives an implied audience/context but no when-not guidance or named alternative. The pointer to list_bundles is a discovery hint rather than routing between comparable calculators, so usage is only lightly implied.

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

calculate_moon_phaseCalculate Moon PhaseA
Read-onlyIdempotent
Inspect

Compute current moon phase and illumination % for any date. Use for astronomy, agriculture, fishing. Inputs: date. Returns phase name, illumination %, age in days. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds that the computation works for any date and lists the outputs, but discloses nothing beyond that (no limitations on date range, no caching or precision notes) — modest 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.

Conciseness4/5

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

Front-loaded with purpose, then uses, then I/O in a tight block. 'Inputs: date' and the return-value list duplicate what the schema and output schema already carry, so a small amount of text does not earn 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 one-parameter, read-only computed tool with both annotations and an output schema, the description is sufficient: it names the domain, the input, and the returned fields. Only the absence of any edge-case or scoping note keeps it short of full completeness.

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?

With one parameter at 100% schema coverage, the schema already specifies the YYYY-MM-DD pattern and format. 'Inputs: date' merely restates the parameter name and adds no format or boundary semantics beyond 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 plus scope: 'Compute current moon phase and illumination % for any date.' That is unmistakably distinct from siblings like calculate_sunrise_sunset or calculate_star_magnitude_distance, so an agent can select it without opening the schema.

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

Usage Guidelines3/5

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

'Use for astronomy, agriculture, fishing' gives domain triggers but no when-not condition and names no alternative tool. The pointer to list_bundles routes to a bundle rather than to a competing calculator, so usage guidance stays implied rather than explicit.

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

calculate_moroccan_cnssCalculate Moroccan CnssA
Read-onlyIdempotent
Inspect

Calculate Moroccan CNSS contributions (employee and employer shares). Returns: {gross_monthly_mad, employee, employer, pension_ceiling_mad}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
gross_monthly_madYesGross monthly salary in MAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world, non-destructive behaviour, so the safety profile is fully covered. The description adds the output field list and hints at a pension ceiling being applied, but it does not explain rate structure, assumptions, or caps in a way that goes much 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.

Conciseness4/5

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

Two short sentences with the purpose front-loaded and no padding; the return-field list and bundle pointer are compact. Slight redundancy in restating return fields that the output schema already defines.

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 single-parameter, side-effect-free calculator with rich annotations and an output schema, the description is sufficient to call it correctly. The only real omission is any indication of the calculation basis (rates, ceilings, assumptions), which is minor given the output schema covers returns.

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 at 100% schema description coverage ('Gross monthly salary in MAD'), so the schema already does the heavy lifting. The description contributes no additional meaning about the parameter (units, allowed range, currency handling), matching the baseline for fully-documented schemas.

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+resource ('Calculate Moroccan CNSS contributions') and further scopes it with 'employee and employer shares', which separates it from generic payroll or income-tax siblings such as calculate_moroccan_income_tax and calculate_belgian_social_contributions. It does not, however, name or contrast any specific sibling, 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 only guidance is a discovery pointer ('See list_bundles for related finance-afrique-quebec calculators'), which helps navigation but does not say when to choose this tool over near-neighbours like calculate_moroccan_income_tax. Usage is implied by the tool's name rather than stated.

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

calculate_moroccan_income_taxCalculate Moroccan Income TaxA
Read-onlyIdempotent
Inspect

Calculate Moroccan income tax (IR) on annual net taxable income (SNI) using the CGI Art. 73 progressive scale, minus the family-charge tax reduction. Returns: {annual_income_mad, taxable_income, family_deduction, income_tax_before_family_reduction_mad, income_tax_mad, effective_rate_pct, marginal_rate_pct, brackets}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
dependentsNoNumber of dependents (tax reduction of 600 MAD/year each, max 6)
annual_income_madYesAnnual net taxable income (SNI) in MAD: gross minus CNSS/AMO and professional expenses

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the computation method (progressive CGI Art. 73 scale) and the fact that a family-charge reduction is applied, which tells the agent the result is a net-of-reduction figure.

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 action and tax basis, followed by the cross-reference. The enumerated return-key list is somewhat long and partially duplicates the output schema, but it does not obscure the primary intent.

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 did not need spelling out, yet the description still enumerates them — redundant but harmless. Combined with 100% schema coverage and full annotations, an agent has everything needed to invoke the tool correctly; only the when-to-use routing is thin.

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 (annual_income_mad, dependents) are already fully documented including the 600 MAD/dependent cap. The description restates the SNI basis and the family reduction but adds no syntax, units or edge-case detail the schema lacks, 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.

Purpose5/5

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

States a specific verb (calculate) and a precisely scoped resource (Moroccan income tax / IR on annual net taxable income), naming the governing legal basis (CGI Art. 73). This clearly distinguishes it from the many sibling income-tax calculators (Belgian, French, Senegalese, Quebec, Swiss) without needing to open 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 usage by defining the exact input basis (annual net taxable income, SNI, after CNSS/AMO and professional expenses) and points to list_bundles for related 'finance-afrique-quebec' calculators. However, it never states when to prefer this tool over adjacent siblings such as calculate_moroccan_cnss or calculate_moroccan_profit_foncier, and gives no exclusions or prerequisites.

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

calculate_moroccan_profit_foncierCalculate Moroccan Profit FoncierB
Read-onlyIdempotent
Inspect

Calculate Moroccan property income tax (profit foncier / revenus fonciers). Returns: {annual_rent_mad, taxable_income, income_tax_mad, effective_rate_pct, marginal_rate_pct}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
dependentsNoNumber of dependents for family deduction
expenses_pctNoDeductible expenses as % of rent (default 40%)
annual_rent_madYesAnnual rental income in MAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as a safe read (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false), so the safety profile is covered. The description's only additional content is a list of return fields, which duplicates the output schema rather than adding behavioral context such as rounding, currency assumptions, or rate-year applicability.

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 purpose, with no filler. The return-field enumeration is mildly redundant given the output schema exists, but it is compact and does not obscure the main clause.

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 calculator with a full schema and an output schema, the description is adequate: it names the tax, the domain, and the computed outputs. The missing piece is disambiguation from the heavily overlapping Moroccan tax siblings in this toolset.

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 (annual_rent_mad, expenses_pct, dependents) are already documented in the schema, including the 40% default. The description adds nothing about parameter meaning or interaction, 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 ('Calculate Moroccan property income tax'), and gives the French/English aliases (profit foncier / revenus fonciers), which separates it conceptually from the many other calculate_moroccan_* siblings. However, it never names the closest sibling calculate_moroccan_income_tax, so an agent must infer the distinction rather than being told.

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. 'See list_bundles for related calculators' is a navigation pointer, not a condition for selecting this tool over calculate_moroccan_income_tax or calculate_property_capital_gains.

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

calculate_moroccan_vatCalculate Moroccan VATA
Read-onlyIdempotent
Inspect

Compute Moroccan VAT (TVA) — convert between HT and TTC. Use for invoicing in Morocco. Inputs: amount, rate (20/14/10/7), mode (ht/ttc). Returns HT, TTC, tax amount. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=hors taxe, ttc=toutes taxes comprisesht
rateNoVAT rate: 0%, 7%, 10%, 14%, or 20% (standard)20
amountYesAmount in MAD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare this a pure, side-effect-free, idempotent computation (readOnlyHint, idempotentHint, destructiveHint=false), so the burden is light. The description restates the conversion semantics but adds no behavioral context beyond that (no rounding rules, currency assumption beyond the schema's MAD note, or output framing that isn't in the output schema). Adequate but thin against the lowered bar.

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, inputs, and return values are front-loaded in tight sentences. The final sentence about list_bundles and the 'finance-afrique-quebec' bundle is a tangent that doesn't earn its place in a calculator definition, keeping it from a 5.

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 three-parameter, annotation-covered, output-schema-backed calculator, the definition supplies enough to invoke it correctly: purpose, the country scope, and the input modes. The only gap is differentiation from other VAT tools, which is a guidance rather than a completeness issue.

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 enums and the amount are already documented in the schema; the description merely echoes them. It even lists "20/14/10/7" and drops the 0% rate that the schema includes, so it adds no meaning and is slightly less complete than the schema. Baseline 3 for a fully-covered schema is correct.

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 (compute Moroccan VAT / TVA, convert between HT and TTC) and pins the country, which is exactly the axis that separates it from the many sibling VAT calculators (calculate_french_vat, calculate_swiss_vat, calculate_senegalese_vat, etc.). An agent can identify it from the name plus description alone.

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?

"Use for invoicing in Morocco" gives a usage context, but with calculate_vat_generic, calculate_vat_reverse, and five other country VAT tools as siblings, the description never says when this one is preferred over those alternatives or what distinguishes the HT/TTC conversion from the generic VAT tool. The trailing pointer to list_bundles is a routing hint but not usage guidance for this tool.

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

calculate_mortgageCalculate MortgageB
Read-onlyIdempotent
Inspect

Calculate mortgage/loan monthly payment, total cost, and optional amortization schedule. Returns: {principal, months, monthly_payment, total_interest, total_cost}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
yearsYesLoan duration in years
principalYesLoan amount in currency units
annual_rateYesAnnual interest rate in %
with_scheduleNoInclude first 12 months + last month amortization

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered structurally. The description adds little beyond that: the return-field list duplicates the existing output schema, and the amortization mention simply restates the with_schedule parameter. No additional behavioral context (rounding, currency assumptions, edge cases) is given.

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 short sentences, front-loaded with the core computation, followed by the return shape and a pointer. Nothing is padded, though the return-field enumeration is largely redundant given the output 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 annotations covering safety, a full output schema, and 100% parameter documentation, the definition gives the agent everything needed to invoke the tool correctly. The only missing element is disambiguation from sibling loan calculators, which is minor given the complete structured metadata.

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 carries its own description with min/max bounds, so the schema does the heavy lifting. The description only alludes to the optional amortization schedule, which the schema's with_schedule field already documents more precisely (first 12 months + last month). 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 and resource ('Calculate mortgage/loan monthly payment, total cost') and enumerates the computed outputs, so the purpose is unambiguous. It does not, however, distinguish itself from close siblings like calculate_us_mortgage or calculate_loan_payment, leaving the agent to infer which one 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?

There is no statement of when to use this tool versus the many adjacent loan calculators (calculate_loan_payment, calculate_us_mortgage, calculate_mortgage_insurance). The only routing hint is a pointer to list_bundles for 'finance-france' calculators, which is discovery rather than usage guidance.

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

calculate_mortgage_insuranceCalculate Mortgage InsuranceB
Read-onlyIdempotent
Inspect

Calculate mortgage insurance (assurance emprunteur) cost. Returns: {monthly_insurance, annual_insurance, total_insurance}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
rate_pctNoAnnual insurance rate in % of loan (default 0.36)
loan_amountYesLoan amount in EUR
duration_yearsYesLoan duration in years

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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's main added content is the return-value shape, but an output schema already exists, so that information is largely duplicative; the French alias is the only genuinely additive 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?

Three short, front-loaded sentences with the purpose stated first. The 'Returns: {...}' clause is redundant given the output schema and slightly dilutes an otherwise tight description.

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 calculator with full schema coverage, complete annotations, and an output schema, the description covers the essential purpose and offers a cross-reference to related calculators. It is sufficient to call the tool correctly, though it lacks sibling routing.

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 loan_amount, duration_years, and rate_pct (including the 0.36 default) all documented in the schema. The description adds nothing about parameter formats or units, 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 ('Calculate mortgage insurance cost') and clarifies the domain term with the French synonym 'assurance emprunteur', which helps disambiguate for a multilingual catalog. It does not distinguish itself from near-neighbors such as calculate_insurance_estimate, calculate_mortgage, or calculate_travel_insurance, 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 explicit when-to-use or when-not-to-use guidance. The only pointer is 'See list_bundles for related immobilier calculators', which is a browse hint rather than a routing rule telling the agent when this tool beats calculate_insurance_estimate or calculate_mortgage.

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

calculate_motor_torqueCalculate Motor TorqueB
Read-onlyIdempotent
Inspect

Compute motor torque from power and RPM. T(Nm)=9550·P(kW)/RPM. Use for mechanical sizing. Inputs: power kW, rpm. Returns torque in N·m and lb-ft. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
rpmYesRPM
power_wYesPower watts

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already establish readOnly, idempotent, non-destructive behavior, so the safety profile is covered. The description adds the formula and the dual-unit output (N·m and lb-ft), which is modest value; it adds little else beyond what annotations and the output schema carry.

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?

Compact and front-loaded: purpose, formula, usage, inputs, outputs in short sentences with zero filler. The trailing 'See list_bundles' sentence is slightly promotional and not strictly necessary, keeping it below a 5.

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 explained, and the description still supplies the formula. However, the kW-vs-watts input discrepancy leaves the single most important invocation detail (input unit) ambiguous, which is a meaningful gap for a 2-parameter tool.

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 coverage is 100%, so the baseline would be 3, but the description states 'Inputs: power kW' while the required parameter is power_w documented as 'Power watts'. This unit mismatch actively misleads the agent on the input unit, degrading rather than adding semantic 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 and resource ('Compute motor torque from power and RPM') and even gives the governing formula, so an agent can tell what the tool produces. It does not explicitly differentiate itself from the hundreds of sibling calculate_* tools beyond the descriptive name, 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?

'Use for mechanical sizing' gives a rough context but no when-not conditions and no named alternative. The 'See list_bundles' pointer is a cross-reference to an unrelated discovery tool, not an alternative for the same task, so usage is only implied.

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

calculate_moving_cost_detailedCalculate Moving Cost DetailedB
Read-onlyIdempotent
Inspect

Estimate detailed moving cost based on volume, distance and floor. Returns: {base_cost, total_cost_eur, note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
floorNoFloor number (default 0 = ground floor)
elevatorNoWhether elevator is available (default true)
volume_m3YesVolume of goods to move in m3
distance_kmYesMoving distance in km

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds the return field names ({base_cost, total_cost_eur, note}), which is useful context, but it says nothing about assumptions (e.g., currency handling, elevator impact on price) or edge 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?

Two tight sentences, front-loading the core computation before the return shape and the discovery pointer. Nothing is padded, though the trailing bundle reference is only loosely related to invocation.

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, an output schema covering returns, and full schema coverage for parameters, the description supplies the few missing pieces (what it estimates). It is adequate, but could route better against the many sibling cost calculators.

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 four parameters (including elevator, which the description never mentions) are documented in the schema. Baseline 3 applies; the description adds no syntax or 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?

States a specific verb ("Estimate") and resource ("detailed moving cost") plus the driving inputs (volume, distance, floor). It's clear what the tool computes, but it does not distinguish itself from the close sibling calculate_moving_volume or other shipping/cost tools.

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 only routing hint is "See list_bundles for related 'immobilier' calculators," which points at a discovery resource rather than telling the agent when to pick this over calculate_moving_volume, calculate_delivery_cost, or calculate_international_shipping. No when-to-use or exclusion guidance is provided.

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

calculate_moving_volumeCalculate Moving VolumeB
Read-onlyIdempotent
Inspect

Estimate moving volume (m³) by home type and contents. Use for moving company quotes. Inputs: home size, rooms, furniture density. Returns m³ and truck size recommendation. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
typeYesHome type

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, closed-world, non-destructive) and an output schema exists, so the burden on the description is low. The description adds nothing beyond restating that it returns m³ and truck size, so it neither strengthens nor weakens the structured 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 short, front-loaded sentences with no filler; purpose leads, use case and returns follow. The trailing list_bundles pointer is useful routing rather than padding.

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 rich annotation set and an output schema already explaining return values, the description covers purpose, use case, and output unit adequately for a one-parameter calculator. The only gap is the inaccurate input enumeration.

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 coverage is 100% for the single 'type' enum, so baseline would be 3, but the description lists 'home size, rooms, furniture density' as inputs — only home type/rooms loosely map to the enum and 'furniture density' does not exist in the schema at all. This overstates the actual input surface and could mislead an agent into expecting extra parameters.

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?

Clear verb+resource+output unit: 'Estimate moving volume (m³) by home type and contents.' An agent knows exactly what it computes, though it does not explicitly distinguish itself from the close sibling calculate_moving_cost_detailed or calculate_shipping_volumetric.

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?

Some implied usage is given: 'Use for moving company quotes.' However, there is no when-not guidance and no explicit alternative named other than a vague pointer to list_bundles for related calculators. An agent must infer scope on its own.

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

calculate_net_worthCalculate Net WorthB
Read-onlyIdempotent
Inspect

Calculate net worth and debt ratio from assets and liabilities. Returns: {net_worth_eur, debt_ratio_pct}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
assets_totalYesTotal assets EUR
liabilities_totalYesTotal liabilities EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 full safety profile is covered externally. The description adds the computation's basis (assets vs liabilities) but no permissions, rounding, edge-case, or validation behavior; the return-shape sentence largely duplicates what the output schema 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?

Two short sentences, purpose first, no filler. The return-value clause is somewhat redundant given the output schema exists, keeping it just short of a 5.

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-number, deterministic, read-only calculator with full schema coverage, complete annotations, and an output schema, the description covers purpose, inputs, and outputs. Only the definition of debt_ratio_pct (presumably liabilities/assets × 100) is left unstated, which is a 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 both parameters (assets_total, liabilities_total) are fully documented with type, minimum, and unit. The description's 'from assets and liabilities' merely restates the two required fields and adds no semantics such as whether values are gross/net or non-negative-only behavior.

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 (net worth, debt ratio) plus the inputs used (assets and liabilities). It is clear in isolation, but with hundreds of sibling 'calculate_*' tools it makes no attempt to distinguish itself from near-neighbors like calculate_debt_to_income, calculate_net_worth-adjacent finance calculators, or calculate_debt_capacity beyond a pointer to list_bundles.

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, no prerequisites, and no exclusions. 'See list_bundles for related finance-universal calculators' is a discovery breadcrumb, not selection guidance — an agent still cannot tell why it would pick this over calculate_debt_to_income or calculate_net_worth-style siblings.

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

calculate_night_shift_payCalculate Night Shift PayA
Read-onlyIdempotent
Inspect

Calculate night shift pay (21h-6h) with configurable premium percentage. Returns: {night_hourly_rate, total_pay, premium_earned}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
night_hoursYesNumber of night hours worked (21h-6h)
premium_pctNoNight shift premium percentage (default 25%)
base_hourly_rateYesNormal hourly rate in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare this as a safe, idempotent, read-only, non-destructive computation, so the safety profile is covered. The description adds the 21h-6h window and lists return fields, but the latter duplicates the existing output schema, so little genuinely 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?

Three short clauses, front-loaded with the core purpose, time window, and then secondary details. The inline return-value list is largely redundant given the output schema, which slightly dilutes the efficiency.

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 pure calculator with full param coverage, an output schema, and annotations covering the safety profile, the description supplies everything needed to invoke it correctly. Only minor operational detail (e.g., that the base rate is in euros) lives solely 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 100%, with units, defaults (25%), and bounds all documented in the schema. The description only echoes that the premium percentage is configurable, adding no meaning 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 ('calculate night shift pay') plus a concrete scope constraint (21h-6h) and the configurable premium, which is enough to place it apart from generic payroll calculators like calculate_overtime_pay_fr. It never names a same-task sibling, though, so the differentiation is implicit rather than explicit.

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

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 statement, and no comparison to adjacent tools (overtime, salary, add_hours). The only routing hint is the pointer to list_bundles for related 'temps-rh' calculators, which gives partial navigation but does not tell an agent when this tool is the right pick.

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

calculate_notary_feesCalculate Notary FeesB
Read-onlyIdempotent
Inspect

Calculate French notary fees (frais de notaire) for a real estate purchase. Returns: {price, droits_mutation, emoluments_notaire, frais_divers, total_frais, total_pct}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
typeNoProperty type: ancien (old) or neuf (new)ancien
priceYesPurchase price in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 without the description. The description adds only the output field list, which is largely duplicative of the declared output schema rather than new behavioral context such as input constraints or calculation assumptions (e.g. what the 'ancien' vs 'neuf' rate treatments imply).

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 short, front-loaded clauses: purpose, returned fields, and a cross-reference. Nothing is wasted, though the enumerated return fields partly restate an output schema that already exists, which is slight redundancy rather than bloat.

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 a declared output schema and full annotation coverage, the essential burden on the description is selection and scope, and it does state the domain and the purchase context. The meaningful gap is disambiguation from 'calculate_notary_fees_detailed' and other property-fee siblings, which 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%: both 'price' (euros, min 1) and 'type' (ancien/neuf enum with default) are documented in the schema. The description adds no additional parameter meaning or format detail beyond what the schema already supplies, 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 ('Calculate'), a specific resource ('French notary fees (frais de notaire)') and the scope ('for a real estate purchase'), which is unambiguous on its own. However, it does not distinguish itself from the closely related sibling 'calculate_notary_fees_detailed', so an agent cannot tell which of the two to pick from the description alone.

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

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 the near-identical 'calculate_notary_fees_detailed' sibling, nor any prerequisite or eligibility note. The only routing hint is to 'list_bundles for related finance-france calculators', which is a catalog pointer, not guidance on selecting this tool for a task.

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

calculate_notary_fees_detailedCalculate Notary Fees DetailedA
Read-onlyIdempotent
Inspect

Detailed breakdown of French notary fees by component (taxes, emoluments, debours). Use for property buyers in France. Inputs: property price, type (new/old). DMTO on old property = 6.32% (departmental 5.00% + communal 1.20% + 2.37% fee on the departmental part; 5.81% for first-time buyers of a main residence or departments at 4.50%). Returns total fees and per-component breakdown. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
typeYesProperty type
property_priceYesProperty price EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish the safe read-only, idempotent profile. The description adds real behavior beyond them: it discloses the return shape (total fees plus per-component breakdown) and the DMTO rate logic including the first-time-buyer reduction. This is meaningful computational context the annotations cannot carry.

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, then inputs, then return value, then cross-reference. The parenthetical DMTO rate breakdown is dense and somewhat verbose, but it earns its place as domain-specific pricing detail 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?

An output schema exists, so the description need not detail return values, and it doesn't over-explain. Combined with the rate logic and the reference to list_bundles for related calculators, an agent has enough to invoke it correctly; the only gap is lack of explicit sibling routing.

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 two parameters are already documented. The description restates 'property price, type (new/old)' but does add the non-obvious semantic link that 'type' drives the DMTO rate (old vs new), which is marginal extra value over 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+resource ('Detailed breakdown of French notary fees by component') and enumerates the components (taxes, emoluments, debours), so the agent knows exactly what it computes. It implicitly distinguishes itself from the simpler 'calculate_notary_fees' sibling via 'Detailed', but never names that sibling directly.

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?

'Use for property buyers in France' gives a clear domain context, but there is no explicit when-to-use-vs-alternative guidance. Given the nearby 'calculate_notary_fees' tool, an agent gets no rule for choosing the detailed vs. non-detailed variant.

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

calculate_number_base_convertCalculate Number Base ConvertB
Read-onlyIdempotent
Inspect

Convert a number between bases 2 (binary), 8 (octal), 10 (decimal), and 16 (hex). Use for programming. Inputs: value, from-base, to-base. Returns converted number. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesNumber to convert as string
to_baseYesTarget base
from_baseYesSource base

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is fully covered structurally. The description adds only 'Returns converted number', which is minimal; with the output schema present, little extra behavioral context is required, so 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?

Three short sentences, front-loaded with the core action and supported bases. No redundancy, though the trailing list_bundles pointer is tangential to invoking this tool.

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 low-complexity conversion tool with a 100%-covered schema and an output schema, the description is nearly sufficient. Its main gap is failing to differentiate from the near-duplicate sibling calculate_base_converter, which matters in this very crowded 'calculate_*' toolset.

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 value, from_base and to_base. The description merely restates the input names (value, from-base, to-base) without adding format constraints (e.g. valid digit sets per base or whether from_base/to_base are restricted to 2/8/10/16). Baseline 3 holds.

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 (a number between bases) and enumerates the supported bases 2/8/10/16, which is concrete. However, it never distinguishes itself from the sibling 'calculate_base_converter', which sounds functionally identical, so an agent cannot disambiguate 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 Guidelines3/5

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

'Use for programming' gives a loose context but no when-not conditions and no explicit alternative selection. The only routing hint is a cross-reference to list_bundles, which is a discovery pointer rather than guidance on when this tool beats calculate_base_converter.

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

calculate_ohms_lawCalculate Ohms LawA
Read-onlyIdempotent
Inspect

Compute Ohm's law: V=I·R. Solve for any of V, I, R given the other two. Use for electronics. Inputs: any 2 of (V volts, I amps, R ohms). Returns the third. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
currentNoAmps
voltageNoVolts
resistanceNoOhms

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 behavior, so the safety profile is settled. The description adds the genuinely useful constraint that exactly two of the three inputs must be supplied and the third is returned, which the schema cannot express since all three parameters are optional. It does not describe error behavior when too few inputs are given.

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 the formula and solve-for-any behavior front-loaded; the discovery pointer to list_bundles is short and earns its place. No filler or 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 simple three-input read-only calculator with an output schema present, the description covers what the tool does, which inputs are needed, and what comes back. 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 the baseline is 3. The description maps the symbols to the fields (V volts, I amps, R ohms) and states the two-of-three relationship, which is modest added meaning over the schema's terse "Amps"/"Volts"/"Ohms" labels but no syntax or edge-case detail.

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 (compute Ohm's law, V=I·R) and the exact operation (solve for any of V, I, R given the other two). The agent can tell this apart from adjacent electrical siblings such as calculate_electrical_power 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?

"Use for electronics" gives an implied context, and it points to list_bundles for related 'science' calculators, but it never states when to pick this over calculate_electrical_power or calculate_voltage_adapter, nor any exclusion. Usage is implied rather than explicit.

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

calculate_one_rep_maxCalculate One Rep MaxA
Read-onlyIdempotent
Inspect

Estimate 1 repetition maximum from submaximal lift using Epley, Brzycki and Lombardi formulas. Returns: {epley_1rm, brzycki_1rm, lombardi_1rm, average_1rm}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
repsYesNumber of repetitions performed
weight_liftedYesWeight lifted in kg or lbs

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the formula names (Epley, Brzycki, Lombardi) and the return keys, which is useful behavioral context, but says nothing about validation limits (e.g. reps capped at 30) or fallback behavior for out-of-range inputs.

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 purpose, with no filler. The formula list and return-shape note are both compact and earned.

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 calculation with 100% schema coverage and an output schema in place, the definition is essentially complete; the explicit return-key list is redundant given the output schema but harmless. Only minor gap is valid-range/error handling context.

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% (both weight_lifted and reps fully documented with bounds), so the schema carries parameter meaning. The description adds no parameter syntax or unit guidance beyond what the schema provides, 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?

States a specific verb (estimate) and resource (1 repetition maximum) and specifies the input type (submaximal lift) and the exact formulas used. It also names the sibling calculate_1rm_table implicitly by routing related calculators via list_bundles, so an agent can tell it apart from other 1RM 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?

It gives implied context (submaximal lift input) and points to list_bundles for related calculators, but offers no explicit when-to-use/when-not versus calculate_1rm_table, nor any note on valid rep ranges or formula applicability limits.

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

calculate_overtime_frCalculate Overtime FRA
Read-onlyIdempotent
Inspect

Compute French overtime pay (heures supplémentaires) per labor code. Use for HR or employee verification. Inputs: hourly rate, normal hours, overtime hours. Returns gross overtime pay with 25%/50% premiums. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
base_hoursNoBase weekly hours
hourly_rateYesHourly rate EUR
actual_hoursYesActual weekly hours

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds real value by disclosing the computation model (25%/50% premiums, gross pay per labor code), but says nothing about rounding, caps/exonérations, or country-specific thresholds beyond the flat premium tiers.

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 short sentences with purpose first, then usage, inputs, and return value; nothing is padded. The closing bundle pointer is the only sentence that adds little directly actionable value.

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-value sentence is somewhat redundant, and the safety profile is handled by annotations, so the description only needs purpose plus inputs. It covers those adequately; the one residual gap is that it does not help an agent choose between this tool and the similarly named calculate_overtime_pay_fr.

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 regardless. The description's input list ('hourly rate, normal hours, overtime hours') does not map cleanly onto the actual parameters (hourly_rate, base_hours with default 35, actual_hours), since overtime hours are derived rather than supplied; this is mildly confusing but the schema itself is unambiguous.

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 French overtime pay (heures supplémentaires) per labor code'), which is clearly more than a tautology. However, it never distinguishes itself from the near-identical sibling calculate_overtime_pay_fr, so an agent cannot tell which of the two to pick from the description alone.

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

Usage Guidelines3/5

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

'Use for HR or employee verification' gives an implied audience/context but no when-not conditions and no alternatives. It points to list_bundles for related 'finance-france' calculators, which is a weak cross-reference rather than selection guidance, and it ignores the obvious competing tool calculate_overtime_pay_fr.

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

calculate_overtime_pay_frCalculate Overtime Pay FRA
Read-onlyIdempotent
Inspect

Calculate French overtime pay: first 8h at +25%, beyond 8h at +50% (weekly threshold 35h). Returns: {hours_at_25pct, hours_at_50pct, pay_25pct_zone, pay_50pct_zone, total_overtime_pay, extra_vs_normal}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
overtime_hoursYesTotal overtime hours worked beyond 35h/week
base_hourly_rateYesNormal hourly rate in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/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 valuable domain behavior: the +25%/+50% tiers and the 35h weekly threshold, plus the return shape. It does not disclose edge cases like rounding or partial hours, but for a pure calculator this is adequate.

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 description is front-loaded with the core purpose and formula, and is not verbose. The explicit return-field list is somewhat redundant given the output schema, and the list_bundles pointer is tangential, but overall it is efficient.

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 calculator with full schema coverage, annotations, and an output schema, the description supplies the necessary domain formula. The return values are already in the output schema, so their repetition is unnecessary but harmless. The only notable gap is lack of differentiation from the sibling calculate_overtime_fr.

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 parameters fully. The description's threshold details relate to overtime_hours but do not add syntax, format, or meaning 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.

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 French overtime pay') and includes the exact calculation rules, which clearly identifies the tool's function. However, it does not differentiate from the sibling tool calculate_overtime_fr, leaving an agent to infer 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 explicit when-to-use guidance, prerequisites, or alternatives are provided. The reference to list_bundles points to related calculators but does not help an agent choose this tool over calculate_overtime_fr or others.

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

calculate_ovulationCalculate OvulationB
Read-onlyIdempotent
Inspect

Calculate ovulation date and fertile window from last period and cycle length. Returns: {lmp, ovulation_date, fertile_window_start, fertile_window_end, next_period}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
cycle_lengthNoMenstrual cycle length in days
last_period_dateYesYYYY-MM-DD — First day of last menstrual period

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds that a next_period value is also produced, useful context beyond ovulation, but says nothing about precision caveats or assumptions of the 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 tight sentences, front-loaded with the purpose. The 'Returns:' enumeration mildly duplicates the output schema, but otherwise every phrase 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?

With an output schema present, the description needn't enumerate return fields, yet it does so and covers inputs, so an agent has enough to invoke it correctly. The missing piece is differentiation from related cycle/due-date calculators, a minor gap for a self-contained math 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?

Schema description coverage is 100%, so the schema already documents last_period_date (YYYY-MM-DD) and cycle_length (21-45, default 28). The description merely restates 'from last period and cycle length' without adding validation limits 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+resource (calculate ovulation date and fertile window) plus the inputs it derives them from (last period, cycle length). It does not, however, distinguish itself from near-siblings like calculate_menstrual_cycle or calculate_due_date, leaving overlap 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?

The description never says when to use this tool versus alternatives such as calculate_menstrual_cycle or calculate_pregnancy_due_date. The only routing hint is a vague pointer to list_bundles for 'related sante calculators,' which does not tell the agent when this specific tool is the right choice.

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

calculate_paint_neededCalculate Paint NeededB
Read-onlyIdempotent
Inspect

Compute paint quantity for walls including coats and waste margin. Use for renovation budget. Inputs: room dimensions, coats, openings. Returns paint liters and recommended buying. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
coatsNoNumber of coats
area_m2YesWall area m²
coverageNoCoverage m²/liter

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 the computation includes a waste margin and returns recommended buying, which is mildly useful, but offers nothing on rounding, units, or edge cases beyond 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.

Conciseness3/5

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

Purpose is front-loaded and the text is short, but the 'Inputs:' sentence is inaccurate and wastes space naming parameters that don't exist rather than adding value.

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 an output schema present, return values needn't be detailed, and for a read-only calculator the annotated safety profile suffices. Still, the description neither differentiates from calculate_paint_quantity nor accurately reflects the actual input set, leaving a real gap.

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 coverage is 100%, so a baseline of 3 would apply if the description stayed silent. Instead it lists 'Inputs: room dimensions, coats, openings' — 'openings' is not a parameter at all and 'coverage' (m²/liter) goes unmentioned, so the description actively misrepresents the 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+resource ('Compute paint quantity for walls') and adds scope detail (coats, waste margin, liters). However, it does not distinguish itself from the near-identical sibling calculate_paint_quantity, leaving the agent unable to tell the two apart.

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?

'Use for renovation budget' gives a loose context, and it points to list_bundles for related construction calculators. But it gives no guidance on when to pick this over calculate_paint_quantity, its closest sibling, so usage is only implied.

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

calculate_paint_quantityCalculate Paint QuantityB
Read-onlyIdempotent
Inspect

Compute paint liters needed for a surface with chosen number of coats. Use for painting projects. Inputs: surface m², coats, paint coverage m²/L. Returns liters and number of cans. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
coatsNoCoats
area_m2YesArea in m²
coverageNom²/liter

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's burden is light. It adds the output content ('liters and number of cans'), but because an output schema exists that disclosure is largely redundant. No permissions, limits, or edge-case behavior (e.g., rounding, area minimum) are discussed.

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 short sentences, core purpose front-loaded, no filler or repetition. Slightly over-informative on return values given an output schema exists, but that does not harm 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?

For a simple stateless calculator with full schema coverage and annotations covering behavior, the description is nearly sufficient. The one real gap is sibling disambiguation against calculate_paint_needed; return-value explanation is redundant but harmless 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 the schema already documents area_m2, coats, and coverage, including defaults and minimums. The description merely restates these inputs in prose without adding units nuance, defaults, or validation behavior beyond the schema, so baseline 3 applies.

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

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 paint liters needed for a surface') plus the scope ('chosen number of coats'), which is concrete and actionable. It does not, however, differentiate itself from the very similar sibling calculate_paint_needed, leaving the agent to guess which of the two to pick.

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?

'Use for painting projects' is a near-tautology that adds no routing information, and no when-to-use or when-not-to-use guidance is given. Critically, the near-identical sibling calculate_paint_needed is never named as an alternative, so the agent has 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.

calculate_paper_size_convertCalculate Paper Size ConvertA
Read-onlyIdempotent
Inspect

Get dimensions (mm, in) of standard paper formats (A0-A10, B0-B10, US Letter, Legal, Tabloid). Use for printing. Inputs: format name. Returns dimensions in mm and inches. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
formatYesPaper format name

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered. The description adds that output includes both mm and inches, which is useful, but it omits any note about error behavior for unsupported formats. Adequate against an already-lowered bar.

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?

Four tight sentences, front-loaded with purpose, then usage, then inputs, then a cross-reference. Nothing is padded and each clause carries 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-format explanation is not required, and the tool is a simple one-param lookup. However, the format list mismatch leaves a real gap an agent could trip on, so the definition is not fully complete for a tool this simple.

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?

The description claims the tool accepts 'A0-A10, B0-B10, US Letter, Legal, Tabloid', but the schema enum only contains A0-A8 and no B-series formats at all. This actively misleads the agent into passing values like 'B5' or 'A9' that will be rejected, which is worse than adding nothing over the 100%-covered 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 ('Get dimensions') and resource ('standard paper formats') with explicit units and a named scope of formats. The phrase 'Use for printing' distinguishes it from the many other convert_* siblings that handle angle, area, weight, etc.

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?

'Use for printing' gives implied context, and it points to list_bundles for related 'conversions' calculators, but it never says when this beats convert_* alternatives or what qualifies as a valid use. No exclusions or prerequisites are given.

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

calculate_parcoursup_pointsCalculate Parcoursup PointsB
Read-onlyIdempotent
Inspect

Estimate Parcoursup admission score from bac + lycée grades. Use for French university candidates. Inputs: grades and coefficients per subject. Returns estimated score. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
bac_averageYesExpected/actual bac average (/20)
option_bonusNoBonus points from options

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 the result is an estimate and that it 'Returns estimated score', but no precision, source of coefficients, or limitations of the estimate, so added behavioral 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.

Conciseness4/5

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

Purpose is front-loaded in the first sentence and the whole thing is short. The trailing 'See list_bundles for related education calculators' is the only tangential element, and it slightly dilutes focus.

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?

Output schema exists, so return-value explanation is not required, and annotations cover safety. But the description leaves two real gaps: it misstates the input signature and never distinguishes this tool from the essentially identical calculate_parcoursup_score sibling.

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 coverage is 100% (bac_average, option_bonus both documented), which would justify a baseline 3, but the description actively misdescribes the inputs as 'grades and coefficients per subject' — parameters that do not exist in the schema. This is worse than staying silent and can lead an agent to expect inputs it cannot supply.

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 clear verb and resource: 'Estimate Parcoursup admission score from bac + lycée grades.' However it does not differentiate itself from the sibling calculate_parcoursup_score (or calculate_bac_points), which appear to cover the same domain, so an agent cannot tell the two apart from the description.

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?

Gives only a weak contextual cue ('Use for French university candidates') and points at list_bundles, but never states when to prefer this over the near-duplicate calculate_parcoursup_score or calculate_bac_points. Usage is implied, not specified.

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

calculate_parcoursup_scoreCalculate Parcoursup ScoreB
Read-onlyIdempotent
Inspect

Estimate Parcoursup weighted score from French baccalaureate component grades. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
grand_oral_noteYesGrand Oral examination grade out of 20
bac_general_averageYesGeneral baccalauréat average out of 20
specialite_1_averageYesFirst speciality subject average out of 20
specialite_2_averageYesSecond speciality subject average out of 20
controle_continu_averageYesContinuous assessment (contrôle continu) average out of 20

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 little behavioral context beyond that — it doesn't say what weighting model is applied or caveat the 'Estimate' wording, though an output schema is present so return shape need not be explained.

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 tight sentences with the core purpose front-loaded and no filler. The second sentence is a mild navigation aid rather than action-relevant content, keeping it just short of a 5.

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 closed-world, non-destructive calculator with 5/5 documented parameters and an output schema, the essentials are covered. The remaining gap is comparative: with siblings like calculate_parcoursup_points adjacent, an agent gets no signal about which one to pick.

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 carries a range (0-20) and a clear label, so the schema does the heavy lifting. The description only gestures at 'component grades' and adds no mapping, weighting, or default 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 ('Estimate Parcoursup weighted score') plus the input domain ('French baccalaureate component grades'), so the purpose is unambiguous. It does not, however, distinguish itself from near-identical siblings such as calculate_parcoursup_points or calculate_bac_points.

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 only guidance is a cross-reference ('See list_bundles for related education calculators'), which points at a discovery tool rather than explaining when to use this calculator over its near-twin siblings. No when-not-to-use or alternative-selection criteria are given.

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

calculate_part_timeCalculate Part TimeB
Read-onlyIdempotent
Inspect

Calculate part-time work percentage and optional pro-rata salary. Returns: {percentage, prorata_salary}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
full_salaryNoFull-time salary to pro-rate (optional)
full_time_hoursNoFull-time weekly hours (FR default 35h)
part_time_hoursYesPart-time weekly hours

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered without the description. The description adds the return shape {percentage, prorata_salary}, but that duplicates the output schema rather than revealing new behavioral traits such as rounding, currency, or unit assumptions.

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 with the core action front-loaded and no filler. The trailing list_bundles pointer is somewhat tangential to invoking this tool, but it is brief and does not bury the main purpose.

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, read-only, idempotent calculator with 100% schema coverage and an output schema, the definition provides enough to invoke it correctly. The main omission is the routing rationale against the very similar portage/salary calculators in such a large sibling set.

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 parameter meaning is already fully documented in the schema, making 3 the baseline. The description only echoes the optionality of full_salary ('optional pro-rata salary') without adding any syntax, units, or defaulting context beyond what the schema states.

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: calculate part-time work percentage and an optional pro-rata salary. It is clearly distinguishable from unrelated siblings, but differentiation from the closest sibling (calculate_portage_salarial) is only indirect via a pointer to a 'temps-rh' bundle rather than naming the alternative.

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 only guidance is 'See list_bundles for related temps-rh calculators,' which points at a discovery tool rather than stating when this calculator applies versus the other salary/portage calculators. No conditions for when to include full_salary, and no exclusions are given.

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

calculate_passport_validityCalculate Passport ValidityA
Read-onlyIdempotent
Inspect

Check if passport is valid for travel (6-month rule). Returns: {note}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
expiry_dateYesPassport expiry date YYYY-MM-DD
travel_dateYesPlanned travel date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered without the description. Beyond that, the description contributes the domain rule being applied (the 6-month validity rule) and that a note is returned, but says nothing about how edge cases are judged (exact-boundary dates, expired passports) or what the note contains.

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 the action and the rule that governs it; nothing is buried. The only waste is the unresolvable 'Returns: {note}' placeholder, which reads as an unfilled template slot rather than useful content.

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, deterministic check with an output schema present, the description covers what the tool does and the rule it applies, so an agent has enough to invoke it correctly. It is very slightly short of complete because the '{note}' placeholder suggests the return semantic was templated rather than described, though the output schema covers that 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% — both 'expiry_date' and 'travel_date' are documented with their YYYY-MM-DD format in the schema. The description adds no parameter-level meaning such as timezone assumptions or whether travel_date is departure or return. Per the rubric, 100% coverage sets the baseline at 3.

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 if passport is valid for travel') plus the governing rule ('6-month rule'), which is far more informative than the tautological name. It is clearly distinguishable from the hundreds of 'calculate_*' siblings since none other touches passport validity. The trailing template artifact ('Returns: {note}') slightly muddies an otherwise crisp statement.

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 agent can infer 'use this when planning international travel and you need to verify passport validity.' The only explicit pointer is a cross-reference to list_bundles for related 'voyage' calculators, which is a discovery hint rather than a when-to-use/when-not instruction or an alternative-tool comparison. No exclusions or prerequisites are stated.

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

calculate_pasta_portionsCalculate Pasta PortionsA
Read-onlyIdempotent
Inspect

Calculate dry pasta, water and salt for a given number of people. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
appetiteYesAppetite level
num_peopleYesNumber of people
pasta_typeYesPasta shape

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this a non-destructive, idempotent, closed-world read (pure computation), so the safety and determinism profile is covered. The description adds only that the result spans three quantities (pasta, water, salt); with an output schema present, it contributes little 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.

Conciseness5/5

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

Two short sentences that are front-loaded with the core computation and reserve the second only for cross-referencing a related tool. No filler and no repetition 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?

For a deterministic calculator with a full schema and an output schema, the description is nearly complete: it tells the agent what is computed and where related tools live. The only missing piece is explicit guidance on when this tool is preferred over similar portion/recipe calculators.

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 two enums (appetite, pasta_type), so the schema already documents all three inputs. The phrase 'for a given number of people' loosely maps to num_people but adds no format, range, or enum semantics beyond what the schema 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?

States a specific verb ('calculate') and the exact outputs produced — dry pasta, water and salt for a given number of people — which is far more informative than the tool name alone. It does not, however, explicitly differentiate itself from food-adjacent siblings such as calculate_pet_food_portion or calculate_recipe_scale, 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 pointer to 'list_bundles for related cuisine calculators' is a routing hint about a broader bundle rather than a when-to-use/when-not statement for this tool itself. There is no explanation of when to prefer this over other portion or recipe-scaling calculators, leaving usage largely implied.

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

calculate_pendulum_periodCalculate Pendulum PeriodA
Read-onlyIdempotent
Inspect

Compute simple pendulum period T=2π√(L/g). Use for physics homework or clock design. Inputs: length m, gravity m/s² (default 9.81). Returns period in seconds. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
gravityNoGravity m/s²
length_mYesPendulum length meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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), so the bar is lower; the description still adds the return unit ('period in seconds') and the gravity default of 9.81, plus the governing formula. No caveats about validity range (small-angle approximation) or invalid inputs, keeping 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.

Conciseness4/5

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

Three short sentences with the formula and primary input front-loaded; nothing is padded. Slight redundancy in re-listing inputs that the schema already documents costs it a point.

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 two-parameter, fixed-formula calculator with an output schema present, the definition covers model, inputs, defaults, output unit, and a related-bundle pointer. 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.

Parameters3/5

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

Schema coverage is 100% and both parameters are already documented with units and defaults in the schema. The description restates 'length m, gravity m/s² (default 9.81)' without adding constraint meaning such as the minimum 0.01 m or the small-angle domain. Baseline 3 applies when the schema carries the load.

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 simple pendulum period') plus the exact formula T=2π√(L/g), which pins down the physics model and separates it from near-neighbors like calculate_spring_constant or calculate_projectile_motion. It does not explicitly contrast with any sibling tool, so it lands 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?

'Use for physics homework or clock design' implies a domain but gives no when-not conditions and names no alternative tool for adjacent physics calculations. The list_bundles pointer is a cross-reference, not usage guidance, so usage is only implied.

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

calculate_percentageCalculate PercentageB
Read-onlyIdempotent
Inspect

Calculate percentages: value of total, percentage change, what percent. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesFirst value
bYesSecond value
operationYesof: X% of Y; change: from A to B; what_pct: X is what % of Y

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds no extra behavioral context such as error handling or output format, which is acceptable given the annotations but not enriching.

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 description is a compact sentence that front-loads the core operations and includes a brief pointer to bundles. It wastes little space, though the bundle reference is somewhat tangential.

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 three-parameter calculator with full schema coverage and an output schema, the description provides enough to call it correctly. The only missing piece is sibling differentiation, which is more of a usage concern.

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 parameters are fully documented in the input schema. The description adds no additional meaning beyond what the schema provides, which is the expected baseline.

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 (percentages) and lists three specific calculation modes, making the tool's function clear. However, it does not distinguish this tool from the sibling calculate_percentage_change, which likely covers similar ground.

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 only guidance is a pointer to list_bundles for related calculators, which is not a when-to-use statement. There is no direction on when to choose this tool versus the overlapping calculate_percentage_change sibling, leaving the agent to infer usage.

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

calculate_percentage_changeCalculate Percentage ChangeA
Read-onlyIdempotent
Inspect

Compute % change between two values, signed (increase or decrease). Use for performance comparisons, statistics. Inputs: old value, new value. Returns absolute and relative change. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
new_valueYesNew value
old_valueYesOriginal value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safe, pure-computation nature is covered. The description adds that the result is signed and returns absolute and relative change, which is modest additional context but nothing about edge cases (e.g., old_value = 0) or rounding.

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

Conciseness4/5

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

Four short, front-loaded sentences with no filler; the core computation leads. The 'Inputs: old value, new value' sentence largely duplicates the 100%-covered schema, so a small amount of redundancy keeps it from a 5.

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. Inputs, output shape, and a usage context are all present; only edge-case behavior and sibling routing are 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% and both parameters are documented in the schema, so the baseline is 3. The description only restates 'Inputs: old value, new value' without adding units, ordering constraints, or edge-case handling beyond what the schema already says.

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 % change between two values') and clarifies the output is signed, which hints at the distinction from the similarly-named calculate_percentage sibling. However, it never explicitly names calculate_percentage or explain how the two differ, so sibling differentiation is only implicit.

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?

'Use for performance comparisons, statistics' gives a loose usage context but no when-not conditions and no routing to alternatives. With dozens of sibling calculators, including the highly confusable calculate_percentage and calculate_percentile_rank, the absence of explicit differentiation leaves selection largely to inference.

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

calculate_percentile_rankCalculate Percentile RankB
Read-onlyIdempotent
Inspect

Compute the percentile rank of a value within a dataset. Use for benchmarking scores or salaries. Inputs: value, dataset (list of numbers). Returns percentile (0-100). See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
valueYesValue to rank
total_valuesYesTotal number of values
values_belowYesNumber of values below

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds only the return range ('percentile 0-100'), which is redundant given the output schema exists, and it mischaracterizes the input shape instead of disclosing 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 short, front-loaded sentences with no filler; the purpose leads and the return value follows. The only deduction is that one of those compact sentences conveys incorrect information, which is a solidity rather than a length problem.

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 output schema removes any obligation to explain the return value, and the annotations cover safety, so the core is present. However, for a 3-required-parameter numeric tool with closed properties, the description's inaccurate input summary leaves the agent reliant on the schema and at risk of a malformed call.

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 100%, so the baseline would be 3, but the description actively contradicts the schema: it says the inputs are 'value, dataset (list of numbers)' whereas the actual required parameters are value, values_below, and total_values (counts, not a list). Since additionalProperties is false, an agent following the prose would likely construct a failing call.

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 percentile rank of a value within a dataset'), which is clearly distinguishable from the hundreds of other calculate_* siblings. It loses a point because the scope it describes (a dataset list) does not match how the tool actually takes input, so the agent's mental model of the operation is slightly off.

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?

'Use for benchmarking scores or salaries' gives a use-case context but no when-not guidance and no real alternatives; the 'See list_bundles for related math calculators' pointer is a weak cross-reference rather than routing logic. Usage is implied rather than specified.

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

calculate_perimeterCalculate PerimeterB
Read-onlyIdempotent
Inspect

Calculate perimeter/circumference for common shapes. Returns: {shape, perimeter}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
sideNoSide for square/hexagon
shapeYesShape
widthNoWidth/side b
lengthNoLength/side a
radiusNoRadius
side_cNoSide c for triangle
semi_majorNoSemi-major for ellipse
semi_minorNoSemi-minor for ellipse

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered. The description adds only the return shape, which is already available in the output schema, and says nothing about per-shape parameter requirements or validation 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?

Two short front-loaded sentences that lead with the action and resource. The 'Returns: {shape, perimeter}' clause duplicates the output schema, which is mildly wasteful, but nothing else is padded.

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 restated, and annotations cover the safety profile. The remaining gap is that the description never explains which parameters pair with which of the six enum shapes, which is the main source of misuse for an 8-parameter, shape-driven calculator.

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 documented in the schema itself, giving a baseline of 3. The description adds no mapping of which parameters each shape requires (e.g. radius for circle, semi_major/semi_minor for ellipse), so it does not go 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 perimeter/circumference for common shapes'), which is enough to separate it from calculate_area and calculate_volume. It does not, however, explicitly name those siblings as the alternatives, so the differentiation is inferred 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 guidance and no mention of alternatives in the overwhelmingly large math/measure sibling set (calculate_area, calculate_volume, calculate_regular_polygon, calculate_ellipse). The pointer to list_bundles is a discovery aid, not usage guidance for choosing this tool.

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

calculate_pet_ageCalculate Pet AgeC
Read-onlyIdempotent
Inspect

Convert pet age (dog/cat) to human-equivalent years. Use for pet health monitoring. Inputs: animal type, age years, breed size. Returns human-equivalent age. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
sizeNo
animalYes
age_yearsYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive behavior, and closed-world scope. The description adds no behavioral context beyond repeating the return value already present in the output schema and the input names already present in the input schema; it does not disclose calculation assumptions, side effects, or failure modes. No annotation contradiction exists.

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 description is short and front-loads the primary conversion purpose. It is efficient overall, though the input and return sentences largely restate structured schema/output information, and the final bundle reference is only marginally useful for tool selection.

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 simple read-only calculator with a full output schema and safety annotations, the description supplies enough to understand and invoke the tool. It falls short on distinguishing this generic dog/cat calculator from its highly similar siblings and on adding parameter semantics, which are important in a large calculator catalog.

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%, so the description must compensate. It lists 'animal type, age years, breed size' but adds no meaning beyond the schema: it does not explain enum values, required versus optional parameters, the minimum age constraint, or how breed size affects the human-equivalent calculation.

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: convert pet age for dog/cat to human-equivalent years. However, it does not distinguish this tool from siblings such as calculate_dog_age and calculate_cat_age, which perform the same core function for a single animal type.

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 phrase 'Use for pet health monitoring' gives a vague context but does not explain when to choose this tool over calculate_dog_age, calculate_cat_age, or other pet calculators. It references list_bundles for related calculators, but that is not actionable selection guidance for this specific tool.

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

calculate_pet_bmiCalculate Pet BMIB
Read-onlyIdempotent
Inspect

Estimate body condition score proxy (BMI) for dogs and cats. Returns: {thresholds}. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
animalYes
weight_kgYes
body_length_cmYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive behavior, and a closed-world context. The description adds that it estimates a body condition score proxy and returns thresholds, but does not disclose calculation limitations, assumptions, or interpretation guidance beyond 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?

The description is short and front-loaded with the core purpose. However, 'Returns: {thresholds}' reads like a placeholder, especially since an output schema already exists, and the list_bundles pointer is only marginally useful.

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 a simple three-parameter calculator with an output schema and safety annotations, so the core description is adequate. Still, the lack of parameter semantics and explicit sibling routing leaves meaningful gaps for an agent selecting and invoking it correctly.

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%, so the description should carry more parameter meaning. It clarifies the animal scope as dogs/cats, but does not explain weight_kg, body_length_cm, how body length should be measured, or how the inputs affect the BMI proxy.

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: estimate body condition score proxy (BMI) for dogs and cats. It clearly distinguishes this from generic BMI or pet-age/food calculators by scoping it to dogs and cats and to body condition.

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 only guidance is a pointer to list_bundles for related 'animaux' calculators, which does not explain when to use this tool instead of siblings such as calculate_bmi, calculate_pet_food_portion, or calculate_dog_age. The dog/cat scope is implied, but there are no explicit when/when-not conditions or alternatives.

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

calculate_pet_food_portionCalculate Pet Food PortionB
Read-onlyIdempotent
Inspect

Compute daily food portion (g) for dogs and cats by weight, age, activity. Use for pet feeding. Inputs: animal type, weight, activity, life stage. Returns grams/day and meal split. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
activityYesActivity level
pet_typeYesType of pet
age_yearsYesPet age years
weight_kgYesPet weight kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description has less burden. It adds the computation basis and mentions the return shape, but since an output schema exists that information is redundant. No deeper behavioral traits such as edge cases, validation limits, or permission needs are disclosed.

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, which is good, but the description wastes space listing inputs and outputs that are already fully specified by the input and output schemas. The final sentence pointing to list_bundles for 'animaux' calculators is vague and not clearly useful for invoking this tool.

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 simple calculator with full schema coverage, annotations, and an output schema, the description is adequate to invoke the tool correctly. However, it misses the key contextual decision of when to use this general pet-food calculator versus the more specific calculate_dog_food or calculate_cat_food 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%, so the schema already documents all four parameters. The description's input list is redundant and slightly imprecise: it says 'life stage' while the schema parameter is age_years, which adds no meaning and could mildly confuse. 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.

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 daily food portion in grams for dogs and cats, based on weight, age, and activity. It is clear what the tool does, but it does not explicitly differentiate itself from the sibling tools calculate_dog_food and calculate_cat_food, so it falls short of full sibling-aware clarity.

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 only usage guidance is 'Use for pet feeding,' which is too generic to tell an agent when to select this tool over calculate_dog_food or calculate_cat_food. There is no when-not guidance, no prerequisites, and no explicit alternative routing.

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

calculate_pet_medication_doseCalculate Pet Medication DoseA
Read-onlyIdempotent
Inspect

Compute veterinary medication dose by pet weight (mg/kg). Use for medication administration. Inputs: weight kg, dose mg/kg. Returns total mg and tablet count. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
weight_kgYes
dose_mg_per_kgYes
concentration_mg_per_mlNo

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so a safe pure-computation profile is established without the description. The description adds that the result is total mg and tablet count, but says nothing beyond that — no note on clinical disclaimer, rounding, or input validity (e.g., positive values only).

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 short sentences, front-loaded with the core purpose and inputs. The trailing pointer to list_bundles and 'animaux' calculators adds little routing value and slightly dilutes the focus, but the text is otherwise tight.

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 the return values need not be re-explained. However, for a 3-parameter tool with 0% schema coverage, leaving concentration_mg_per_ml undocumented makes the definition only minimally complete; the sibling pointer is the only extra context offered.

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%, so the description carries the full burden. It names only two of the three parameters ('weight kg, dose mg/kg') and never mentions concentration_mg_per_ml, which is precisely the optional input that presumably drives the tablet/liquid conversion — a meaningful gap for an agent deciding whether to supply 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 ('Compute veterinary medication dose') plus the governing formula (mg/kg), which cleanly separates it from siblings like calculate_pet_bmi, calculate_pet_food_portion, and calculate_pet_age. An agent can select it 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?

'Use for medication administration' gives the implied context but names no alternatives and states no when-not conditions (e.g., compounded liquid vs tablet, or how it differs from pet_food_portion). Usage is inferable but not explicit.

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

calculate_pet_vaccination_scheduleCalculate Pet Vaccination ScheduleB
Read-onlyIdempotent
Inspect

Generate upcoming vaccination schedule for a puppy or kitten. Use for pet care planning. Inputs: pet type, birth date, last vaccine date. Returns upcoming dates and vaccines. See list_bundles for related 'animaux' calculators.

NameRequiredDescriptionDefault
pet_typeYesType of pet
birth_dateYesPet birth date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered without the description. The description adds that it returns upcoming dates and vaccines, though that is largely duplicated by the output schema, and it introduces a behavioral inaccuracy by claiming a 'last vaccine date' input that does not exist.

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?

Short, front-loaded, and the purpose lands in the first sentence. 'Use for pet care planning' and the returns sentence carry little weight given the output schema already exists, but there is no padding or bloat.

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 an output schema present, return values need not be described, and annotations cover safety, so the remaining burden is small. The description is adequate on purpose but incomplete/inaccurate on inputs (phantom 'last vaccine date') and silent on assumptions behind the schedule (which vaccines, over what horizon).

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 coverage is 100% and both real parameters (pet_type enum, birth_date YYYY-MM-DD) are fully documented, so the description adds nothing for them. Worse, it lists 'last vaccine date' as an input when the schema has only two properties, which actively misleads an agent about the required argument set.

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+resource ('Generate upcoming vaccination schedule for a puppy or kitten') with the scope restricted to young animals, which separates it from pet siblings like calculate_pet_age or calculate_pet_bmi. It does not, however, explicitly position itself against the closest-sounding sibling, calculate_dog_pregnancy, which also produces date sequences for pets.

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?

Offers only 'Use for pet care planning', which is generic context rather than a decision rule, and gives no when-not guidance. The pointer to list_bundles is a discovery cross-reference, not a named alternative for overlapping cases, so usage is implied at best.

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

calculate_phCalculate PHA
Read-onlyIdempotent
Inspect

Compute pH from H+ concentration or vice versa. Use for chemistry or aquarium care. Formula: pH=-log10[H+]. Inputs: pH or [H+] mol/L. Returns the missing value and acidity class. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
ph_valueNopH
h_concentrationNoH+ mol/L

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/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 algorithmic context: the exact formula and the note that it returns the missing value plus an acidity class. It stops short of return format or edge-case handling (e.g. zero/negative concentration).

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 action and formula in the first two sentences, then inputs and return behavior; every sentence is short and useful. The inputs line mildly duplicates the schema, but there is no 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 annotations, full schema coverage, and an output schema in place, the definition supplies what remains: purpose, formula, accepted inputs, and expected output. Only minor gaps (what happens if both inputs are given, valid pH ranges) keep it from 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% with only two parameters, so the schema already documents pH and H+ mol/L; the description merely restates them including the same mol/L unit. Baseline 3 is appropriate since it adds no new semantics such as valid ranges or which argument wins if both are supplied.

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 ('Compute pH from H+ concentration or vice versa') and makes the bidirectional behavior explicit with the actual formula pH=-log10[H+], which cleanly separates it from neighbors like calculate_soil_ph_amendment or calculate_pool_chlorine.

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?

'Use for chemistry or aquarium care' gives loose domain context but never states when to prefer this over a sibling such as calculate_soil_ph_amendment, and there are no exclusions or prerequisites. Usage is implied rather than routed.

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

calculate_pinel_tax_reductionCalculate Pinel Tax ReductionA
Read-onlyIdempotent
Inspect

Compute French Pinel rental investment tax reduction (rates 2026). Use to evaluate Pinel real estate investment savings. Inputs: investment amount, duration (6/9/12y). Returns total tax reduction and yearly amount. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
durationYesRental commitment duration in years: 6, 9 or 12
investmentYesInvestment amount in EUR (max 300,000)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, read-only, closed-world operation, so the safety profile is covered. The description adds useful context (rates are 2026-specific, returns total plus yearly reduction), though the return detail overlaps the output schema. No mention of eligibility prerequisites or input edge-case 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?

Four short, front-loaded sentences ordered purpose → usage → inputs → outputs, with no filler. The returns sentence is mildly redundant given the output schema exists, costing it the top mark.

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 return-value contract need not be restated and the description correctly keeps it brief. Combined with fully covered parameters and rich annotations, an agent has everything needed to invoke this 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 both parameters and the duration enum are already documented in the schema. The description merely restates "investment amount, duration (6/9/12y)" without adding meaning such as how the rate scales with duration or why 300,000 EUR is the cap.

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 computation (French Pinel rental investment tax reduction) with a version qualifier (rates 2026), which no sibling duplicates. An agent can distinguish it from the many other French tax/rental calculators (calculate_rental_yield, calculate_property_tax_fr, etc.) 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?

"Use to evaluate Pinel real estate investment savings" gives a clear positive trigger, and it points to list_bundles for the related 'immobilier' family. It stops short of stating when NOT to use it or naming a sibling alternative for adjacent cases (e.g., general rental yield analysis).

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

calculate_pipe_diameterCalculate Pipe DiameterA
Read-onlyIdempotent
Inspect

Calculate the minimum pipe diameter required for a given flow rate and maximum velocity. See list_bundles for related 'plomberie' calculators.

NameRequiredDescriptionDefault
flow_rate_lpmYesRequired flow rate in liters per minute
max_velocity_msNoMaximum water velocity in m/s (default 1.5 m/s per DTU norms)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered by structured fields. The description adds one genuine behavioral detail beyond them — that the output is the *minimum* required diameter, i.e. a lower-bound sizing result rather than an arbitrary diameter — but says nothing about the standard applied, output units, or edge cases, which is acceptable since an output schema exists.

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, purpose front-loaded, nothing redundant or padded. The second sentence is a cross-reference to list_bundles that is useful in a tool family this large, though it is generic navigation rather than core definition content.

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, explicit annotations, and an output schema that carries the return shape, the description's only remaining burden is purpose and scope, which it covers cleanly. It falls just short of complete because it offers no disambiguation from the sibling calculate_pipe_flow_rate, the inverse calculation an agent could easily confuse it with.

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 with units (L/min, m/s) and the DTU-norm default of 1.5 m/s. The description merely restates the two input names ('flow rate and maximum velocity') with no added semantics such as acceptable ranges or unit overrides, 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+resource ('Calculate the minimum pipe diameter') and pins down the inputs that produce it (flow rate, maximum velocity), so the agent knows exactly what computation is performed. It does not, however, distinguish itself from the near-neighbor calculate_pipe_flow_rate or other plumbing/hydraulics siblings; the only routing hint points at list_bundles rather than a competing 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: the plumbing context ('plomberie') and the flow-rate/velocity inputs make the domain inferable, and the list_bundles reference is a navigation aid, not a when-to-use rule. There is no statement of when to choose this over calculate_pipe_flow_rate, calculate_cable_section, or the many other sizing calculators, 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.

calculate_pipe_flow_rateCalculate Pipe Flow RateB
Read-onlyIdempotent
Inspect

Calculate water flow rate through a pipe using the Hazen-Williams formula. Returns: {C_coefficient}. See list_bundles for related 'plomberie' calculators.

NameRequiredDescriptionDefault
length_mYesPipe length in meters
materialYesPipe material (affects Hazen-Williams C coefficient)
diameter_mmYesPipe internal diameter in millimeters
pressure_barNoAvailable water pressure in bar (default 3 bar)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered without the description. The description adds the Hazen-Williams method name, which tells the agent the physical assumptions in play, but omits any statement that it is water-specific or what validity ranges apply.

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?

Two short sentences, front-loaded with the core action, which is efficient. However, 'Returns: {C_coefficient}' is an unresolved template placeholder that reads as a leaked artifact rather than meaningful prose, and it duplicates what the output schema already covers.

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 the 100%-covered input schema carries parameter detail. The description supplies the method name, which is the main piece of context an agent needs to trust the result; only applicability limits (water-only, valid diameter/pressure ranges) are 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 four parameters (length_m, material, diameter_mm, pressure_bar with default) are already documented, including the note that material affects the Hazen-Williams C coefficient. The description adds nothing beyond that, 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 (calculate) and resource (water flow rate through a pipe) and names the governing method (Hazen-Williams), so the agent knows exactly what computation is performed. It does not, however, distinguish this from near-neighbors like calculate_pipe_diameter, calculate_flow_rate_convert, or calculate_water_pressure_loss; the pointer to list_bundles is a bundle hint, not 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 when-to-use guidance, no statement of prerequisites, and no routing between this tool and the many overlapping flow/hydraulic calculators in the sibling list. 'See list_bundles for related plomberie calculators' gestures at a bundle but gives no selection criteria.

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

calculate_planet_weightCalculate Planet WeightA
Read-onlyIdempotent
Inspect

Compute your weight on other planets using gravity ratios. Use for fun, education, sci-fi. Inputs: weight on Earth (kg). Returns weight on each planet of the solar system. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
planetYesTarget planet
earth_weight_kgYesWeight on Earth in kg

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and openWorldHint=false, so the safety profile is fully covered. The description adds the gravity-ratio method and a related-bundle pointer, but its return claim ('weight on each planet') conflicts with the required single-planet enum, so the added behavioral signal is partly muddled.

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 description is three short sentences with the purpose front-loaded, which is appropriate for a simple calculator. The 'See list_bundles' sentence earns its place as related-tool routing, though the misleading 'each planet' return claim adds semantic noise.

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, low-complexity tool with an output schema and rich annotations, the description covers purpose, usage contexts, and related-bundle discovery adequately. The one gap is the omitted required `planet` parameter, though the 100%-covered schema compensates.

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 `earth_weight_kg` and `planet` are documented in the schema and the baseline is 3. The description mentions only 'weight on Earth (kg)' and omits the required `planet` enum entirely, adding no meaning and potentially suggesting that no planet selection is needed.

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+resource: 'Compute your weight on other planets using gravity ratios.' However, it claims the tool 'Returns weight on each planet of the solar system' while the schema requires a single `planet` enum, so the output scope is misstated. There is also no explicit differentiation from the hundreds of sibling calculators beyond the implied astronomy 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?

'Use for fun, education, sci-fi' provides broad usage contexts, which is more than nothing, but there is no when-to-use vs when-not-to-use guidance and no alternatives named. The 'See list_bundles' pointer is a discovery aid, not a signal for choosing this tool over another.

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

calculate_plasterCalculate PlasterA
Read-onlyIdempotent
Inspect

Calculate plaster volume and weight for a given surface and thickness. Returns: {area_m2, volume_m3, weight_kg, bags_25kg}. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
area_m2YesSurface area in m²
thickness_mmNoThickness in mm (default 13)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 description help. The description adds useful behavior by naming the return shape (area_m2, volume_m3, weight_kg, bags_25kg), which hints at the underlying material assumptions, but says nothing about waste factors, defaults applied, or edge cases.

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

Conciseness5/5

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

Two short sentences: the action and its scoping inputs come first, the return shape second, with zero filler. Every clause carries information an agent can act on.

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

Completeness4/5

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

Because an output schema exists, the description need not spell out return values, yet it does so briefly and consistently. For a two-parameter read-only calculator the coverage is sufficient; only the absence of any plaster-type/mix assumption or waste-factor note keeps it from being 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 coverage is 100%: area_m2 and thickness_mm are both documented in the schema, including the default of 13mm. The description names 'surface' and 'thickness' but adds no unit conventions or constraint detail beyond what the schema already states, 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 ('Calculate plaster volume and weight') plus the two inputs that drive it (surface, thickness), which clearly separates it from generic calculators like calculate_volume or calculate_area. It stops short of distinguishing itself from the adjacent construction siblings (calculate_brick_count, calculate_concrete_mix, calculate_tile_quantity), pointing only at list_bundles rather than naming a real 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 domain ('plaster ... given surface and thickness'), and the pointer to list_bundles for other 'construction' calculators gives a browsing affordance. However there is no explicit when-to-use/when-not-to-use guidance and no routing against the many overlapping construction-material calculators in the sibling list.

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

calculate_poker_hand_probabilityCalculate Poker Hand ProbabilityC
Read-onlyIdempotent
Inspect

Compute probability of common poker hands (straight, flush, full house, etc.) given a starting hand. Use for poker strategy. Inputs: hole cards, community cards. Returns probability per hand category. See list_bundles for related 'jeux-probabilites' calculators.

NameRequiredDescriptionDefault
hand_typeYesPoker hand type to calculate probability for

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false) already fully establish this as a safe, deterministic, offline computation, so little behavior disclosure is owed. The description adds only 'Returns probability per hand category', which is redundant with the existing output schema, and its claim of consuming hole/community cards is inaccurate behavior 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?

Short and front-loaded: purpose first, then usage, then a compact Inputs/Returns block. The final bundle cross-reference is arguably padding, and the Inputs clause is wrong rather than merely extra, which keeps it out of 5 territory.

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?

A pure-computation tool with a full output schema needs little prose, and the safety profile is covered by annotations. But the description describes an input contract (starting hand, hole cards, community cards) that the schema does not implement, so an agent following the description literally cannot construct a valid call.

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 coverage is 100% with a single, well-documented enum parameter, so the baseline would be 3. But the description actively misleads: it advertises 'hole cards, community cards' as inputs, while the schema allows only hand_type and sets additionalProperties=false, which would cause an agent to supply invalid arguments.

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 (compute probability of poker hands) with concrete examples (straight, flush, full house), which clearly separates it from generic probability siblings like calculate_dice_probability or calculate_lottery_odds. However, the framing 'given a starting hand' and 'Inputs: hole cards, community cards' misrepresents what the tool actually takes, muddying the stated purpose.

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?

'Use for poker strategy' is a vague context statement, not guidance on when to choose this over the ~250 sibling calculators (e.g., calculate_card_draw_probability, calculate_expected_value_bet). The only routing hint points at list_bundles, which is a catalog tool, not an alternative calculator, so the agent gets no comparative guidance.

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

calculate_pool_chlorineCalculate Pool ChlorineC
Read-onlyIdempotent
Inspect

Compute chlorine dosage (g) for pool maintenance based on volume and target ppm. Use for pool care. Inputs: pool volume m³, target chlorine ppm, current ppm. Returns chlorine grams. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
target_ppmNoTarget chlorine ppm
current_ppmNoCurrent chlorine ppm
volume_litersYesPool volume liters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, non-destructive computation, so the safety profile is covered. The description usefully adds the output unit ('Returns chlorine grams'), but states volume in m³ while the schema requires volume_liters, which is actively misleading about how to invoke it.

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?

Three short sentences, front-loaded with the purpose and output unit, which is good. The final sentence about 'list_bundles for related construction calculators' does not earn its place for a pool-dosage tool and only adds confusion.

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 explaining return structure isn't required, and the description covers purpose, inputs and output unit. However, the volume unit conflict, the unmentioned defaults, and the absent formula basis (ppm delta × volume) leave real gaps for a numeric tool where wrong units silently corrupt the answer.

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 coverage is 100%, so the baseline would be 3, but the description contradicts the schema by labelling the volume input as m³ whereas the parameter is volume_liters (a ~1000x dosage error if trusted). It also omits the meaningful defaults on target_ppm (1.5) and current_ppm (0), which change results when omitted.

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 chlorine dosage (g) for pool maintenance') with the driving inputs, which is enough to separate it from the many sibling calculators and from calculate_pool_volume. It misses a clean differentiator against calculate_pool_volume and the closing pointer to 'construction' bundles is noise.

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?

'Use for pool care' is the only usage statement and it is essentially a restatement of the tool name. There is no when-not guidance, no mention of when to prefer calculate_pool_volume, calculate_dilution or the pH tools, and the list_bundles reference is a cross-sell, not an alternative-selection rule.

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

calculate_pool_volumeCalculate Pool VolumeA
Read-onlyIdempotent
Inspect

Compute swimming pool water volume in m³ and liters. Use for pool maintenance dosing. Inputs: shape, dimensions. Returns volume m³ and L. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
shapeYesShape
depth_mYesAvg depth m
width_mNoWidth m
length_mNoLength m
diameter_mNoDiameter (round)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is fully covered by structured data. The description adds the return units (m³ and L), which is mildly useful, but says nothing about validation, shape/dimension mismatches, 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 short sentences, front-loaded with purpose, then usage, then inputs/outputs, then a cross-reference. Each sentence carries information, though the list_bundles pointer is somewhat tangential to invoking this tool correctly.

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 detail return values, and annotations cover the safety profile. The remaining gap is the shape-to-dimension mapping, which is only partially inferable from the schema; otherwise an agent has enough 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 baseline is 3. The description only summarizes 'shape, dimensions', which adds nothing the schema's enum and per-field descriptions do not already provide; it notably does not clarify which dimension fields are required for which shape (e.g., diameter for round).

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 ('Compute swimming pool water volume in m³ and liters'), which cleanly separates it from the many other volume calculators in the sibling list (calculate_aquarium_volume, calculate_volume, calculate_compost_volume). The units are named up front, so 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 Guidelines3/5

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

'Use for pool maintenance dosing' gives one concrete usage context, which is more than nothing. However, no alternatives or exclusions are named, and the obvious sibling for the same domain (calculate_pool_chlorine) is not referenced even though it would be the natural next step after computing volume.

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

calculate_portage_salarialCalculate Portage SalarialA
Read-onlyIdempotent
Inspect

Estimate net income from portage salarial (freelance via umbrella company). Returns: {portage_management_fee_10pct, social_charges_45pct, net_monthly, net_annual_estimate, net_ratio_pct}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
daily_rateYesDaily billing rate (TJM) in euros
days_per_monthNoBillable days per month (default 20)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare the operation safe and idempotent (readOnly, idempotent, no destructiveness), so the bar is lower. The description adds real value by disclosing the baked-in assumptions of the model (10% management fee, 45% social charges), which tells the agent what the estimate rests on rather than just repeating the safety profile.

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, purpose front-loaded, then outputs, then a sibling pointer. Efficient overall, though the explicit return-field list partially duplicates the output 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 an output schema, complete annotations, and fully documented parameters, the definition supplies everything needed to call it. The enumerated return fields are redundant against the output schema, 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 daily_rate and days_per_month are fully documented in the schema. The description names neither parameter nor adds syntax or default behavior, so baseline 3 applies with the schema carrying the load.

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 (net income from portage salarial), and the parenthetical 'freelance via umbrella company' clarifies the niche domain. This lets an agent distinguish it from the many sibling salary calculators such as calculate_french_salary or calculate_auto_entrepreneur.

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 only routing hint is 'See list_bundles for related finance-france calculators', which is a pointer rather than a when/when-not rule. It never says when to pick this over calculate_auto_entrepreneur or calculate_french_salary, so usage is only implied by the domain gloss.

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

calculate_portfolio_allocationCalculate Portfolio AllocationA
Read-onlyIdempotent
Inspect

Calculate portfolio allocation amounts by percentage for major crypto asset classes. Returns: {allocation_pct, sum_pct}. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
btc_pctNoBitcoin allocation percentage (default 40%)
eth_pctNoEthereum allocation percentage (default 30%)
alts_pctNoAltcoins allocation percentage (default 20%)
total_valueYesTotal portfolio value in fiat currency
stablecoins_pctNoStablecoins allocation percentage (default 10%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the return shape, but since a full output schema exists this is largely redundant rather than new behavioral insight (no mention of percentage-sum constraints or what happens if percentages don't sum to 100).

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, purpose front-loaded with the cross-reference trailing. Slightly diminished by the 'Returns' clause, which duplicates the output schema, but overall tight and well-ordered.

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 calculator with 100% schema coverage and an output schema, the description supplies the essential scope plus a bundle pointer. It omits any note about whether allocation percentages must sum to 100, which is the one genuinely useful constraint an agent might need, keeping it short of 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 every parameter (btc_pct, eth_pct, alts_pct, stablecoins_pct, total_value) is documented with defaults and ranges in the schema. The description adds no meaning beyond this, 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 states a specific verb ('Calculate') and resource ('portfolio allocation amounts by percentage for major crypto asset classes'), which is immediately distinguishable from the many sibling calculators like calculate_crypto_profit_loss or calculate_mining_profitability. It doesn't explicitly name a sibling it is not, but the crypto-allocation scope is unambiguous.

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 scope statement. The cross-reference 'See list_bundles for related crypto calculators' offers some routing context, but there is no explicit when-to-use, when-not-to-use, or alternative tool named for portfolio allocation modeling specifically.

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

calculate_power_unit_convertCalculate Power Unit ConvertB
Read-onlyIdempotent
Inspect

Convert power values between W, kW, HP, BTU/h, cal/s. Returns: {original}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesPower value to convert
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 mutability profile is fully covered. The description adds little behavioral context beyond a cryptic 'Returns: {original}' fragment and the bundle cross-reference; no contradiction, but no meaningful enrichment either.

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 with the core conversion action front-loaded. The 'Returns: {original}' fragment is an unhelpful artifact that does not earn its place, slightly diluting an otherwise tight definition.

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 an output schema present, return values need not be explained, and parameters are fully documented in the schema. However, given the enormous sibling surface with overlapping conversion tools, the definition lacks any routing guidance an agent would need to pick this tool confidently.

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 per-property descriptions for value, from_unit, and to_unit, and both unit parameters carry enums. The description's unit list echoes the enum values but adds no syntax 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 ('Convert') and resource ('power values') and enumerates the supported units (W, kW, HP, BTU/h, cal/s), which differentiates it from generic convert_energy or convert_pressure siblings. It stops short of explicitly naming which sibling handles overlapping cases, so it is clear but not maximally discriminating.

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 convert_energy, which also deals with power/energy units. The only guidance is a pointer to list_bundles for 'conversions' calculators, which is a discovery hint rather than usage direction or exclusions.

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

calculate_pregnancy_due_dateCalculate Pregnancy Due DateB
Read-onlyIdempotent
Inspect

Calculate due date and current gestational week from last period. Returns: {due_date}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
last_period_dateYesLast menstrual period date YYYY-MM-DD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the burden is lower. The description adds that the gestational week is computed, but says nothing about behavior beyond that; a baseline 3 is appropriate given annotations carry the safety 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?

Two short sentences, front-loaded with the core action and its input. The trailing list_bundles pointer is slightly tangential but not bloated.

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 calculator with an output schema, the definition covers the essentials. The 'Returns: {due_date}' line is redundant against the output schema and slightly inconsistent with the mentioned gestational-week output, but nothing critical 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 parameter is fully documented, so the schema does the heavy lifting. The description's 'from last period' aligns with last_period_date but adds no format or interpretation detail beyond it.

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+resource ('Calculate due date and current gestational week') plus the input basis ('from last period'), so the agent knows exactly what it produces. However, it does not differentiate itself from the close sibling calculate_due_date (nor calculate_ovulation/calculate_menstrual_cycle), leaving potential 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?

The only routing guidance is 'See list_bundles for related "sante" calculators,' which points at a discovery tool rather than stating when to use this calculator versus calculate_due_date or the other pregnancy/cycle siblings. No when-to-use or exclusion criteria are given.

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

calculate_present_valueCalculate Present ValueA
Read-onlyIdempotent
Inspect

Compute the present value (PV) of a future sum given a discount rate. Use in DCF, NPV, or retirement planning. Inputs: future value, annual rate %, years. Returns PV and discount factor. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
rateYesAnnual discount rate percent
yearsYesNumber of years
future_valueYesFuture value EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered without the description. The only behavioral addition is 'Returns PV and discount factor', which duplicates the existing output schema rather than adding new context such as rounding, sign conventions, or rate constraints.

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 short sentences, front-loaded with the computation and then use cases, inputs, returns, and a cross-reference. The 'Inputs:' sentence is largely redundant against the schema, but nothing is bloated and the ordering is sensible.

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 three-parameter pure calculation with full schema coverage and an output schema, the description covers purpose, domain, inputs, and result shape. An agent has everything needed to invoke it correctly; the sibling pointer to list_bundles is a bonus.

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 future_value (EUR), rate (annual percent) and years. The description's 'Inputs: future value, annual rate %, years' restates the same three fields without adding units, bounds, or edge-case meaning. Baseline 3 applies when the schema carries the load.

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 with the actual formula semantics ('present value of a future sum given a discount rate'), which is enough to separate it from adjacent siblings like calculate_future_value or calculate_compound_interest. It does not explicitly name or contrast any sibling, so it lands at clear-but-undifferentiated rather than 5.

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

Usage Guidelines4/5

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

Gives concrete domain context ('DCF, NPV, or retirement planning'), which tells an agent when this tool is the right fit. There is no explicit when-not condition and no routing to the inverse tool (calculate_future_value), so it stops short of the 5 tier.

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

calculate_pressure_convertCalculate Pressure ConvertB
Read-onlyIdempotent
Inspect

Convert pressure between Pa, kPa, MPa, bar, psi, atm, mmHg, mbar, torr. Use for engineering, weather, medicine. Inputs: value, from-unit, to-unit. Returns: {original}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesPressure value
to_unitYesTarget unit
from_unitYesSource unit

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 supported unit scope but nothing about precision, rounding, or edge cases (e.g., negative pressures), which is the kind of extra context this 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.

Conciseness3/5

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

Compact and mostly front-loaded, but the unit list merely duplicates the enum values and the 'Returns: {original}' fragment is an unresolved template placeholder that carries no 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?

The output schema exists so return values need no prose, but the description still ships a broken return placeholder and a unit list inconsistent with the actual enum. The unit mismatch is a real completeness gap that could cause failed calls.

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 coverage is 100%, so the schema already documents all three parameters and their enums. Worse, the description advertises kPa, MPa and torr, which are NOT in the from_unit/to_unit enums, so it actively misleads the agent about accepted inputs and adds no correct semantics 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 ('Convert pressure between...') with the supported unit set, so the operation is unambiguous. However, it does not distinguish itself from the sibling 'convert_pressure' (nor from unit-conversion siblings like calculate_power_unit_convert), so an agent cannot tell from the text which pressure-conversion tool to pick.

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?

Gives domain contexts ('engineering, weather, medicine') and points to list_bundles for related 'conversions' calculators, which is mild routing help. But it offers no when-to-use vs when-not guidance and never addresses the overlap with convert_pressure, leaving selection to inference.

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

calculate_prime_activiteCalculate Prime ActiviteA
Read-onlyIdempotent
Inspect

Estimate French prime d'activité monthly amount (CAF benefit). Use for low-income workers checking eligibility. Inputs: net monthly salary, household composition. Returns estimated benefit and eligibility note. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
salaryYesNet monthly salary in euros
household_sizeNoNumber of people in household (1-6)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.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 safe, pure-calculation profile is covered. The description adds the fact that the result is an 'estimate' with an 'eligibility note', but 'Returns estimated benefit and eligibility note' largely duplicates the output schema, so the added behavioral value beyond structured fields 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.

Conciseness4/5

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

Four short sentences, front-loaded with the definition and purpose before inputs and cross-references. Slightly wasteful in restating inputs/returns that the schema and output schema already carry, but nothing is padded or ambiguous.

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?

Both parameters are fully specified in the schema, an output schema exists (so return format needn't be explained), and annotations cover the safety profile, leaving little for the description to fill. It still supplies the CAF/France framing and a related-calculator pointer, making it complete enough for an agent 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 description coverage is 100%: 'salary' is documented as net monthly salary in euros and 'household_size' as number of people (1-6). The description's 'net monthly salary, household composition' is a loose gloss that adds no syntax, unit, or constraint 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.

Purpose5/5

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

Names a specific verb ('Estimate') and a precise resource ('French prime d'activité monthly amount (CAF benefit)'), which is unmistakable among the many France-finance siblings such as calculate_housing_aid or calculate_french_income_tax. It also states the target user (low-income workers checking eligibility), so the tool's identity is clear 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?

'Use for low-income workers checking eligibility' gives clear situational context for when this calculator applies rather than a generic one. It offers no explicit when-not conditions and does not name a competing sibling, only pointing to list_bundles for related calculators, so it stops short of the 5-level routing guidance.

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

calculate_print_resolutionCalculate Print ResolutionB
Read-onlyIdempotent
Inspect

Calculate print DPI quality and maximum print size from image pixel dimensions. Returns: {effective_dpi}. See list_bundles for related 'photographie' calculators.

NameRequiredDescriptionDefault
image_width_pxYesImage width in pixels
print_width_cmYesDesired print width in centimeters
image_height_pxYesImage height in pixels
print_height_cmYesDesired print height in centimeters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare this a read-only, idempotent, non-destructive, closed-world calculation, so the safety profile is fully covered. The description adds no behavioral context beyond that — no DPI quality thresholds, no note on how mismatched aspect ratios between pixels and print size are handled, and the "Returns: {effective_dpi}" line duplicates the 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.

Conciseness4/5

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

Two short sentences, with the core purpose front-loaded and no padding. The trailing returns line and bundle cross-reference are low-value given an output schema exists, but they cost little.

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 full annotation coverage, a documented schema, and an output schema, the definition gives the agent enough to call it correctly. Only the absence of any usage/routing context 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 all four parameters carry their own descriptions with units (px, cm), so the baseline is 3. The description adds no syntax, unit, or constraint detail (e.g., accepted ranges or aspect-ratio behavior) beyond what the schema already states.

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 two concrete outputs (print DPI quality and maximum print size) from clearly identified inputs (image pixel dimensions plus print dimensions). It is distinguishable from photography siblings like calculate_crop_factor or calculate_depth_of_field, though it never names an alternative to sharpen the boundary.

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 rather than a sibling. The only routing hint is "See list_bundles for related 'photographie' calculators," which points at a discovery tool rather than giving a condition for choosing this calculator.

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

calculate_probability_binomialCalculate Probability BinomialB
Read-onlyIdempotent
Inspect

Calculate binomial probability P(X=k) and cumulative P(X<=k). Returns: {exact_probability, cumulative_probability, std_deviation}. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
kYesNumber of successes
nYesNumber of trials
pYesProbability of success per trial

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior2/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's only added content is the return-field list, which merely duplicates the existing output schema; it discloses nothing extra such as the n<=170 bound behavior, numeric precision, or error conditions.

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 the operation and its variants. The returns sentence is redundant with the output schema but costs little.

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?

Purpose is fully specified and the output schema means return values need no explanation. However, for a probability tool sitting among dozens of look-alike calculators, the absence of any when-to-use guidance leaves a real 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% (n, k, p each documented with ranges), so the baseline is 3. The formula notation implicitly maps k to successes and n to trials but adds no syntax, units, or constraint meaning beyond 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 (Calculate) plus the exact resource and formulas: binomial P(X=k) and cumulative P(X<=k). Naming 'binomial' distinguishes it from the many other probability siblings (dice, card draw, poker hand, lottery odds) without opening a schema.

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

Usage Guidelines2/5

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

The only routing sentence is 'See list_bundles for related education calculators,' which is a catalog pointer, not usage guidance. It never says when to pick this over calculate_dice_probability or calculate_lottery_odds, nor states any prerequisites.

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

calculate_profit_marginCalculate Profit MarginC
Read-onlyIdempotent
Inspect

Calculate gross margin, net margin, and markup percentage. Returns: {revenue, cost}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
costYesTotal cost
revenueYesTotal revenue/selling price

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safe, deterministic computation profile is covered. The description's only added behavioral claim, 'Returns: {revenue, cost}', is confusing and likely wrong for a tool whose inputs are exactly revenue and cost and whose output is margins, which actively misleads rather than informs.

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 with the computed metrics front-loaded; there is no filler. The trailing 'Returns: {revenue, cost}' clause is the one wasted/confusing element that keeps it from a 5.

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 two-input pure calculator with full schema description coverage, complete annotations, and an existing output schema, almost nothing essential is missing. The one substantive gap is the misleading return-value sentence, which the output schema already makes unnecessary and which could cause an agent to misinterpret 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 coverage is 100% with two well-described numeric parameters (cost, revenue), so the schema carries the parameter semantics and the baseline of 3 applies. The description adds no units, currency assumptions, or edge-case behavior (e.g., zero revenue/cost) beyond what the schema states.

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 outputs (gross margin, net margin, markup percentage), which is more informative than a tautology. However, it does nothing to distinguish itself from the near-identical sibling calculate_markup_margin, so an agent still cannot route between the two from the description alone.

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

Usage Guidelines2/5

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

The only guidance is a cross-reference ('See list_bundles for related finance-universal calculators'), which points at a catalog rather than telling the agent when to pick this tool over calculate_markup_margin or calculate_margin-style siblings. No prerequisites, conditions, 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.

calculate_projectile_motionCalculate Projectile MotionA
Read-onlyIdempotent
Inspect

Compute projectile trajectory: range, max height, time of flight. Use for physics or ballistics. Inputs: initial velocity, launch angle, height. Returns range, peak, flight time. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
heightNoInitial height m
velocityYesInitial velocity m/s
angle_degYesLaunch angle degrees

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare a pure, idempotent, read-only computation, so the safety profile is covered. The description adds only that it returns range, peak, and flight time, which the output schema already carries, so it contributes little behavioral context beyond 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.

Conciseness4/5

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

Three short, front-loaded sentences with no redundancy; inputs and outputs are clearly separated. The trailing cross-reference to list_bundles is mildly useful but the least essential element.

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 and safety annotations, the description needn't explain return values or reversibility, and it doesn't. It is complete enough to call correctly, missing only domain disambiguation from adjacent physics calculators.

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 velocity, angle_deg, and height are fully documented with units in the schema. The description merely restates those input names and adds no format, default, or constraint detail beyond the schema baseline.

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 (projectile trajectory) and enumerates the outputs (range, max height, time of flight). With no competing projectile sibling in the list, an agent can select it unambiguously.

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?

"Use for physics or ballistics" gives implied context but names no alternatives and no when-not conditions. It suggests a domain rather than routing the agent against the many other calculate_* physics tools like calculate_kinetic_energy or calculate_energy_physics.

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

calculate_property_capital_gains_frCalculate Property Capital Gains FRB
Read-onlyIdempotent
Inspect

Calculate French property capital gains tax after holding-period abatements. Returns: {raw_gain_eur, taxable_ir_eur, taxable_ps_eur, tax_ir_eur, tax_ps_eur, total_tax_eur, ...}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
sale_priceYesSale price EUR
holding_yearsYesYears held
purchase_priceYesPurchase price EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 the holding-period abatement behavior and enumerates return fields, but since a full output schema exists those field names are largely redundant; no assumptions, limits, or edge cases are 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?

Two short sentences, front-loaded with the core purpose, with no filler. The enumerated return-value sentence is partly wasted given the output schema, which slightly dilutes the otherwise tight structure.

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 three-parameter, fully-documented calculator with annotations and an output schema, the description is close to sufficient. It omits any note on which abatement schedule (IR vs PS) it applies or whether inputs are gross figures, but nothing critical to invoking 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% for all three parameters, so the baseline is 3. The description mentions holding-period abatements, which loosely maps to holding_years, but adds no units, rounding, bounds, or interpretation guidance beyond what the schema already states.

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 with jurisdiction and tax type: "Calculate French property capital gains tax after holding-period abatements." The 'French property' qualifier implicitly separates it from calculate_capital_gains_property, calculate_us_capital_gains and calculate_crypto_tax_fr, though it never names those alternatives explicitly.

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 only guidance is a pointer to list_bundles for 'finance-france' calculators, which is a discovery aid rather than a when-to-use rule. There is no statement of when this tool is appropriate versus the generic calculate_capital_gains_property or the other national CGT tools.

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

calculate_property_tax_estimate_frCalculate Property Tax Estimate FRB
Read-onlyIdempotent
Inspect

Estimate French taxe foncière from cadastral value and commune rate. Returns: {estimated_tax_eur, taxable_base, commune_rate_pct}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
commune_rateYesCommune tax rate percent
cadastral_valueYesValeur locative cadastrale EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context beyond that. It does add that the result is a rough estimate derived from cadastral value and a commune rate, which is meaningful, but it says nothing about precision limits or assumptions.

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 tight sentences with the core purpose front-loaded and no filler. The trailing list_bundles pointer is slightly off-topic for the stated action but still earns some place as a routing aid.

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 and comprehensive annotations, the description need not explain return values or safety behavior, and it correctly avoids doing so. The one real omission is disambiguation from calculate_property_tax_fr and guidance on sourcing the cadastral value.

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% (commune_rate in percent, cadastral_value as valeur locative cadastrale EUR), and the bounds/ranges are in the schema. The description names the same two inputs but adds no unit, range, or format meaning beyond them, so 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 ('Estimate French taxe foncière') and names the two inputs that scope it, which separates it from the many other tax calculators. It does not, however, distinguish itself from the very similarly named sibling calculate_property_tax_fr, leaving an ambiguity an agent must resolve on its own.

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, nor prerequisites (e.g., that cadastral value is the valeur locative cadastrale, not market value). The only pointer, 'See list_bundles for related immobilier calculators', is a discovery hint rather than usage guidance.

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

calculate_property_tax_frCalculate Property Tax FRB
Read-onlyIdempotent
Inspect

Compute French taxe foncière (annual property tax). Use for owners of property in France. Inputs: cadastral rental value (valeur locative), commune rate %. Returns annual tax due. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
cadastral_valueYesCadastral rental value (valeur locative cadastrale) in EUR
commune_rate_pctNoCommune tax rate in % (default 25)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the scoping fact that it is French and that the return is an annual tax figure, but it does not disclose simplification limits — e.g. that real taxe foncière also includes departmental rates, the 50% abatement base, and management fees — which matters for a tax estimate.

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 short sentences, purpose and audience front-loaded, then inputs, then return, then a cross-reference. Nothing is padded, though the "Returns annual tax due" sentence is largely redundant given the output schema.

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?

Output schema exists so return values need no explanation, and both params are documented. What is missing is the accuracy scope (is this a rough estimate or the full statutory computation?) and disambiguation from calculate_property_tax_estimate_fr — an agent could easily pick the wrong sibling.

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 both parameters fully documented including the French term, units, default, and min/max bounds. The description only restates those same two inputs, so per the baseline rule a 3 is appropriate; it adds no format or interpretation 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?

The description names a specific verb and resource — computing French taxe foncière — and even glosses it in English as annual property tax. However, it never distinguishes itself from near-identical siblings such as calculate_property_tax_estimate_fr or calculate_us_property_tax, leaving the agent to guess which variant applies.

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?

"Use for owners of property in France" gives a usable context but no when-not-to-use guidance and no explicit choice among the several property-tax siblings. The list_bundles pointer is a helpful route for discovering related tools but is not an alternative-tool recommendation.

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

calculate_property_transfer_taxCalculate Property Transfer TaxA
Read-onlyIdempotent
Inspect

Compute property transfer tax (FR droits de mutation on existing property at the common 5.00% departmental rate, BE, US, UK, DE). Use for property buyers. Inputs: property price, country. Returns tax due and effective rate. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
priceYesProperty price in local currency
countryYesCountry code: FR/BE/US/UK/DE

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish the safe-read profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds real value beyond them: the specific FR 5.00% departmental rate assumption and the fact that it returns tax due and effective rate, which the annotations 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.

Conciseness4/5

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

Front-loaded with the verb and framed in one dense paragraph covering purpose, audience, inputs, outputs, and a cross-reference. 'Use for property buyers' is the weakest sentence but the rest 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 described, and annotations cover the safety profile. With only two fully-documented params and a clear country enum, the description supplies enough context to invoke correctly, missing only rate-variation caveats (e.g. non-5% departments).

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% – price and the FR/BE/US/UK/DE enum are fully documented in the schema. The description merely restates the inputs ('property price, country') without adding units, currency behavior, or edge cases, so 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 property transfer tax') and scopes it with concrete detail: FR droits de mutation at the 5.00% departmental rate plus BE/US/UK/DE coverage. This implicitly separates it from annual-tax siblings like calculate_property_tax_fr and from calculate_stamp_duty_uk, though it never names 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?

'Use for property buyers' gives a minimal audience cue, and it cross-references list_bundles for related 'immobilier' calculators. There is no when-not guidance (e.g. one-time transfer tax vs recurring property tax) and no named alternative among the many tax siblings, so usage is only implied.

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

calculate_ptz_eligibilityCalculate Ptz EligibilityA
Read-onlyIdempotent
Inspect

Check French PTZ (zero-rate loan) eligibility and maximum amount. Returns: {income_ceiling, ptz_max_pct_of_operation, note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
zoneYesGeographic zone of the property
household_sizeYesNumber of people in household (1-5+)
household_incomeYesAnnual household income (revenu fiscal de reference) in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is fully covered. The description adds the output shape ({income_ceiling, ptz_max_pct_of_operation, note}), but an output schema already exists, making this largely redundant. No additional context about limits or edge cases is provided, so the bar for added value is barely cleared.

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, with the core purpose front-loaded ahead of the cross-reference. The 'Returns: {…}' block partially duplicates the output schema, which is the one segment that does not fully earn 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 read-only deterministic calculator with complete annotations, a full output schema and 100% parameter description coverage, the description supplies everything an agent needs to decide and invoke. It is complete, though it could have noted the French-only applicability constraint more explicitly.

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% – household_income, household_size (including the 1-5 clamp), and the zone enum are all documented in the schema itself. The description adds no parameter-level 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 and domain resource ('Check French PTZ (zero-rate loan) eligibility and maximum amount'), which is immediately distinguishable from generic siblings like calculate_loan_payment or calculate_loan_to_value. An agent can identify the niche (French zero-rate property loan) 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 says what it computes and points to list_bundles for related 'immobilier' calculators, which gives implied navigation context. However, it never states when this tool applies versus the many other French property/finance calculators in the sibling list (e.g. calculate_pinel_tax_reduction, calculate_housing_aid), so usage is only implied rather than explicit.

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

calculate_puissance_fiscaleCalculate Puissance FiscaleA
Read-onlyIdempotent
Inspect

French fiscal horsepower CV = (CO2/45) + (P_kW/40)^1.6. Returns: {cv_raw, cv_fiscaux}. See list_bundles for related 'auto-transport' calculators.

NameRequiredDescriptionDefault
co2_g_kmYesCO2 g/km
power_kwYesEngine power in kW

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, so safety is covered. The description adds real value beyond that by disclosing the exact deterministic formula and naming the output fields, clarifying that this is a pure computation with no side effects or hidden state.

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, formula front-loaded, output shape and a cross-reference following. No filler words; each 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 low-complexity, 2-parameter deterministic calculator with a full output schema and rich annotations, the description is nearly sufficient. The one missing element is when-to-use guidance versus sibling calculators, though the formula and discoverability pointer largely compensate.

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 (co2_g_km, power_kw) are already documented in the schema. The formula references CO2 and P_kW, reinforcing the mapping, but adds no format or constraint detail beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb+resource ('French fiscal horsepower CV') and even gives the exact formula '(CO2/45) + (P_kW/40)^1.6', making it unmistakable what this computes. An agent can identify the domain without opening the schema, and the reference to related 'auto-transport' calculators anchors it in context.

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. The only pointer is 'See list_bundles for related calculators', which is a discovery hint rather than a usage condition or exclusion. The agent gets no guidance on selecting this over sibling car/tax calculators like calculate_malus_ecologique.

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

calculate_pump_powerCalculate Pump PowerA
Read-onlyIdempotent
Inspect

Compute pump power requirement. P=ρ·g·H·Q/η. Use for fluid system design. Inputs: flow m³/h, head m, fluid density, efficiency. Returns kW. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
head_mYesHead m
flow_m3hYesFlow rate m³/h
efficiencyNoPump efficiency

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered structurally. The description adds the output unit (kW) and the governing equation, but says nothing about edge cases such as zero head/flow or efficiency bounds beyond what the schema states.

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 short sentences, formula front-loaded after the purpose statement, no restated boilerplate. The trailing 'See list_bundles' sentence is marginally useful but slightly dilutes the focus.

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 spelled out, and the core inputs and unit system are given. However, the density mention creates a real ambiguity about what the tool actually accepts, leaving the definition not fully self-consistent for such a simple three-parameter tool.

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?

The description lists 'fluid density' as an input, but the schema contains only head_m, flow_m3h and efficiency (100% coverage) — there is no density parameter. This phantom parameter is actively misleading and undercuts the otherwise adequate schema documentation.

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 ('Compute pump power requirement') and backs it with the exact formula P=ρ·g·H·Q/η, which pins down the calculation unambiguously against siblings like calculate_hydraulic_pressure or calculate_pipe_flow_rate.

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?

'Use for fluid system design' implies a domain but names no alternative tool or exclusion, and the only pointer is to list_bundles, a meta-tool rather than a competing calculator. Usage is inferred rather than specified.

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

calculate_purchasing_powerCalculate Purchasing PowerA
Read-onlyIdempotent
Inspect

Compare purchasing power between two years. Use to translate historical prices, salaries, or savings to today's value. Inputs: amount, from-year, to-year, average inflation %. Returns equivalent value. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
amountYesAmount to compare
to_yearYesTarget year
from_yearYesStarting year
avg_inflationNoAverage annual inflation rate in %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds that it returns an equivalent value, but this overlaps with the output schema and adds little behavioral context beyond annotations. It does not contradict 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?

The description is short and front-loads the core purpose before usage and parameter notes. The final suggestion to see list_bundles is useful but somewhat tangential, and the input/return sentences largely repeat structured fields. Still, it is appropriately sized and easy to scan.

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 tool's simplicity, complete annotations, full schema coverage, and an output schema, the description is sufficient for invocation. It could be stronger if it distinguished this calculator from similar inflation-adjustment siblings. The cross-reference to list_bundles partially helps navigation but is not a substitute for that differentiation.

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 all four parameters are already documented with descriptions in the input schema. The description merely lists the inputs again without adding format details, defaults, or semantic nuance beyond the schema. 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.

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: 'Compare purchasing power between two years.' It also explains the practical use case for translating historical amounts. However, it does not distinguish this tool from very similar siblings such as calculate_inflation_adjusted_value or calculate_inflation_adjustment.

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 application contexts: translating historical prices, salaries, or savings to today's value. This tells an agent when the tool is relevant. It does not provide explicit exclusions or name alternative tools for overlapping inflation-adjustment calculations.

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

calculate_pyramidCalculate PyramidB
Read-onlyIdempotent
Inspect

Compute pyramid volume V=(1/3)·base_area·height. Use for geometry or architecture. Inputs: base area, height (and optional slant for surface area). Returns volume and surface area. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
heightYesPyramid height
base_lengthYesBase side length

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and non-openWorld, so the safety profile is fully covered by structured data. The description adds that this is a pure computation returning volume and surface area, but that return information duplicates the existing output schema, so added 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.

Conciseness4/5

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

Three compact sentences, formula front-loaded and return values trailing; nothing is padded. The size is appropriate for the tool's simplicity.

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 trivial two-param calculator with full schema coverage, generous annotations, and an output schema, little prose is needed — but the phantom slant parameter and the base-area/base-length terminology mismatch leave a real possibility of incorrect 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 coverage is 100% and the schema documents exactly two params (base_length, height), but the description describes inputs as "base area" and an "optional slant for surface area" — the slant parameter does not exist and "base area" misnames base_length. This actively misleads an agent about the call signature.

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 with the exact formula (V=(1/3)·base_area·height), so an agent immediately knows this computes pyramid volume. However, it offers no differentiation from closely related siblings such as calculate_cone, calculate_volume, or calculate_sphere beyond a vague pointer to list_bundles.

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?

"Use for geometry or architecture" implies a domain but gives no explicit when-to-use conditions, no when-not, and no named alternative among the many geometry calculators in the sibling list. Usage must be inferred.

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

calculate_pythagorasCalculate PythagorasC
Read-onlyIdempotent
Inspect

Find missing side of right triangle using Pythagorean theorem. Returns: {error}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aNoSide a length
bNoSide b length
cNoHypotenuse c length

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/5.0
Behavior2/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, so the safety profile is covered. The description's behavioral content is limited to the malformed template fragment 'Returns: {error}', which discloses nothing usable and looks like an unresolved placeholder.

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 definition is short and front-loads the purpose, which is good. But the second sentence, 'Returns: {error}', is broken templating that consumes space without earning it.

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?

An output schema exists, so return values need not be explained, but the description still omits the one thing an agent must know: which combination of inputs is valid. Combined with a 'Returns: {error}' placeholder, the definition is not sufficient to invoke the tool reliably.

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%: a, b and c each have descriptions and minimum:0 constraints, so the baseline is 3. However, the critical semantic — that the caller supplies exactly two sides and receives the third — is absent from both the description and the schema, and with zero required parameters an agent could reasonably call it empty.

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 missing side of a right triangle via the Pythagorean theorem. This clearly separates it from geometric siblings like calculate_trigonometry or calculate_triangle_heron, though it never names 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 Guidelines2/5

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

The only routing hint is 'See list_bundles for related math calculators', which is a discovery pointer, not usage guidance. It never says when to pick this over calculate_trigonometry or how many sides the caller must supply.

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

calculate_quadratic_equationCalculate Quadratic EquationA
Read-onlyIdempotent
Inspect

Solve quadratic equation ax²+bx+c=0 with discriminant analysis. Use for math homework or physics problems. Inputs: coefficients a, b, c. Returns roots (real or complex), discriminant, and vertex. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesCoefficient a
bYesCoefficient b
cYesCoefficient c

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, non-open-world), so the description only needs to add behavior beyond that. It notes that roots may be real or complex and that a discriminant and vertex are produced, but says nothing about edge cases such as a=0 (undefined quadratic) 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 short sentences, front-loaded with the operation and formula before usage and output notes. The 'Inputs:' clause is largely redundant with the schema and is the one expendable fragment.

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 is not obligated to enumerate return values, and annotations cover the safety semantics. What remains thin is the domain constraint on coefficient a and the behavior for degenerate inputs, but otherwise the definition is 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 100% and the three coefficients are fully documented in the schema, so baseline is 3. The description's 'Inputs: coefficients a, b, c' merely restates the schema and adds no constraint such as a ≠ 0 or numeric domain limits.

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 — 'Solve quadratic equation ax²+bx+c=0' — and pins the exact scope with the polynomial formula, so an agent knows precisely what is computed. It does not differentiate itself from the close sibling calculate_equation (a more general equation solver), which is the only missing piece.

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?

'Use for math homework or physics problems' implies a context but gives no when-not guidance and does not route the agent away from calculate_equation or calculate_fraction_operations. The 'See list_bundles' pointer is a soft cross-reference rather than an alternative-selection rule.

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

calculate_quebec_income_taxCalculate Quebec Income TaxA
Read-onlyIdempotent
Inspect

Calculate Quebec provincial income tax (Revenu Québec) with the basic personal amount credited at the lowest rate. Excludes employment-specific credits (QPP/QPIP/EI, worker deduction): for a salary use calculate_canada_combined_tax. Returns: {income_cad, basic_personal_amount, basic_personal_credit, taxable_income, provincial_tax, effective_rate_pct, marginal_rate_pct, ...}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
income_cadYesAnnual income in Canadian dollars (CAD)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.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 by structured data. The description adds useful behavioral scope: the basic personal amount is credited at the lowest rate and employment-specific credits are excluded, which affects how results should be interpreted. It says nothing about rounding, tax-year versioning, or precision limits, which matters for a tax 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?

Three tightly packed sentences with the purpose and scope front-loaded before the alternative route. The trailing enumeration of return fields ({income_cad, basic_personal_amount, ...}) is partially redundant given an output schema exists, and is the one piece that does not earn its space.

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?

The description covers scope, exclusions, the sibling alternative, and bundle discovery; annotations cover safety; and an output schema covers return values. Nothing an agent needs to select and invoke this tool 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?

There is a single parameter and schema description coverage is 100%, so the schema already defines 'income_cad' as annual income in CAD with a minimum of 0. The description adds no syntax or format detail for the parameter itself; its added meaning (lowest-rate BPA credit) is about the calculation, not the input. 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 ('Calculate Quebec provincial income tax (Revenu Québec)') and immediately bounds the scope by naming what it does not cover (employment credits: QPP/QPIP/EI, worker deduction). This cleanly separates it from the many sibling tax calculators such as calculate_canada_combined_tax, calculate_canada_federal_tax, and calculate_belgian_income_tax.

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

Usage Guidelines5/5

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

Explicitly gives the when-not ('Excludes employment-specific credits ... for a salary use calculate_canada_combined_tax') and names the alternative tool plus the condition that selects it. It also points to list_bundles for related 'finance-afrique-quebec' calculators, which helps discovery.

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

calculate_race_predictionCalculate Race PredictionA
Read-onlyIdempotent
Inspect

Predict race time for a target distance using Riegel formula. Returns: {predicted_time_minutes, predicted_formatted, predicted_pace_min_km}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
target_distance_kmYesTarget race distance in km
reference_distance_kmYesReference race distance in km
reference_time_minutesYesReference race time in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world, non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral context by disclosing the Riegel formula and the exact return fields, which helps the agent understand the computation's assumptions.

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 tight sentences, front-loaded with the purpose and method. The 'Returns: {...}' clause is largely duplicative of the existing output schema, so it does not fully earn its place, but there is no padding or rambling.

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, complete annotations, and an output schema, the description only needs to cover purpose and method, which it does. It omits Riegel formula caveats (e.g., applicability range, exponent assumptions) and sibling routing, but those gaps are minor given the rich structured metadata.

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 of the three required parameters is documented in the schema itself. The description adds no parameter-level meaning (e.g., valid ranges or that reference_distance/time must correspond to a prior race result), 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 (predict) and resource (race time for a target distance) and names the underlying method (Riegel formula), so an agent knows exactly what computation happens. It does not name a specific sibling such as calculate_running_pace or calculate_marathon_splits, so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no explicit statement of when to use this tool versus alternatives like calculate_running_pace, calculate_marathon_splits, or calculate_vo2max. The 'See list_bundles' pointer is a discovery hint, not usage guidance or an exclusion condition.

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

calculate_radioactive_decayCalculate Radioactive DecayA
Read-onlyIdempotent
Inspect

Compute remaining quantity after radioactive decay. Use for physics or carbon dating. Formula: N=N0·(0.5)^(t/half-life). Inputs: initial qty, half-life, elapsed time. Returns remaining qty. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
timeYesTime elapsed
initialYesInitial amount
half_lifeYesHalf-life

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed-world profile, so the safety story is fully covered. The description adds the deterministic formula and that it returns remaining quantity, which is useful, but says nothing about unit handling or edge cases (time=0, half_life at the 0.001 floor).

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, then formula, inputs, return, and a cross-reference in a compact run of sentences. The formula earns its place; the list_bundles pointer is marginally useful and slightly dilutes an otherwise tight definition.

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 the return value, and annotations cover the safety profile, so the essentials are in place. The one real gap is unit consistency between half_life and time, which matters for a physics calculator and is never mentioned.

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 all three parameters are documented in the schema, so the schema carries the parameter burden. The description only restates the inputs ('initial qty, half-life, elapsed time') without adding format or unit guidance beyond what the schema already says, 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 and resource ('Compute remaining quantity after radioactive decay') and goes further by giving the exact formula N=N0·(0.5)^(t/half-life), which pins down the semantics unambiguously. An agent can distinguish this from neighbours like calculate_caffeine_half_life because the domain (physics/carbon dating) is 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?

'Use for physics or carbon dating' gives a loose context but no when-not conditions or a named alternative for the same task. The pointer to list_bundles is a discovery hint rather than guidance on choosing between competing calculators, so usage is only implied.

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

calculate_rainwater_collectionCalculate Rainwater CollectionA
Read-onlyIdempotent
Inspect

Estimate annual rainwater collection volume from a roof. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
roof_area_m2YesRoof catchment area in square metres
efficiency_pctNoCollection efficiency percentage (default 80%)
annual_rainfall_mmYesAverage annual rainfall in millimetres

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and openWorldHint=false, so the agent knows this is a pure, side-effect-free computation. The description adds nothing beyond that — no stated assumptions (e.g., that the efficiency factor is a loss allowance), no units caveat, no indication that the result is an estimate rather than a guaranteed yield. With annotations carrying the safety profile, a 3 is the right level.

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 with the core purpose front-loaded and no padding. The second sentence is a light cross-reference whose relevance is marginal, which keeps it just below a perfect score.

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 cover the safety profile; the schema fully documents all three inputs. For a simple two-required-parameter estimation tool, the definition is essentially sufficient, with only stated estimation assumptions 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%: roof_area_m2, annual_rainfall_mm, and efficiency_pct (default 80%, 0-100 bounds) are all documented in the schema itself. The description does not restate or add format/semantic nuance for any parameter, 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 first sentence names a specific verb and resource: 'Estimate annual rainwater collection volume from a roof.' That is unambiguous and distinguishes it from generic siblings like calculate_volume or calculate_area. However, it does not contrast itself with the closest neighbours (calculate_roof_area, calculate_garden_water_needs), 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?

Use case is implied by the purpose statement (sizing a rainwater harvesting setup from roof area and rainfall), but there is no explicit when-to-use, when-not-to-use, or prerequisite guidance. The only routing sentence points at list_bundles for a calculator bundle, which is navigation rather than selection guidance between sibling tools.

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

calculate_raised_bed_soilCalculate Raised Bed SoilB
Read-onlyIdempotent
Inspect

Compute soil volume needed to fill a raised garden bed. Use for gardening setup. Inputs: length, width, depth (m). Returns soil m³, bag count, mix recommendation (40% compost / 30% topsoil / 30% sand). See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
width_mYesRaised bed width in meters
depth_cmNoRaised bed depth in centimeters (default 30cm)
length_mYesRaised bed length in meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/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 the bar is lower. The description adds the return payload and a concrete mix ratio (40/30/30), which is genuine domain context, but most of that overlaps the existing output schema and it omits anything about units handling or bag-size assumptions.

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 compact sentences, purpose front-loaded first, then inputs, then outputs, with no filler. Slightly dense for a tool this simple, but nothing is padded.

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 an output schema and full annotations present, the description needs only to justify selection and clarify inputs. It does the former adequately but leaves the depth-unit question unresolved, which is the one thing an agent must get right to invoke it correctly.

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 coverage is 100%, so the baseline would be 3, but the description actively misleads: it lists inputs as 'length, width, depth (m)' while the schema defines depth_cm in centimeters with a 10-100 range and a default of 30. An agent reading only the description could pass depth in meters.

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?

Starts with a specific verb+resource: 'Compute soil volume needed to fill a raised garden bed.' That cleanly separates it from arithmetic siblings like calculate_volume. It does not, however, distinguish itself from the very similar calculate_garden_soil or calculate_compost_volume 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?

'Use for gardening setup' is a broad contextual hint rather than an actionable when-to-use rule, and there is no when-NOT-to-use or explicit alternative (e.g. calculate_garden_soil). Pointing at list_bundles for related 'jardinage' calculators is a weak substitute for routing guidance.

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

calculate_ratio_simplifyCalculate Ratio SimplifyA
Read-onlyIdempotent
Inspect

Simplify a ratio to lowest terms using GCD. Use for proportions, mixing, or scaling. Inputs: a, b (and optional c). Returns simplified ratio. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
numeratorYesNumerator
denominatorYesDenominator

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 the GCD method and return behavior, but does not disclose any auth needs, rate limits, or side effects beyond what annotations provide. No contradiction is present.

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 description is short and front-loads the purpose in the first sentence. However, the parameter sentence contains inaccurate information, and the return-value sentence is redundant because an output schema exists, so not every sentence earns its place.

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 simple two-parameter math calculator with an output schema and rich annotations, the description covers the core purpose and usage context. The fabricated optional 'c' and incorrect parameter names leave a notable gap that could cause an agent to make an invalid call.

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 coverage is 100% with 'numerator' and 'denominator' documented. However, the description says 'Inputs: a, b (and optional c),' which mismatches the actual parameter names and invents an optional 'c' that is absent from the schema and blocked by additionalProperties=false. This is misleading rather than additive.

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 clearly states a specific verb and resource: 'Simplify a ratio to lowest terms using GCD.' It distinguishes the tool from sibling calculators and points to list_bundles for related math tools, so an agent can identify its purpose immediately.

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 explicit usage contexts: 'Use for proportions, mixing, or scaling.' It does not name a direct alternative to use instead, so it stops short of a 5, but the intended use cases are clear.

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

calculate_reading_timeCalculate Reading TimeA
Read-onlyIdempotent
Inspect

Estimate reading time for a text based on word count. Returns: {hours_minutes}. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
word_countYesNumber of words in text
reading_speed_wpmNoReading speed words per minute

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered. The description adds only the return shape ({hours_minutes}); it says nothing about rounding, units, or how a non-default reading speed affects results. Adequate but thin given the low bar set by 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?

Two short sentences with the purpose front-loaded and no filler. The trailing list_bundles pointer is only tangentially about this tool, but it is brief and aids discovery, so the cost is small.

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, fully documented calculator with an output schema and full annotations, the description supplies what an agent needs: purpose, input basis, and return shape. Nothing critical is missing, though it never explains how the default reading speed influences the output.

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 word_count and reading_speed_wpm (including its 250 wpm default) are already documented in the schema. The description only echoes 'word count' and adds no format, range, or interaction guidance, 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 gives a specific verb (estimate) and resource (reading time for a text) plus the input basis (word count), so the tool's function is unambiguous. It does not explicitly contrast itself with any sibling, but within this large calculator family the target is distinct enough that no differentiation statement 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 Guidelines3/5

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

Usage is only implied: an agent infers it should call this when it needs a reading-time estimate. The only routing help is 'See list_bundles for related education calculators,' which points at adjacent tools but gives no when-to-use/when-not conditions or named alternatives for this specific calculation.

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

calculate_real_estate_agency_feesCalculate Real Estate Agency FeesA
Read-onlyIdempotent
Inspect

Calculate French real estate agency fees using sliding scale. Returns: {agency_fees, scale}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
sale_priceYesProperty sale price in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds the calculation method (sliding scale) and return shape, but says nothing about fee-splitting conventions, caps, or jurisdictional nuances that matter for French agency fees.

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 the core action before the cross-reference. The explicit 'Returns: {agency_fees, scale}' duplicates the existing output schema, which is minor waste but otherwise lean.

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 single-parameter, read-only calculator with full schema coverage and an output schema, the description is sufficient: purpose, method, output keys, and a pointer to related tools. Only the French-specific business rules (who pays, standard scale brackets) 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?

With one parameter at 100% schema coverage, the schema already documents 'sale_price' in EUR. The description's 'sliding scale' hints at how the input drives the result but adds no syntax, ranges, or units 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+resource ('Calculate French real estate agency fees') plus the method ('sliding scale'), which cleanly separates it from the many fee/tax siblings such as calculate_notary_fees and calculate_property_transfer_tax. There is no explicit contrast drawn against any sibling, but the resource is unambiguous.

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

Usage Guidelines3/5

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

The only routing hint is 'See list_bundles for related immobilier calculators,' which points to bundles rather than describing when this calculator applies versus alternatives. Usage is implied by the name, with no preconditions or exclusions stated.

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

calculate_recipe_nutritionCalculate Recipe NutritionB
Read-onlyIdempotent
Inspect

Compute total calories, protein, carbs, fat for a recipe and per serving. Use for meal planning or nutrition labels. Inputs: list of ingredients with grams, servings count. Returns macro breakdown per serving and total. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
ingredientsYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 the input is a weighted ingredient list and that output is a macro breakdown per serving and total, which is modest added context but nothing about rounding, missing-data handling, or unit assumptions.

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?

Front-loaded with the operation and scope, which is good, but the trailing 'See list_bundles for related cuisine calculators' sentence contributes little and the middle 'Inputs' sentence mixes schema-relevant claims with an inaccurate parameter.

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 tool whose only input is a structured array requiring name plus four per-100g macro values plus quantity_g, the description never explains that per-100g values are scaled by quantity_g, nor the servings basis for the 'per serving' figure. With a rich output schema the return side is fine, but the input contract is under-explained.

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 coverage is 0% and the single parameter is a nested array whose six per-100g/quantity fields are undocumented anywhere. Worse, the description cites a 'servings count' input that does not exist in the schema (only 'ingredients' is accepted, additionalProperties=false), which can mislead an agent.

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 total and per-serving calories/protein/carbs/fat for a recipe. It is distinguishable from neighbors like calculate_recipe_scale or calculate_food_cost_per_serving, though it never names a sibling it is not.

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?

'Use for meal planning or nutrition labels' gives an implied usage context but no when-not guidance and no named alternative among the many nutrition/recipe calculators. The pointer to list_bundles is a routing hint rather than a usage rule.

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

calculate_recipe_scaleCalculate Recipe ScaleB
Read-onlyIdempotent
Inspect

Scale recipe quantities to a new servings count. Use for adjusting recipes. Inputs: ingredients with quantities, original servings, target servings. Returns adjusted quantities. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
amountYesOriginal ingredient amount
target_servingsYesTarget servings
original_servingsYesOriginal servings

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 only 'Returns adjusted quantities', which is redundant given the output schema, and says nothing about rounding, precision, or scaling zero/edge amounts.

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?

Purpose is front-loaded and the text is short, but the four sentences contain redundancy (purpose and 'Use for adjusting recipes' say the same thing) and the closing list_bundles pointer feels bolted on rather than earning its place.

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 a full output schema and complete annotations, the description needn't explain returns or safety, and it doesn't need to. The remaining gap is sibling disambiguation against 'calculate_recipe_scaling', which for a calc tool in a large suite of near-duplicates is a meaningful omission.

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 three numeric params (amount, original_servings, target_servings) are already documented with types and minimums; baseline 3 applies. The description adds no syntax or semantic detail, and its phrase 'ingredients with quantities' (plural) slightly mismatches the single 'amount' 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?

States a specific verb+resource ('Scale recipe quantities to a new servings count'), so the core operation is unambiguous. However, it fails to differentiate from the near-identical sibling 'calculate_recipe_scaling', leaving an agent unable to choose between them from the description alone.

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

Usage Guidelines2/5

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

'Use for adjusting recipes' is essentially a restatement of the purpose rather than real guidance, and no when-to-use/when-not conditions or alternatives (notably the duplicate 'calculate_recipe_scaling') are named. The 'See list_bundles for related cuisine calculators' pointer references a discovery tool, not a replacement for this calculation, so it does not help routing.

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

calculate_recipe_scalingCalculate Recipe ScalingB
Read-onlyIdempotent
Inspect

Scale recipe ingredients up or down by a factor or new servings count. Use for cooking adjustments. Inputs: ingredients list, original servings, new servings. Returns scaled ingredient list. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
targetYesTarget servings
originalYesOriginal servings
ingredientsYesIngredients

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, fully covering the safety profile for a pure computation. The description adds no behavioral context beyond annotations (e.g., how quantities are rounded, how units are handled), and 'Returns scaled ingredient list' duplicates what the output schema already provides.

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?

Reasonably front-loaded with the core action first, but the 'Inputs:' enumeration restates the schema and the trailing list_bundles reference is off-topic filler that dilutes focus.

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 simple, single-purpose calculator with an output schema and full annotation coverage, the description is adequate but leaves the critical disambiguation from calculate_recipe_scale unaddressed, which is the one thing an agent most needs 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%, so target, original, and ingredients are already documented. The description merely restates them ('ingredients list, original servings, new servings') and even introduces 'by a factor', a scaling mode that does not exist in the schema, adding mild confusion rather than clarity.

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 clear verb+resource ('Scale recipe ingredients up or down') with the two scaling modes. However, it fails to distinguish itself from the near-identical sibling 'calculate_recipe_scale', which an agent would reasonably consider interchangeable, leaving a genuine ambiguity unresolved.

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?

'Use for cooking adjustments' is vague and adds no selection guidance. There is no mention of when to prefer this over calculate_recipe_scale, calculate_recipe_nutrition, or convert_cooking, and the pointer to list_bundles for 'cuisine calculators' is irrelevant to invoking this tool.

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

calculate_regular_polygonCalculate Regular PolygonA
Read-onlyIdempotent
Inspect

Compute area, perimeter, and apothem of a regular n-gon. Use for geometry or tiling. Inputs: number of sides, side length. Returns full geometric properties. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
sidesYesNumber of sides
lengthYesSide length

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare a full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description isn't required to carry that burden. It adds no behavioral context beyond structure: it doesn't mention the sides ≥ 3 constraint, custom bounded ranges, or whether the computation is exact or rounded, and 'returns full geometric properties' merely restates the 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.

Conciseness4/5

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

Front-loaded with the purpose, then inputs and routing in four short sentences. 'Returns full geometric properties' is largely redundant given the existing output schema, which is the only real slack.

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 rich annotation set, a 100%-covered 2-parameter schema, and an output schema present, the description only needs to state purpose, inputs, and what is computed — all of which it does. The missing piece is disambiguation from the many nearby geometry 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%, so the baseline is 3. 'Inputs: number of sides, side length' restates the two schema properties without adding unit, integer, or range semantics beyond what the schema already declares.

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 — 'Compute area, perimeter, and apothem of a regular n-gon' — which is narrowly scoped and distinguishable from generic siblings like calculate_area or calculate_perimeter. It stops short of explicitly contrasting itself with those siblings, so it doesn't reach 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?

'Use for geometry or tiling' gives an implied domain hint but names no alternatives and no when-not conditions (e.g., 'use calculate_area for non-regular shapes'). The list_bundles pointer is a discovery aid rather than real usage routing, so this sits at minimum-viable.

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

calculate_rental_profitabilityCalculate Rental ProfitabilityB
Read-onlyIdempotent
Inspect

Compute net rental profitability after taxes and charges. Use for real estate investment analysis. Inputs: purchase price, monthly rent, charges, vacancy %, tax bracket. Returns net yield % and cash flow. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
annual_taxYesAnnual property tax in EUR
monthly_rentYesMonthly rental income in EUR
purchase_priceYesPurchase price in EUR
monthly_chargesYesMonthly charges/expenses in EUR
notary_fees_pctNoNotary fees as % of price (default 8)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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. The description adds the 'after taxes and charges' scope framing but discloses no tax assumptions, currency handling, or rounding behavior beyond that; a 3 reflects modest 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.

Conciseness4/5

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

Three short sentences, front-loaded with the core purpose, with no padding. The trailing 'See list_bundles' pointer is compact and earns its place as a discovery aid, though the inaccurate input list slightly undermines the structure.

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 re-explained, and annotations cover the safety profile. But the description's input inventory conflicts with the actual schema and gives no differentiation from the rental-yield siblings, leaving meaningful gaps for a 5-parameter financial computation.

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 coverage is 100%, so the baseline is 3, but the description actively misstates the parameter set: it lists 'vacancy %' and 'tax bracket', neither of which exists in the schema, and omits notary_fees_pct (default 8), which does. This is worse than saying nothing, since an agent may hunt for non-existent 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 and resource: 'Compute net rental profitability after taxes and charges', which is clearly more than a restatement of the name. However, it never distinguishes itself from the very close siblings calculate_rental_yield, calculate_rental_yield_gross, and calculate_rental_yield_net, which an agent could easily confuse with 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 Guidelines2/5

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

'Use for real estate investment analysis' is a broad context, not real guidance. With at least four rental-yield siblings in the tool list, the description gives no when-to-use/when-not and names no alternative, leaving selection to guesswork.

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

calculate_rental_yieldCalculate Rental YieldB
Read-onlyIdempotent
Inspect

Calculate gross and net rental yield for a real estate investment. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
annual_rentYesAnnual rental income in EUR
annual_chargesNoAnnual charges/expenses in EUR (default 0)
purchase_priceYesPurchase price in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world, giving a full safety profile for this pure computation. The description adds nothing beyond that — no note that it returns both yields simultaneously or that no external data is fetched — but it does not contradict the annotations either.

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, front-loaded with the core purpose and followed by the discovery pointer. 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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile for a deterministic calculator. The description is adequate, though it could have named the overlapping siblings to remove ambiguity about which yield tool to call.

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 three parameters (purchase_price, annual_rent, annual_charges) documented including units and defaults. The description adds no parameter-level 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 ('Calculate gross and net rental yield for a real estate investment'), and the 'gross and net' phrasing implicitly distinguishes it from the separate calculate_rental_yield_gross and calculate_rental_yield_net siblings without naming them. Clear purpose, but the sibling differentiation is left for the agent to infer.

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 only guidance is 'See list_bundles for related immobilier calculators,' which is a discovery pointer, not a when-to-use statement. It never explains when to pick this combined gross+net tool over the dedicated gross or net siblings, nor any preconditions.

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

calculate_rental_yield_grossCalculate Rental Yield GrossA
Read-onlyIdempotent
Inspect

Calculate gross rental yield from property price and monthly rent. Returns: {gross_yield_pct}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
monthly_rentYesMonthly rent in EUR
purchase_priceYesProperty purchase price in EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile needs no restating. The description adds only the returned field name, which the output schema already carries, and says nothing about rounding, percentage vs decimal convention, or formula assumptions.

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 operation and its inputs come first, and the cross-reference pointer is relegated to the end. No 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?

For a two-parameter calculation with a full output schema and rich annotations, this is nearly sufficient. The one meaningful omission is the gross-vs-net distinction that would let an agent choose confidently among the several rental-yield 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 coverage is 100% and both parameters document their EUR units and positive-value constraints. The description merely restates 'property price and monthly rent' without adding semantics 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 ('Calculate gross rental yield') and names the two inputs used. The 'gross' qualifier implicitly separates it from calculate_rental_yield_net, but it never explicitly contrasts with calculate_rental_yield or calculate_rental_profitability, so sibling differentiation is only partial.

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 wording rather than stated. The pointer to list_bundles for 'immobilier' calculators is discovery navigation, not guidance about when to pick this over calculate_rental_yield or calculate_rental_yield_net.

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

calculate_rental_yield_netCalculate Rental Yield NetB
Read-onlyIdempotent
Inspect

Calculate net rental yield after charges and vacancy. Returns: {net_yield_pct, effective_annual_rent, net_income}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
monthly_rentYesMonthly rent EUR
vacancy_rateYesVacancy rate percent
annual_chargesYesAnnual charges, taxes, insurance EUR
purchase_priceYesProperty price EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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. The description adds that charges and vacancy are applied to produce a net figure, plus the returned fields, but gives no behavioral detail beyond what the annotations and output schema convey.

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, no waste, with the calculation purpose front-loaded before the return-value note. The trailing list_bundles pointer is slightly tangential but plausibly earns its place as a discovery aid.

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 deterministic pure-calculation tool with an output schema, fully specified required parameters with bounds, and read-only annotations, this is largely sufficient. The only real gap is the absence of explicit disambiguation from the gross-yield siblings in a family of closely named rental 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%, so all four parameters (monthly_rent EUR, purchase_price EUR, annual_charges, vacancy_rate percent) are already documented with units and bounds. The phrase 'after charges and vacancy' loosely maps to two parameters but adds no new meaning such as calculation order or whether vacancy is applied on rent or on net income.

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 net rental yield') and adds the defining modifier 'after charges and vacancy', which distinguishes it from gross-yield variants. However, it never names the closest sibling (calculate_rental_yield_gross or calculate_rental_yield), so the distinction must be inferred from the word 'net'.

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 or when-not-to-use guidance. The only routing hint is 'See list_bundles for related immobilier calculators', which points at bundle discovery rather than telling the agent when this tool beats calculate_rental_yield_gross, calculate_rental_yield, or calculate_rental_profitability.

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

calculate_rent_increase_irlCalculate Rent Increase IRLB
Read-onlyIdempotent
Inspect

Calculate rent increase allowed by French IRL index. Returns: {new_rent_eur, increase_eur}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
new_irlYesLatest published IRL
old_irlYesIRL at lease start
current_rentYesCurrent rent EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered. The description adds the return shape and the legal-domain constraint of the French IRL index, but says nothing about the calculation rule (e.g. whether it caps the increase) beyond what the input fields imply.

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 short sentences, front-loaded with the core action, followed by the return shape and a cross-reference. Nothing is padded or 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?

The tool is simple, an output schema exists, and the description names the calculation basis and return fields, so it is largely complete. The one minor gap is that it restates return values already in the output schema instead of explaining the IRL index or its source.

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 ('Latest published IRL', 'IRL at lease start', 'Current rent EUR'), so the baseline is 3. The description contributes no additional parameter 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?

States a specific verb and resource (calculate rent increase allowed by the French IRL index), which is more precise than most of the sprawling calculate_* siblings. It does not explicitly differentiate itself from other rent-related siblings such as calculate_rent_ratio, but the domain framing (French IRL) makes the intent unambiguous.

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 only guidance is a pointer to list_bundles for related 'finance-france' calculators, which is a discovery aid rather than a when-to-use statement. There is no indication of when this tool is appropriate versus alternatives, nor any prerequisite about needing an IRL at lease start.

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

calculate_rent_ratioCalculate Rent RatioA
Read-onlyIdempotent
Inspect

Compute the rent-to-income ratio. Use to assess housing affordability (rule of thumb: keep under 33%). Inputs: monthly rent, monthly gross income. Returns rent ratio % and verdict. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
rentYesMonthly rent
incomeYesMonthly income

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, closed-world behavior, so the safety profile is covered. The description adds genuine interpretive context beyond that: the 33% rule-of-thumb threshold and the fact that a verdict is returned, which tells the agent how to read the result.

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 short sentences, front-loaded with the core computation, then usage, then inputs/returns. Efficient overall, though the input list partly restates the schema and the bundle pointer is slightly tangential.

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 explaining return values isn't required, yet the description still notes the ratio % and verdict. Combined with the threshold heuristic and the related-bundle pointer, an agent has enough to call this correctly; only the alternative-tool routing 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 still adds meaning by specifying 'monthly rent' and 'monthly gross income' — the gross-vs-net distinction is a real semantic constraint the schema's generic 'Monthly income' does not make.

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 rent-to-income ratio') and frames it as a housing-affordability assessment. This distinguishes it reasonably well from near-neighbors like calculate_debt_to_income, but it never names an alternative, so the differentiation is inferred rather than explicit.

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

Usage Guidelines3/5

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

Gives a clear usage context ('Use to assess housing affordability') and a helpful decision rule (keep under 33%). However it offers no when-not guidance and does not point to related or overlapping calculators such as calculate_debt_to_income or calculate_rent_increase_irl, so alternatives are left implicit.

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

calculate_retirement_dateCalculate Retirement DateB
Read-onlyIdempotent
Inspect

Estimate retirement date from birth date and country legal retirement age. Returns: {retirement_age, retirement_date, years_remaining, already_retired, note}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
countryYesCountry: FR=64 years, US=67 years, UK=66 years
birth_dateYesYYYY-MM-DD — Date of birth

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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, so the safety profile is fully covered. The description adds a return-field list, but since an output schema exists this is largely redundant structured data rather than new behavioral 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?

Two sentences, front-loaded with the core purpose, no filler. The return-field enumeration is slightly redundant given the output schema but is brief and harmless.

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 all parameters are schema-documented, so coverage is adequate. The only real gap is the absence of sibling-routing guidance, which the list_bundles pointer partially offsets.

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%: both parameters and the country enum with per-country ages (FR=64, US=67, UK=66) are documented in the schema. The description adds no syntax or format detail beyond what the schema already 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?

States a specific verb ('Estimate') and resource ('retirement date') and names the two inputs that determine it (birth date, country legal retirement age), which distinguishes it from pension/savings siblings like calculate_retirement_pension. However, it never explicitly contrasts itself with those siblings, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

The only guidance is a pointer to list_bundles for 'temps-rh' calculators, which is a discovery hint rather than a when-to-use/when-not rule. It never states when this tool is preferred over calculate_retirement_pension or calculate_retirement_savings_gap, which are the most confusable siblings.

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

calculate_retirement_pensionCalculate Retirement PensionA
Read-onlyIdempotent
Inspect

Estimate French basic retirement pension (retraite de base Assurance Vieillesse). Returns: {average_salary_best25, annual_pension, max_monthly_pension, prorata_pct}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
target_yearsNoTarget quarters for full pension (default 172 = 43 years)
years_contributedYesTotal years of contribution
average_salary_best25YesAverage annual salary of best 25 years in euros

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare this as a safe, read-only, idempotent, closed-world calculation, so the description does not need to repeat safety traits. It adds domain context by identifying the French Assurance Vieillesse scheme and naming return fields, but it does not disclose calculation assumptions, limitations, or interpretation caveats.

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 front-loaded with the core purpose, followed by return keys and a related-bundle pointer. It uses two tight sentences with no filler and every element serves a routing or interpretation purpose.

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 full schema coverage, rich annotations, an output schema, and a simple three-parameter calculation, the description is largely complete for correct invocation. Its main gap is routing clarity among the numerous pension and retirement siblings, which is partially mitigated by the specific French basic pension wording.

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 all three parameters are documented in the input schema, including units for average_salary_best25 and target quarters for target_years. The description itself adds no parameter-level detail beyond what the schema already provides, so the baseline score of 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?

The description states a specific verb and resource: estimating the French basic retirement pension (retraite de base Assurance Vieillesse). It distinguishes itself from non-French pension siblings through the explicit French scheme reference, and it lists the return fields, which further clarifies what the calculation produces.

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 specific French basic pension scope, but the description does not explicitly say when to use this versus siblings such as calculate_belgian_pension, calculate_retirement_savings_gap, or calculate_retirement_date. The pointer to list_bundles is ancillary rather than direct routing guidance.

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

calculate_retirement_savings_gapCalculate Retirement Savings GapB
Read-onlyIdempotent
Inspect

Project retirement savings vs need and identify shortfall. Use for retirement planning. Inputs: current age, retirement age, current savings, monthly contribution, target income. Returns projected balance and gap. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
current_ageYesCurrent age
savings_rateYesAnnual return rate percent
monthly_incomeYesDesired monthly retirement income EUR
retirement_ageYesTarget retirement age
current_savingsYesCurrent savings EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 closed-world scope, so the safety profile is covered and the bar is lower. The description adds that the tool returns a projected balance and a gap, but does not disclose key modeling assumptions (inflation, real vs nominal returns, whether the target income is indexed) that materially affect a planning result.

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 short sentences, front-loaded with the purpose, then inputs, then outputs, with no filler. The input enumeration is compact but, as noted, inaccurate, which costs it some credit.

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 explained, and all five parameters carry schema descriptions. The description is nonetheless incomplete-to-misleading about which inputs the tool actually accepts, which is the one thing an agent most needs to get right for a five-required-parameter calculator.

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 100%, so the baseline would be 3, but the description actively misstates the inputs: it lists 'monthly contribution' and 'target income' whereas the schema requires 'savings_rate' (annual return rate percent) and 'monthly_income' (desired retirement income EUR). There is no 'monthly contribution' parameter at all, so the description misleads rather than clarifies.

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: 'Project retirement savings vs need and identify shortfall', which is distinct from siblings like calculate_retirement_pension (pension income) and calculate_retirement_date (date arithmetic). It does not, however, name any sibling explicitly to help the agent route between the several retirement- and savings-related 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?

'Use for retirement planning' is a restatement of the title rather than a when-to-use rule, and there are no exclusions or comparisons to close siblings such as calculate_retirement_pension or calculate_savings_goal. The only routing hint is a pointer to list_bundles for 'finance-universal' calculators, which is not guidance on choosing this tool.

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

calculate_reverb_predelayCalculate Reverb PredelayA
Read-onlyIdempotent
Inspect

Calculate optimal reverb pre-delay based on room size and musical tempo. See list_bundles for related 'musique' calculators.

NameRequiredDescriptionDefault
bpmNoTempo in BPM (used to snap pre-delay to musical grid)
room_length_mYesRoom length in meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the grid-snapping intent, which is already present in the bpm parameter description; no extra behavioral context (output units, determinism caveats) 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?

Two sentences, front-loaded with the core purpose; nothing is redundant or padded. The second sentence is a useful but slightly tangential cross-reference, keeping it just short of exemplary.

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 annotations covering the safety and idempotency profile, the description does not need to explain return values. Purpose and inputs are adequately framed for a simple two-parameter calculator; only routing/usage guidance is thin.

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 in the schema (including BPM range and the grid-snap purpose). The description's 'based on room size and musical tempo' merely restates those inputs, adding no 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.

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 optimal reverb pre-delay') plus the two inputs that drive it ('room size and musical tempo'). Among hundreds of generic 'calculate_*' siblings, this one is unmistakably identifiable 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?

Usage is implied by the audio-production framing, and the pointer to list_bundles gives a discovery route to related 'musique' calculators. However, it never states when to use this tool versus another calculator, nor any prerequisites or exclusions.

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

calculate_ring_sizeCalculate Ring SizeB
Read-onlyIdempotent
Inspect

Find ring size in EU/US/UK/JP given finger circumference or diameter. Use for jewelry shopping. Inputs: circumference mm or diameter mm. Returns size in EU, US, UK, JP systems. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
from_systemYes
circumference_mmYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 and this pure-calculation tool needs little more. The description adds nothing behavioral beyond restating inputs/outputs, and its 'diameter mm' input does not exist in the schema, which mildly misleads rather than clarifies.

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 short sentences, front-loaded with the core computation followed by inputs and returns. The 'Use for jewelry shopping' clause and the list_bundles tangent add little but the text stays tight overall.

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-value explanation is not required, and the description need not repeat 'Returns size in EU/US/UK/JP'. However, with two required params at 0% schema coverage, the description should document from_system semantics and reconcile the phantom 'diameter' input instead of leaving it ambiguous.

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%, so the description must carry parameter meaning. It does explain circumference_mm as millimeters but claims a 'diameter mm' input that is absent from the schema, and it never explains the required from_system enum or why FR maps to the advertised 'EU'.

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 ring size') with explicit scope (EU/US/UK/JP, from circumference or diameter). An agent can tell what it computes, though it never distinguishes itself from the sibling calculate_ring_size_convert.

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?

Only guidance is the vague 'Use for jewelry shopping' plus an irrelevant pointer to list_bundles for 'textile-mode' calculators. No when-to-use condition, no mention of the obvious alternative calculate_ring_size_convert, no prerequisites.

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

calculate_ring_size_convertCalculate Ring Size ConvertB
Read-onlyIdempotent
Inspect

Convert ring sizes between EU, US, UK, and Japan systems. Use for international jewelry shopping. Inputs: size, from-system, to-system. Returns equivalent size. See list_bundles for related 'textile-mode' calculators.

NameRequiredDescriptionDefault
sizeYesRing size in source system
from_systemYesSource sizing system

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only "Returns equivalent size," which is redundant with the output schema and adds no behavioral context such as rounding precision or supported direction of conversion.

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 core purpose is front-loaded in one efficient sentence, but the trailing "See list_bundles for related 'textile-mode' calculators" is irrelevant to a ring-size tool and consumes space without earning it.

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-format explanation is not required. Still, the phantom "to-system" parameter and the unmentioned FR enum value leave the agent with an inaccurate model of the inputs, which is a real gap for a two-parameter tool.

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 coverage is 100%, but the description actively misleads: it lists "to-system" as an input even though the schema has only size and from_system, and it names EU/US/UK/Japan while the enum also includes FR. This introduces parameter confusion rather than adding meaning.

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 — convert ring sizes between EU/US/UK/Japan systems — so the purpose is immediately clear. However, it fails to differentiate from the obvious sibling calculate_ring_size (basic sizing) or calculate_clothing_size_convert; the only cross-reference given is an unrelated pointer to list_bundles.

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?

"Use for international jewelry shopping" gives one concrete usage context, which is better than nothing. There are no exclusions or named alternatives, so an agent cannot tell why it should pick this over calculate_ring_size or calculate_bra_size_convert.

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

calculate_roiCalculate ROIA
Read-onlyIdempotent
Inspect

Compute Return on Investment as a percentage. Use to evaluate investments, marketing spend, or projects. Inputs: investment cost, return value. Returns ROI %, profit, and multiple. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
investmentYesInitial investment amount
return_valueYesFinal value or total returns

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 fully covered structurally. The description's only added behavioral detail is the return payload (ROI %, profit, multiple), which duplicates the existing output schema rather than adding new 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?

Four compact sentences, front-loaded with the core purpose and then inputs/outputs/cross-reference. Slightly redundant to restate return values that the output schema already provides, but nothing is 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 simple two-parameter calculator with an output schema, the description covers purpose, inputs, and related-tool routing adequately. The only gap is the absence of guidance on units or interpretation, which is minor given the annotations and 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% with only two parameters, so the schema already documents 'investment' and 'return_value' fully. The description merely restates them as 'investment cost' and 'return value' without adding units, edge-case handling, or sign conventions.

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+resource ('Compute Return on Investment as a percentage') and enumerates the intended use cases (investments, marketing spend, projects). It is clearly distinct from most siblings, though it never explicitly distinguishes itself from close cousins like calculate_solar_roi or calculate_rental_yield.

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 to use it ('evaluate investments, marketing spend, or projects') and points to list_bundles for related finance calculators. It offers no explicit when-not-to-use or alternative-tool routing.

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

calculate_roman_numeralCalculate Roman NumeralB
Read-onlyIdempotent
Inspect

Convert between Roman numerals and decimal (1-3999). Returns: {roman_numeral, decimal}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
valueYesDecimal number to convert to Roman numeral

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/5.0
Behavior2/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 scope, so the safety profile is fully covered. The description's added content (return shape, 1-3999 range) duplicates the schema and output schema rather than disclosing anything new, and 'between' implies bidirectionality not supported by the single integer input.

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 tight sentences with the core purpose front-loaded and no filler. The trailing list_bundles cross-reference is marginally useful but is the least essential part of the 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?

An output schema exists, so the explicit return shape is redundant but harmless, and annotations carry the safety profile. For a single-parameter, closed-world calculator the definition is essentially complete; only the when-to-use guidance 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% and there is only one parameter, whose meaning and 1-3999 bounds are fully stated in the schema, so the baseline of 3 applies. The description adds no format or syntax detail, and its 'between Roman numerals and decimal' phrasing could mislead an agent into passing a Roman string that the integer-typed schema would reject.

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 ('Convert between Roman numerals and decimal') that is unambiguous among the many calculate_* siblings. The '(1-3999)' scope qualifier sharpens it, but no sibling is named as a near-alternative, so it stops short of the 5-level 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 versus other conversion-style calculators, no prerequisites, and no exclusions. The only routing hint is 'See list_bundles for related conversions calculators,' which points at a discovery tool rather than telling the agent when this tool is the right choice.

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

calculate_roof_areaCalculate Roof AreaB
Read-onlyIdempotent
Inspect

Calculate roof surface area from building footprint and slope angle. Returns: {rafter_length_m, net_roof_area_m2, with_5pct_overhang_m2}. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
base_width_mYesBuilding width in meters
base_length_mYesBuilding length in meters
slope_degreesYesRoof slope in degrees

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, covering the safety profile. The description adds the returned field names, but with an output schema present that is largely redundant; it discloses nothing further about constraints or edge cases (e.g. the slope 0-80 range implication).

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 the operation, with no padding. The return-value enumeration is somewhat redundant given the output schema, a minor inefficiency rather than 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?

For a simple 3-parameter read-only calculator with an output schema and full annotation coverage, the essentials are present. The only real gap is guidance on choosing this calculator over the nearby roof/area 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% with all three parameters documented (base_length_m, base_width_m, slope_degrees). The description only restates 'building footprint and slope angle' and adds no unit, range, or format nuance 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 ('Calculate roof surface area') and names the inputs (building footprint and slope angle), so the operation is unambiguous. It does not, however, differentiate itself from the close sibling calculate_roof_truss beyond a generic pointer to list_bundles, keeping it just shy 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 statement of when to use this tool versus alternatives such as calculate_roof_truss, calculate_floor_area, or calculate_area. The only routing hint is a generic 'See list_bundles for related construction calculators,' which defers the decision rather than informing it.

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

calculate_roof_trussCalculate Roof TrussA
Read-onlyIdempotent
Inspect

Calculate roof truss dimensions, rafter length and material quantities for a pitched roof. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
span_mYesTotal roof span in meters (full width)
load_kg_m2NoTotal roof load in kg/m² including snow, wind and tiles (default 150)
spacing_cmNoDistance between trusses/rafters in cm (default 60cm)
pitch_degreesYesRoof pitch angle in degrees

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 without the description. The description adds only what is computed, with no mention of assumptions, unit handling, or limits; with annotations carrying the load, 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?

Two tight sentences with the core computation front-loaded and no filler. The second sentence is a navigational pointer whose value is modest but non-zero, keeping it just short of a 5.

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 all four params are documented in the schema with units and defaults. The safety profile is covered by annotations. The only real gap is that the description does not help an agent decide between this and the adjacent calculate_roof_area sibling.

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 of the four parameters documented including units and defaults, so the baseline is 3. The description adds no additional parameter meaning (e.g., how pitch or load feeds the calculation) beyond what the schema already states.

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 pairs a specific verb ('Calculate') with a specific resource ('roof truss') and names the outputs (dimensions, rafter length, material quantities) scoped to a pitched roof, which distinguishes it from the sibling calculate_roof_area. It stops short of explicitly naming a sibling to differentiate against, so it is clear but not maximally disambiguating.

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 pitched-roof scope; there is no statement of when to choose this over calculate_roof_area or calculate_beam_load. The 'See list_bundles for related construction calculators' line is a discovery pointer rather than a when/when-not rule, so it earns partial credit at best.

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

calculate_rule_of_72Calculate Rule Of 72B
Read-onlyIdempotent
Inspect

Estimate years to double an investment using the Rule of 72. Returns: {doubling_years_rule72, doubling_years_precise, annual_rate_pct}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
annual_rateYesAnnual return rate percent

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is fully covered. The description's listing of return fields is largely redundant with the output schema, and it adds no behavioral detail such as input-domain limits (annual_rate must be > 0) or rounding behavior. The rule72-vs-precise distinction is a minor value add.

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 purpose front-loaded before the return shape and the discovery pointer. Every sentence carries information and nothing is 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 one-parameter, idempotent, read-only calculator with an output schema and full annotation coverage, the description is essentially complete; the return shape is even restated unnecessarily. The only shortfall is the absence of any routing hint to sibling finance calculators.

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?

With a single parameter at 100% schema description coverage, the schema already fully documents annual_rate as an annual return rate percent. The description adds no format, range, or unit nuance beyond that, so the baseline 3 for schema-covered parameters 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 outcome ('Estimate years to double an investment using the Rule of 72'), which is unambiguous and distinct from generic finance siblings like calculate_compound_interest. It does not, however, explicitly contrast itself with those siblings, so an agent must infer when the Rule of 72 beats a full compound-interest calculation.

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 only guidance is 'See list_bundles for related finance-universal calculators,' which is a discovery pointer rather than when-to-use or when-not-to-use direction. No alternative tool is named for the case where the agent wants exact compounding over N periods rather than a doubling estimate.

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

calculate_rule_of_threeCalculate Rule Of ThreeB
Read-onlyIdempotent
Inspect

Solve rule of three (cross-multiplication): if a→b, then c→? Use for proportions, recipe scaling, or unit pricing. Inputs: a, b, c. Returns x. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
aYesKnown value A
bYesCorresponding value B
xYesNew value of A

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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 by structured data. The description adds only 'Returns x,' which is thin behavioral detail and is also redundant with the output schema; no edge-case behavior (e.g., division by zero or non-numeric input) 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?

Three short front-loaded sentences with no padding; the formula and use cases come first. The trailing 'Inputs: a, b, c' sentence is wasted effort since the schema already enumerates the parameters, and it is the source of the naming error.

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 trivial pure-math calculator with full annotation coverage and an output schema, the description covers purpose, formula, and use cases adequately. The gaps are the inaccurate parameter list and lack of any stated numeric preconditions, but neither is critical for this tool class.

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 100%, so the baseline would be 3, but the description actively mislabels the parameters: it says 'Inputs: a, b, c' while the schema requires 'a', 'b', and 'x'. An agent reading the description for the third operand could supply 'c' and fail validation, so the description is worse than silent here.

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?

It gives a specific verb ('Solve') plus the resource and its formula ('rule of three (cross-multiplication): if a→b, then c→?'), which is enough to distinguish it from neighbors like calculate_rule_of_72 or calculate_ratio_simplify. It does not call out those siblings by name, so an agent must infer the boundary from the math itself.

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?

'Use for proportions, recipe scaling, or unit pricing' gives concrete usage contexts, which is better than nothing. However, there are obvious competing tools (calculate_recipe_scale, calculate_unit_price, calculate_recipe_scaling) and no when-not or alternative-selection guidance is offered; the only cross-reference is list_bundles, which is a discovery tool, not an alternative.

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

calculate_running_paceCalculate Running PaceB
Read-onlyIdempotent
Inspect

Calculate running pace (min/km) and speed (km/h) from distance and time. Returns: {pace_min_per_km, pace_formatted}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
distance_kmYesDistance in kilometers
time_minutesYesTotal time in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed-world scope, so the safety profile is fully covered. The description adds nothing beyond that for a pure deterministic calculator — no edge-case behavior for zero/invalid time or unit expectations — but for a stateless calculation there is little more behavior to disclose.

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 compact sentences, front-loaded with the core purpose, and the bundle pointer is short. The return-value enumeration is partly redundant given the output schema, which costs a little.

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 full schema coverage and a committed output schema, this is essentially complete. The description could drop the return enumeration since the output schema exists and instead use that space for sibling disambiguation.

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 both parameters are already documented with units and minimums, which sets the baseline at 3. The description adds mild value by naming the output units (min/km, km/h) alongside the inputs, but the asymmetry between the two parameters is spelled out only 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 and resource ('Calculate running pace') plus the exact inputs (distance and time) and the formula outputs (min/km, km/h). It is clearly distinct from other sports calculators, but it never names or contrasts with close siblings like calculate_swimming_pace, calculate_marathon_splits, or calculate_speed_distance_time, so the agent gets no help disambiguating the cluster.

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 and no stated alternative: the only pointer, 'See list_bundles for related sport calculators', is a discovery hint, not a routing rule. An agent must infer from the name alone whether this or calculate_speed_distance_time / calculate_marathon_splits is the right call.

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

calculate_salary_comparison_pppCalculate Salary Comparison PppA
Read-onlyIdempotent
Inspect

Compare salaries across countries using PPP (FR=0.79, US=1.0, UK=0.81, DE=0.77, CH=1.36, BE=0.80). Returns: {ppp_from, ppp_to, equivalent, ratio}. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
salaryYesSalary in local currency
to_countryYesTarget country
from_countryYesSource country

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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/non-destructive, so the safety burden is lifted. The description adds real behavioral context beyond them: the fixed PPP table (FR=0.79, US=1.0, CH=1.36, etc.) tells the agent which countries are supported and that rates are hardcoded rather than live, plus the returned field names.

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, zero filler, and the core purpose plus the numeric parameters are front-loaded before the optional sibling pointer. 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 three-parameter, fully-described calculation with an output schema present, the description covers purpose, inputs and result shape. The only minor gap is that it does not state the currency assumption for the salary input or whether rates are periodically updated.

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 goes further by mapping each country enum code to its PPP factor — meaning that exists nowhere in the schema and directly affects how the salary argument is interpreted. That is genuine additive 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?

States a specific verb+resource ('compare salaries across countries using PPP') and immediately scopes it with the exact PPP factor set in use. An agent can distinguish this from calculate_currency_exchange or calculate_purchasing_power 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 only guidance is a cross-reference ('See list_bundles for related vie-quotidienne calculators'), which points at discovery rather than telling the agent when this tool is the right choice versus sibling converters. No explicit when-to-use or when-not-to-use condition is given.

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

calculate_salary_hourly_to_annualCalculate Salary Hourly To AnnualA
Read-onlyIdempotent
Inspect

Convert hourly wage to monthly and annual salary, gross or net. Use for job comparisons. Inputs: hourly rate, hours/week, weeks/year. Returns weekly, monthly, and annual figures. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
hourly_rateYesHourly rate
hours_per_weekNoHours worked per week
weeks_per_yearNoWeeks worked per year

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so safety behavior is covered. The description adds that it returns weekly/monthly/annual figures, but its claim of 'gross or net' support is not backed by any schema parameter, which is slightly misleading about capability.

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 and the following sentences are short and mostly load-bearing (inputs, returns, related bundle pointer). Slightly redundant to restate inputs and returns that the schema and output schema already provide, but no 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?

For a simple three-parameter calculation with an output schema and full annotation coverage, the description is essentially complete: it states the conversion, the inputs, and a related-resource pointer. The unresolved 'gross or net' wording is the only loose end.

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 hourly_rate, hours_per_week and weeks_per_year with defaults. The description restates the same three inputs without adding format or constraint detail, and the 'gross or net' mention maps to no parameter. 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 and resource: 'Convert hourly wage to monthly and annual salary.' An agent can identify the transformation unambiguously. However, it does not name or distinguish itself from near siblings like calculate_hourly_cost or calculate_french_salary, 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?

'Use for job comparisons' gives one implied use case, but there is no explicit when-not guidance or reference to alternative salary tools. In a sibling list this large, the absence of routing guidance leaves selection partly to inference.

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

calculate_sample_sizeCalculate Sample SizeA
Read-onlyIdempotent
Inspect

Compute required sample size for a survey to hit a target margin of error. Use for survey design and A/B testing. Inputs: population, confidence %, margin of error %. Returns minimum sample size. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
confidenceNoConfidence level95
populationNoPopulation size
margin_error_pctYesMargin of error %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered. The description adds only that it returns a minimum sample size and lists the inputs, but does not disclose calculation assumptions such as finite-population correction or handling of defaults. That is useful context, but not rich behavioral detail beyond annotations.

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

Conciseness4/5

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

The definition is short and front-loads the core purpose. The 'Inputs' and 'Returns' sentences are somewhat redundant given the input and output schemas, but the overall structure is efficient and easy to parse.

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 calculator with full schema coverage, complete annotations, and an output schema, the description is nearly sufficient: it states purpose, usage context, inputs, and return value. The only missing context is any note about calculation assumptions or defaults, though those are partly covered by schema defaults.

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 population, confidence, and margin_error_pct. The description lists the same parameters but adds no formatting, default, or interpretation details beyond what the schema provides, 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 states a specific verb and resource: 'Compute required sample size for a survey to hit a target margin of error.' It also identifies the domain (survey design, A/B testing), so an agent can immediately tell what the tool does and when it applies.

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 usage context: 'Use for survey design and A/B testing,' and points to list_bundles for related math calculators. However, it does not name a direct alternative or state any when-not-to-use conditions, so it stops 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.

calculate_savings_goalCalculate Savings GoalB
Read-onlyIdempotent
Inspect

Compute time and monthly contribution needed to reach a savings target. Use for goal-based personal finance. Inputs: target amount, current savings, monthly contribution, annual return %. Returns months to goal. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
annual_rateYesAnnual return rate percent
target_amountYesSavings target EUR
monthly_savingsYesMonthly savings EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 non-destructive, so the safety profile is covered. The description adds that it returns months to goal, but with an output schema present that is not a large contribution, and it discloses nothing about edge cases (e.g. zero/negative rate, unreachable targets).

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?

Roughly three short sentences, front-loaded with the purpose before the input list and the bundle pointer. No filler, though the trailing list_bundles sentence is only marginally useful to an agent already selecting this tool.

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?

Because an output schema exists, the description does not need to explain return values, and the annotations cover safety. However, the mismatch between the advertised inputs (including 'current savings') and the actual required parameters leaves the agent unsure what this calculator actually solves for, which is a meaningful gap for a financial computation tool.

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 100%, so the baseline would be 3, but the description introduces a phantom input: it lists 'current savings' and 'monthly contribution' as inputs, while the schema has only target_amount, monthly_savings and annual_rate — there is no current savings parameter. It also says it computes 'monthly contribution needed' while monthly_savings is a required input, which muddies whether that value is solved for or supplied.

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 concrete verb and resource ('Compute time ... to reach a savings target') and anchors it in goal-based personal finance, which is enough to tell it apart from the many other finance calculators in the sibling list. It stops short of naming a specific alternative calculator, so it is clear but not differentiating.

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?

'Use for goal-based personal finance' gives an implied domain but no when/when-not condition and no real alternative routing. The pointer to list_bundles for 'finance-universal' calculators is a discovery hint rather than a selection rule between this tool and e.g. calculate_retirement_savings_gap or calculate_compound_interest.

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

calculate_scholarship_comparisonCalculate Scholarship ComparisonB
Read-onlyIdempotent
Inspect

Compare net tuition cost across multiple scholarships and aid packages. Use for college choice. Inputs: list of {tuition, aid} pairs. Returns ranked net costs and best option. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
tuitionYesAnnual tuition EUR
scholarship_1NoScholarship 1 amount EUR
scholarship_2NoScholarship 2 amount EUR
scholarship_3NoScholarship 3 amount EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's addition ('Returns ranked net costs and best option') duplicates information available in the output schema and adds little new behavioral context, so a mid score 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?

Four short, front-loaded sentences with no filler; purpose, use case, inputs and outputs are each stated once. The telegraphic fragments cost a little clarity but 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?

Annotations and a full output schema cover safety and return values, and the schema documents every parameter. The definition is still incomplete because its stated input shape conflicts with the real schema, leaving the agent to resolve the contradiction on its own.

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 coverage is 100%, so the baseline would be 3. However, the description states 'Inputs: list of {tuition, aid} pairs', which mischaracterizes the actual flat schema (a required scalar tuition plus three optional scholarship_n numbers). That mismatched input format can actively mislead an agent into supplying an array, so it scores below baseline.

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 ('Compare net tuition cost across multiple scholarships and aid packages') plus a scoping use case ('Use for college choice'). It distinguishes the tool from the surrounding field of generic calculators, though it never contrasts with a directly competing sibling, so a 4 rather than 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 Guidelines4/5

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

'Use for college choice' supplies a clear situational context, and the closing pointer to list_bundles routes agents toward the related education calculators. There are no explicit when-not-to-use conditions or named alternatives within the calculate_* family, so it falls short of 5.

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

calculate_sci_is_vs_irCalculate Sci Is Vs IRA
Read-onlyIdempotent
Inspect

Compare SCI taxation under IS (corporate tax) vs IR (income tax). Use for French real-estate investors choosing tax regime. Inputs: rental income, charges, owner tax bracket. Returns net result under each regime. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
annual_rentYesAnnual gross rental income in EUR
annual_chargesYesAnnual deductible charges in EUR (management fees, interest, maintenance)
property_valueYesProperty value for amortization calculation under IS
marginal_tax_rate_pctYesShareholder marginal income tax rate in percent (e.g. 30, 41, 45)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this a safe, deterministic, non-destructive read (readOnlyHint, idempotentHint, openWorldHint=false), so the safety profile is covered. The description adds that it returns a net result under each regime, but says nothing about the modeling assumptions (e.g. amortization under IS) or limitations an agent might need to set expectations.

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?

Four short sentences, front-loaded with purpose, then audience, then inputs, then the cross-reference. Nothing is redundant filler and each sentence carries information the agent can act on.

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 100% parameter coverage, the description does not need to explain return values, and it correctly avoids doing so. It is essentially complete for a pure calculator, though a note on the French regime assumptions would have made it 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 four parameters are already documented in the schema with units and ranges. The description's recap ('rental income, charges, owner tax bracket') adds no syntax, format, or edge-case meaning beyond that baseline.

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 a precise resource (SCI taxation under IS vs IR) and the domain audience (French real-estate investors). No sibling in the list covers this comparison, so the agent can identify it unambiguously from the name and description alone.

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?

'Use for French real-estate investors choosing tax regime' gives a clear decision context, and the closing pointer to list_bundles routes the agent to related 'immobilier' calculators. It stops short of naming explicit alternatives or when-not-to-use cases among the many calculate_* tax siblings.

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

calculate_seed_quantityCalculate Seed QuantityB
Read-onlyIdempotent
Inspect

Calculate the number of seeds needed based on surface area, spacing and germination rate. See list_bundles for related 'jardinage' calculators.

NameRequiredDescriptionDefault
surface_m2YesSurface area in square meters
row_spacing_cmYesDistance between rows in centimeters
plant_spacing_cmYesDistance between plants in a row in centimeters
germination_rate_pctNoGermination rate in percent (default 85%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and a closed world, so the safety profile is fully covered and the description need not restate it. The description adds only that the computation depends on germination rate; it says nothing about the default value's effect, rounding, or any assumption behind the formula. Adequate but thin given annotations carry most of the burden.

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 front-loaded, no filler or repetition of the tool name. Every clause conveys 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 deterministic calculator with a fully documented input schema, an output schema, and complete annotations, the description covers what an agent needs to select the tool. The remaining gap is sibling disambiguation against the other seed/garden calculators, which is a selection rather than completeness issue.

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 has units and bounds documented in the schema, so the description's restatement of surface area, spacing and germination rate adds no meaning beyond it. Baseline 3 is correct 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 and resource (calculate number of seeds) and names the three inputs that drive the result (surface area, spacing, germination rate), which distinguishes it from near-neighbours like calculate_lawn_seed. It does not, however, explicitly contrast itself with those siblings, 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?

There is no when-to-use / when-not-to-use guidance at all, and no rule for choosing between this tool and calculate_lawn_seed, calculate_garden_soil or the other gardening calculators in the sibling list. The only steering is a generic 'see list_bundles' pointer, which is navigation rather than usage guidance.

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

calculate_senegalese_cssCalculate Senegalese CssB
Read-onlyIdempotent
Inspect

Calculate Senegalese social contributions (CSS/IPRES) for employee and employer. Returns: {gross_monthly_xof, employee, employer, ipres_ceiling_monthly_xof}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
accident_rate_pctNoWork accident insurance rate 1-5% (employer only, default 3%)
gross_monthly_xofYesGross monthly salary in XOF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds that the calculation covers both employee and employer contributions, which is useful context, but discloses nothing about rate assumptions or the employer-only nature of accident_rate_pct beyond what the schema says.

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 sentences, with the core purpose front-loaded and the return fields listed tersely. No filler or redundant restatement 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?

An output schema exists and the parameters are fully documented, so the description need not explain returns (it does anyway). Annotations cover the safety profile. The only real gap is the absence of any when-to-use framing against the many sibling payroll calculators.

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 (gross_monthly_xof, accident_rate_pct) are already documented in the schema with ranges and defaults. The description adds no syntax or format detail beyond that, so 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 a precise resource (Senegalese social contributions, CSS/IPRES) scoped to both employee and employer. This clearly distinguishes it from country/domain siblings like calculate_senegalese_income_tax or calculate_moroccan_cnss, though it never names 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 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, nor any prerequisites (e.g., that gross_monthly_xof is required). The only guidance is a discovery pointer to list_bundles for related calculators, which does not help the agent decide between this and other payroll tools.

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

calculate_senegalese_income_taxCalculate Senegalese Income TaxA
Read-onlyIdempotent
Inspect

Calculate Senegalese income tax (IR) on annual taxable income using the CGI Art. 173 progressive scale in XOF, before the family-charge reduction (Art. 174). Returns: {annual_income_xof, income_tax_xof, income_tax_capped_xof, effective_rate_pct, marginal_rate_pct, brackets}. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
annual_income_xofYesAnnual taxable income in XOF: gross minus the 30 % allowance capped at 900000

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/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 genuinely useful behavioral context beyond that: which scale is applied, in which currency, and that the result is deliberately pre-Art. 174, which tells the agent what the number does and does not include.

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 action, then the return fields, then the cross-reference. Dense but every clause carries information; the enumerated return keys are the only slightly redundant part given an output schema exists.

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 scope exclusions (pre-Art. 174, taxable rather than gross income) and the legal basis make it complete enough to call correctly, and an output schema exists so return values need not have been listed. Listing the return keys is mild duplication, leaving a small amount of headroom rather than a real 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?

Only one parameter and schema description coverage is 100%, so the schema already documents it fully (annual income in XOF, 30% allowance capped at 900000). The description's phrase 'annual taxable income' confirms the input basis but adds no format or edge-case 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.

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 Senegalese income tax / IR) plus the exact legal basis and scale (CGI Art. 173) and the currency (XOF). An agent can distinguish this from calculate_senegalese_vat and calculate_senegalese_css 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 Guidelines4/5

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

Scopes the computation clearly as applying to annual taxable income on the progressive scale, and explicitly excludes the family-charge reduction of Art. 174, which signals when another complementary calculator would be needed. It also routes the agent to list_bundles for related finance calculators, though it does not name an alternative for the Art. 174 step itself.

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

calculate_senegalese_vatCalculate Senegalese VATA
Read-onlyIdempotent
Inspect

Compute Senegalese VAT (TVA) — 18% standard rate. Use for invoicing in Senegal. Inputs: amount, mode (ht/ttc). Returns HT, TTC, tax amount. See list_bundles for related 'finance-afrique-quebec' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=hors taxe, ttc=toutes taxes comprisesht
rateNoTVA rate in % (standard 18%)
amountYesAmount in XOF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is covered. The description adds useful context beyond that: the standard rate, the ht/ttc interpretation, and the computed outputs (HT, TTC, tax amount). It does not, however, mention that the rate is overridable or what happens at non-default rates.

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 purpose and rate are front-loaded, and the 'Inputs / Returns' shorthand is efficient with no filler. The input list is slightly incomplete (no rate), a small imperfection in an otherwise tight definition.

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, idempotent calculator with an output schema and full schema coverage, the description supplies enough to call it correctly. The only gap is the unmentioned overridable rate parameter, which the schema covers anyway.

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 amount in XOF, the ht/ttc enum, and the rate parameter with its default and bounds. The description's 'amount, mode (ht/ttc)' merely restates the schema and omits the rate parameter entirely, adding no meaning beyond structured fields.

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 Senegalese VAT (TVA)') and pins the jurisdiction and default rate (18% standard). It is clearly distinguishable from generic or other-country VAT calculators because of the explicit national scope, though it never names a sibling such as calculate_french_vat or calculate_vat_generic to reinforce the boundary.

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?

'Use for invoicing in Senegal' gives a concrete usage context, which is more than most sibling calculators offer. It stops short of stating when not to use it or which alternative applies for other countries, so the exclusion logic 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.

calculate_sequenceCalculate SequenceA
Read-onlyIdempotent
Inspect

Calculate nth term and sum of arithmetic or geometric sequence. Returns: {common_difference, nth_term, sum_of_n}. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
nYesNumber of terms
typeYesSequence type
commonYesCommon difference (arithmetic) or ratio (geometric)
first_termYesFirst term (a1)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so safety is covered. The description's only added behavior claim is the return shape {common_difference, nth_term, sum_of_n}, which duplicates the output schema and adds little beyond structured 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?

Two short sentences with the core computation front-loaded and no filler. The trailing list_bundles pointer is mildly tangential to invocation but is a legitimate navigation aid, keeping 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 and full parameter coverage, the description need not explain return values or inputs. It covers the core purpose adequately; only explicit routing guidance among the many math siblings 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% and each of the four parameters is documented in-schema (including the arithmetic/geometric enum). The description adds no syntax or format detail 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.

Purpose5/5

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

States a specific verb and resource: computing the nth term and sum of an arithmetic or geometric sequence. That scope is unambiguous and clearly separable from the hundreds of other calculate_* siblings, which cover unrelated domains.

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 stated computation, and the description points to list_bundles for related 'math' calculators, which is a discovery hint rather than tool-selection guidance. It never says when to prefer this over calculate_equation or calculate_factorial_permutation, nor any prerequisites.

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

calculate_severance_payCalculate Severance PayA
Read-onlyIdempotent
Inspect

Calculate French severance pay for rupture conventionnelle or licenciement. Returns: {monthly_salary, years_first_10, years_above_10, gross_indemnite, note}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
monthly_salaryYesReference gross monthly salary in euros
years_seniorityYesYears of seniority in the company

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 without the description's help. The description adds the legal context (French termination types) and a note field in the return, but since an output schema exists, the return-field listing largely duplicates structured 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?

Two tight, front-loaded sentences that lead with the core purpose. The inline return-field enumeration is mildly redundant given the output schema, keeping it just short of a 5.

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, complete annotations, and 100%-covered parameters, the description only needs to establish purpose and scope, which it does, plus a discovery pointer to list_bundles. Nothing an agent needs to call the tool 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% (both monthly_salary and years_seniority are documented with units and meaning), so the baseline is 3. The description adds no syntax, format, or edge-case detail beyond what the schema already 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 (calculate), resource (French severance pay), and scope (rupture conventionnelle or licenciement), which cleanly separates it from the many other French finance siblings like calculate_french_salary or calculate_overtime_fr. An agent can identify the tool's domain 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 two named termination contexts (rupture conventionnelle, licenciement) imply when the tool applies, and it points to list_bundles for related 'finance-france' calculators. However, it offers no explicit when-not guidance or comparison against the many sibling calculators that also touch French payroll (e.g. calculate_french_salary), leaving routing partly to inference.

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

calculate_shipping_volumetricCalculate Shipping VolumetricA
Read-onlyIdempotent
Inspect

Compute volumetric (dimensional) weight for shipping. Carriers bill the higher of actual and dim weight. Inputs: L×W×H cm, divisor (5000 air, 6000 ground). Returns dim weight kg. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
width_cmYesWidth cm
actual_kgYesActual weight kg
height_cmYesHeight cm
length_cmYesLength cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare a safe, idempotent, read-only calculation, so the bar is low; the description still adds real value with the divisor conventions (5000 air / 6000 ground) and the billing rule that makes the result actionable. It does not disclose whether the returned value is pure dim weight or the billable max, and it names a 'divisor' input that no annotation or schema confirms.

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 tight sentences, front-loaded with the core purpose and formula constants; almost every clause earns its place. The final list_bundles sentence is the one piece of 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?

For a read-only calculator with an output schema, the description covers purpose, units, and divisor conventions adequately. The remaining gap is that actual_kg appears in neither the input list nor as an explanation of how it influences 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 coverage is 100%, so the baseline is 3. The description adds unit meaning (cm, kg) and divisor conventions, but it omits the required actual_kg parameter from its own input list and describes a 'divisor' input that does not exist in the schema — a mixed signal rather than a net additive explanation.

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 ('Compute volumetric (dimensional) weight for shipping') and immediately distinguishes itself from the many volume/shipping siblings by naming the shipping-billing concept. An agent can tell this apart from calculate_volume or calculate_international_shipping without opening a schema.

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

Usage Guidelines4/5

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

'Carriers bill the higher of actual and dim weight' gives real context for why/when to run it. The trailing 'See list_bundles for related finance-universal calculators' is an odd, weakly relevant routing hint and there is no explicit when-not guidance, 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.

calculate_shoe_sizeCalculate Shoe SizeC
Read-onlyIdempotent
Inspect

Convert shoe size between EU, US, UK, and Japanese systems. Use for international shopping. Inputs: size, from-system, to-system, gender. Returns equivalent. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
sizeYesShoe size
from_systemYesFrom system

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare this is a read-only, idempotent, non-destructive, closed-world operation, so the description adds little on that front. It provides no additional behavioral context such as handling of unsupported systems or how missing target-system conversions are handled, despite implying inputs that the schema does not contain.

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 description is short and front-loads the main conversion purpose, but it wastes space on a questionable 'See list_bundles' pointer and on input names that are not actually in the schema. The structure is acceptable but the content is imprecise.

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 two required parameters, full schema coverage, and an output schema, the description should at least accurately reflect the inputs. Instead it references a nonexistent to-system and gender and omits the enum constraints, leaving an agent unsure how the target system is actually specified.

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 coverage is 100%, so the schema already documents size and from_system. However, the description lists 'to-system' and 'gender' as inputs even though neither exists in the schema, and it omits the schema's actual enum values, making the parameter guidance actively misleading rather than additive.

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

Purpose3/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 (convert shoe size) and lists systems, but it claims to support Japanese systems even though the schema's from_system enum only offers EU, US_M, US_W, and UK. The name also overlaps heavily with sibling tools calculate_shoe_size_convert and convert_shoe_size, and the description does nothing to distinguish this tool from them.

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 only guidance is the vague phrase 'Use for international shopping,' which does not say when to choose this tool over the near-identical calculate_shoe_size_convert or convert_shoe_size siblings. No exclusions, prerequisites, or alternative routing are given.

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

calculate_shoe_size_convertCalculate Shoe Size ConvertA
Read-onlyIdempotent
Inspect

Convert shoe size between EU, US (M/W) and UK systems. Returns: {converted_size, eu_size, original_size}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
sizeYesShoe size in source system
to_systemYesTarget sizing system
from_systemYesSource sizing system

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is covered structurally. The description adds the return shape, which is useful, but no extra behavioral context (rounding, US M vs W handling, valid ranges) beyond annotation coverage.

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, zero filler, with the core action front-loaded and the return shape plus a cross-reference trailing. 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?

With a 100%-covered 3-param schema, an output schema and full safety annotations, the description only needs to frame the operation, which it does. Restating the return object is mildly redundant given the output schema, but 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.

Parameters3/5

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

Schema description coverage is 100% with enums for both system parameters, so the schema already carries the parameter semantics; baseline 3 applies. The description's 'US (M/W)' gloss lightly reinforces the US_M/US_W enum split but adds no syntax or range 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 (Convert) plus resource (shoe size) and enumerates the supported systems (EU, US M/W, UK), so an agent can tell it is a shoe-size converter. It does not, however, distinguish itself from the close siblings convert_shoe_size and calculate_shoe_size, whose purposes overlap heavily.

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 line 'See list_bundles for related "conversions" calculators' gives implied discovery context, but there is no explicit when-to-use or when-not-to-use guidance, and no routing against convert_shoe_size or calculate_shoe_size. Usage is only implied by the named scope.

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

calculate_simple_interestCalculate Simple InterestA
Read-onlyIdempotent
Inspect

Compute simple interest I=P·r·t. Use for short-term loans, basic savings accounts, and homework. Returns interest amount and final balance. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
yearsYesDuration in years
principalYesInitial amount
annual_rateYesAnnual interest rate in %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 full safety profile is covered by structured data. The description adds only that it returns interest amount and final balance, which is largely redundant given the output schema exists; no assumptions, rounding behavior, or currency context are 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?

Four short sentences, front-loaded with the operation and formula before the use cases. Slightly padded by the formula restating the tool's own name and the trailing bundle cross-reference, but there is no fluff.

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?

Wait – scoring on evidence: annotations cover safety, the schema fully covers inputs, and an output schema exists so return values need no elaboration. What remains (use contexts, a pointer to the finance-universal bundle) is present, making the definition sufficient for an agent to invoke it correctly, though it lacks 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 all three parameters are documented in the schema (principal, annual_rate in %, years), so the baseline is 3. The formula I=P·r·t loosely maps the parameters onto the computation, but it adds little beyond what the schema already states.

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?

Names a specific verb ('Compute') and resource ('simple interest') and even gives the formula I=P·r·t, so the operation is unambiguous. However, with calculate_compound_interest and calculate_compound_interest_monthly among its siblings, the description never states how it differs from those near-identical finance calculators, so the sibling-differentiation bar for a 5 is not met.

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?

It gives positive usage contexts (short-term loans, basic savings accounts, homework), which is more than most siblings offer. But it never says when NOT to use it or names the obvious alternative (compound interest for anything with reinvested earnings), leaving the key selection decision to inference.

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

calculate_sleep_cyclesCalculate Sleep CyclesB
Read-onlyIdempotent
Inspect

Estimate optimal bedtime or wake time based on 90-min sleep cycles. Use for sleep optimization. Inputs: target wake or bedtime. Returns 4-6 cycle recommendations. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
bedtimeYesBedtime HH:MM
wake_timeYesWake time HH:MM

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 behavior is covered. The description adds useful behavioral context by saying it returns 4-6 cycle recommendations based on 90-minute sleep cycles.

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 description is short and front-loaded with the core purpose. 'Use for sleep optimization' is filler and the list_bundles reference is tangential, but overall it remains efficient.

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 has full schema coverage, annotations, and an output schema, so much context is already structured. The description covers purpose and return summary, but it leaves the required-parameter ambiguity unresolved and provides no comparative usage guidance, which is a meaningful gap for this large calculator suite.

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 coverage is 100%, so the schema already documents both parameters and their HH:MM format. However, the description says 'Inputs: target wake or bedtime,' which implies a single target input, while the schema requires both bedtime and wake_time; this ambiguity reduces clarity rather than adding meaning.

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: 'Estimate optimal bedtime or wake time based on 90-min sleep cycles.' It is clear what the tool computes, but it does not name or distinguish itself from any sleep-related sibling such as calculate_jet_lag_recovery.

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?

Usage guidance is limited to the vague phrase 'Use for sleep optimization,' with no when-to-use vs. alternatives, no exclusions, and no prerequisites. The note to see list_bundles is a cross-reference, not practical invocation guidance.

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

calculate_slopeCalculate SlopeA
Read-onlyIdempotent
Inspect

Compute slope as percentage, angle in degrees, and ratio. Use for ramps, roofs, or terrain analysis. Inputs: rise, run. Returns slope% and angle°. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
run_mYesHorizontal run m
rise_mYesVertical rise m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is fully covered. The description adds the inputs and return values, but since an output schema exists that information is largely redundant rather than new behavioral insight.

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 short sentences, front-loaded with the computation and its outputs before the usage hint. The trailing pointer to list_bundles is mildly promotional but short enough not to bloat the definition.

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 calculator with full annotations and an output schema, the description covers purpose, inputs, and returns adequately. It stops short of clarifying behavior at the run_m boundary or how it differs from the other slope-related 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% (rise_m and run_m are both documented with units), so the baseline is 3. The description's "Inputs: rise, run" restates the schema without adding units, ranges, or edge-case handling such as the run_m minimum of 0.01.

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 (slope) and enumerates the three output forms (percentage, degrees, ratio), which is clear. It does not differentiate itself from near-siblings such as calculate_drain_slope or calculate_staircase, so an agent must still guess which slope-family 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 Guidelines3/5

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

"Use for ramps, roofs, or terrain analysis" gives implied usage contexts, which is better than nothing. However, there is no when-not guidance and no named alternative for overlapping cases like drain slope, so the agent gets context but not routing logic.

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

calculate_smoking_savingsCalculate Smoking SavingsA
Read-onlyIdempotent
Inspect

Compute money and health time saved by quitting smoking. Use for motivation and budgeting. Inputs: cigarettes/day, pack price. Returns daily/monthly/yearly savings and life-time recovered. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
pack_priceYesPrice per pack
cigarettes_per_dayYesCigarettes smoked per day
cigarettes_per_packNoCigarettes per pack

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so the safety profile is fully covered without the description. The description adds a useful input/output summary and notes a 'life-time recovered' computation, but never discloses the underlying model or assumptions behind that health estimate.

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 short sentences, front-loaded with the core computation before inputs, outputs, and the cross-reference. Little waste, though the list_bundles pointer is marginally outside the tool's own scope.

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 full annotations and an output schema, the definition covers purpose, usage context, inputs, and return shape, so an agent can call it correctly. Only the health-savings model assumptions are 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% and an output schema exists, so the baseline is 3. The description names two of the three parameters ('cigarettes/day, pack price') and omits cigarettes_per_pack (default 20), adding no format or unit detail beyond 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: computing money and health-time saved by quitting smoking, with the key inputs and outputs named. Within a sibling set of ~350 calculators, 'smoking savings' (money + recovered life time) is unambiguous and cannot be confused with any sibling such as calculate_bac_points or calculate_led_savings.

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?

'Use for motivation and budgeting' supplies a context but no conditions, exclusions, or alternatives. The 'See list_bundles for related sante calculators' line is a discovery hint rather than routing guidance for this tool.

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

calculate_soil_ph_amendmentCalculate Soil PH AmendmentA
Read-onlyIdempotent
Inspect

Compute lime or sulfur amount to shift soil pH to a target. Use for gardening. Inputs: current pH, target pH, area m². Returns amendment type and kg/m². See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
area_m2YesGarden area m²
target_phYesTarget pH
current_phYesCurrent soil pH

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety/purity profile is covered. The description adds that it returns amendment type and kg/m², which is real behavioral context, but says nothing about the formula, edge cases when pH already equals target, or 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?

Front-loaded with the computation, then usage context, inputs, and return value in a compact block. The trailing 'See list_bundles...' sentence is loosely relevant and slightly off-topic for this specific calculator, but overall it is efficient.

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?

A pure, read-only calculation with an output schema, so return-value detail is not the description's burden. It covers purpose, inputs, and output shape adequately; only the routing distinction from similar pH/soil calculators is under-developed.

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 current_ph, target_ph, and area_m2 (including min/max bounds). The description merely restates the three inputs and adds no format, unit, or range nuance beyond the schema, so 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+resource: 'Compute lime or sulfur amount to shift soil pH to a target.' An agent can tell what it produces. However, it never differentiates from near siblings like calculate_ph, calculate_garden_soil, or calculate_raised_bed_soil, instead pointing to list_bundles for related calculators.

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?

'Use for gardening' implies the domain but gives no explicit when/when-not guidance and no named alternative among the ~300 calculate_* siblings. The pointer to list_bundles is a discovery aid, not a usage rule for choosing this tool over others.

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

calculate_solar_panel_outputCalculate Solar Panel OutputC
Read-onlyIdempotent
Inspect

Estimate solar panel daily and yearly energy output by location and system size. Use for solar installation sizing. Inputs: kW capacity, latitude, panel orientation, shading %. Returns kWh/day and kWh/year. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
area_m2NoPanel surface area in m2 (optional, informational)
panel_watt_peakYesTotal peak power of the installation in Watts (Wp)
hours_sun_per_dayNoAverage peak sun hours per day (default 4)
efficiency_loss_pctNoSystem efficiency loss percentage (default 15%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description instead makes behavioral claims about its inputs ('latitude, panel orientation, shading %') that are factually wrong for this tool, which is more harmful than silence – it misleads the agent about what the tool actually computes.

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 text is short and front-loads the purpose and use case, which is good structure. However, one of its four sentences is an inaccurate input inventory, so not every sentence earns its place.

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?

An output schema exists, so return values need not be explained, but the description still leaves critical gaps: no mention of how location/orientation are handled despite claiming 'by location', no relationship to calculate_solar_roi, and a parameter list that does not match the actual schema.

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 100%, which normally sets a baseline of 3, but the description's input list contradicts the schema: latitude, panel orientation and shading % do not exist, while the real parameters (panel_watt_peak, hours_sun_per_day, efficiency_loss_pct, area_m2) are never named. The description therefore subtracts value rather than adding it.

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+resource ('Estimate solar panel daily and yearly energy output') and even gives the use case (solar installation sizing), so an agent can identify the tool. It does not, however, distinguish itself from the sibling calculate_solar_roi, which is the most likely confusion in this catalog.

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?

'Use for solar installation sizing' gives an implied context and the pointer to list_bundles for related 'energie' calculators is a useful routing hint. There is no explicit when-not-to-use or comparison against calculate_solar_roi, so the agent must infer the boundary between output estimation and ROI.

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

calculate_solar_roiCalculate Solar ROIB
Read-onlyIdempotent
Inspect

Compute solar panel return on investment over their lifetime. Use for energy audit. Inputs: install cost, kW capacity, location production, kWh price. Returns ROI years and lifetime savings. See list_bundles for related 'energie' calculators.

NameRequiredDescriptionDefault
price_kwhNoElectricity price EUR/kWh
annual_kwhYesAnnual production kWh
system_costYesTotal system cost EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/idempotent/non-destructive, so the safety profile is covered. The description adds nothing behavioral beyond that ('Returns ROI years and lifetime savings' merely restates what the output schema already provides), and it discloses no assumptions such as discount rate or lifetime horizon.

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, then inputs, outputs and a cross-reference in four tight sentences. The input enumeration is wasted space because the schema covers it and does so inaccurately.

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 an output schema and full annotation coverage, the description needn't explain returns or safety, and it correctly routes to list_bundles. But the inaccurate input list and the absence of any lifetime/discount assumptions leave the agent with a slightly wrong model of what to supply.

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 coverage is 100%, so the baseline is 3, but the description's input list is misleading: it names 'kW capacity' and 'location production', which are not parameters at all, while the actual inputs are system_cost, annual_kwh and price_kwh. The mismatch adds confusion rather than 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?

Specific verb+resource: 'Compute solar panel return on investment over their lifetime', with scope (lifetime) stated. It does not differentiate from close siblings like calculate_roi or calculate_solar_panel_output, but the purpose itself is unambiguous.

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?

'Use for energy audit' gives an implied context, and it points to list_bundles for related 'energie' calculators. However, it never says when to prefer this over calculate_roi or calculate_solar_panel_output, so routing remains guesswork.

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

calculate_solution_dilutionCalculate Solution DilutionA
Read-onlyIdempotent
Inspect

Compute lab solution dilution C1·V1=C2·V2. Use for stock-to-working solution prep. Inputs: stock concentration, target concentration, target volume. Returns stock volume and diluent volume. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
c1YesInitial concentration mol/L
c2YesTarget concentration mol/L
v1_mlYesInitial volume mL

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered by structured data. The description adds the computed outputs (stock volume and diluent volume), but an output schema also exists, so it contributes only modest extra 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.

Conciseness4/5

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

Four short sentences, front-loaded with the core formula, with no filler. The 'See list_bundles' pointer is a reasonable trailing sentence. Slightly more than strictly needed but well 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?

With 3 fully documented required params, an output schema, and rich annotations, the description's only obligation is to state purpose, use, and relationship to relatives. It covers purpose, use, outputs, and a related-tools pointer; the input labeling inconsistency is the only meaningful 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%, so the baseline is 3. The description's input list ('stock concentration, target concentration, target volume') is slightly loose — v1_ml is defined in the schema as *initial* volume, and no target-volume parameter exists — so it adds little meaning and arguably muddles the mapping.

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+resource (compute lab solution dilution) and even supplies the formula C1·V1=C2·V2, which is far more concrete than a tautology. However, it does not distinguish itself from the very similar sibling calculate_dilution, which an agent would have no way to choose between from this text.

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?

'Use for stock-to-working solution prep' gives a clear usage context, but there are no exclusions and no routing to the near-identical sibling calculate_dilution. For a tool in a family of hundreds of calculators with overlapping names, the missing differentiation leaves real ambiguity.

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

calculate_speed_distance_timeCalculate Speed Distance TimeA
Read-onlyIdempotent
Inspect

Solve speed/distance/time — provide any 2 of 3 values to compute the missing one. Returns: {error}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
speedNoSpeed in km/h
distanceNoDistance in kilometers
time_minutesNoTime in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 '2 of 3 inputs' constraint, but the trailing 'Returns: {error}' is confusing/partial when a full output schema exists and provides no real behavioral insight.

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, front-loaded with the core operation and the input rule. No 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 annotations covering safety and an output schema covering return values, the description needn't explain results. It covers the key input constraint adequately; the only weak spot is the odd 'Returns: {error}' fragment, which is not harmful but adds little.

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% with units documented (km/h, kilometers, minutes), so the schema carries most of the burden. The description adds genuine meaning the schema lacks: the schema marks 0 parameters required, so stating that exactly 2 of 3 must be supplied is a real constraint beyond structured data.

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+resource ('Solve speed/distance/time') and the exact input condition ('provide any 2 of 3 values'). It is distinguishable from convert_speed, though it doesn't explicitly name sibling calculators beyond pointing to list_bundles.

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?

Gives implicit usage guidance via the '2 of 3 values' input rule and a cross-reference to list_bundles for related sport calculators, but never states when to prefer this tool over convert_speed or other physics/motion siblings, nor any exclusions.

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

calculate_speed_of_soundCalculate Speed Of SoundA
Read-onlyIdempotent
Inspect

Compute speed of sound in air at a given temperature. Use for physics or audio engineering. Formula: c=331.3+0.606·T_C. Inputs: temperature °C. Returns speed in m/s. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
temperature_cYesCelsius

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 safety is covered. The description adds genuine behavioral value by disclosing the exact deterministic model (c=331.3+0.606·T_C) and the return unit (m/s), letting the agent predict output without inspecting the 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?

Four short sentences, purpose front-loaded, followed by domain, formula, I/O, and a cross-reference. Every sentence carries information and nothing is 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?

With an output schema present, return-value detail is not required, and the description covers purpose, input, formula, and domain. It omits any note on the formula's valid temperature range (schema allows -273 °C, where the linear air model degrades), a minor but real 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 the sole parameter is already documented as 'Celsius'. The description restates 'temperature °C' and ties it to T_C in the formula, but adds no format, range, or edge-case semantics 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 verb and resource ('Compute speed of sound in air at a given temperature'), scoping the medium (air) and the driving variable (temperature). It also gives the exact formula, so an agent knows precisely what computation this performs versus the many other physics 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 phrase 'Use for physics or audio engineering' gives a topical domain but no when-to-use-vs-alternative guidance and no exclusions (e.g., vs calculate_wavelength_frequency or calculate_wave_properties). The 'See list_bundles' pointer is a discovery aid rather than routing logic, leaving usage only implied.

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

calculate_sphereCalculate SphereA
Read-onlyIdempotent
Inspect

Compute sphere volume V=(4/3)πr³ and surface area A=4πr². Use for ball, tank, or astronomy problems. Inputs: radius. Returns volume and area. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
radiusYesRadius

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered and the description adds the deterministic formula. However, it omits unit expectations and says nothing about behavior at the boundary (radius = 0, permitted by the schema's minimum), which matters for a numeric calculator.

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 short sentences, front-loaded with the formulas so a reader can validate the math immediately. The trailing list_bundles cross-reference is useful but slightly displaces more relevant information such as units.

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?

A single-parameter, formula-defined tool with full annotations and an output schema, so return values need no explanation and the description is nearly sufficient. The one missing element an agent would want is the unit system for radius and the resulting volume/area.

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?

With one parameter at 100% schema description coverage, the schema already documents radius. The description's "Inputs: radius" is a restatement, and the surrounding formulas imply the radius's role but never state units or precision, so it adds no semantics beyond 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 specific verb and resource plus the exact formulas (V=(4/3)πr³, A=4πr²), which unambiguously separates it from sibling solids (calculate_cone, calculate_cylinder, calculate_pyramid) and from the generic calculate_volume. An agent can identify the operation 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 concrete usage contexts ("ball, tank, or astronomy problems") and points to list_bundles for related math calculators, so the agent knows when the tool applies. It does not explicitly exclude the near neighbours (calculate_volume, calculate_cone, calculate_cylinder), so the choice among solids is still 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.

calculate_spring_constantCalculate Spring ConstantA
Read-onlyIdempotent
Inspect

Compute spring constant k from Hooke's law F=k·x. Use for physics or mechanical design. Inputs: force N, displacement m. Returns spring constant N/m. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
force_nYesApplied force N
displacement_mYesDisplacement m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already confirm this is a safe, read-only, idempotent calculation. The description adds value beyond annotations by disclosing the exact formula (F=k·x), input units (N, m), and output unit (N/m), which helps the agent verify correctness.

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?

Five short sentences, front-loaded with the key action and formula, with zero filler. The final pointer to list_bundles is useful context rather than noise.

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?

The tool is simple, the output schema exists (so return values needn't be explained), and annotations cover safety. The description still includes units, formula, and a related-resource pointer, leaving no meaningful gap for an agent 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 parameters are already fully documented. The description reinforces units but adds no semantic detail beyond what the schema provides. Baseline 3 is appropriate.

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

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 (spring constant k) with the underlying formula, making it clear it solves for k rather than force. It does not explicitly differentiate from the sibling calculate_force, but the target variable is unambiguous.

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?

Provides a broad context ('Use for physics or mechanical design') but no explicit when-to-use vs when-not-to-use or alternative tools. Implied usage only, with no exclusions or routing to calculate_force for the inverse problem.

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

calculate_staircaseCalculate StaircaseB
Read-onlyIdempotent
Inspect

Calculate staircase dimensions using Blondel formula. Returns: {step_height_cm, giron_cm, blondel, blondel_ok}. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
total_height_cmYesTotal height cm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is fully covered. The description's only added behavior is the return shape, which duplicates the output schema, and it says nothing about validation limits (e.g. the 10cm minimum) or edge-case 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?

Two short sentences, zero filler, with the core purpose and method front-loaded before the cross-reference. Nothing is wasted.

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 deterministic calculator with an output schema and full annotation coverage, the description is essentially sufficient. Listing the return fields is mild redundancy against the output schema, and the tool's fit relative to calculate_concrete_stairs remains 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% for the single parameter (total_height_cm with a documented minimum of 10), so the schema does the work. The description adds no units, format, or range detail beyond it, making the 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?

States a specific verb (calculate) and resource (staircase dimensions) and names the method (Blondel formula), which meaningfully distinguishes it from generic siblings like calculate_concrete_stairs. It stops short of explicitly contrasting with that near-neighbor, so an agent still has to infer which staircase 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?

The only routing hint is 'See list_bundles for related construction calculators,' which points at discovery rather than telling the agent when this tool is the right choice. There is no when-not guidance or comparison against calculate_concrete_stairs.

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

calculate_staking_rewardsCalculate Staking RewardsB
Read-onlyIdempotent
Inspect

Calculate staking rewards with optional compounding for a given APY and duration. Returns: {initial_amount}. See list_bundles for related 'crypto' calculators.

NameRequiredDescriptionDefault
amountYesInitial staking amount in coins or fiat
apy_pctYesAnnual Percentage Yield in percent
compoundingYesCompounding frequency
duration_daysYesStaking duration in days

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false, and closed-world, so the safety profile is fully covered by structured data. The description adds no behavioral context beyond those hints — no notes on edge cases such as apy_pct=0, compounding='none', or how duration interacts with the frequency — so it clears the lower annotated bar without adding much.

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 the operation and its inputs. The trailing 'Returns: {initial_amount}' reads as an unfilled template placeholder and is wasted space for a pure-function calculator, but the rest is efficient.

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 explained, and the annotations cover the safety profile — the description is therefore not required to carry much. However, the 'Returns: {initial_amount}' placeholder is uninformative and no guidance distinguishes this from the many overlapping crypto/interest calculators, leaving a real selection 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%, so amount, apy_pct, duration_days, and the compounding enum are all already documented in the schema, putting this at the baseline. The phrase 'optional compounding' is slightly misleading because compounding is a required field in the schema (though its enum includes 'none'), which is a minor tension rather than added clarity.

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 staking rewards') plus the determining inputs (APY, duration, compounding), so the agent knows what computation is performed. It does not differentiate from near-neighbours such as calculate_compound_interest, calculate_impermanent_loss, or calculate_mining_profitability, 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 only routing guidance is 'See list_bundles for related crypto calculators', which points at a discovery tool rather than saying when to pick this over a sibling like calculate_compound_interest. Usage context is implied (staking-specific math) but no when/when-not conditions are given.

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

calculate_stamp_duty_ukCalculate Stamp Duty UKB
Read-onlyIdempotent
Inspect

Compute UK Stamp Duty Land Tax (SDLT). Use for UK home buyers. Inputs: property price, first-time-buyer flag, second-home flag. Returns SDLT due and effective rate. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
priceYesProperty purchase price in GBP
first_time_buyerNoWhether buyer is a first-time buyer (default false)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 a closed world, so the safety profile is covered and the description adds little there. It does state the shape of the result (SDLT due plus effective rate) and cross-links to list_bundles, but omits behaviourally important detail for a tax tool, such as which tax-year/rate bands apply.

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 verb and resource, then inputs, then output, then a cross-reference — a sensible order with no filler sentences. "Use for UK home buyers" is slightly redundant with the tool name but still earns its place as scope.

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 the description need not explain return values, and annotations cover the safety profile. Still, the phantom second-home parameter creates a gap between what the description promises and what the tool accepts, and the absence of any tax-year/rate context is a real omission for an SDLT calculator.

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?

The schema already documents both real parameters at 100% coverage, so the baseline would be 3. However, the description claims a "second-home flag" input that does not exist in the schema (which only accepts price and first_time_buyer, with additionalProperties=false), actively misleading an agent about the interface.

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 UK Stamp Duty Land Tax) and scopes it to UK home buyers, which distinguishes it from the many generic finance/percentage calculators. It does not, however, distinguish itself from the closer sibling calculate_property_transfer_tax, which an agent might reasonably 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 Guidelines3/5

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

"Use for UK home buyers" gives a domain hint, and the pointer to list_bundles/`finance-uk` suggests where related tools live. There is no when-not guidance and no explicit alternative named (e.g., when to use this vs. calculate_property_transfer_tax or calculate_uk_council_tax), so routing is only implied.

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

calculate_star_magnitude_distanceCalculate Star Magnitude DistanceA
Read-onlyIdempotent
Inspect

Calculate star distance from apparent and absolute magnitude. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
absolute_magnitudeYesAbsolute magnitude (M)
apparent_magnitudeYesApparent magnitude (m)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered and the bar is lower. The description adds no behavioral detail beyond the safety data (e.g., deterministic pure formula, no external lookups), so it clears the lowered bar but adds little.

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, no filler, with the core function stated first and the cross-reference second. Nothing needs trimming.

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 plus structured fields are sufficient to call the tool correctly. The only minor omission is the underlying distance formula / result units, which would help a user interpret the output.

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 both parameters ('Apparent magnitude (m)', 'Absolute magnitude (M)') documented in the schema. The description restates the same two inputs without adding format, range, or unit nuance 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.

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 star distance') and names the exact inputs ('from apparent and absolute magnitude'), which distinguishes it from near-siblings like calculate_light_year_distance and calculate_telescope_magnification.

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 pointer to list_bundles for related 'astronomie-nature' calculators gives some routing context, but there is no explicit when-to-use or when-not-to-use guidance, and no differentiation from the other star/distance calculators in the sibling list.

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

calculate_statisticsCalculate StatisticsB
Read-onlyIdempotent
Inspect

Calculate descriptive statistics: mean, median, mode, std dev, quartiles. Returns: {count, std_deviation, min, max, range, iqr}. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
valuesYesArray of numbers

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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. The description adds the output field list (count, std_deviation, min, max, range, iqr), which is mild behavioral context, but says nothing about edge cases such as single-value input, 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.

Conciseness4/5

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

Three compact clauses, front-loaded with the purpose before output and cross-reference. Every sentence is short and purposeful, though listing computed statistics and then a non-overlapping set of return fields creates a small redundancy/ambiguity.

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 pure function with full annotation coverage, a 100%-documented single parameter, and an output schema, the description is adequate. The one real gap is the mismatch between the statistics claimed as computed (mean, median, mode, quartiles) and the return fields listed, which could mislead an agent about the result shape.

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 100% for the single 'values' parameter, so the schema already carries the meaning. The description adds no constraints (numeric type, minItems=1, ordering) and even omits mention of the input array entirely, leaving the parameter entirely to 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 (descriptive statistics) and enumerates the computed measures (mean, median, mode, std dev, quartiles), which is far more specific than most siblings. It does not explicitly contrast itself with any sibling, and the enumerated measures don't match the listed return fields, slightly muddying what the tool actually produces.

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 tool is named for descriptive statistics. The pointer to list_bundles for 'education' calculators is a discovery hint rather than selection guidance, so usage is only implied.

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

calculate_string_tensionCalculate String TensionA
Read-onlyIdempotent
Inspect

Calculate guitar or bass string tension in pounds, kilograms and Newtons. See list_bundles for related 'musique' calculators.

NameRequiredDescriptionDefault
frequency_hzYesTarget tuning frequency in Hz (e.g. 329.63 for E4)
gauge_inchesYesString gauge in inches (e.g. 0.010 for a light gauge high E)
scale_length_inchesYesInstrument scale length in inches (e.g. 25.5 for Fender Stratocaster)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/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's only added behavior is that results come back in pounds, kilograms and Newtons, which is modest extra context for a pure computation.

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 with zero filler. The purpose and output units are front-loaded in sentence one, and the optional cross-reference is deferred to sentence two.

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 while the schema fully documents all three parameters. The only remaining gap is the absence of any stated precondition (e.g. gauge/scale-length validity), which is minor for a deterministic physics calculation.

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 required parameters has a type, range constraint, and an example (329.63 Hz for E4, 0.010 for a light high E, 25.5 for a Stratocaster). The description adds nothing 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 (guitar or bass string tension) and names the output units, which is exactly what an agent needs to distinguish it from the ~250 other calculate_* siblings. It is unambiguous and self-contained.

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, self-evident domain (string tension for guitar/bass), but the description gives no explicit when-to-use condition and no exclusion. The only routing hint is a pointer to list_bundles for related 'musique' calculators, which is a cross-reference rather than guidance on when this tool applies.

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

calculate_student_loan_repaymentCalculate Student Loan RepaymentC
Read-onlyIdempotent
Inspect

Compute student loan repayment schedule and total interest. Use for graduates planning repayment. Inputs: loan amount, interest rate %, term years. Returns monthly payment, total paid, total interest. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
annual_rateYesAnnual interest rate percent
loan_amountYesLoan amount EUR
monthly_paymentYesMonthly payment EUR

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare this a safe, idempotent, non-destructive read, so the safety burden is covered. The description's added behavioral claim is inaccurate: it says the tool 'Returns monthly payment' when monthly_payment is in fact a required input, which will actively mislead an agent about the tool's 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?

Four short sentences, purpose front-loaded, no filler. It spends a sentence on return values that an existing output schema already provides, which is mild redundancy rather than bloat.

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 read-only calculator with a full output schema, the description should be complete and consistent with the schema. Instead it inventories the wrong inputs and misidentifies a required input as a return value, so an agent cannot rely on it to construct a valid call.

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 coverage is 100%, so the schema documents all three parameters correctly. The description contradicts it by listing inputs as 'loan amount, interest rate %, term years' — term years does not exist and monthly_payment EUR is never mentioned. This is worse than adding 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 and resource ('Compute student loan repayment schedule and total interest') and adds a use-case anchor ('graduates planning repayment'). However, it never distinguishes itself from the near-identical siblings calculate_uk_student_loan and calculate_us_student_loan, leaving the agent to guess which one applies.

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?

'Use for graduates planning repayment' implies a scenario but gives no explicit when/when-not or alternative-selection rule. The pointer to list_bundles routes to a catalog tool rather than naming the competing student-loan calculators, so the routing value is weak.

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

calculate_study_scheduleCalculate Study ScheduleB
Read-onlyIdempotent
Inspect

Generate a study schedule based on exam date and topics. Returns: {total_hours_needed, daily_hours_needed, feasible}. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
exam_dateYesExam date YYYY-MM-DD
topics_countYesNumber of topics to study
hours_per_topicYesHours needed per topic

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 a closed-world scope, so the safety and side-effect profile is fully covered. The description adds no behavioral detail beyond that (no explanation of how 'feasible' is decided, no edge-case behavior), and its return-value listing is redundant with the output schema. Adequate but not additive.

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, front-loaded sentences with no padding. Minor waste in enumerating return fields that the output schema already provides, but the structure is clean and the core purpose leads.

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 read-only, idempotent calculator with 100% schema coverage and an output schema, the description supplies everything needed to invoke it correctly. The routing hint to list_bundles adds a small discovery benefit; nothing critical 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% and all three required parameters carry format/type descriptions (YYYY-MM-DD, positive integer, positive number), so the schema does the heavy lifting. The description only restates 'exam date and topics' without adding units, defaults, or interpretation 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+resource ('Generate a study schedule') plus the driving inputs (exam date, topics), so an agent immediately knows what it produces. It does not differentiate itself from any sibling beyond a generic routing pointer to list_bundles, but the resource is unique enough to stand 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?

The only guidance is 'See list_bundles for related education calculators,' which is a discovery pointer, not a when-to-use vs. when-not-to-use rule. There is no statement of prerequisites, input validity conditions, or an alternative tool to prefer in any scenario.

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

calculate_sun_exposureCalculate Sun ExposureB
Read-onlyIdempotent
Inspect

Calculate safe sun exposure time based on UV index and Fitzpatrick skin type. Returns: {skin_description, safe_exposure_minutes, with_spf30_minutes, uv_risk_level, recommendations}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
uv_indexYesUV index at destination (1–11+)
skin_typeYesFitzpatrick skin type: 1=very fair, 6=very dark

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's remaining burden is light. It adds the shape of the result, but says nothing about it being a non-medical estimate, assumptions behind 'safe' exposure, or behavior at extreme UV values. Adequate but thin.

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

Conciseness3/5

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

The purpose sentence is front-loaded and clean, but the explicit return-field enumeration duplicates the output schema and the trailing list_bundles pointer is tangential for a single-purpose calculator. Neither is harmful, but neither 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?

With a full output schema, complete parameter documentation, and annotations covering the safety profile, the definition gives an agent everything needed to invoke it correctly. Only a brief caveat about the advisory nature of the exposure estimate 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% — both uv_index and the six-value skin_type enum are fully documented in the schema, including the Fitzpatrick meaning. The description merely restates the parameter names, adding no syntax, units, or edge-case 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 and resource ('Calculate safe sun exposure time') and names the two inputs that drive it (UV index, Fitzpatrick skin type), so the agent knows exactly what it produces. It does not, however, distinguish itself from adjacent siblings such as calculate_sunscreen_reapply or calculate_garden_sunlight_hours.

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, or alternative-tool guidance. The closing pointer to list_bundles is a navigation aid for related calculators, not a condition that helps the agent choose this tool over a sibling.

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

calculate_sunrise_approxCalculate Sunrise ApproxA
Read-onlyIdempotent
Inspect

Estimate sunrise/sunset times for a latitude on a given day of year. Use for astronomy or outdoor planning. Inputs: latitude, day of year. Returns sunrise/sunset hours, daylight duration. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
latitudeYesLatitude
day_of_yearYesDay of year (1-366)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-open-world, so the safety profile is covered. The description adds that it returns sunrise/sunset hours and daylight duration, but does not disclose the precision/accuracy of the 'approximate' estimate, which is behaviorally relevant for this tool.

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 short, front-loaded sentences with no filler; purpose comes first, then usage, inputs, outputs, and a cross-reference. Slightly listy but efficient.

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 100% param coverage, the description covers purpose, inputs, return values, and a related-bundle pointer. The notable missing piece is a caveat about approximation accuracy and the relationship to calculate_sunrise_sunset.

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 both parameters (latitude, day_of_year) are documented with ranges in the schema. The description only restates the input names, adding no format or constraint detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Estimate') and resource (sunrise/sunset times) with the scoping inputs (latitude, day of year). It does not, however, differentiate itself from the sibling calculate_sunrise_sunset, which an agent could plausibly confuse it with given the 'approx' in the 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?

'Use for astronomy or outdoor planning' implies the domain but gives no when-to-use vs when-not guidance and never names calculate_sunrise_sunset as the alternative. Usage is only inferred.

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

calculate_sunrise_sunsetCalculate Sunrise SunsetB
Read-onlyIdempotent
Inspect

Approximate sunrise and sunset times based on latitude and day of year. Returns: {sunrise_solar_time, sunset_solar_time, day_length_hours}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
latitudeYesLatitude in degrees
day_of_yearYesDay of year (1-365)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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, so the safety profile is covered. The description adds one genuinely useful behavioral fact — the results are 'approximate' — but the returned field list is redundant with the output schema and it says nothing about precision limits or that times are solar time rather than local time.

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 tight sentences with the purpose front-loaded and no filler. The trailing list_bundles cross-reference is marginally useful but slightly dilutes an otherwise efficient definition.

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 calculation with full schema coverage, an output schema, and safety annotations, the description covers what is needed. The only real gap is not flagging that the returned times are solar-time values (and hence not directly local clock times), which matters for correct interpretation.

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 carry their own descriptions with ranges (latitude in degrees, day of year 1-365), so the schema does the heavy lifting. The description merely names the same two inputs and adds no unit, sign-convention, or edge-case 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 and resource ('Approximate sunrise and sunset times') plus the two inputs that drive the computation, so an agent knows exactly what it computes. It does not, however, differentiate itself from the sibling 'calculate_sunrise_approx' or 'calculate_sun_exposure', which an agent scanning this large tool family would need.

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 mention of how this differs from the near-duplicate sibling calculate_sunrise_approx. The pointer to list_bundles is a discovery aid for related calculators, not usage guidance for this tool.

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

calculate_sunscreen_reapplyCalculate Sunscreen ReapplyA
Read-onlyIdempotent
Inspect

Compute when to reapply sunscreen based on SPF, activity, and water exposure. Use for sun safety. Inputs: SPF, skin type, activity (sweat/swim), UV index. Returns next reapply time. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
spfYesSPF factor
uv_indexYesCurrent UV index
skin_typeYesFitzpatrick skin type 1-6

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only that it returns a next reapply time, which the output schema already carries; no auth, rate-limit, or edge-case behavior 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?

Front-loaded with the core action and short overall, but the 'Inputs' line redundantly restates schema fields while containing an inaccurate entry, so not every sentence 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?

With an output schema present, return values need not be explained, and annotations carry the safety profile; the three real parameters are schema-documented. The remaining gap is the inaccurate 'activity'/'water exposure' input reference, which slightly undercuts completeness.

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 coverage is 100%, so the schema fully documents the three real parameters (spf, skin_type, uv_index). However, the description's 'Inputs' list introduces 'activity (sweat/swim)' and 'water exposure,' neither of which exists in the schema, adding a phantom parameter that could mislead an agent. This detracts rather than adds 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 and resource: 'Compute when to reapply sunscreen' with the basis (SPF, activity, water exposure). Against a sibling list of hundreds of calculate_* tools, this is unambiguous and instantly distinguishable.

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?

'Use for sun safety' is an implied-domain hint rather than explicit when-to-use guidance. The 'See list_bundles' pointer is a related-tool reference, not a selection criterion against alternatives, so the agent gets context but no exclusions or conditions.

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

calculate_surface_carrezCalculate Surface CarrezB
Read-onlyIdempotent
Inspect

Calculate Carrez law surface area (French legal measurement). Returns: {carrez_surface_m2, total_surface_m2, excluded_m2, included_rooms, excluded_rooms, note}. See list_bundles for related 'immobilier' calculators.

NameRequiredDescriptionDefault
roomsYesList of rooms with area and ceiling height

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 non-destructive behavior, so the safety profile is fully covered elsewhere. The description adds the return field names, but with an output schema present this is largely redundant, and it never explains the underlying rule (e.g., rooms below the legal ceiling height are excluded), which is the one behavioral detail that would add value.

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 purpose, then return fields and a navigation pointer. It is compact and wastes nothing, though the inline return-field list duplicates the output schema and slightly pads the entry.

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 deterministic calculator with full annotations and an output schema, the description covers purpose and return shape adequately; the only substantive gap is missing guidance on when to choose it over sibling area tools. Nothing required to invoke it correctly is absent.

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 a single 'rooms' parameter whose nested properties are all documented, so the schema carries the full burden. The description adds no meaning about the rooms array or what makes a room includable or excludable, leaving this at the baseline 3.

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, 'Calculate Carrez law surface area,' and pins down the domain with '(French legal measurement)', which separates it from generic siblings like calculate_area and calculate_floor_area. It is clear but stops short of an explicit sibling comparison, so it earns a solid 4 rather than 5.

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

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 the many area calculators it sits beside; the only routing hint is 'See list_bundles for related immobilier calculators,' which points at discovery rather than selection criteria. An agent must infer the use case from the name alone.

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

calculate_swimming_paceCalculate Swimming PaceA
Read-onlyIdempotent
Inspect

Calculate swimming pace per 100m and SWOLF efficiency estimate. Returns: {pace_per_100m_min, pace_formatted, swolf_estimate}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
distance_mYesDistance swum in meters
time_minutesYesTotal swim time in minutes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, closed-world read operation, so the safety burden is covered. The description discloses the return field names, but an output schema exists, so that information is duplicated rather than additive. Nothing about edge cases (e.g. very short times, unit assumptions) or rate behavior is added.

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 tight, front-loaded sentences with no filler. The only mild waste is the explicit 'Returns: {...}' enumeration, which restates fields already present in the output schema.

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 two-input calculator, the definition is complete: annotations carry the safety profile, the output schema documents the return shape, and the schema fully documents parameters. Nothing further is needed for an agent 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% (distance_m and time_minutes are both documented with units and minimums), so the schema carries the parameter burden. The description never mentions the inputs or their units explicitly, adding no meaning beyond what the schema already supplies — 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 ('Calculate swimming pace per 100m') plus a named secondary output (SWOLF efficiency estimate), which cleanly separates it from the many other pace/sport calculators like calculate_running_pace and calculate_marathon_splits. An agent can identify the domain from the first clause alone.

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: a pace calculation obviously applies when you have a distance and a time, which matches the two required params. The only guidance offered is a navigation hint ('See list_bundles for related sport calculators'), which points at discovery rather than telling the agent when to pick this tool over a sibling. No explicit when-not or alternative is named.

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

calculate_swiss_income_taxCalculate Swiss Income TaxB
Read-onlyIdempotent
Inspect

Calculate Swiss income tax — federal + estimated cantonal tax. Returns: {income, federal_tax, federal_marginal_rate_pct, cantonal_tax_estimate, cantonal_rate_pct, effective_rate_pct, ...}. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
cantonNoCanton of residencegeneve
incomeYesAnnual taxable income in CHF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — cantonal tax is an estimate — and enumerates return fields, but says nothing about precision, canton coverage limits, or assumptions.

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 with the core action front-loaded. The inline return-field list is partly redundant since an output schema exists, but it is compact and gives an immediate sense of output shape.

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 rich annotations, a fully described 2-parameter schema, and an output schema present, the description only needed to state scope and flag the cantonal estimate — both of which it does. Nothing required for correct invocation 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%: 'income' (annual taxable income in CHF, min 0) and 'canton' (four-value enum, default geneve) are fully documented in the schema. The description adds no parameter-level detail, so the baseline 3 for high coverage 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 ('Calculate Swiss income tax') plus the computation scope ('federal + estimated cantonal tax'), which distinguishes it from calculate_swiss_wealth_tax and calculate_swiss_vat. It does not explicitly disambiguate from sibling calculate_swiss_salary, but the purpose itself is unambiguous.

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 only guidance is 'See list_bundles for related finance-suisse calculators', which points to a discovery endpoint rather than stating when to use this tool versus a specific alternative. No conditions, prerequisites, or exclusions are given, so an agent must infer usage from the name alone.

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

calculate_swiss_lppCalculate Swiss LPPB
Read-onlyIdempotent
Inspect

Calculate Swiss occupational pension (LPP / 2e pilier) contributions by age bracket. Returns: {eligible, note}. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
ageYesAge of employee
gross_annualYesAnnual gross salary in CHF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds the return shape {eligible, note}, which is useful but partially duplicates the output schema, and it does not explain what 'eligible' means or why a 'contributions' calculation returns only an eligibility flag.

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 the purpose and zero filler. The inline return shape {eligible, note} is slightly redundant given a full output schema exists, keeping it just below a 5.

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 2-parameter calculator with a full output schema, the essentials are covered. However, nothing explains how the age brackets drive the LPP result or what the tool actually computes versus validates, leaving a domain-knowledge gap for an agent unfamiliar with Swiss 2nd-pillar rules.

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 both parameters documented (age range 17-70, annual gross in CHF), so the schema carries the meaning. The description adds only the phrase 'by age bracket', which does not clarify the bracket thresholds or salary treatment beyond what the schema says; 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 ('Calculate Swiss occupational pension (LPP / 2e pilier) contributions by age bracket'), which is far more precise than a generic 'calculate'. The 'LPP / 2e pilier' naming implicitly separates it from calculate_swiss_pillar3a and calculate_swiss_salary, but no explicit routing to or away from those siblings is given.

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 only usage cue is 'See list_bundles for related finance-suisse calculators,' which is a pointer rather than a when-to-use rule. Nothing states when LPP applies (e.g., employed vs self-employed) or why an agent would pick this over calculate_swiss_pillar3a or calculate_swiss_salary; usage is only implied by the tool name.

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

calculate_swiss_pillar3aCalculate Swiss Pillar3aB
Read-onlyIdempotent
Inspect

Calculate Swiss pillar 3a tax savings (3e pilier lie). Returns: {annual_contribution, net_cost_after_saving, max_employee_2026, max_self_employed_2026}. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
marginal_tax_rateYesMarginal income tax rate in % (federal + cantonal combined)
annual_contributionYesAnnual contribution to pillar 3a in CHF (max 7056 for employees, 35280 for self-employed)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is fully covered by structured data. The description's only added behavioral content is a preview of the returned fields, which restates what the output schema already provides; it does not mention the contribution caps, edge cases, or how the saving is derived.

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 compact sentences with the purpose front-loaded and the cross-reference trailing. The inline returns list is mildly redundant given an output schema exists, but it costs little and does not bury the main statement.

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, full input schema coverage, and complete read-only annotations, the description only needs to establish purpose, which it does. The remaining gap is routing — it doesn't tell an agent how to choose between this and the ~10 other Swiss finance calculators in the sibling list.

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% — both parameters carry units, bounds, and the CHF cap context (7056 employee / 35280 self-employed). The description adds no parameter 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?

The description gives a specific verb and resource — "Calculate Swiss pillar 3a tax savings" — plus the French alias (3e pilier) to disambiguate the domain. It is clearly separable from nearby siblings like calculate_swiss_lpp and calculate_swiss_income_tax by subject matter, but it never names those siblings or states how the pillar 3a calculation differs from them.

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 only routing information is "See list_bundles for related 'finance-suisse' calculators," which points at a discovery tool rather than saying when this tool is the right choice. There is no statement of prerequisites, when-not-to-use, or which sibling calculator handles an adjacent case.

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

calculate_swiss_salaryCalculate Swiss SalaryA
Read-onlyIdempotent
Inspect

Convert Swiss gross monthly salary to estimated net salary after employee social contributions (AVS/AI/APG 5.3% uncapped, AC 1.1% up to 148,200/year, LPP employee share by age when age is given). Income tax and LAMal health insurance are not withheld. Same engine as /api/v1/salaire-net?pays=ch. Returns: {gross_monthly, avs_ai_apg_5_3pct, ac_chomage_1_1pct, lpp_2e_pilier_10pct (LPP employee share, CHF/month), lamal_health_fixed (0), net_monthly, ...}. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
ageNoOptional age: adds the LPP employee contribution (ages 25-65); omitted = LPP not included
gross_monthlyYesGross monthly salary in CHF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations by disclosing the exact contribution rates, the AC cap (148,200/year), the LPP age dependency, and explicit exclusions. It also notes it shares an engine with /api/v1/salaire-net?pays=ch, which tells the agent the result is an estimate, not a payroll-grade figure.

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 transform and its exclusions, with rates and return keys packed into a short block. The inline enumeration of return keys is somewhat verbose given an output schema exists, 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 two-parameter read-only calculator, the description covers scope, formula inputs, exclusions, and shared-engine caveat; return fields are already covered by the output schema. An agent has everything needed to call it correctly and interpret 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%, so both parameters are already documented in the schema, including age enabling LPP. The description restates the same age→LPP relationship and adds rate context but no new parameter 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.

Purpose5/5

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

States a precise verb+resource (convert Swiss gross monthly salary to estimated net) and immediately scopes out what is NOT included. The mention that income tax and LAMal are excluded distinguishes it from siblings like calculate_swiss_income_tax without the agent needing to open 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?

Clearly conveys the context of use (employee social contributions only, gross-to-net) and that age must be supplied for LPP to be included. It points to list_bundles for related calculators, but never names a direct alternative such as calculate_swiss_income_tax for the withheld-tax case, so routing is implied rather than explicit.

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

calculate_swiss_vatCalculate Swiss VATA
Read-onlyIdempotent
Inspect

Compute Swiss VAT (TVA/MWST) — convert between net (HT) and gross (TTC). Use for invoicing or expense reimbursements in Switzerland. Inputs: amount, rate (8.1, 3.8, 2.6, 0). Returns HT, TTC, and tax amount. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=before tax, ttc=after taxht
rateNoVAT rate: 2.6% (reduced), 3.8% (hotel), 8.1% (standard)8.1
amountYesAmount in CHF

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds the bidirectional net↔gross nature of the operation and the three outputs, but since an output schema exists and 'Returns HT, TTC, and tax amount' restates it, the incremental behavioral 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?

Three short sentences, front-loaded with purpose, then usage, then I/O, then a cross-reference. Every sentence carries information and nothing is 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?

With read-only annotations, a full-coverage input schema, and an output schema, the description supplies what it must (purpose, usage context, a sibling pointer). It would be complete at 5 if it acknowledged rounding/precision or the vat_generic/vat_reverse alternatives.

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 parameters and rate values, but it lists a rate of '0' that the schema enum (2.6/3.8/8.1) does not permit — a small inconsistency rather than added 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 and resource ('Compute Swiss VAT (TVA/MWST)') and the exact operation ('convert between net (HT) and gross (TTC)'). This clearly distinguishes it from the numerous sibling VAT calculators (calculate_belgian_vat, calculate_french_vat, calculate_uk_vat, calculate_vat_generic) by jurisdiction.

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 a concrete use context ('invoicing or expense reimbursements in Switzerland') and points to list_bundles for related 'finance-suisse' calculators. However, it never states when to prefer this over calculate_vat_generic or calculate_vat_reverse, so the routing to sibling alternatives is only half-addressed.

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

calculate_swiss_wealth_taxCalculate Swiss Wealth TaxA
Read-onlyIdempotent
Inspect

Calculate Swiss wealth tax (impot sur la fortune) by canton. Returns: {net_wealth, tax_free_threshold, taxable_wealth, wealth_tax_rate_pct, annual_wealth_tax, note}. See list_bundles for related 'finance-suisse' calculators.

NameRequiredDescriptionDefault
cantonNoCanton of residencegeneve
net_wealthYesNet wealth in CHF (assets minus debts)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered. The description adds the return shape, which is largely duplicated by the existing output schema, and says nothing about accuracy caveats, supported-canton limits, or what the 'note' field conveys.

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 purpose is front-loaded in the first clause, followed by a compact return-field list and one cross-reference sentence. The return-field enumeration is somewhat redundant given the output schema, but nothing is padded or wasteful.

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-only, idempotent calculator with full schema coverage, annotations, and an output schema, the description covers purpose, scope, and return shape. Only a caveat about the limited four-canton coverage or estimate accuracy is missing, which is minor.

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 both parameters documented (net_wealth in CHF assets minus debts, canton enum with default geneve), so the baseline is 3. The description adds 'by canton' but no additional semantic detail beyond the schema, such as how the default canton is applied.

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 Swiss wealth tax) plus the scoping axis (by canton) and the French synonym (impot sur la fortune), which disambiguates it from the many sibling calculators such as calculate_swiss_income_tax or calculate_swiss_vat. An agent can identify exactly what this tool computes without opening the schema.

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

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 (wealth tax, not income tax, scoped per canton), but there is no explicit when-to-use/when-not guidance and no exclusion of the other Swiss tax siblings. The pointer to 'list_bundles for finance-suisse calculators' is a discovery aid 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.

calculate_tdeeCalculate TDEEB
Read-onlyIdempotent
Inspect

Calculate Total Daily Energy Expenditure from BMR and activity level. Returns: {tdee_kcal}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
bmrYesBasal Metabolic Rate in kcal
activity_levelYesActivity level

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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, so the safety profile is fully covered without the description. The description adds only that this is a pure deterministic derivation from BMR and activity level, which is modest added value rather than rich behavioral 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?

Two short sentences, computationally relevant information front-loaded, zero padding. The trailing bundle cross-reference is mildly promotional but brief.

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 needn't explain return values, and with annotations covering safety and a 100%-documented schema, the agent has almost everything needed. The one substantive gap is whether a BMR value should be sourced from calculate_bmr and what unit convention applies to the returned kcal.

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%: bmr (kcal) and activity_level (5-value enum) are both documented in the schema, including units and allowed values. The description merely names the same two inputs and adds no syntax, defaults, or interpretation guidance, 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 (calculate TDEE) plus the exact computational inputs (BMR + activity level), which lets an agent distinguish it from calculate_bmr and calculate_calories_burned. It stops short of explicitly naming those siblings as related/dependent, which keeps it from a 5.

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

Usage Guidelines2/5

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

No statement of when to use this versus alternatives, no prerequisites (e.g. that BMR must come from calculate_bmr first), and no exclusions. The only routing hint is 'See list_bundles for related sante calculators', which is a discovery pointer rather than usage guidance.

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

calculate_telescope_magnificationCalculate Telescope MagnificationA
Read-onlyIdempotent
Inspect

Compute telescope magnification, exit pupil, and field of view. Use for astronomy hobbyists. Inputs: telescope focal length, eyepiece focal length, eyepiece field of view. Returns magnification and exit pupil. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
eyepiece_mmYesEyepiece focal length mm
focal_length_mmYesTelescope focal length mm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, which is the whole safety profile for a stateless calculator. The description adds no further behavioural context (no note that it is a pure formula, no unit assumptions), so it neither helps nor contradicts the structured 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 short sentences, purpose front-loaded, no filler. It does restate inputs and returns that the schema and output schema already provide, so it is not perfectly economical.

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 deterministic calculator with an output schema, the description covers what is needed to call it correctly. The stray reference to an eyepiece field-of-view input is the only completeness blemish.

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 only two numeric parameters, so the baseline is 3. The description adds no unit or range detail, and actually lists a third input ('eyepiece field of view') that does not exist in the schema, which is mildly misleading rather than helpful.

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 ('Compute telescope magnification, exit pupil, and field of view') and names the domain ('astronomy hobbyists'). No sibling calculator covers telescope optics, so the agent can select this one unambiguously.

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?

Offers only an audience cue ('Use for astronomy hobbyists') plus a pointer to list_bundles for related 'astronomie-nature' calculators. There is no when-not guidance, no prerequisites, and no contrast with neighbouring optical/photography calculators such as calculate_crop_factor or calculate_depth_of_field.

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

calculate_tile_groutCalculate Tile GroutB
Read-onlyIdempotent
Inspect

Compute grout quantity for a tiling job. Use for renovation budget. Inputs: surface m², tile size, joint width. Returns grout kg needed. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
area_m2YesArea m²
tile_cmYesTile size cm
depth_mmNoJoint depth mm
joint_mmNoJoint width mm

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 side-effect profile is fully covered. The description adds only the output unit ('grout kg needed'), which is useful but minimal beyond the structured 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?

Five short sentences, front-loaded with the purpose and the return value. The trailing list_bundles pointer is mildly tangential but does not bloat the definition.

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, single-output calculator the description is adequate: annotations carry the behavioral profile, an output schema covers the return value, and all four parameters are documented in the schema. Only a bit more routing guidance against sibling calculators would make it 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 baseline is 3. The description names three of the four inputs (surface m², tile size, joint width) but omits joint depth (depth_mm) and adds no format, unit, or default semantics beyond what the schema already documents.

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 ('Compute grout quantity for a tiling job'), which is distinct from the closest sibling calculate_tile_quantity. It does not, however, explicitly differentiate itself from that sibling, leaving the agent to infer the distinction between grout and tile counts.

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?

'Use for renovation budget' is a vague context with no when-to-use condition, no exclusions, and no routing away from the many other construction calculators (tile_quantity, brick_count, plaster, etc.). The pointer to list_bundles is a navigation aid, not usage guidance for this tool.

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

calculate_tile_quantityCalculate Tile QuantityA
Read-onlyIdempotent
Inspect

Compute tiles needed including a waste margin (default 10%). Use for floor or wall tiling. Inputs: surface m², tile size, waste %. Returns tile count and surface ordered. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
area_m2YesArea m²
tile_l_cmYesTile length cm
tile_w_cmYesTile width cm
waste_pctNoWaste %

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and closed-world, so the safety profile is covered. The description adds the default waste margin (10%) and the fact that output splits into tile count vs surface ordered, but omits behavioral detail that matters for a quantity tool, such as whether the count rounds up to whole tiles or accounts for tile orientation.

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 short sentences, front-loaded with the computation and its default, then the use case, then the return values. The trailing list_bundles pointer is mildly tangential to calling this tool but is short and clearly secondary.

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 pure read-only calculator with full schema coverage and an output schema, the definition covers purpose, typical use, and outputs adequately. Only the rounding/whole-tile behavior is unaddressed, which is a minor gap rather than a blocker for correct invocation.

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 units and defaults already documented per property, so the baseline is 3. The description only re-lists the inputs ('surface m², tile size, waste %') without adding range, unit-conversion or interaction semantics beyond what the schema states.

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 tiles needed') plus the distinguishing feature of a waste margin, and names what it returns (tile count and surface ordered). It does not explicitly differentiate itself from the similarly named sibling calculate_tile_grout, which is the one confusion an agent could plausibly hit.

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?

'Use for floor or wall tiling' gives a clear domain context for invocation, and the pointer to list_bundles offers a routing path for related construction calculators. It stops short of naming when NOT to use it or a competing sibling, 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.

calculate_time_differenceCalculate Time DifferenceC
Read-onlyIdempotent
Inspect

Compute the difference between two times or dates in seconds, minutes, hours, days. Use for project tracking, age, or scheduling. Inputs: start datetime, end datetime. Returns delta in multiple units. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
city1YesFirst city
city2YesSecond city

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.3/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 fields. The description adds only 'Returns delta in multiple units,' which is thin but not contradictory; it discloses nothing about rounding, sign convention, or boundary handling.

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?

Front-loaded with the core action, but it runs four sentences where two would do, and one of them ('See list_bundles for related voyage calculators') carries no actionable information. Structure is acceptable; content economy is not.

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

Completeness1/5

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

For a two-required-parameter tool, the description never mentions the only inputs the schema accepts (cities) and instead describes a different signature entirely. An agent reading only the description would pass the wrong arguments; the presence of an output schema excuses only the return-value explanation.

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

Parameters1/5

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

The description asserts 'Inputs: start datetime, end datetime,' but the schema requires city1 and city2, both enums of ten city names, with additionalProperties false. This does not merely under-document the two parameters (whose schema coverage is 100%) — it actively misdescribes them, which is worse than silence.

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

Purpose3/5

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

States a specific verb ('Compute the difference') and resource ('two times or dates') with the output units enumerated, which is reasonably clear in isolation. However, the stated resource does not match the tool's actual inputs (cities), and it does nothing to separate itself from close siblings like calculate_days_between, calculate_age_in_units, or calculate_time_zone_difference.

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?

'Use for project tracking, age, or scheduling' gestures at contexts but gives no criteria for choosing this over the many sibling calculators that cover the same ground (calculate_days_between, calculate_age, calculate_time_zone_difference). The trailing pointer to 'list_bundles for related voyage calculators' is irrelevant noise rather than routing guidance.

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

calculate_time_signature_beatsCalculate Time Signature BeatsC
Read-onlyIdempotent
Inspect

Calculate total beats and duration for a musical passage in bars. Returns: {time_signature}. See list_bundles for related 'musique' calculators.

NameRequiredDescriptionDefault
bpmYesTempo in beats per minute
barsYesNumber of bars
beat_valueNoNote value of one beat (denominator of time signature, e.g. 4 for quarter note)
beats_per_barNoNumber of beats per bar (numerator of time signature)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/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 no behavioral context beyond purpose, and its "Returns: {time_signature}" line is a vague, possibly inaccurate gloss given the tool computes total beats and duration.

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 with the core purpose front-loaded and no padding. The second sentence (bundle pointer) is marginally useful, and the "Returns" fragment is low-value given an output schema exists, but nothing is verbose.

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 an output schema present, a fully-described input schema, and complete annotations, the definition covers the minimum an agent needs. The musical domain terminology (beat_value vs beats_per_bar, time signature handling) is not expanded, but for a simple numeric calculator this is adequate rather than rich.

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 bpm, bars, beat_value and beats_per_bar are fully documented in the schema with ranges and defaults. The description adds no parameter semantics, so the baseline 3 for schema-complete tools 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: "Calculate total beats and duration for a musical passage in bars." An agent understands exactly the output domain. It does not explicitly contrast with any named sibling, though the 'musique' bundle reference gives loose context.

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 only routing guidance is "See list_bundles for related 'musique' calculators," which points at a directory rather than saying when this tool is the right choice. No when-not-to-use or explicit alternative is given.

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

calculate_timezone_convertCalculate Timezone ConvertB
Read-onlyIdempotent
Inspect

Convert a time between two UTC offsets accounting for date rollover. Use for international meetings. Inputs: time, from-utc, to-utc. Returns local time and date offset. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
timeYesTime to convert HH:MM
to_offsetYesTarget UTC offset hours
from_offsetYesSource UTC offset hours (e.g. 1 for UTC+1)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and closed-world, so the safety profile is covered. The description does add one genuine behavioral detail not in the annotations (date rollover handling) and mentions the return shape, but it says nothing about edge cases like invalid offsets or DST-free assumptions.

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 short sentences, front-loaded with the core action; each earns its place except the trailing pointer to list_bundles, which is mildly promotional. Nothing is padded or repeated.

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 an output schema present the description needn't explain returns, and its coverage of purpose and inputs is adequate for a three-parameter calculator. The gap is routing: among dozens of adjacent time/conversion siblings it gives no basis for choosing this tool over convert_time or calculate_timezone_offset.

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 fully documented in the schema. The description's 'Inputs: time, from-utc, to-utc' merely restates parameter names and adds no format, range, or offset-sign 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?

The description gives a specific verb and resource ('Convert a time between two UTC offsets') plus a meaningful qualifier ('accounting for date rollover'), so the operation is unambiguous. It falls short of a 5 because it never distinguishes itself from very close siblings like calculate_timezone_offset, calculate_time_zone_difference, and convert_time.

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?

'Use for international meetings' supplies an implied context but no when-not guidance and no explicit alternative among the many time/timezone siblings. An agent must guess whether this or calculate_time_zone_difference is the right call.

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

calculate_time_zone_differenceCalculate Time Zone DifferenceB
Read-onlyIdempotent
Inspect

Compute the time difference (hours) between two timezones. Use for international meetings. Inputs: timezone A, timezone B. Returns delta hours and current local times. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
city1YesFirst city
city2YesSecond city

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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 only 'Returns delta hours and current local times,' which is redundant with the existing output schema, and the trailing 'voyage calculators' pointer is unexplained rather than informative.

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?

Front-loaded with the verb and mostly tight, but the closing sentence ('See list_bundles for related voyage calculators') is tangential noise for a timezone tool and does not help invocation. Four short sentences, one of which does not earn its place.

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?

Annotations and an output schema are present, so much of the burden is carried elsewhere. Still, for a tool sitting among many look-alike time calculators, the description omits the disambiguation an agent most needs, leaving the definition minimally viable.

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 enums of explicit city values, so the schema already carries the semantics; baseline 3 applies. The description's 'Inputs: timezone A, timezone B' actually conflicts slightly with the schema's city-based parameters, adding no real meaning.

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 time difference (hours) between two timezones.' That is clear enough for an agent to understand the operation. However, it does nothing to distinguish itself from the many near-duplicate siblings (calculate_time_difference, calculate_timezone_convert, calculate_timezone_offset, convert_time), and it describes inputs as 'timezones' while the schema actually takes city names.

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?

'Use for international meetings' gives one implied scenario but no conditions for choosing this tool over the overlapping time/timezone siblings. There are no exclusions or named alternatives, which matters a lot given ~8 time-related calculators in the sibling list.

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

calculate_timezone_offsetCalculate Timezone OffsetC
Read-onlyIdempotent
Inspect

Compute current UTC offset for a timezone, accounting for DST. Use for scheduling and date math. Inputs: timezone (IANA name). Returns UTC offset and DST status. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
to_zoneYesTarget time zone
from_zoneYesSource time zone

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world calculation. The description adds useful context that DST is accounted for and that UTC offset plus DST status are returned, but it does not add much 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.

Conciseness3/5

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

The definition is short and the main purpose is front-loaded. However, the final sentence pointing to list_bundles for unrelated "temps-rh" calculators does not earn its place and distracts from the actual tool.

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 tool whose schema requires from_zone and to_zone, the description never explains those parameters and instead describes a single IANA timezone input. The presence of an output schema means return details need not be fully repeated, but the input description is inaccurate and incomplete.

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?

The schema fully documents two required enum parameters, from_zone and to_zone. However, the description says the input is a single "timezone (IANA name)," which conflicts with the schema and omits the actual source/target zone parameters, making it potentially misleading.

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 first sentence gives a specific verb and resource: compute the current UTC offset for a timezone, including DST. It is understandable in isolation, but it does not distinguish this tool from close siblings such as calculate_timezone_convert or calculate_time_zone_difference.

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 only usage guidance is the vague phrase "Use for scheduling and date math." It does not say when to choose this tool over sibling timezone tools, nor does it state 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.

calculate_tipCalculate TipA
Read-onlyIdempotent
Inspect

Compute restaurant tip and per-person split. Use for shared meals. Inputs: bill, tip %, people count. Returns tip, total, per-person share. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
billYesBill amount
splitNoNumber of people splitting
tip_pctNoTip percentage

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered and the description is not required to restate it. It adds only a light statement of what comes back; it says nothing about rounding, currency, or how the default 15% tip behaves, which the annotations do not cover.

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 short sentences, purpose stated first, then inputs, then return values — well front-loaded with no redundant prose. The list_bundles pointer is arguably filler for a tip calculator, keeping it just below top marks.

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 three-parameter read-only calculator with full schema coverage, complete annotations, and an output schema that already documents return values, the description covers purpose, inputs and usage context adequately. The remaining hole is sibling differentiation against calculate_tip_split and calculate_tip_worldwide.

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 bill, split and tip_pct are already documented with types, minimums and defaults; baseline is 3. The description paraphrases the same three inputs (“bill, tip %, people count”) but adds no format, unit, or default detail beyond the schema, and notably omits the 15% default tip.

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 restaurant tip and per-person split”) plus the three inputs, so the agent knows exactly what it produces. However, it does not distinguish itself from the near-identical siblings calculate_tip_split and calculate_tip_worldwide, which is a real ambiguity given this tool explicitly covers the per-person split case.

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?

“Use for shared meals” gives a minimal usage cue, which is better than nothing but far short of routing guidance. It points at list_bundles for related 'vie-quotidienne' calculators, which is a bundle listing tool, not a competing calculator, so an agent still cannot tell when to prefer this over calculate_tip_split or calculate_tip_worldwide.

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

calculate_tip_splitCalculate Tip SplitC
Read-onlyIdempotent
Inspect

Calculate tip and per-person amount for a restaurant bill. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
tip_pctYesTip percentage
num_peopleYesNumber of people splitting
bill_amountYesTotal bill amount

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/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 nothing beyond that: no note on rounding behavior, currency/tip conventions, or whether the bill includes tax or service. Given the low bar set by rich annotations, this is a weak contribution.

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 the core operation. The second sentence is navigational and slightly off-topic for a tip calculator, but it is not wasteful enough to undermine the structure.

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 an output schema present, return values need no explanation, and the three required params are fully covered by the schema. The remaining gap is disambiguation: in a sibling set containing calculate_tip and calculate_tip_worldwide, the description never tells the agent which tip tool applies when.

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 all three parameters (bill_amount, tip_pct, num_people) are already documented with types and bounds. The description restates the concepts loosely ('restaurant bill', 'per-person') but adds no unit, range, or convention detail beyond the schema baseline.

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: calculating tip plus the per-person split for a restaurant bill. The 'per-person' framing does differentiate it somewhat from calculate_tip, but the description never names that sibling or explicitly contrasts scope with it.

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 only routing hint is 'See list_bundles for related vie-quotidienne calculators,' which points at a browsing tool rather than explaining when to pick this over calculate_tip, calculate_tip_worldwide, or any of the other tip-adjacent siblings. No prerequisites, no when-not-to-use.

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

calculate_tip_worldwideCalculate Tip WorldwideA
Read-onlyIdempotent
Inspect

Compute restaurant tip following local custom (US 18-22%, FR included, JP no tip, etc.). Use when traveling. Inputs: bill, country. Returns recommended tip and total. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
billYesBill
countryYesCountry

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive, and openWorldHint=false, so the safety profile is covered. The description adds domain behavior beyond that: the calculation is country-custom driven, with concrete per-country rule examples, and it returns both a recommended tip and a total. It does not need to explain return shape further since an output schema exists.

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 short sentences, front-loaded with the purpose and country-custom examples before the input/return summary. Slightly telegraphic ("Inputs: bill, country") but no wasted prose; the final cross-reference sentence is marginal but cheap.

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?

Annotations cover the safety profile and an output schema covers the return shape, so the description only needs to establish scope, which it does. A minor residual gap is behavior for countries outside the enum or non-restaurant tipping contexts, which the agent must infer.

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 country enum is fully enumerated in the schema, so the schema already carries parameter meaning. The description's "Inputs: bill, country" merely restates the required fields and adds no constraints, units, or currency semantics beyond 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 concrete verb (Compute), resource (restaurant tip) and the distinguishing scope: local custom by country, with worked examples (US 18-22%, FR included, JP no tip). This separates it cleanly from the generic calculate_tip and calculate_tip_split siblings without the agent needing to open 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?

"Use when traveling" implies the context, but there is no explicit contrast with calculate_tip or calculate_tip_split and no when-not condition. The list_bundles pointer is navigation for related calculators, not guidance on choosing this tool over its near-identical siblings.

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

calculate_torusCalculate TorusA
Read-onlyIdempotent
Inspect

Compute torus volume V=2π²Rr² and surface area. Use for ring-shaped objects (donuts, inner tubes). Inputs: major radius R, minor radius r. Returns volume and area. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
major_rYesMajor radius (center to tube center)
minor_rYesMinor radius (tube radius)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.2/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 the safety profile is covered. The description adds genuine context by disclosing the exact formula and that both volume and area are returned, confirming this is a pure deterministic computation with no side effects.

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

Conciseness4/5

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

Front-loaded with the core computation and formula, then use case, inputs, and returns in tight sentences. Slightly redundant to restate 'Returns volume and area' when an output schema already documents that, costing it the top mark.

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 two-parameter pure calculator with a full output schema and complete annotations, the description supplies everything needed: what it computes, the formula, when to use it, and the input meaning. Nothing required for correct invocation 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% (both radii are documented), so the baseline is 3. The description restates 'major radius R, minor radius r' and shows them in the formula V=2π²Rr², which adds marginal meaning but nothing beyond 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 ('Compute torus volume ... and surface area') and even gives the exact formula, which distinguishes it immediately from the many geometry siblings (calculate_sphere, calculate_cone, calculate_cylinder, calculate_volume). An agent can select it without opening the schema.

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

Usage Guidelines4/5

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

Provides concrete usage context ('Use for ring-shaped objects (donuts, inner tubes)') and cross-references list_bundles for related math calculators. It lacks explicit when-not-to-use guidance versus other 3D-shape calculators, so it falls 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.

calculate_training_zones_runningCalculate Training Zones RunningA
Read-onlyIdempotent
Inspect

Calculate 6 running training zones as speed ranges based on VMA. Returns: {vma_kmh}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
vmaYesVMA (Maximal Aerobic Speed) in km/h

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context. It does disclose that six speed-range zones are produced, but the 'Returns: {vma_kmh}' line is ambiguous and does not add meaningful behavior beyond 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?

Two short sentences, front-loaded with the core purpose, with no filler. The trailing 'Returns: {vma_kmh}' fragment is redundant given a dedicated output schema and slightly muddles the otherwise clean structure.

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 single-parameter calculator with an output schema covering the return payload, the description gives enough to invoke correctly. It omits any note on the meaning of the zones or VMA validity, which are minor gaps given the schema and output contract carry the rest.

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 single vma parameter is fully documented with units and a range, so the baseline is 3. The description references VMA as the input basis but adds no format or interpretation detail beyond what the schema already provides.

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 6 running training zones as speed ranges based on VMA') and quantifies the output, which separates it from sibling calculators that produce different zone counts or metrics. It does not explicitly name the nearest sibling (calculate_heart_rate_zones) to draw the contrast, 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?

Usage is only implied through the required VMA input; there is no statement of when this tool is preferred over calculate_vma, calculate_vo2max or calculate_heart_rate_zones. The single pointer to 'list_bundles for related sport calculators' is a navigation aid rather than when-to-use guidance.

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

calculate_travel_budgetCalculate Travel BudgetA
Read-onlyIdempotent
Inspect

Estimate total trip budget by category (transport, accommodation, food, activities). Use for trip planning. Inputs: destination, days, traveler count, comfort level. Returns total and per-day breakdown. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
daysYesNumber of travel days
travelersYesNumber of travelers
destinationYesDestination region

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is covered. The description adds that results are an 'estimate' and that output includes a total plus per-day breakdown, but discloses nothing about permissions, precision, or rate limits 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?

Four short sentences, front-loaded with purpose and followed by inputs, outputs, and a cross-reference. Nothing is padded, though the input enumeration is partly redundant with the schema.

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 the return-value sentence is redundant, and the annotations cover safety behavior. The main gap is the inaccurate 'comfort level' input, which leaves the agent's mental model of the argument set inconsistent with the actual schema.

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 100%, so the baseline would be 3, but the description lists an input called 'comfort level' that does not exist in the schema (which only has destination, days, travelers). Advertising a phantom parameter is actively misleading for an agent constructing the call.

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 ('Estimate total trip budget') and enumerates the categories it covers (transport, accommodation, food, activities). This clearly separates it from neighboring travel tools like calculate_travel_insurance or calculate_luggage_weight, and the reference to list_bundles for 'voyage' calculators adds routing context.

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?

'Use for trip planning' gives an implied context but no explicit when/when-not and no named alternative to prefer over this one. The pointer to list_bundles is a discovery aid rather than a usage rule, so the agent is left to infer the boundaries itself.

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

calculate_travel_insuranceCalculate Travel InsuranceB
Read-onlyIdempotent
Inspect

Calculate estimated travel insurance cost based on destination, duration, age and activities. Returns: {base_per_day_eur, activity_factor, estimated_premium_eur, coverage_tips}. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
ageYesTraveler age in years
activitiesYesActivity level: standard (city/beach), adventure (hiking/skiing), extreme (mountaineering/motorsport)
destinationYesTravel destination zone
duration_daysYesTrip duration in days

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 the figure is an 'estimated' premium and lists the return fields, but gives no note on assumptions, rate limits, or whether the result is binding 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?

Two tight sentences, front-loaded with the purpose before the return shape and the cross-reference. The inline return-shape listing is mildly redundant given an output schema exists, but it does not bloat the definition.

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 schema, an output schema, and read-only annotations, the description supplies enough for correct invocation. The one missing piece is disambiguation from the sibling estimate tools, which is the main ambiguity an agent would face 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% and both enums are fully enumerated in the schema (destination zones, activity levels), so the schema does the heavy lifting. The description only restates the input names, adding no units, ranges, or enum semantics beyond it.

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 (Calculate) + resource (travel insurance cost) + the four driving inputs, so an agent immediately knows what it produces. It does not, however, distinguish itself from the near-identically named sibling calculate_travel_insurance_estimate (nor calculate_insurance_estimate), which is a real risk in this crowded catalog.

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 statement of when to choose this over calculate_travel_insurance_estimate or calculate_insurance_estimate, and no prerequisites or exclusions. The only routing hint ('See list_bundles for related voyage calculators') points to a discovery tool, not to a usage condition.

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

calculate_travel_insurance_estimateCalculate Travel Insurance EstimateC
Read-onlyIdempotent
Inspect

Estimate travel insurance cost based on trip cost, age, duration, destination. Use for trip planning. Inputs: trip cost, traveler age, days, region. Returns premium estimate. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
ageYesTraveler age
daysYesTrip duration days
destinationYesDestination region
coverage_levelYesCoverage level

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.6/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 fully covered. The description adds no behavioral context beyond "Returns premium estimate," which the output schema already carries — no assumptions, no accuracy caveats, no input constraints are disclosed.

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?

Short and mostly front-loaded, but the input list is duplicated in the first and third sentences with no added value, and one of those duplicate lists is wrong. It is tight in size but not in information quality.

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 four-required-parameter tool the description omits coverage_level entirely and invents a trip_cost input, so an agent reading only the description would not call the tool correctly. The presence of an output schema excuses not describing return values, but the input-side gaps are not excused.

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 coverage is 100% so the baseline would be 3, but the description actively misleads: it claims "trip cost" is an input when no such parameter exists, uses "region" for the enum parameter destination, and never mentions coverage_level, one of four required inputs. This introduces error rather than meaning.

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 (estimate travel insurance cost) and the factors it depends on, which is enough to distinguish it from generic calculators. However it makes no attempt to distinguish itself from the near-identical sibling calculate_travel_insurance (or calculate_insurance_estimate), leaving the agent to guess which one to call.

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?

"Use for trip planning" is a vague context with no exclusions or alternatives. The only routing hint, "See list_bundles for related 'voyage' calculators," points at a bundle-listing tool rather than an alternative calculator, and the obvious competing sibling calculate_travel_insurance is never mentioned.

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

calculate_triangle_heronCalculate Triangle HeronA
Read-onlyIdempotent
Inspect

Compute triangle area from three side lengths using Heron's formula. Use when angles aren't known. Inputs: sides a, b, c. Returns area, perimeter, type (equilateral/isoceles/scalene). See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
aYesSide a
bYesSide b
cYesSide c

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.2/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 the safety profile is covered. The description adds that it returns area, perimeter and a triangle type, plus the formula used, which is useful context beyond the annotations; it omits any note about invalid inputs (triangle inequality violations).

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 short sentences, front-loaded with the core action and method; no filler. The trailing cross-reference to list_bundles and the minor typo 'isoceles' are the only blemishes.

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 enumerated, yet the description still sketches them. For a three-parameter, closed-world, idempotent read tool, nothing needed 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.

Parameters3/5

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

Schema description coverage is 100%, so a baseline of 3 applies. The description's 'Inputs: sides a, b, c' merely restates the schema's own 'Side a/b/c' descriptions and adds no units, ordering, or validity constraints.

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 (triangle area) and names the exact method (Heron's formula from three side lengths). This clearly separates it from the many geometry siblings such as calculate_pythagoras, calculate_trigonometry, and calculate_area.

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?

'Use when angles aren't known' gives a concrete selection condition against the angle-based alternatives. It stops short of naming the sibling to prefer instead (e.g. a trig-based area tool), so it is clear context but not 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.

calculate_trigonometryCalculate TrigonometryA
Read-onlyIdempotent
Inspect

Compute sin, cos, tan and inverse functions in degrees or radians. Use for geometry, physics, navigation. Inputs: function, value, unit. Returns result and reciprocal. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
funcYesTrig function
unitNoInput angle unitdegrees
valueYesInput value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 a closed-world scope, so the safety profile is fully covered elsewhere. The description adds modest behavioural detail ('Returns result and reciprocal', degrees/radians handling) but does not expand on domain limits for inverse functions. With annotations carrying the heavy load, this is adequate.

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 short sentences, front-loaded with the capability and then usage, inputs and cross-reference; nothing is padded. The input-enumeration sentence is close to redundant given a fully documented schema, which keeps it just under a 5.

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 pure, idempotent calculator with an output schema and full annotation coverage, the description supplies what an agent needs: capability, unit modes, intended domains and a bundle pointer. Only the absence of any sibling-routing note keeps it from being 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% with two enums, so the schema already documents func, unit and value completely; baseline is 3. The description only restates the parameter list ('Inputs: function, value, unit') and adds no semantics such as whether value is interpreted in degrees before the unit applies, or valid domain ranges for asin/acos.

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') plus the exact resource — the six trig functions — and the unit modes, which is far more precise than the tautological 'Calculate Trigonometry' title. It stops short of explicitly distinguishing itself from near-neighbours like calculate_angle_convert or convert_angle, so it is clear but not fully sibling-differentiated.

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?

'Use for geometry, physics, navigation' gives domain context, and 'See list_bundles for related math calculators' points to a discovery path. However there is no when-not guidance, no exclusion of the angle-conversion siblings, and no prerequisite information, 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.

calculate_uk_council_taxCalculate UK Council TaxA
Read-onlyIdempotent
Inspect

Compute UK Council Tax based on property band and local authority rate. Use for UK residents and home buyers. Inputs: band (A-H), local authority. Returns annual and monthly council tax. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
bandYesCouncil Tax band (A=lowest, H=highest)
regionNoRegionengland

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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 annual and monthly council tax are returned, but it does not explain rate assumptions or regional handling beyond naming a local authority rate.

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 description is short and front-loads the core purpose, then adds usage, inputs, returns, and a pointer to list_bundles. The input summary is somewhat redundant and contains the local-authority mismatch, but there is little waste.

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 schema and output schema are rich, and annotations cover safety, so most structured context is present. The description is broadly complete, but the 'local authority' versus 'region' inconsistency leaves a gap that should have been clarified.

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 coverage is 100%, so the schema already documents band and region. However, the description says the inputs are band and 'local authority', while the schema actually exposes 'region'; this misnames a parameter and could mislead an agent.

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 and resource: compute UK Council Tax by property band and rate. It clearly distinguishes this from the many other calculators by naming the tax and UK scope.

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 states a clear usage context: UK residents and home buyers, and points to list_bundles for related finance-UK calculators. It does not give explicit exclusions or name a sibling alternative, so it falls 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.

calculate_uk_income_taxCalculate UK Income TaxA
Read-onlyIdempotent
Inspect

Calculate UK income tax for 2025/26 using HMRC progressive brackets with personal allowance taper. Returns: {gross_income, personal_allowance, taxable_income, income_tax, effective_rate_pct, marginal_rate_pct}. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
incomeYesAnnual gross income in GBP

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, so safety is covered. The description adds valuable domain context beyond the annotations: the applicable tax year and the personal allowance taper behavior, which materially affects results near the taper threshold. It stops short of stating input constraints or assumptions (e.g., England/Wales/Scotland rates).

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, front-loaded with the purpose, then methodology, then returns. The enumerated return fields are largely redundant with the existing output schema, which is minor waste, but nothing else is 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 an output schema present and annotations covering the safety profile, the description needn't explain return values, yet it does. Tax year and methodology are included. What's missing is guidance on regional rate variations (Scotland vs England/Wales) and sibling routing, which would make it 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 single parameter's meaning (annual gross income in GBP) is fully documented in the schema. The description adds no syntax, format, or edge-case detail for the input, 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 with jurisdiction, tax year (2025/26), and calculation method (HMRC progressive brackets with personal allowance taper). This clearly distinguishes it from siblings like calculate_uk_ni_contributions or calculate_uk_council_tax without needing to open a 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 jurisdiction and tax year, and it points to list_bundles for 'finance-uk' calculators. However, it never states when to use this versus other UK tax tools (NI, council tax, student loan) or what inputs are out of scope. 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.

calculate_uk_ni_contributionsCalculate UK Ni ContributionsA
Read-onlyIdempotent
Inspect

Calculate UK National Insurance contributions (Class 1 employee) for 2025/26. Returns: {annual_salary, ni_annual, ni_monthly, effective_rate_pct}. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
annual_salaryYesAnnual gross salary in GBP

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and the description usefully pins the behavioral scope to Class 1 employee contributions for a single tax year, implicitly excluding employer NI and Class 2/4 self-employed cases. It does not mention assumptions such as the standard personal allowance or the Scotland-vs-rUK distinction, so it stops short of full disclosure.

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 short, front-loaded sentences: purpose first, return shape second, cross-reference last. No filler, no restatement of the tool 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?

An output schema exists, so enumerating the return keys is redundant but harmless, and the tax-year and contribution-class scoping is genuinely needed context. The definition is complete for a one-parameter deterministic calculator, though it omits which regional NI regime (e.g. Scotland) applies.

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?

Single parameter at 100% schema description coverage ('Annual gross salary in GBP'), so the schema carries parameter semantics fully. The description repeats the currency concept but adds no syntax, range, or unit nuance beyond the schema, matching the baseline 3 for high coverage.

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 with narrowing qualifiers: 'UK National Insurance contributions (Class 1 employee)' for tax year 2025/26. That scope alone separates it from the many sibling tax calculators like calculate_uk_income_tax and calculate_uk_student_loan 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 only routing guidance is 'See list_bundles for related finance-uk calculators,' which points to discovery rather than stating when this tool is the right choice. There is no explicit when-not or named alternative, so usage is implied by the domain scoping rather than spelled out.

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

calculate_uk_student_loanCalculate UK Student LoanB
Read-onlyIdempotent
Inspect

Calculate UK student loan repayments based on plan type and salary. Returns: {annual_salary, repayment_rate_pct, annual_repayment, monthly_repayment}. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
planNoStudent loan plan: 1, 2, 4, 5, or postgrad2
annual_salaryYesAnnual gross salary in GBP

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds no further behavioural context (no assumptions about tax year, thresholds, or whether the result is a pure estimate), and its return-value listing is redundant given an output schema exists.

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 the core purpose. The second sentence's inline return-shape enumeration is somewhat redundant against the existing output schema, but it is compact and harmless.

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, one-required, read-only calculator with an output schema, the description covers what is needed to invoke it correctly. It could be stronger by noting which UK plan applies in which nation/period, 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 both parameters are already documented in the schema including the enum values for plan and the GBP unit for salary. The description merely echoes 'plan type and salary' without adding format, default, or edge-case meaning, 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 and resource ('Calculate UK student loan repayments') and names the two drivers (plan type, salary), which separates it from the many other tax/finance siblings. It does not explicitly contrast itself with the near-neighbour calculate_student_loan_repayment or calculate_us_student_loan, so it stops short of full sibling differentiation.

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

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 mention of the closely-named sibling tools that an agent could easily confuse this with. The 'See list_bundles' line is a discovery pointer, not a usage rule, so the agent must infer applicability from the tool name alone.

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

calculate_uk_vatCalculate UK VATA
Read-onlyIdempotent
Inspect

Calculate UK VAT — convert between net (ex-VAT) and gross (inc-VAT) amounts. Returns: {amount_net, amount_gross, vat_amount, vat_rate_pct}. See list_bundles for related 'finance-uk' calculators.

NameRequiredDescriptionDefault
modeNoInput mode: ht=net (ex-VAT), ttc=gross (inc-VAT)ht
rateNoVAT rate: 0% (zero), 5% (reduced), 20% (standard)20
amountYesAmount in GBP

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 only the return shape ('Returns: {amount_net, amount_gross, vat_amount, vat_rate_pct}'), which is also redundant with the existing output schema. No extra behavioral context (rounding, currency handling, precision) is supplied.

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 compact sentence front-loads the verb, resource and operation, then the return shape, then a sibling pointer. No filler; every clause conveys 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 single-purpose calculator with 100% schema coverage, full annotations and an output schema, the description covers purpose, the net/gross duality, and the return fields. The only notable omission is explicit differentiation from the generic and reverse VAT siblings, which leaves a small ambiguity an agent must resolve by name alone.

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 enums and defaults documented for mode and rate, so the schema carries the parameter burden. The description's 'net (ex-VAT) / gross (inc-VAT)' phrasing loosely restates the mode parameter but adds no syntax or edge-case 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 and resource ('Calculate UK VAT') and the core operation ('convert between net (ex-VAT) and gross (inc-VAT) amounts'). The UK qualifier implicitly separates it from calculate_french_vat, calculate_belgian_vat and other country VAT siblings, but it never explicitly contrasts with calculate_vat_generic or calculate_vat_reverse, so differentiation is partial.

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?

Implied usage is clear (you use it to convert net/gross at UK rates), but there is no explicit when-to-use, when-not-to-use, or routing to alternatives like calculate_vat_generic or calculate_vat_reverse. The 'See list_bundles' pointer is a discovery aid, not selection guidance between siblings.

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

calculate_unemployment_benefitCalculate Unemployment BenefitA
Read-onlyIdempotent
Inspect

Estimate French unemployment benefit (ARE — Aide au Retour a l'Emploi). Returns: {daily_ref_salary, daily_are, monthly_are_estimate, min_daily, max_daily_75pct_sjr}. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
daily_ref_salaryYesSalaire Journalier de Reference (SJR) in euros — typically last 12 months salary / 261

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, covering the safety profile. The description adds the return shape and names the ARE scheme, but discloses no behavioral traits such as assumption of a 261-day divisor, applicability conditions, or capping behavior in the min/max fields.

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 compact sentences that lead with the purpose and follow with the return fields and a cross-reference; nothing is wasted. Slightly weakened by enumerating return fields that the existing output schema already covers.

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 single-parameter calculator with a full output schema, the description supplies purpose, ARE context, and a sibling pointer, which is enough for correct invocation. The redundant return-field list and absent usage conditions are minor gaps.

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 parameter carries a full definition (SJR in euros, last 12 months salary / 261), so the schema does the heavy lifting. The description adds nothing about the parameter, 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 ('Estimate') and a precise resource ('French unemployment benefit (ARE)'), with the French qualifier distinguishing it from the many other benefit and finance calculators in the sibling list. An agent can identify exactly what this tool computes without opening the schema.

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

Usage Guidelines2/5

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

The only guidance is 'See list_bundles for related finance-france calculators,' which is a cross-reference rather than a when-to-use/when-not rule. It never says which sibling to prefer (e.g., calculate_prime_activite, calculate_housing_aid) or what conditions warrant this tool.

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

calculate_unit_priceCalculate Unit PriceB
Read-onlyIdempotent
Inspect

Compare unit prices across packages to find the best deal. Use for shopping. Inputs: list of {price, quantity, unit}. Returns price per unit and best buy. See list_bundles for related 'education' calculators.

NameRequiredDescriptionDefault
itemsYesItems to compare

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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 only that it returns price per unit and best buy, which is lightweight and partly redundant with the existing 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.

Conciseness3/5

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

Four short sentences front-load the purpose well, but the closing sentence about list_bundles and 'education' calculators is confusing and does not earn its place in a tool definition for a price comparator.

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 an output schema present and full parameter coverage, the description need not explain returns, and it covers the basic compute-and-compare behavior adequately. It is nonetheless thin on the conventions an agent needs (e.g., output unit normalization, treatment of differing units) and the trailing bundle reference muddies rather than completes the picture.

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 the single 'items' array parameter, making 3 the baseline. The description's enumeration of {price, quantity, unit} adds nothing new and omits the required 'name' field, though this is a minor imprecision.

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: comparing unit prices across packages to find the best deal. However, it does not differentiate itself from the near-identical sibling calculate_grocery_unit_comparison, nor from calculate_cost_per_use, so an agent has no basis to pick between them.

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?

'Use for shopping' is the only usage guidance, and it is too vague to discriminate among the many cost-comparison siblings. No when-not conditions or named alternatives are given; the pointer to list_bundles is unrelated to choosing this tool.

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

calculate_us_401kCalculate US 401kB
Read-onlyIdempotent
Inspect

Calculate US 401(k) contribution, employer match, and total retirement savings. Returns: {annual_salary, employee_contribution, employer_match, total_annual_contribution, catch_up_eligible, max_employee_limit}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
ageNoEmployee age (50+ enables catch-up contributions)
annual_salaryYesAnnual salary in USD
contribution_pctYesEmployee contribution percentage (1-100)
employer_match_pctNoEmployer match percentage of employee contribution (default 50%)
employer_match_limitNoEmployer match cap as % of salary (default 6%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 little beyond enumerating return fields, which the output schema already carries, so it clears the lowered bar but adds only marginal context.

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?

Two sentences, front-loaded with the purpose, which is good structure. However, roughly half the text enumerates return fields already fully specified by the existing output schema, so that sentence does not earn 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 read-only, fully-annotated calculator with 100% schema coverage and an output schema, the definition supplies what an agent needs to invoke it. The only real gap is the absence of guidance situating it among the many sibling finance/retirement calculators.

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 (age, salary, contribution_pct, employer_match_pct, employer_match_limit) is documented in the schema with defaults and ranges. The description adds no parameter syntax or semantics, 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 states a specific verb and resource ('Calculate US 401(k) contribution, employer match, and total retirement savings'), which is more precise than most siblings like calculate_retirement_pension. It does not explicitly distinguish itself from adjacent tools such as calculate_us_paycheck or calculate_retirement_savings_gap, 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 statement of when to use this tool versus alternatives; it only points at list_bundles for discovering related 'finance-us' calculators. The age-50+ catch-up condition is a schema-level detail, not usage guidance for tool selection.

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

calculate_us_capital_gainsCalculate US Capital GainsA
Read-onlyIdempotent
Inspect

Calculate US capital gains tax — short-term (ordinary rates) or long-term (preferential rates). Returns: {tax, gain_type}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
sale_priceYesSale price in USD
filing_statusNoFiling status for rate thresholdssingle
purchase_priceYesOriginal purchase price in USD
holding_period_monthsYesHolding period in months

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The description adds the return shape ({tax, gain_type}) and the rate-treatment split, but nothing about inputs' edge cases, rate-table assumptions, or errors.

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, zero filler: the tax regime is front-loaded, the return contract follows, and the related-bundle pointer closes. Every clause carries information an agent can act on.

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

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 needn't enumerate return fields (it does anyway). For a four-parameter, enum-bearing, read-only calculator it covers purpose and output shape adequately; only the boundary between this and the property/foreign capital-gains siblings is 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 coverage is 100% and all four parameters carry their own descriptions, so the baseline is 3. The description's mention of holding period and filing-status-driven rate thresholds loosely maps to inputs but adds no format, unit, or boundary 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 and resource ('Calculate US capital gains tax') and crisply splits the two regimes (short-term ordinary vs long-term preferential). The 'US' qualifier does useful work against the many international siblings, though it never distinguishes itself from the adjacent calculate_capital_gains_property or the FR variants 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 description tells the agent that the short-term/long-term distinction exists and is driven by holding period, which implies when each rate path applies. But it gives no explicit when-to-use guidance, no prerequisites, and the only pointer (list_bundles) is a discovery cross-reference rather than an alternative tool for the same job.

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

calculate_us_child_tax_creditCalculate US Child Tax CreditA
Read-onlyIdempotent
Inspect

Calculate US Child Tax Credit for 2026 with phase-out based on AGI. Returns: {agi, base_credit, credit_reduction, final_credit}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
agiYesAdjusted Gross Income in USD
filing_statusNoFiling statussingle
children_under_17YesNumber of qualifying children under age 17

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare this safe, deterministic and closed-world (readOnly, idempotent, openWorld=false), so the bar is lower. The description adds useful domain context — tax year 2026 and that the credit is reduced via an AGI-based phase-out — but omits the phase-out thresholds and how filing_status changes them, which is the main behavioral detail for this 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 tightly packed sentences with the purpose front-loaded and the cross-reference last. The explicit return-shape listing is slightly redundant given an output schema exists, but it costs little.

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, three-parameter idempotent calculator with full schema coverage, complete annotations and an output schema, the description is essentially sufficient. The only real gap is the unstated phase-out thresholds/income limits that determine the final figure, which an agent may want surfaced.

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 (agi, filing_status, children_under_17) is already documented in the schema, making 3 the baseline. The description only reinforces that agi drives the phase-out; it adds no syntax or threshold detail beyond 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 (Calculate), a specific resource (US Child Tax Credit), and pins the tax year (2026) plus the core mechanic (phase-out based on AGI). This distinguishes it cleanly from generic or other-jurisdiction siblings like calculate_us_federal_tax or calculate_belgian_income_tax.

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 subject matter. The sole routing hint is 'See list_bundles for related finance-us calculators,' which points at a discovery tool rather than explaining when to pick this over adjacent US tax tools (calculate_us_federal_tax, calculate_us_paycheck). No 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.

calculate_us_federal_taxCalculate US Federal TaxA
Read-onlyIdempotent
Inspect

Calculate US federal income tax for 2026 using progressive brackets with standard deduction. Returns: {gross_income, standard_deduction, taxable_income, federal_tax, effective_rate_pct, marginal_rate_pct, ...}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
incomeYesGross annual income in USD
filing_statusNoFiling statussingle

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/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, so the safety profile is covered. The description adds meaningful domain context beyond that: the 2026 tax year and the assumption of progressive brackets plus standard deduction, which tells the agent what model is being applied. It does not flag limitations such as itemized deductions being excluded, which keeps it short of a 5.

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

Conciseness4/5

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

Two sentences, front-loaded with the core purpose and method before the routing hint. The inline return-field listing is somewhat redundant given an output schema exists, which is the only minor inefficiency.

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, two-parameter financial calculator with full schema coverage, an output schema, and complete annotations, the description covers method, tax year, and a cross-reference. It is essentially complete, though noting that standard-deduction-only assumptions are baked in would tighten it further.

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 the income and filing_status parameters are already documented with the enum values and default. The description adds no further parameter-level detail (e.g., whether income is gross vs. net, currency, or unit expectations), 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 (calculate), resource (US federal income tax), tax year (2026), and methodology (progressive brackets with standard deduction). This distinguishes it from the many neighboring tax calculators such as calculate_us_state_tax, calculate_us_paycheck, and calculate_canada_federal_tax.

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?

It points to list_bundles for related 'finance-us' calculators, which gives some routing context, but it never states when to use this tool versus close alternatives like calculate_us_state_tax or calculate_us_paycheck. Usage is implied rather than explicitly scoped.

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

calculate_us_ficaCalculate US FICAA
Read-onlyIdempotent
Inspect

Calculate US FICA taxes (Social Security + Medicare) employee share for 2026. Returns: {gross_annual, social_security_taxable, social_security_tax, medicare_base_tax, medicare_additional_tax, medicare_total, ...}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
gross_annualYesGross annual salary in USD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered. The description's added context is the tax year (2026) and the employee-share scope; the enumerated return fields duplicate the existing output schema rather than disclosing new behavior such as rate caps or wage-base assumptions.

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, year, and scope are front-loaded in the first sentence, and the cross-reference closes it out. The inline return-field list is somewhat redundant given a formal output schema, but the whole definition stays short and scannable.

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 single required numeric input, full schema coverage, and a published output schema, the definition covers everything needed to invoke the tool: what it computes, for whom, for which year. The only omission is explicit routing against the closely related US payroll tax calculators.

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 ('Gross annual salary in USD'), so the schema already carries the semantics. The description adds no syntax, units, or edge-case detail beyond it, making the 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 gives a specific verb and resource ('Calculate US FICA taxes'), decomposes the acronym into Social Security + Medicare, and pins the scope to the employee share for 2026. It is clearly distinguishable from neighbors like calculate_us_federal_tax and calculate_us_paycheck, 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?

'Employee share' implies the scope of use, and the pointer to list_bundles/'finance-us' gives a discovery path, but there is no explicit when-to-use or when-not-to-use guidance versus calculate_us_paycheck or calculate_us_federal_tax. 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.

calculate_us_mortgageCalculate US MortgageB
Read-onlyIdempotent
Inspect

Calculate US mortgage with PMI, property tax, and insurance estimates. Returns: {home_price, down_payment, loan_amount, monthly_pi, monthly_pmi, monthly_property_tax, ...}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
yearsNoLoan term in years (default 30)
home_priceYesHome purchase price in USD
annual_rateYesAnnual mortgage interest rate in %
down_payment_pctNoDown payment percentage (default 20%)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and closed-world, so the safety profile is covered without the description. The description adds that outputs are "estimates" and include PMI/property tax breakdowns, which is useful behavioral context, but it omits conditions such as when PMI is applied or how estimates are derived.

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, then output shape, then a cross-reference — a sensible ordering with no filler. The inline return-field listing is somewhat redundant given an output schema exists, costing a little density but not enough to break the structure.

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 annotations covering safety, full schema coverage on all 4 params, and an output schema present, most structured burden is elsewhere. The remaining gap is sibling differentiation — the description never states how this differs from calculate_mortgage or calculate_mortgage_insurance, which is the main thing an agent needs to route 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% — every parameter (years, home_price, annual_rate, down_payment_pct) has its own description and defaults/ranges. The description adds no syntax or semantic 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+resource ("Calculate US mortgage") and specifies the distinguishing scope: PMI, property tax, and insurance estimates that a plain mortgage calc would not include. It does not, however, explicitly distinguish itself from the close sibling calculate_mortgage, so the agent must infer the US-specific scope 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 Guidelines3/5

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

The only routing hint is "See list_bundles for related 'finance-us' calculators," which points at a discovery tool rather than naming a competing alternative. There is no when-to-use/when-not guidance against calculate_mortgage or calculate_mortgage_insurance. The US prefix implies usage context but no explicit selection criteria are given.

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

calculate_us_paycheckCalculate US PaycheckB
Read-onlyIdempotent
Inspect

Estimate US bi-weekly net paycheck after federal/state withholding and FICA. Returns: {annual_salary, fica_biweekly, net_biweekly, net_annual_estimate}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
stateNoState for state income tax (TX/FL/WA have no state tax)TX
annual_salaryYesAnnual salary in USD
filing_statusNoFederal withholding filing statussingle

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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 that the result is an estimate and lists output fields, but it omits key behavioral context such as the limited state support and excluded deductions.

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 in a single clear sentence. The second sentence includes a redundant return field list given the existing output schema, but overall it is concise and well 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?

Adequate for a simple calculator: the schema covers all parameters, annotations cover safety, and an output schema exists. The description identifies the estimate and outputs, though it lacks guidance on alternatives and excluded deductions.

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 parameters and enums are already fully documented. The description mentions federal/state withholding and FICA conceptually but adds no parameter-level syntax or format details 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 (estimate) and resource (US bi-weekly net paycheck after federal/state withholding and FICA). The scope is clear, but it does not name or contrast with sibling tools like calculate_us_federal_tax or calculate_us_fica.

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 or when-not-to-use guidance. The only pointer is 'See list_bundles for related finance-us calculators,' which is a vague discovery reference rather than a direct alternative comparison.

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

calculate_us_property_taxCalculate US Property TaxA
Read-onlyIdempotent
Inspect

Estimate annual US property tax by state using effective tax rates. Returns: {home_value, effective_rate_pct, annual_property_tax, monthly_property_tax}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
stateNoState (affects effective property tax rate)TX
home_valueYesAssessed home value in USD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context. It does: 'using effective tax rates' signals the output is an approximation rather than an assessed bill, which is genuinely useful expectation-setting for a financial figure.

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, purpose front-loaded, no filler. The return-shape list is partly redundant since an output schema exists, which costs a little space, but it is not verbose enough to be a real problem.

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-only estimator with an output schema and full annotation coverage, the description supplies everything an agent needs to call it correctly. The only shortfall is the absent differentiation from sibling tax calculators, which matters more here given the very large sibling set.

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%, including the state enum and the home_value USD description, so the schema already carries parameter meaning. The description only echoes 'by state' and adds no format, default, or supported-state detail beyond the enum. 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+resource+scope: 'Estimate annual US property tax by state using effective tax rates.' That is unambiguous and immediately actionable. It stops short of distinguishing itself from the nearby siblings calculate_us_state_tax and calculate_property_tax_fr, which an agent could plausibly confuse with this one.

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 when-to-use or when-not, and no mention of the alternative US tax tools. The one navigational line ('See list_bundles for related finance-us calculators') points at a browsing tool rather than telling the agent when this calculator is the right pick.

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

calculate_us_state_taxCalculate US State TaxC
Read-onlyIdempotent
Inspect

Compute US state income tax for a chosen state. Use for paycheck planning across states. Inputs: state, gross income, filing status. Returns state tax due and effective rate. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
stateYesUS state
incomeYesAnnual taxable income in USD

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.7/5.0
Behavior2/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 only 'Returns state tax due and effective rate', which is redundant since an output schema exists, and its behavioral claims (filing status as an input) conflict with the actual schema.

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?

Front-loaded with the core action, which is good, but the 'Inputs' sentence is wasted because it is partly wrong, and the list_bundles cross-reference is tangential. Size is reasonable but not every sentence earns its place.

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 2-parameter tool with full schema coverage, annotations, and an output schema, most of the burden is carried by structured fields. The description is serviceable but leaves an inaccurate input list uncorrected and provides no cross-state limitations (e.g., only 8 states supported) that an agent would need.

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 coverage is 100%, so baseline is 3, but the description actively misleads: it lists 'filing status' as an input (not in the schema) and calls the income field 'gross income' when the schema defines it as 'Annual taxable income'. This adds incorrect parameter meaning rather than clarifying it.

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 US state income tax for a chosen state'), making the purpose clear and distinct from federal-tax siblings like calculate_us_federal_tax. It does not, however, explicitly name or contrast with the other tax calculators it could be confused 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?

'Use for paycheck planning across states' offers a scenario but no when-to-use-vs-alternatives logic, no exclusions, and no boundary against calculate_us_federal_tax or calculate_us_paycheck. The pointer to 'list_bundles' is a routing hint, not usage guidance for this tool.

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

calculate_us_student_loanCalculate US Student LoanA
Read-onlyIdempotent
Inspect

Calculate US student loan repayment under standard, graduated, or income-driven plans. Returns: {loan_balance}. See list_bundles for related 'finance-us' calculators.

NameRequiredDescriptionDefault
planNoRepayment planstandard
annual_rateYesAnnual interest rate in %
loan_balanceYesOutstanding loan balance in USD
annual_incomeNoAnnual income (required for income_driven plan)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the supported plan names and a minimal return claim (‘Returns: {loan_balance}’), which is largely redundant with the schema and output schema; it does not disclose additional behavior such as calculation basis or output detail.

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 description is two tight sentences and front-loads the core action. The return-value sentence is partly redundant with the output schema, and the list_bundles pointer is peripheral, but overall it is efficient and appropriately sized.

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 rich input schema, annotations covering safety, and an output schema, the description does enough to identify the tool and its plan scope. The main remaining gap is guidance against the generic or UK student loan siblings, but structurally the necessary information is largely covered by the structured fields.

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 already has a description, including the enum for plan and the note that annual_income is required for the income_driven plan. The description adds no syntax, format, or dependency detail beyond what the schema already provides, so 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?

The description states a specific verb (‘Calculate’), resource (‘US student loan repayment’), and supported plan types. The ‘US’ qualifier clearly distinguishes it from calculate_student_loan_repayment and calculate_uk_student_loan, so an agent can identify the right tool without opening siblings.

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 explicit when-to-use or when-not-to-use guidance. The only external pointer is ‘See list_bundles for related finance-us calculators,’ which does not route the agent between the generic student loan tool and this US-specific one.

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

calculate_vacation_days_frCalculate Vacation Days FRA
Read-onlyIdempotent
Inspect

Compute French paid vacation days earned (congés payés). Use for HR planning. Inputs: months worked, contract type. Returns days earned (2.5/month rule) and equivalent in working days. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
full_timeNoFull-time
months_workedYesMonths worked

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and destructiveHint=false, so the safety profile is covered. Beyond that, the description adds real behavioral content: the 2.5 days-per-month accrual rule and the shape of the result (days earned plus working-day equivalent). It does not address edge cases such as part-time proration or the 30-day legal cap.

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 short, front-loaded sentences with no filler: purpose first, then intended use, then inputs/outputs and a cross-reference. Efficient, though the trailing bundle pointer is of marginal relevance to calling this specific 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 detailed, and annotations cover the safety profile. For a two-parameter, single-rule calculator the description is essentially complete; only the unaddressed proration/cap behavior 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 coverage is 100% for both parameters, so the baseline is 3. The description restates the inputs but paraphrases the 'full_time' boolean as 'contract type', which is slightly imprecise and adds no syntax or constraint detail beyond what the schema already provides.

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?

Names a specific verb and resource ('Compute French paid vacation days earned (congés payés)') and even cites the governing rule (2.5 days/month), which distinguishes it from generic leave tools. It does not explicitly contrast itself with close siblings like calculate_vacation_days_optimal, calculate_leave_days, or calculate_working_days, 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?

'Use for HR planning' gives only an implied domain of use and offers no when-not guidance or comparison to the many adjacent leave/working-day calculators. The 'See list_bundles' pointer is a helpful navigational hint but is about a discovery tool, not about choosing between alternatives.

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

calculate_vacation_days_optimalCalculate Vacation Days OptimalC
Read-onlyIdempotent
Inspect

Compute optimal vacation usage by chaining bridge days with public holidays. Use for HR or worker planning. Inputs: vacation days, country, year. Returns best plan with day count. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
public_holidays_countYesNumber of public holidays near weekends
vacation_days_availableYesAnnual vacation days available

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.7/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, so the safety profile is covered. The description adds only 'Returns best plan with day count', a thin return hint that an output schema already covers; no insight into computation assumptions or constraints.

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?

Four short sentences with the core purpose front-loaded, which is good. But the trailing 'See list_bundles for related voyage calculators' sentence earns little and injects a confusing reference; trimming it would tighten the definition.

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 a simple two-parameter, read-only tool and an output schema, the burden is light, yet the description still fails the basics by naming parameters that do not exist and by not distinguishing itself from calculate_vacation_days_fr. The parameter mismatch alone leaves an agent unable to call the tool reliably from the description.

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

Parameters1/5

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

The description declares inputs as 'vacation days, country, year', but the schema has no country or year parameter at all – it takes public_holidays_count and vacation_days_available. An agent following the description would try to pass parameters that do not exist, which is actively misleading despite 100% schema coverage.

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+resource ('Compute optimal vacation usage by chaining bridge days with public holidays') that is meaningfully distinct from a plain leave-days counter. However, it never names its closest sibling (calculate_vacation_days_fr or calculate_leave_days), so the agent cannot tell from the description alone which of the near-identical vacation calculators to pick.

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?

'Use for HR or worker planning' names an audience, not a condition for selecting this tool over alternatives. The pointer to list_bundles for 'voyage calculators' is a listing tool, not an alternative calculator, and reads like noise rather than routing guidance.

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

calculate_vat_genericCalculate VAT GenericB
Read-onlyIdempotent
Inspect

Calculate VAT/GST/sales tax for any country with custom rate. Returns: {amount_before_tax, amount_after_tax, tax_amount, tax_rate}. See list_bundles for related 'finance-universal' calculators.

NameRequiredDescriptionDefault
modeNoht=before tax, ttc=after taxht
rateYesTax rate in %
amountYesAmount

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint false, and openWorldHint false, covering the safety profile. The description adds a return-shape sketch, but an output schema exists, so this is redundant and adds little behavioral context beyond 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?

Two sentences, front-loaded with purpose. The return-shape listing is redundant given the output schema, slightly reducing efficiency, but the definition remains tight and easy to scan.

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 simple read-only calculator with a full schema, output schema, and rich annotations, the definition covers purpose and scope. It omits routing guidance against the many VAT-specific siblings, which is a meaningful gap in a large toolset.

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%; all three parameters have descriptions (mode enum ht/ttc, rate in %, amount). The description's 'custom rate' does not add syntax or semantics beyond what the schema already provides, so 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 and resource: 'Calculate VAT/GST/sales tax' and scopes it to 'any country with custom rate'. However, it does not explicitly distinguish this generic tool from close siblings like calculate_vat_reverse or the many country-specific VAT calculators beyond the word 'generic'.

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?

Provides implied usage via 'for any country with custom rate', which suggests using this when a custom rate is needed. But it gives no explicit when-to-use or when-not guidance and does not name alternative VAT tools such as calculate_french_vat. The list_bundles pointer is a cross-reference, not routing guidance.

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

calculate_vat_reverseCalculate VAT ReverseA
Read-onlyIdempotent
Inspect

Reverse-VAT: extract the VAT and net price from a TTC amount. Use to back out tax from a gross invoice. Inputs: TTC amount, VAT rate %. Returns HT, VAT amount. See list_bundles for related 'finance-france' calculators.

NameRequiredDescriptionDefault
vat_rateNoVAT rate %
amount_inclYesAmount including VAT

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.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 a closed world, so the safety profile is fully covered. The description's only added behavioral content is naming outputs (HT, VAT amount), which duplicates the existing output schema; nothing about rounding, default rate behavior, or limits 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?

Short, front-loaded sentences in the order an agent needs them: direction, use case, inputs, outputs, related tools. Minor redundancy between 'extract the VAT and net price' and 'back out tax from a gross invoice', but no wasted bulk.

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 deterministic calculator with full schema coverage, an output schema, and safety annotations, the description supplies the direction, required inputs, and a pointer to the related finance bundle. Only omission is any disambiguation from the country-specific reverse-VAT scenarios, which is a 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 both parameters are documented there ('Amount including VAT', 'VAT rate %' with default 20), so the schema does the heavy lifting. The description restates the same two inputs without adding format or default details, which is the baseline 3 case.

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 action (extract/back out) on a specific resource (VAT) with an explicit direction that separates it from the forward-VAT siblings like calculate_vat_generic, calculate_french_vat, or calculate_belgian_vat. 'Reverse-VAT' plus 'TTC amount' makes the direction unambiguous without opening a schema.

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

Usage Guidelines4/5

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

'Use to back out tax from a gross invoice' gives a clear triggering context. It does not name the nearest alternative (calculate_vat_generic) or state when NOT to use it, but the reverse-direction framing makes the choice largely self-evident.

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

calculate_velo_developmentCalculate Velo DevelopmentC
Read-onlyIdempotent
Inspect

Calculate bicycle development in meters per pedal revolution. Returns: {gear_ratio, development_m, speed_at_90rpm_kmh}. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
cog_teethYesNumber of teeth on the rear cog/sprocket
chainring_teethYesNumber of teeth on the front chainring
wheel_circumference_mmNoWheel circumference in mm (700c road default = 2105mm)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/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 no behavioral context beyond that, and its return-value listing simply repeats information the output schema already carries.

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 compact sentences with the purpose front-loaded and no wasted wording. The trailing bundle reference is mildly extraneous but brief.

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 and all parameters are documented in the schema, so the core is complete. The main missing element is guidance distinguishing this from near-identical siblings such as calculate_gear_ratio.

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% with descriptions for chainring_teeth, cog_teeth, and wheel_circumference_mm including a default. The description adds no parameter 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 with a unit ('bicycle development in meters per pedal revolution'), which is clearly meaningful. However, it does not distinguish itself from closely related siblings like calculate_gear_ratio or calculate_braquet, which an agent could easily 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?

There is no statement of when to use this tool versus the similar gear-ratio siblings. The only routing hint, 'See list_bundles for related sport calculators', is navigation to a catalog rather than usage guidance for this tool.

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

calculate_vmaCalculate VmaA
Read-onlyIdempotent
Inspect

Compute VMA (Maximal Aerobic Speed) from a fitness test result. Use for runners building training plans. Inputs: test type (Cooper 12-min, Luc Léger), result. Returns VMA km/h and zones. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
testYesTest type: cooper (12min run), demi_cooper (6min run), vameval (final speed km/h)
result_valueYesDistance in meters (cooper/demi_cooper) or final speed in km/h (vameval)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and non-destructive, so the safety profile is covered. The description adds that the result is VMA in km/h plus zones, but that overlaps the output schema and says nothing about auth, rate limits or edge-case 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?

Short, front-loaded and free of filler, with the purpose stated first and inputs/returns after. The trailing 'See list_bundles' sentence is mildly tangential but still a useful pointer, so it does not seriously hurt the score.

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, full schema descriptions and rich annotations, the description only needs to establish purpose and scope, which it does. A note on which test type to pick or how VMA relates to the sibling VO2max tool would make it 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 the baseline is 3 and the schema already documents both parameters fully. The description's inline restatement is actually less complete and slightly off (it lists only two test types and says 'Luc Léger' where the enum is cooper/demi_cooper/vameval), adding no real 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?

States a specific verb and resource ('Compute VMA ... from a fitness test result') and expands the acronym, so an agent knows exactly what is produced. It does not explicitly differentiate itself from near siblings such as calculate_vo2max or calculate_training_zones_running, which is the only thing keeping it out of 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?

'Use for runners building training plans' gives a target audience but no when-not guidance and no named alternative for the same job. The pointer to list_bundles is a cross-reference to related calculators, not a routing rule between competing tools, so usage is only implied.

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

calculate_vo2maxCalculate Vo2maxA
Read-onlyIdempotent
Inspect

Estimate VO2max from VMA (maximal aerobic speed). Use for runners assessing cardio fitness. Formula: VO2max ≈ VMA × 3.5. Inputs: VMA in km/h. Returns VO2max in mL/kg/min and fitness category. See list_bundles for related 'sport' calculators.

NameRequiredDescriptionDefault
vmaYesVMA in km/h

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare this as a safe, idempotent, closed-world read, and an output schema documents the return values, so the description's return description is largely redundant. The added formula (VMA × 3.5) is genuine extra context, but behavioral disclosure beyond structured fields remains modest.

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 short sentences, each earning its place: what it does, who uses it, the formula, input/output, and a navigation hint. Front-loaded with the core purpose and free of 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 single-parameter, read-only computation with a full output schema and complete annotations, the description supplies everything an agent needs: the formula, the input unit, the output units, and a bundling referral.

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 value by expanding the acronym VMA to "maximal aerobic speed," which the schema does not define. It otherwise repeats the unit already present in 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 ("Estimate VO2max from VMA") and identifies the audience (runners assessing cardio fitness). An agent can distinguish it from the inverse calculate_vma and other fitness tools 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 usage context ("Use for runners assessing cardio fitness") and points to list_bundles for related 'sport' calculators. It lacks explicit when-not guidance or a named alternative tool, so it stops short of the 5 tier.

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

calculate_voltage_adapterCalculate Voltage AdapterB
Read-onlyIdempotent
Inspect

Determine voltage adapter and plug type needed for a destination country. Use for international travel with electronics. Inputs: home country, destination, device wattage. Returns adapter type, voltage, plug shape. See list_bundles for related 'voyage' calculators.

NameRequiredDescriptionDefault
to_countryYesDestination country
from_countryYesCountry of origin

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, destructiveHint false, and openWorldHint false, covering the safety profile. The description adds only the return types (adapter type, voltage, plug shape), which are redundant with the output schema, and does not disclose any additional behavioral traits like permissions, rate limits, or confirmation 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?

The description is short and front-loads the core purpose. It includes a redundant return-value sentence (output schema exists) and a slightly misleading input list, but overall it is efficient and easy to parse.

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 and read-only, with a fully documented schema, annotations, and an output schema. The description supplies the use case and return types, but the incorrect mention of 'device wattage' creates a clear gap that could confuse an agent about required inputs.

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?

The schema has 100% description coverage for the two actual parameters (from_country, to_country) and enumerates their values. However, the description incorrectly lists 'device wattage' as an input, which does not exist in the schema, making the parameter guidance misleading despite the schema's completeness.

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: 'Determine voltage adapter and plug type needed for a destination country.' It adds a clear use case ('international travel with electronics') but does not explicitly differentiate from other travel-related siblings like calculate_travel_budget or calculate_luggage_weight.

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 provides a clear context for use: 'Use for international travel with electronics.' There are no explicit when-not conditions or named alternatives, but the pointer to 'list_bundles for related voyage calculators' hints at a broader context without giving a direct alternative.

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

calculate_volumeCalculate VolumeB
Read-onlyIdempotent
Inspect

Compute volume for common 3D shapes (cube, cylinder, sphere, cone, prism). Use for geometry, packaging, or construction. Inputs: shape + dimensions. Returns volume in input-units cubed. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
shapeYesShape
widthNoWidth
heightNoHeight
lengthNoLength/side
radiusNoRadius
base_areaNoBase area for prism/pyramid

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare a safe, idempotent, non-destructive read, so the safety profile needs no restating. The description adds genuinely useful context by stating the result is "volume in input-units cubed," but says nothing about precision, shape-specific required dimensions, or validation 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?

Front-loaded with the verb and resource, then use cases, then I/O, then a cross-reference. Four short sentences with no padding; only the trailing bundle pointer is of marginal value.

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-value documentation is not required, and annotations cover safety. The remaining gap is that neither schema nor description explains the shape-to-dimension mapping, which an agent needs to call correctly for cone, prism, or pyramid.

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 nominally 100%, so the baseline is 3, and the description only repeats "Inputs: shape + dimensions" without explaining which dimensions apply to which shape (e.g., radius for sphere, base_area for prism). It lists a subset of the enum shapes but adds no mapping to the dimension parameters.

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 (volume for 3D shapes) and enumerates the supported shapes, so the core purpose is unambiguous. However, numerous siblings (calculate_cone, calculate_cylinder, calculate_sphere, calculate_pyramid, calculate_pool_volume, calculate_aquarium_volume) overlap directly, and the description makes no attempt to differentiate from 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?

"Use for geometry, packaging, or construction" gives implied usage contexts, but there is no explicit when-to-use versus the dedicated per-shape siblings. Pointing to list_bundles for "related 'math' calculators" is a weak routing hint rather than an alternative-selection rule.

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

calculate_waist_hip_ratioCalculate Waist Hip RatioB
Read-onlyIdempotent
Inspect

Calculate waist-to-hip ratio and cardiovascular risk level. Returns: {risk_threshold, cardiovascular_risk}. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
sexYesBiological sex
hip_cmYesHip circumference in centimeters
waist_cmYesWaist circumference in centimeters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.2/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=true, idempotentHint=true, openWorldHint=false, destructiveHint=false), so the safety burden is covered. The description adds nothing beyond that, and its 'Returns: {risk_threshold, cardiovascular_risk}' line duplicates the output schema rather than disclosing how risk is classified (e.g. sex-specific WHO thresholds).

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 the core purpose. The returns clause is slightly wasteful given an output schema exists, but nothing else is 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?

An output schema exists so return values need no elaboration, all three parameters are fully documented in the schema, and annotations cover safety. The only meaningful omission is the basis for the risk classification, 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.

Parameters3/5

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

Schema description coverage is 100% — waist_cm, hip_cm and the sex enum are all documented in the schema itself. The description adds no units, ranges, or meaning 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.

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 ('Calculate waist-to-hip ratio') plus the derived output ('cardiovascular risk level'), which is unambiguous. It does not, however, distinguish itself from the hundreds of sibling health calculators (e.g. calculate_body_fat, calculate_bmi) beyond the 'sante' bundle hint, so sibling differentiation is only indirect.

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 only routing guidance is 'See list_bundles for related sante calculators,' which points to a catalog rather than telling the agent when this tool is the right choice versus calculate_bmi or calculate_body_fat. No when-not-to-use conditions or prerequisites are stated.

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

calculate_wallpaperCalculate WallpaperB
Read-onlyIdempotent
Inspect

Compute wallpaper rolls needed for a room with pattern repeat factor. Use for renovation budget. Inputs: room dimensions, roll size, pattern repeat. Returns roll count. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
height_mYesHeight m
roll_widthNoRoll width m
perimeter_mYesRoom perimeter m
roll_lengthNoRoll length m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 covered without the description's help. The description adds only that it returns a roll count and consumes room/roll/pattern inputs, which is modest extra context. It says nothing about how pattern repeat affects the result, which is the one genuinely behavioral detail worth disclosing.

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 description is four short, front-loaded sentences that lead with what is computed. It is efficiently sized, though the 'Inputs:' and 'Returns:' fragments largely restate what the schema and output schema already provide.

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 the list_bundles cross-reference helps orientation. However, the dangling 'pattern repeat' input and the unaddressed overlap with calculate_wallpaper_rolls leave the agent with open questions about 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 coverage is 100%, so the baseline would be 3, but the description names an input — 'pattern repeat factor' — that does not exist anywhere in the schema (only height_m, perimeter_m, roll_width and roll_length are defined). This misleads the agent about the tool's expected arguments rather than adding meaning, so it scores below the schema-backed baseline.

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 wallpaper rolls needed for a room'), which is clear enough to distinguish it from generic calculators. However, it never differentiates itself from the near-identical sibling calculate_wallpaper_rolls, which an agent would otherwise confuse it with. Clear purpose, but sibling differentiation is absent.

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?

'Use for renovation budget' gives an implied context but no when/when-not logic and no alternatives. The pointer to list_bundles is a navigation aid rather than usage guidance, and it does not resolve the overlap with calculate_wallpaper_rolls.

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

calculate_wallpaper_rollsCalculate Wallpaper RollsB
Read-onlyIdempotent
Inspect

Compute wallpaper rolls for a room including pattern repeat and waste. Use for renovation. Inputs: walls m², roll dimensions, pattern repeat. Returns roll count and length needed. See list_bundles for related 'construction' calculators.

NameRequiredDescriptionDefault
height_mYesWall height m
roll_widthNoRoll width m
perimeter_mYesRoom perimeter m
roll_lengthNoRoll length m

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3/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 agent knows this is a safe, side-effect-free pure computation. The description adds that pattern repeat and waste are factored in, which is useful behavioral context, but nothing about rounding conventions or assumptions. With annotations carrying the safety profile, a 3 is appropriate.

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

Conciseness4/5

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

Front-loaded with the core action and kept to a handful of short sentences. Minor waste: 'Returns roll count and length needed' duplicates information already available in the output schema, and 'Inputs:'/'See ...' fragments are terse but readable.

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 explained, and all four parameters are documented in the schema. The remaining gaps are material for selection: no differentiation from calculate_wallpaper and a phantom 'pattern repeat' input, so the definition is not quite complete 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 coverage is 100%, so the baseline would be 3, but the description actively misleads: it lists 'pattern repeat' as an input even though the schema has no such parameter and additionalProperties is false, and it says 'walls m²' where the schema actually takes perimeter_m and height_m. An agent trusting the prose would try to supply a parameter that does not exist.

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 ('Compute wallpaper rolls for a room') and names the domain factors (pattern repeat, waste), so the purpose is unmistakable. However, it does nothing to distinguish this tool from the near-identical sibling calculate_wallpaper (nor from calculate_curtain_fabric / calculate_paint_needed), which is exactly the differentiation this crowded sibling list demands.

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?

'Use for renovation' is the only usage cue and it is far too broad to route an agent. There is no when-to-use/when-not, no statement of prerequisites, and no mention of calculate_wallpaper, which appears to be a competing wallpaper calculator. The agent is left to guess which of the two to call.

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

calculate_water_billCalculate Water BillB
Read-onlyIdempotent
Inspect

Compute water bill from cubic meters consumed and tariff bands. Use for household budget. Inputs: m³ consumed, fixed fee, variable rate. Returns total bill. See list_bundles for related 'vie-quotidienne' calculators.

NameRequiredDescriptionDefault
cubic_metersYesWater consumption in m³
price_per_m3NoPrice per m³ (default 4.34 EUR — France 2026)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so safety is covered. The description adds that it returns a total bill, but says nothing about what the result breakdown contains or how consumption above a band is handled — small added value over 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.

Conciseness4/5

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

Four short, front-loaded clauses with no filler; the purpose leads. The only waste is the redundant restatement of inputs already fully covered by the schema.

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 explained, and annotations cover side effects. What is missing is any clarification of the tariff-band behavior named in the first sentence and a fix for the phantom "fixed fee" input, leaving a user with a partially misleading picture.

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 coverage is 100% and documents cubic_meters and price_per_m3 (with a French 2026 default), so the schema carries the load. However, the description advertises inputs as "m³ consumed, fixed fee, variable rate" — a fixed fee is not a parameter and additionalProperties is false, so an agent could try to supply a nonexistent argument. That inaccuracy pulls below the baseline 3.

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?

"Compute water bill from cubic meters consumed and tariff bands" is a specific verb+resource and is easily separable from the many neighboring calculators. It does not, however, contrast itself with close siblings like calculate_electricity_cost, which a one-line differentiator could have solved.

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?

"Use for household budget" implies a use case but gives no when-not guidance or prerequisites. The pointer to list_bundles for 'vie-quotidienne' calculators is the only routing hint, and it routes to a bundle lister rather than a competing tool.

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

calculate_water_hardnessCalculate Water HardnessB
Read-onlyIdempotent
Inspect

Calculate water hardness in French degrees from calcium and magnesium concentrations. Returns: {thresholds}. See list_bundles for related 'cuisine' calculators.

NameRequiredDescriptionDefault
calcium_mg_lYes
magnesium_mg_lYes

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 burden is lifted. The description adds the conversion unit (French degrees) and hints that output includes threshold bands, but the literal '{thresholds}' placeholder is an unfilled template, so the disclosure is only partial.

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 the essential verb-resource-unit. The only blemish is the raw '{thresholds}' placeholder, which reads as a broken template rather than deliberate brevity.

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 — but the description still injects a broken '{thresholds}' token that undercuts itself, and the unrelated 'cuisine' pointer adds noise. For a trivial 2-param, 0%-coverage compute tool, this is adequate but not clean.

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 carry parameter meaning; it names the two inputs but adds nothing on granularity or accepted ranges beyond what the parameter names (calcium_mg_l, magnesium_mg_l) already imply. The units are only inferable from the names, not from the description 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 and resource ('Calculate water hardness'), names the output unit ('French degrees'), and enumerates the two inputs ('calcium and magnesium concentrations'). An agent can distinguish this from the ~350 sibling calculators (e.g., water bill, water intake, pool chlorine) 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 Guidelines2/5

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

The only guidance is 'See list_bundles for related cuisine calculators', which is a registry cross-reference, not when-to-use/when-not-to-use for this tool. It also looks misplaced — water hardness has no obvious cuisine relationship — so it may actively mislead an agent choosing between hydration/cooking/water calculators.

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

calculate_water_heater_sizeCalculate Water Heater SizeA
Read-onlyIdempotent
Inspect

Calculate recommended water heater tank size for a household. See list_bundles for related 'plomberie' calculators.

NameRequiredDescriptionDefault
usageYesWater usage level: low (30L/person), normal (50L/person), high (70L/person)
household_sizeYesNumber of people in the household

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and closed-world, so the safety profile is fully covered without the description. The description adds one implied behavioral detail – that the tool sizes a 'tank' (not tankless) – but says nothing about assumptions, units of the result, or whether output is a recommendation range.

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 the core action and no filler. The trailing list_bundles cross-reference is tangential to invoking this tool, which keeps it just short of a 5.

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 both parameters are fully documented at the schema level. The remaining gap is context the schema cannot carry – the units of the recommended tank size and the tank-type assumption – which leaves the agent slightly under-informed.

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%; both parameters carry their own descriptions, including per-person litre figures for each enum value. The description adds no parameter-level meaning beyond what the schema already states, 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?

Specific verb plus resource ('Calculate recommended water heater tank size for a household') that an agent can match against the query 'what size water heater do I need'. It does not name any sibling or scope boundary, although the resource is inherently unique among the sibling list, so differentiation is largely handled by the name itself.

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 no when-to-use vs when-not-to-use guidance, no prerequisites, and no statement of assumptions (e.g. tank vs tankless). The only routing signal is a pointer to list_bundles for related 'plomberie' calculators, which is discovery assistance rather than usage guidance.

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

calculate_water_intakeCalculate Water IntakeA
Read-onlyIdempotent
Inspect

Compute recommended daily water intake in liters by weight, activity, climate. Use for hydration planning. Inputs: weight kg, activity level, climate (temperate/hot). Returns L/day and glass count. See list_bundles for related 'sante' calculators.

NameRequiredDescriptionDefault
climateYesClimate
weight_kgYesBody weight kg
activity_levelYesActivity level

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is fully covered. The description adds some value by naming the outputs (L/day and glass count) and the climate enum values, but nothing about assumptions or formula limitations; with rich annotations, 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?

Front-loaded with the core action, followed by usage, inputs and outputs in a compact four-clause structure. Slight redundancy in re-listing inputs and outputs that structured fields already provide, but it stays short and readable.

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 safety; the description is adequate for a simple 3-param calculator. Its one real omission is routing against the near-duplicate calculate_hydration sibling.

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 enums (climate, activity_level) are fully documented in the schema. The description merely restates the inputs, adding no syntax or unit nuance beyond what the schema already carries, 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 recommended daily water intake') plus the determining factors (weight, activity, climate), so the agent knows exactly what it produces. However, it never distinguishes itself from the very close sibling calculate_hydration, which an agent could easily pick instead.

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?

'Use for hydration planning' implies a context but gives no when-not guidance and no alternatives. With calculate_hydration and calculate_garden_water_needs in the sibling list, the description should have said which one to pick, and it does not.

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

calculate_water_pressure_lossCalculate Water Pressure LossB
Read-onlyIdempotent
Inspect

Calculate water pressure loss in a pipe circuit including friction and elevation. Returns: {equiv_length_m}. See list_bundles for related 'plomberie' calculators.

NameRequiredDescriptionDefault
diameter_mmYesPipe internal diameter in millimeters
flow_rate_lpmYesFlow rate in liters per minute
pipe_length_mYesPipe length in meters
fittings_countNoNumber of fittings and elbows (each adds ~0.5m equivalent length)
elevation_change_mNoElevation change in meters (positive = uphill, negative = downhill)

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 closed-world scope, so the safety profile is covered. The description adds that friction and elevation losses are both modeled, which is useful physical-behavior context, but says nothing about the underlying formula (Hazen-Williams vs Darcy), fluid assumptions, or result units.

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 tight sentences with the purpose front-loaded and no filler. The 'Returns: {equiv_length_m}' fragment is partly redundant with the existing output schema, which keeps it just short of a 5.

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 an output schema present, return values needn't be spelled out, and annotations carry the safety profile. However, a calculator with 5 physics parameters and a documented result should state its modeling assumptions and result units; the description leaves the agent to infer that this is per-segment steady-state water flow.

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 fittings_count and elevation_change_m are already documented with units and defaults. The description adds no further parameter meaning beyond echoing 'friction and elevation', 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 states a specific verb and resource ('Calculate water pressure loss in a pipe circuit') and scopes it to 'friction and elevation', which distinguishes it from plumbing siblings like calculate_pipe_flow_rate or calculate_pipe_diameter. It stops short of naming a sibling it is not, so an agent must still infer the boundary against those tools.

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?

'See list_bundles for related plomberie calculators' is a discovery pointer, not usage guidance. It never says when to pick this tool over calculate_pipe_flow_rate, calculate_hydraulic_pressure, or calculate_pump_power, nor whether it covers a single pipe segment or a whole circuit.

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

calculate_wavelength_frequencyCalculate Wavelength FrequencyA
Read-onlyIdempotent
Inspect

Solve c=λ·f for EM waves. Provide wavelength or frequency. Also returns photon energy E=hf. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
frequency_hzNoFrequency in Hz
wavelength_mNoWavelength in meters

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already establish the safety profile (readOnly, idempotent, non-destructive, closed-world), so the burden is light. The description earns credit for disclosing a behavioral trait the annotations cannot: that the tool returns an extra derived value (photon energy E=hf) beyond the raw wavelength/frequency solve.

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 short sentences, front-loaded with the governing equation, then the input rule, then the extra output, then a cross-reference. Every sentence carries information and nothing is 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 pure two-input calculator with an output schema and full annotation coverage, this is nearly complete: inputs, governing relation, supplementary output, and a pointer to related bundles. It only omits edge-case behavior (e.g. what happens if both or neither value is supplied).

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 schema already defines both numeric parameters and their units, making 3 the baseline. The description adds genuine meaning the schema lacks: that the two inputs are alternatives ('provide wavelength or frequency') rather than both required, since the schema marks neither as required and gives no either-or guidance.

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 ('Solve c=λ·f for EM waves') plus the supplementary output (photon energy E=hf), so an agent knows exactly what computation happens. It does not explicitly distinguish itself from near-neighbours such as calculate_wave_properties or calculate_frequency_note, 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?

'Provide wavelength or frequency' tells the agent which inputs to supply, which is useful invocation context, but there is no statement of when to prefer this tool over the other wave/frequency calculators in the sibling list, nor any when-not condition. Usage is implied rather than spelled out.

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

calculate_wave_propertiesCalculate Wave PropertiesC
Read-onlyIdempotent
Inspect

Compute wave frequency, wavelength, or period from any two. Formula: c=λ·f. Use for physics or acoustics. Inputs: any 2 of (frequency Hz, wavelength m, speed m/s). Returns missing values. See list_bundles for related 'science' calculators.

NameRequiredDescriptionDefault
speed_msNoWave speed m/s (343=sound)
frequency_hzYesFrequency in Hz

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.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, so safety needs no restatement. The description adds the governing formula and notes it returns the missing value, which is modest added context (and partly redundant since an output schema exists). It discloses no defaults or resolution behavior beyond 'Returns missing values'.

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?

Compact and front-loaded: verb, formula, domain, inputs, output, cross-reference. Every element is short, though the 'any 2 of...' clause is wasted space because it misdescribes the schema and the trailing list_bundles pointer dilutes the focus.

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?

An output schema and full annotation set cover the safety and return contracts, so those needn't be explained. But the description's core input contract is inconsistent with the schema (nonexistent wavelength param, 'any 2' vs a required frequency), leaving an agent unsure what the tool actually computes — a material completeness failure for a parameterized calculator.

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 coverage is 100% and the schema documents frequency_hz and speed_ms (with the 343 sound default). The description actively introduces a 'wavelength m' input and a 'pick any 2' contract that the schema does not support (frequency_hz is required, and no wavelength field exists), which confuses rather than clarifies parameter semantics.

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

Purpose3/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 resources (wave frequency, wavelength, or period) with a formula, which is clear on its face. However, it does not differentiate from the very close sibling calculate_wavelength_frequency (nor calculate_speed_of_sound), and its stated scope ('any two of frequency/wavelength/speed') does not match the tool's actual capabilities, making the purpose partly misleading.

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?

'Use for physics or acoustics' is a vague domain hint rather than a when-to-use/when-not-to-use rule. It offers a cross-reference to list_bundles for 'science' calculators but never routes the agent to or away from the directly competing siblings like calculate_wavelength_frequency or calculate_pendulum_period.

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

calculate_wind_chillCalculate Wind ChillB
Read-onlyIdempotent
Inspect

Calculate the perceived wind chill temperature (Environment Canada formula). Returns: {feels_colder_by_degrees}. See list_bundles for related 'astronomie-nature' calculators.

NameRequiredDescriptionDefault
temperature_cYesAir temperature in degrees C (must be 10C or below)
wind_speed_kmhYesWind speed in km/h

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so the safety profile is fully covered elsewhere. The description adds the formula provenance and names the return field, which is modest but real context beyond the annotations without contradicting them.

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 tight sentences with the operation and formula front-loaded, followed by a compact 'Returns:' clause. The list_bundles pointer is the weakest element and skews promotional rather than operational, costing a point.

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 the description is not obligated to explain return values further, and param constraints live in the schema. For a two-parameter pure calculator with full annotation coverage, only the missing distinction from heat_index keeps this 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 both parameters are already documented in the schema, including the 10C ceiling on temperature_c. The description adds no units, ranges, or edge-case behavior (e.g. wind chill undefined above 10C) beyond what the structured schema supplies, making the 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?

States a specific verb and resource ('Calculate the perceived wind chill temperature') and even names the formula variant (Environment Canada), which is meaningful for a tool whose sibling calculate_heat_index covers an adjacent concept. It does not explicitly say how it differs from heat_index or the generic temperature converters, so it stops short of full sibling differentiation.

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

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-to-use, or alternative tool is named. The only routing hint ('See list_bundles for related astronomie-nature calculators') is a bundle cross-sell, not guidance on selecting this tool over calculate_heat_index or convert_temperature.

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

calculate_wire_gauge_convertCalculate Wire Gauge ConvertB
Read-onlyIdempotent
Inspect

Convert AWG wire gauge to diameter (mm) and resistance (ohms/m). Use for electrical projects. Inputs: AWG number. Returns diameter, area, resistance, max current. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
awgYesAWG gauge number

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 fully covered. The description adds the output fields (diameter, area, resistance, max current), but that information is already carried by the existing output schema, so the added behavioral 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.

Conciseness4/5

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

Front-loaded with the core conversion in the first sentence, and the whole description is short. The "Inputs:" and "Returns:" sentences are largely redundant given the schema and output schema, so a small amount of waste remains.

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 single-parameter, read-only converter with an output schema, the description covers purpose, input and returned quantities adequately. It is missing only the sibling disambiguation and precision/rounding context, which are minor 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% for the single 'awg' parameter, so the schema already documents the input. "Inputs: AWG number" merely restates it and adds no range, unit or format detail beyond the schema's min/max bounds; 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: convert AWG wire gauge to diameter and resistance, with concrete output units (mm, ohms/m). An agent can distinguish this from most siblings, though it never names the nearest neighbors (e.g. calculate_cable_section, calculate_ohms_law) that could plausibly compete.

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?

"Use for electrical projects" is a domain label, not a usage rule; there is no when-to-use vs. when-not and no alternative named. The "See list_bundles for related 'conversions' calculators" line is a navigation pointer, not selection guidance.

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

calculate_working_daysCalculate Working DaysA
Read-onlyIdempotent
Inspect

Count working days Mon-Fri between two dates with optional French public holiday exclusion. Returns: {working_days, public_holidays_excluded}. See list_bundles for related 'temps-rh' calculators.

NameRequiredDescriptionDefault
countryNoCountry for public holidays (FR supported)FR
end_dateYesYYYY-MM-DD — End date
start_dateYesYYYY-MM-DD — Start date

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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, so the safety profile is covered. The description adds the Mon-Fri convention and holiday behavior, but it does not clarify whether holiday exclusion is a toggle or simply inferred from the country parameter, and the restated return shape is redundant with the 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.

Conciseness4/5

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

Two tight sentences with the core behavior front-loaded; the trailing 'See list_bundles' cross-reference is short but slightly tangential to invocation. Overall efficient with almost no waste.

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 shape need not be explained, and annotations cover the safety profile, so the description only needs to convey the calculation rule, which it does. The only gap is the mild ambiguity around whether French holiday exclusion is always applied for country=FR.

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 start_date, end_date and the country enum. The description reinforces the weekday and French-holiday semantics but adds no new format or constraint detail beyond what the schema provides, making 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?

States a specific verb and resource ('Count working days') and pins the scope precisely with 'Mon-Fri between two dates'. This distinguishes it from the many date-counting siblings such as calculate_days_between, since it declares the day-of-week and holiday rules that define its 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 closing pointer to list_bundles gives some context for discovery, but there is no explicit when-to-use or when-not-to-use guidance, and it never names a competing tool like calculate_days_between or calculate_leave_days. Usage must be inferred from the purpose statement.

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

calculate_z_scoreCalculate Z ScoreA
Read-onlyIdempotent
Inspect

Compute z-score (standardized score) and percentile from a value, mean, and standard deviation. Use for statistics and outlier detection. Returns z, percentile, p-value. See list_bundles for related 'math' calculators.

NameRequiredDescriptionDefault
meanYesPopulation mean
valueYesObserved value
std_devYesStandard deviation

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and destructiveHint=false, so the safety profile is fully covered externally. The description adds only that z, percentile and p-value are produced, which duplicates the output schema; there is no mention of domain errors such as division when std_dev approaches the 0.001 minimum. Adds some context but nothing beyond 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.

Conciseness4/5

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

Three short sentences, front-loaded with the operation and its inputs, followed by usage and a cross-reference. The 'Returns z, percentile, p-value' sentence is largely redundant with the existing output schema, which is the only wasted 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?

For a pure three-number calculator with complete schema coverage, a full annotation safety profile and an output schema, the description covers purpose, inputs, usage context and a discovery pointer. The remaining gap is the absence of disambiguation from calculate_percentile_rank and calculate_statistics.

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 already carries its own description ('Observed value', 'Population mean', 'Standard deviation'). The description restates those same three inputs without adding format, unit, or edge-case semantics (e.g. the std_dev minimum of 0.001), 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 names a specific verb+resource ('Compute z-score (standardized score) and percentile') and enumerates the three inputs, so the agent knows exactly what operation this performs. It stops short of distinguishing itself from overlapping siblings such as calculate_percentile_rank or calculate_statistics, which also touch standardized scores.

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?

'Use for statistics and outlier detection' gives a usage context, and the list_bundles pointer offers a discovery path, but there is no when-not guidance and no explicit routing away from the near-duplicate percentile/statistics calculators. Adequate but thin given how crowded the sibling set is.

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

convert_angleConvert AngleB
Read-onlyIdempotent
Inspect

Convert angle between degrees, radians, gradians, turns, arcminutes, arcseconds. Use for math, navigation, surveying. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesAngle value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, non-destructive and closed-world, so safety is fully covered. The description adds only a thin input list and a placeholder-shaped "Returns: {input}" that conveys no real behavioral information such as rounding, 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.

Conciseness3/5

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

One tight sentence of purpose followed by useful domain hints, but "Inputs: value, from, to" merely restates the schema and "Returns: {input}" is an unrendered template artifact that adds noise rather than meaning.

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?

A simple 3-parameter read-only converter with a full output schema needs little prose, and the description covers purpose and units. However it omits the duplicate-sibling disambiguation and contains a unit list inconsistent with the enum, so it is only adequate.

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 coverage is 100% so the baseline is 3, but the description lists arcminutes and arcseconds as convertible units while the schema enum only permits degree, radian, gradian and turn. That mismatch actively misleads an agent about valid inputs, dropping it below baseline.

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 (angle) and enumerates the exact unit set, which distinguishes it from convert_area, convert_volume and the other convert_* siblings at a glance. An agent can pick this 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 Guidelines3/5

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

"Use for math, navigation, surveying" gives domain context but no when-not guidance and no disambiguation from the near-identical sibling calculate_angle_convert. 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.

convert_areaConvert AreaB
Read-onlyIdempotent
Inspect

Convert area between m², km², ha, are, acre, ft², yd², cm². Use for real estate, agriculture, or construction. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesArea value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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, and non-destructive, so the safety profile is fully covered structurally. The description adds only a tautological 'Returns: {input}' which conveys no real behavioral information.

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?

Front-loaded unit list is good, but 'Returns: {input}' is a meaningless placeholder that earns no place, and the trailing 'See list_bundles...' pointer is tangential to invoking 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 no explanation, and the description covers units and usage domains. With full schema coverage and annotations, it is essentially complete, missing only explicit sibling routing.

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 from/to carry enums, so the schema fully documents the parameters. The description merely restates 'Inputs: value, from, to' without adding format or constraint meaning, 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+resource ('Convert area') and enumerates the full unit set (m², km², ha, are, acre, ft², yd², cm²). This distinguishes it from sibling converters like convert_distance or convert_volume, though the shared 'convert_*' family is not explicitly contrasted.

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?

'Use for real estate, agriculture, or construction' gives domain context but no when-not guidance and never names the alternative converters an agent should pick instead for length, volume, or angle.

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

convert_cookingConvert CookingB
Read-onlyIdempotent
Inspect

Convert cooking measurements between ml, L, g, kg, cup, tbsp, tsp, fl_oz, oz. Use for recipe scaling and translating. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesQuantity

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.1/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, so the safety profile is fully covered externally. The description adds only 'Returns: {input}', a cryptic placeholder that conveys little, so it adds minimal behavioral context beyond 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.

Conciseness3/5

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

The purpose sentence is front-loaded and efficient, but 'Returns: {input}' is a wasted, unhelpful fragment given a full output schema exists, and the trailing 'See list_bundles' sentence is tangential.

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 is present so return values need not be explained, and annotations cover safety. The remaining gaps are the unit/enum mismatch and the absence of guidance against the numerous near-identical conversion siblings, leaving the agent to guess among them.

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 coverage is 100%, so the schema already documents all three parameters, but the description's unit list ('ml, L, g, kg, cup, tbsp, tsp, fl_oz, oz') contradicts the schema enum (cup, tbsp, tsp, ml, fl_oz, l): g, kg, and oz are not valid values. This misleading enumeration actively undermines the otherwise complete 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 'Convert' and a specific resource 'cooking measurements', and enumerates the units, which distinguishes it from the generic convert_volume sibling. It does not, however, differentiate itself from the very close sibling calculate_cooking_conversion or explain why both exist.

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?

'Use for recipe scaling and translating' gives a use case, but there is no when-not guidance and no named alternative among the many conversion siblings (calculate_baking_conversion, convert_volume, calculate_recipe_scale). The 'See list_bundles' pointer is a weak, indirect hint rather than routing guidance.

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

convert_data_storageConvert Data StorageB
Read-onlyIdempotent
Inspect

Convert between digital storage units (binary and decimal). Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesStorage value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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. The description adds that both binary and decimal units are supported, which is useful behavioral context, but the 'Returns: {input}' line reads as an unhelpful placeholder rather than real disclosure about output format 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.

Conciseness4/5

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

The description is short and front-loads the core purpose in the first sentence. The second sentence is somewhat wasteful: 'Returns: {input}' is a boilerplate placeholder that adds no information, and the list_bundles pointer is tangential, but the overall length is efficient.

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 three-parameter, fully schema-documented conversion tool with an output schema and strong annotations, the description covers the essential nuance that both binary and decimal units are handled. It need not explain return values because an output schema exists, though details like rounding or precision conventions are left 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%, so the schema fully documents value, from, and to, including the enum of units. The description's mention of binary and decimal hints at the kB vs KiB distinction, but the enums already expose kib, mib, and gib, so no meaningful parameter detail is added beyond the structured fields.

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 first sentence states a specific verb and resource ('Convert between digital storage units') and scopes it to binary and decimal units, which distinguishes it from generic convert_* siblings such as convert_area or convert_distance. It does not explicitly name alternatives, but the resource naming makes the purpose unambiguous.

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, or alternative-tool guidance. The only pointer, 'See list_bundles for related conversions calculators,' directs to a discovery bundle rather than explaining when this specific tool should be chosen over the many sibling convert_* and calculate_* conversion tools.

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

convert_distanceConvert DistanceA
Read-onlyIdempotent
Inspect

Convert distance between metric (m, km, cm, mm) and imperial (in, ft, yd, mi) plus nautical miles. Use for travel, sport, or engineering. Inputs: value, from, to. Returns: {input, factor}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesDistance value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.7/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, so the safety profile is fully covered. The description adds the expected I/O shape ("Inputs: value, from, to. Returns: {input, factor}") but no extra behavioral detail such as rounding precision, invalid-unit handling, or negative-value 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 short front-loaded sentences: what it converts, where it applies, then I/O and a cross-reference. Tight and scannable, with only the list_bundles pointer being of marginal value.

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, complete enum coverage, and annotations covering the safety profile, the description needs only to identify the operation and its scope, which it does. The stated return shape ({input, factor}) looks like a partial guess rather than the converted value, a minor risk given the output schema already defines 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% and both enum parameters are documented there, so the schema carries the burden. The description's "Inputs: value, from, to" merely restates the schema and adds no format or constraint detail beyond it; 3 is the correct baseline.

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 the exact operation (unit conversion of distance) and enumerates the full supported unit set, metric and imperial plus nautical miles. This cleanly separates it from ambiguous siblings such as calculate_distance_2d, calculate_flight_distance, and calculate_light_year_distance, which compute distances rather than convert units.

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?

"Use for travel, sport, or engineering" gives domain context but no when-to-use/when-not-to-use logic and does not route the agent between this tool and the other convert_* siblings or calculate_distance_* tools. The mention of list_bundles is a weak cross-reference rather than a selection rule.

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

convert_energyConvert EnergyC
Read-onlyIdempotent
Inspect

Convert energy between J, kJ, cal, kcal, kWh, BTU, eV, ft-lb. Use for nutrition, electricity, science. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesEnergy value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds essentially no behavioral context (no error behavior for unsupported units, no precision/rounding note), and its unit list includes 'ft-lb', which the schema enum does not support — a misleading claim rather than added transparency.

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?

Three short sentences, front-loaded with the capability before the use cases. However 'Returns: {input}.' is a malformed placeholder that consumes space without conveying anything, and an output schema already exists.

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?

Unit scope, a usage hint, and a pointer to list_bundles cover the essentials, and the output schema handles return values. The inaccuracy of listing ft-lb as convertible leaves an agent without a reliable view of accepted inputs.

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 100% with enums on 'from' and 'to', so the baseline would be 3; 'Inputs: value, from, to' merely restates the schema. Worse, the advertised unit set (J, kJ, cal, kcal, kWh, BTU, eV, ft-lb) conflicts with the actual enum (cal, kcal, j, kj, kwh, btu, ev), which could cause an agent to pass an invalid unit.

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 ('Convert energy') and enumerates the supported units, which meaningfully separates it from the many other convert_* siblings (convert_pressure, convert_angle, convert_weight). It does not name a sibling to differentiate against, keeping it 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?

'Use for nutrition, electricity, science' gives domain context but no when-to-use vs. alternatives condition and no exclusions. It also fails to say how this differs from calculate_energy_physics or calculate_kinetic_energy, which are adjacent energy tools in the sibling list.

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

convert_fuel_consumptionConvert Fuel ConsumptionA
Read-onlyIdempotent
Inspect

Convert fuel consumption between L/100km, mpg-US, mpg-UK, km/L. Use for car comparison across regions. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesConsumption value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.6/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 fully covered by structured data. The description adds only that a result is returned; it says nothing about edge cases such as zero/invalid values or the fact that a fuel-economy conversion is non-linear (L/100km is inversely related to mpg).

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?

Short and front-loaded: purpose, use case, inputs, return, cross-reference, in that order. The literal "Returns: {input}" is a cryptic placeholder that reads as a template artifact, costing it a point.

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 three-parameter, pure-function conversion with a full schema, complete enums, an output schema and full annotation coverage, the description supplies everything an agent needs to call it correctly. Nothing material 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% and both from/to carry enums with descriptions, so the schema already carries the parameter burden. The description's restatement ("Inputs: value, from, to") and unit list add no meaning beyond what is already documented.

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 (fuel consumption) and enumerates all four supported units, so the operation is unambiguous. It does not, however, distinguish itself from the very close sibling calculate_fuel_economy_conversion, which an agent could easily pick instead.

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?

"Use for car comparison across regions" gives a loose usage context, but there is no when-not guidance and no mention of the near-duplicate siblings (calculate_fuel_consumption, calculate_fuel_economy_conversion). The pointer to list_bundles is a cross-reference, not selection guidance.

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

convert_pressureConvert PressureB
Read-onlyIdempotent
Inspect

Convert pressure between Pa, kPa, MPa, bar, psi, atm, mmHg, mbar, torr. Use for engineering, tires, weather. Inputs: value, from-unit, to-unit. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesPressure value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.3/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's only behavioral addition is 'Returns: {input}', an unrendered placeholder that conveys nothing, and its unit list actually overstates support (see parameter issues), so it adds little 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.

Conciseness4/5

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

Front-loaded with the action and unit list, then usage context, then inputs and sibling pointer. Tight overall, though the 'Returns: {input}' fragment is dead weight given an output schema exists.

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 stateless, read-only conversion with full annotations and an output schema, the description covers units, intended domains, inputs and a related-tools pointer. The main gap is the unit list disagreeing with the schema enum, which is a real correctness risk for callers.

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 coverage is 100% and the enums document valid units, so the baseline would be 3. But the description actively misleads: it lists MPa and torr as supported units and names the parameters 'from-unit'/'to-unit' whereas the schema uses 'from'/'to' with an enum lacking MPa and torr, so an agent following the prose could pass an invalid unit.

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 ('Convert pressure') and enumerates the unit set, so the agent immediately knows what the tool computes. However, it never distinguishes itself from the near-duplicate sibling calculate_pressure_convert (nor the other convert_* tools), leaving the agent unable to choose between them on description text alone.

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?

'Use for engineering, tires, weather' gives positive context about when the tool applies. There is no when-not guidance, no mention of the overlapping calculate_pressure_convert sibling, and no note on which unit conventions or rounding apply, so routing guidance is only implied.

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

convert_shoe_sizeConvert Shoe SizeC
Read-onlyIdempotent
Inspect

Convert shoe sizes between EU, US (men/women), and UK systems. Use for online shopping. Inputs: size, from, to, gender. Returns converted size. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget system
fromYesSource system
valueYesShoe size

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

C2.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 safety behavior is covered. The description adds only "Returns converted size" (already implied by the output schema) and no precision/rounding or edge-case behavior. No contradiction with annotations, but little value beyond them.

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?

Four short sentences, front-loaded with the core purpose, so it is not bloated. However, the input list is wrong and the trailing list_bundles pointer is off-target, so parts of the brevity come at the cost of accuracy.

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 output schema covers the return value, so that need not be explained. Still missing: how gender should be expressed (it is only implicit in the us_m/us_w enum), whether conversions round, and any routing between this and calculate_shoe_size_convert. The phantom "gender" input leaves a real gap.

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 coverage is 100%, so the baseline would be 3, but the description actively misinforms: it lists inputs as "size, from, to, gender" while the schema defines "value" (not "size") and has no "gender" parameter at all — gender is encoded in the us_m/us_w enum values. This sends an agent looking for a parameter that does not exist.

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 (shoe sizes) and enumerates the supported systems (EU, US men/women, UK), which is enough to understand the operation at a glance. It does not distinguish itself from the near-identical siblings calculate_shoe_size_convert and calculate_shoe_size, 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?

"Use for online shopping" is a vague, non-actionable context with no when-not guidance. It points the agent to list_bundles for "related conversions calculators" rather than to the obvious sibling calculate_shoe_size_convert, which is the alternative an agent actually needs to disambiguate.

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

convert_speedConvert SpeedA
Read-onlyIdempotent
Inspect

Convert speed between km/h, mph, m/s, knots, ft/s. Use for travel, sport, or maritime/aviation. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesSpeed value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 only the unit vocabulary and a vague 'Returns: {input}' note, which is largely redundant with the output schema, so it contributes little beyond structured 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 compact sentences with the scope front-loaded and no filler. The trailing 'Returns: {input}. See list_bundles...' sentence is slightly noisy given an output schema exists, but overall it is tight.

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 closed-world pure conversion with full annotation coverage, 100% schema coverage, and an output schema, the description covers purpose, units, and usage context adequately. It is only marginally incomplete in not clarifying the enum label mapping or return shape, both of which are already structured.

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% with enums on both 'from' and 'to', so the schema already documents the parameters. The description's unit list (km/h, mph, m/s, knots, ft/s) loosely maps those labels to the enum values (kmh, mph, ms, knots, fts), but does not explain the value/source/target roles. 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 (Convert) and resource (speed) and enumerates the exact unit set (km/h, mph, m/s, knots, ft/s). This cleanly distinguishes it from neighbors such as convert_distance, convert_pressure, and calculate_speed_distance_time.

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 concrete application contexts (travel, sport, maritime/aviation) and routes the agent to list_bundles for related conversion calculators. It does not state exclusions or contrast with the sibling calculate_speed_distance_time, 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.

convert_temperatureConvert TemperatureA
Read-onlyIdempotent
Inspect

Convert temperature between Celsius, Fahrenheit, and Kelvin. Use for cooking, weather, science. Inputs: value, from, to. Returns converted temperature. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesTemperature value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 only 'Returns converted temperature,' which is minor and covered by the output schema; it does not disclose precision, rounding, or invalid-input 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?

The description is short and front-loads the core purpose and use cases. However, the 'Inputs: value, from, to' and 'Returns converted temperature' sentences duplicate information already present in the input and output schemas, slightly reducing efficiency.

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 conversion task, full schema coverage, and an existing output schema, the description covers purpose, typical use cases, inputs, and a related-tool pointer. It is nearly complete, though it does not address edge cases such as invalid units or precision handling.

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 value, from, and to, including enums for units. The description merely lists the same input names without adding format, range, or conversion semantics beyond what the schema provides, 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?

States a specific verb and resource: 'Convert temperature between Celsius, Fahrenheit, and Kelvin.' It clearly distinguishes itself from other conversion siblings like convert_angle, convert_area, and convert_weight by naming the exact units and resource.

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 clear contexts for use: cooking, weather, and science. It does not explicitly state when not to use it or name alternatives, but it points to list_bundles for related conversion calculators, giving adequate routing guidance for a simple conversion tool.

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

convert_timeConvert TimeB
Read-onlyIdempotent
Inspect

Convert time between seconds, minutes, hours, days, weeks, months, years. Use for project planning or unit homogenization. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesTime value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the description does not need to repeat that. It adds use-case context, but does not disclose important conversion assumptions such as whether month/year values use calendar or average durations, nor how rounding is handled; 'Returns: {input}.' is not useful behavioral detail.

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 first sentence is front-loaded and defines the operation and supported units clearly, and the remaining sentences are compact. The placeholder-like 'Returns: {input}.' is confusing rather than useful, which slightly weakens the structure.

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?

Given the simple three-parameter shape, rich annotations, 100% schema coverage, and an output schema, the description is close to sufficient. However, for a time conversion tool, the ambiguous month/year basis and rounding behavior are material gaps that the description does not 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 from/to parameters have enums, so the schema already fully documents value, from, and to. The description restates the inputs and units but adds no additional format constraints, edge-case meaning, or conversion rules beyond what the schema provides.

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 ('Convert') and resource ('time') and enumerates the supported units, making the tool's purpose unmistakable. It does not distinguish this tool from close siblings such as calculate_time_difference, calculate_add_hours, or the other convert_* tools beyond a generic list_bundles pointer, 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?

It gives broad use cases ('project planning or unit homogenization') and points to list_bundles for related calculators, which provides some implied guidance. However, it never states when not to use this tool or which sibling handles adjacent operations such as adding hours, computing time differences, or converting time zones.

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

convert_volumeConvert VolumeA
Read-onlyIdempotent
Inspect

Convert volume between L, mL, cL, fl_oz, cup, tbsp, tsp, gal_us, gal_uk. Use for cooking and science. Inputs: value, from, to. Returns: {input}. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesVolume value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the unit set and a placeholder "Returns: {input}" that conveys nothing about behavior, so it earns a baseline 3 rather than more.

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 short sentences, front-loaded with the unit scope before the use case and cross-reference. No filler, though the "Returns: {input}" clause is a wasted placeholder that adds no 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, return values need not be described, and annotations cover safety, so the remaining needs are unit coverage and usage context — both present. The only real gap is sibling differentiation against the many adjacent conversion/volume 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 enums on from/to, so the schema already documents all three parameters. The description restates the parameter names and unit list (in a slightly different casing than the enum values) but adds no syntax, default, or rounding semantics 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 (Convert) and resource (volume) and enumerates the nine supported units, which makes the tool's scope unambiguous. However, it does not differentiate itself from overlapping siblings such as convert_cooking, calculate_cooking_conversion, or calculate_volume, so an agent must infer 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 Guidelines3/5

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

"Use for cooking and science" gives a domain hint but no explicit when-to-use/when-not-to-use rule and no named alternative. Given the dense set of sibling converters and volume calculators, the agent gets implied but not actionable routing guidance.

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

convert_weightConvert WeightA
Read-onlyIdempotent
Inspect

Convert weight/mass between kg, g, mg, lb, oz, st, tonne. Use for cooking, shipping, or fitness. Inputs: value, from, to. Returns converted mass. See list_bundles for related 'conversions' calculators.

NameRequiredDescriptionDefault
toYesTarget unit
fromYesSource unit
valueYesWeight value

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.8/5.0
Behavior3/5

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

The annotations already declare this as a read-only, idempotent, non-destructive operation. The description only adds 'Returns converted mass' and a pointer to list_bundles, which is minimal behavioral context and partly redundant with the output schema. No contradiction is present.

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 description spends sentences restating schema-level details ('Inputs: value, from, to' and 'Returns converted mass') that are already covered by the input and output schemas. The list_bundles pointer is also only loosely relevant, so not every sentence 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 three-parameter conversion tool, the description covers purpose, usage contexts, and output, and an output schema already exists to explain return values. The only notable gap is the 'tonne' versus 'ton' inconsistency, which could confuse unit selection.

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 the schema already documents value, from, and to fully. The description restates 'Inputs: value, from, to' without adding semantic meaning, and its unit list uses 'tonne' while the schema enum uses 'ton', a minor mismatch that does not improve clarity.

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 and resource: 'Convert weight/mass between kg, g, mg, lb, oz, st, tonne.' It names the domain clearly enough to distinguish it from sibling conversion tools such as convert_volume or convert_temperature.

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 usage contexts: 'Use for cooking, shipping, or fitness.' That helps an agent decide when this tool is appropriate, though it does not explicitly exclude other conversion tools or name a specific alternative beyond the vague pointer to list_bundles.

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

get_bundle_toolsGet Bundle ToolsA
Read-onlyIdempotent
Inspect

Get the list of tools in a specific bundle. Returns tool names and descriptions for the requested domain bundle.

NameRequiredDescriptionDefault
bundle_idYesBundle ID from list_bundles

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

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 without the description. The description adds only the shape of the result (tool names plus descriptions), and with an output schema present even that is largely redundant.

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 the action and scope. The second sentence partially restates the first ('list of tools' vs 'tool names and descriptions'), so it is efficient but not maximally tight.

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 rich enum schema, an output schema, and full read-only annotations, the agent has everything needed to invoke this correctly. The only unaddressed item is the relationship to list_bundles, which is minor for a parameterless-in-practice discovery call.

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 single bundle_id parameter carries a full enum of 31 values plus a description, so the schema does all the work. The prose adds no format, casing, or fallback guidance beyond it, making the baseline 3 correct.

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 ('Get') and resource ('list of tools in a specific bundle'), which clearly distinguishes it from the hundreds of calculate_* siblings and from list_bundles. It does not, however, name list_bundles as the source of the bundle_id, so the boundary between the two discovery tools is only implicit.

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 'in a specific bundle' plus the schema note 'Bundle ID from list_bundles' implies the intended two-step flow, but the description itself never says when to call this versus list_bundles or what happens if the bundle is unknown. Usage is implied, not stated.

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

list_bundlesList BundlesA
Read-onlyIdempotent
Inspect

List all available tool bundles (grouped by domain). Use this to discover which tools are available for a specific topic instead of browsing all 500+ tools.

NameRequiredDescriptionDefault
_unusedNoNo parameters needed

Output Schema

NameRequiredDescription
resultNoComputed result. Object whose fields depend on the tool (e.g. {tax, marginal_rate, brackets} for tax tools, {volume_l, gallons} for volume tools).
sourceNoAuthoritative source for the rule or formula (e.g. "Article 197 CGI", "NF DTU 21").
formulaNoHuman-readable formula or method used (e.g. "I=P·r·t", "Magnus formula").
reference_urlNoLink to a calcul2 page documenting the calculation in detail.

TDQS

A3.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, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that bundles are grouped by domain and that there are 500+ tools, but it does not disclose response format, pagination, or whether bundles are static or user-specific; with an output schema present, return details are less critical, making this a modest addition.

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: the first states purpose and structure, the second states usage. It is front-loaded and contains no wasted words.

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 discovery tool with an output schema and full safety annotations, the description covers its purpose and usage adequately. The main omission is that it does not state the natural next step of using get_bundle_tools after selecting a bundle, but the tool can still be invoked correctly from what is provided.

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 tool effectively takes no parameters, and the schema's single placeholder property is fully documented as 'No parameters needed' at 100% coverage. The baseline for zero real parameters is 4, and the description appropriately does not need to explain parameter usage.

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 (List) and resource (tool bundles) with the additional scope that they are grouped by domain, so an agent knows exactly what will be returned. However, it does not explicitly differentiate from the close sibling get_bundle_tools, which retrieves the tools inside a bundle rather than listing the bundles themselves.

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 usage context: use this to discover tools for a specific topic instead of browsing all 500+ tools. That names an alternative (manual browsing), but it does not mention when not to use it or explicitly point to get_bundle_tools as the follow-up for retrieving tools within a chosen bundle.

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. 7 tool updates
    • Changedcalculate_belgian_income_tax1 field changed
      • changedInput schema / properties / income / description
        Previous value: -"Annual taxable income in euros"New value: +"Annual taxable income in euros (after social security and professional expenses)"
    • Changedcalculate_canada_combined_tax1 field changed
      • changedInput schema / properties / income_cad / description
        Previous value: -"Annual income in CAD"New value: +"Annual employment income in CAD"
    • Changedcalculate_french_income_tax1 field changed
      • addedInput schema / properties / couple
        Added value: +{
        +  "default": false,
        +  "description": "true = joint taxation (married/PACS couple, base 2 shares); false = individual taxation (base 1 share)",
        +  "type": "boolean"
        +}
    • Changedcalculate_moroccan_income_tax2 fields changed
      • changedInput schema / properties / annual_income_mad / description
        Previous value: -"Annual gross income in Moroccan Dirhams (MAD)"New value: +"Annual net taxable income (SNI) in MAD: gross minus CNSS/AMO and professional expenses"
      • changedInput schema / properties / dependents / description
        Previous value: -"Number of dependents (360 MAD deduction each, max 6)"New value: +"Number of dependents (tax reduction of 600 MAD/year each, max 6)"
    • Changedcalculate_notary_fees_detailed1 field changed
      • removedInput schema / properties / department
        Removed value: -{
        -  "description": "French department code (optional, affects DMTO rate)",
        -  "type": "string"
        -}
    • Changedcalculate_senegalese_income_tax1 field changed
      • changedInput schema / properties / annual_income_xof / description
        Previous value: -"Annual gross income in CFA Francs (XOF)"New value: +"Annual taxable income in XOF: gross minus the 30 % allowance capped at 900000"
    • Changedcalculate_swiss_salary1 field changed
      • addedInput schema / properties / age
        Added value: +{
        +  "description": "Optional age: adds the LPP employee contribution (ages 25-65); omitted = LPP not included",
        +  "maximum": 70,
        +  "minimum": 17,
        +  "type": "integer"
        +}
  2. 446 tool updates
    • First observedcalculate_1rm_table
    • First observedcalculate_add_hours
    • First observedcalculate_age
    • First observedcalculate_age_in_units
    • First observedcalculate_alcohol_units
    • First observedcalculate_altitude_sickness
    • First observedcalculate_angle_convert
    • First observedcalculate_annuity_payment
    • First observedcalculate_anything
    • First observedcalculate_aquarium_volume
    • First observedcalculate_area
    • First observedcalculate_auto_entrepreneur
    • First observedcalculate_average
    • First observedcalculate_bac_points
    • First observedcalculate_baking_altitude
    • First observedcalculate_baking_conversion
    • First observedcalculate_base_converter
    • First observedcalculate_beam_load
    • First observedcalculate_belgian_car_advantage
    • First observedcalculate_belgian_donation
    • First observedcalculate_belgian_income_tax
    • First observedcalculate_belgian_pension
    • First observedcalculate_belgian_salary
    • First observedcalculate_belgian_social_contributions
    • First observedcalculate_belgian_vat
    • First observedcalculate_biorhythm
    • First observedcalculate_blood_alcohol
    • First observedcalculate_bmi
    • First observedcalculate_bmr
    • First observedcalculate_body_fat
    • First observedcalculate_body_fat_navy
    • First observedcalculate_bpm_to_ms
    • First observedcalculate_bra_size
    • First observedcalculate_bra_size_convert
    • First observedcalculate_braking_distance
    • First observedcalculate_braquet
    • First observedcalculate_bread_hydration
    • First observedcalculate_break_even
    • First observedcalculate_breeding_due_date
    • First observedcalculate_brevet_points
    • First observedcalculate_brick_count
    • First observedcalculate_buoyancy
    • First observedcalculate_burn_rate
    • First observedcalculate_cable_section
    • First observedcalculate_cable_section_electrical
    • First observedcalculate_cac_ltv_ratio
    • First observedcalculate_caffeine_clearance
    • First observedcalculate_caffeine_half_life
    • First observedcalculate_caffeine_intake
    • First observedcalculate_calories_burned
    • First observedcalculate_canada_combined_tax
    • First observedcalculate_canada_ei
    • First observedcalculate_canada_federal_tax
    • First observedcalculate_canada_rrq
    • First observedcalculate_capital_gains_property
    • First observedcalculate_car_depreciation
    • First observedcalculate_car_lease_vs_buy
    • First observedcalculate_carbon_footprint
    • First observedcalculate_carbon_sequestration
    • First observedcalculate_card_draw_probability
    • First observedcalculate_carpet_flooring
    • First observedcalculate_cat_age
    • First observedcalculate_cat_food
    • First observedcalculate_cat_pregnancy
    • First observedcalculate_cheque_repas
    • First observedcalculate_child_support
    • First observedcalculate_chinese_zodiac
    • First observedcalculate_churn_rate
    • First observedcalculate_clothing_size_convert
    • First observedcalculate_compost_volume
    • First observedcalculate_compound_interest
    • First observedcalculate_compound_interest_monthly
    • First observedcalculate_concrete_mix
    • First observedcalculate_concrete_stairs
    • First observedcalculate_condominium_charges
    • First observedcalculate_cone
    • First observedcalculate_confidence_interval
    • First observedcalculate_cooking_conversion
    • First observedcalculate_cooking_time
    • First observedcalculate_cost_per_use
    • First observedcalculate_cost_price
    • First observedcalculate_crop_factor
    • First observedcalculate_crypto_profit_loss
    • First observedcalculate_crypto_tax_fr
    • First observedcalculate_currency_cross_rate
    • First observedcalculate_currency_exchange
    • First observedcalculate_curtain_fabric
    • First observedcalculate_curtain_width
    • First observedcalculate_cycling_power
    • First observedcalculate_cylinder
    • First observedcalculate_daily_protein
    • First observedcalculate_daily_vitamins
    • First observedcalculate_data_transfer_time
    • First observedcalculate_day_of_week
    • First observedcalculate_days_between
    • First observedcalculate_debt_capacity
    • First observedcalculate_debt_service_ratio
    • First observedcalculate_debt_to_income
    • First observedcalculate_delivery_cost
    • First observedcalculate_density
    • First observedcalculate_density_convert
    • First observedcalculate_depth_of_field
    • First observedcalculate_dew_point
    • First observedcalculate_dice_probability
    • First observedcalculate_dilution
    • First observedcalculate_discount
    • First observedcalculate_discount_effective
    • First observedcalculate_distance_2d
    • First observedcalculate_distance_3d
    • First observedcalculate_distance_securite
    • First observedcalculate_distance_to_horizon
    • First observedcalculate_dog_age
    • First observedcalculate_dog_food
    • First observedcalculate_dog_pregnancy
    • First observedcalculate_dog_walking_calories
    • First observedcalculate_dollar_cost_average
    • First observedcalculate_dpe_energy_class
    • First observedcalculate_drain_slope
    • First observedcalculate_dress_alterations
    • First observedcalculate_due_date
    • First observedcalculate_earthquake_energy
    • First observedcalculate_ects_credits
    • First observedcalculate_electrical_power
    • First observedcalculate_electricity_cost
    • First observedcalculate_electricity_cost_appliance
    • First observedcalculate_ellipse
    • First observedcalculate_emergency_fund
    • First observedcalculate_employer_cost_fr
    • First observedcalculate_energy_physics
    • First observedcalculate_equation
    • First observedcalculate_ev_charging_cost
    • First observedcalculate_excavation
    • First observedcalculate_exchange_margin
    • First observedcalculate_exchange_rate_margin
    • First observedcalculate_expected_value_bet
    • First observedcalculate_exposure_triangle
    • First observedcalculate_fabric_needed
    • First observedcalculate_fabric_yardage
    • First observedcalculate_factorial_permutation
    • First observedcalculate_fertilizer_npk
    • First observedcalculate_fish_tank_heater
    • First observedcalculate_flight_distance
    • First observedcalculate_floor_area
    • First observedcalculate_flow_rate_convert
    • First observedcalculate_food_cost_per_serving
    • First observedcalculate_force
    • First observedcalculate_fraction
    • First observedcalculate_fraction_operations
    • First observedcalculate_freezer_duration
    • First observedcalculate_freezer_thaw_time
    • First observedcalculate_french_income_tax
    • First observedcalculate_french_salary
    • First observedcalculate_french_vat
    • First observedcalculate_frequency_note
    • First observedcalculate_fuel_consumption
    • First observedcalculate_fuel_cost
    • First observedcalculate_fuel_economy_conversion
    • First observedcalculate_future_value
    • First observedcalculate_garden_soil
    • First observedcalculate_garden_sunlight_hours
    • First observedcalculate_garden_water_needs
    • First observedcalculate_gas_fee_eth
    • First observedcalculate_gcd_lcm
    • First observedcalculate_gear_ratio
    • First observedcalculate_glycemic_load
    • First observedcalculate_gpa_french
    • First observedcalculate_grade_average
    • First observedcalculate_grade_needed
    • First observedcalculate_gravel_quantity
    • First observedcalculate_grocery_unit_comparison
    • First observedcalculate_harvest_date
    • First observedcalculate_hat_size
    • First observedcalculate_heart_rate_zones
    • First observedcalculate_heat_index
    • First observedcalculate_heat_pump_cop
    • First observedcalculate_horse_weight
    • First observedcalculate_hourly_cost
    • First observedcalculate_housing_aid
    • First observedcalculate_housing_loan_comparison
    • First observedcalculate_hydration
    • First observedcalculate_hydraulic_pressure
    • First observedcalculate_hyperfocal_distance
    • First observedcalculate_ideal_gas
    • First observedcalculate_ideal_weight
    • First observedcalculate_ideal_weight_range
    • First observedcalculate_impermanent_loss
    • First observedcalculate_inflation_adjusted_value
    • First observedcalculate_inflation_adjustment
    • First observedcalculate_inheritance_tax
    • First observedcalculate_insulation_r
    • First observedcalculate_insulation_r_value
    • First observedcalculate_insurance_estimate
    • First observedcalculate_international_shipping
    • First observedcalculate_inventory_eoq
    • First observedcalculate_inventory_turnover
    • First observedcalculate_jet_lag_recovery
    • First observedcalculate_kinetic_energy
    • First observedcalculate_knitting_yarn
    • First observedcalculate_laundry_cost
    • First observedcalculate_lawn_mowing_frequency
    • First observedcalculate_lawn_seed
    • First observedcalculate_leave_days
    • First observedcalculate_led_savings
    • First observedcalculate_life_path_numerology
    • First observedcalculate_light_year
    • First observedcalculate_light_year_distance
    • First observedcalculate_linear_regression
    • First observedcalculate_lmnp_amortization
    • First observedcalculate_lmnp_deficit
    • First observedcalculate_loan_early_repayment
    • First observedcalculate_loan_payment
    • First observedcalculate_loan_to_value
    • First observedcalculate_logarithm
    • First observedcalculate_lottery_odds
    • First observedcalculate_luggage_weight
    • First observedcalculate_malus_ecologique
    • First observedcalculate_marathon_splits
    • First observedcalculate_markup_margin
    • First observedcalculate_maternity_leave_fr
    • First observedcalculate_max_heart_rate
    • First observedcalculate_meat_cooking
    • First observedcalculate_meat_cooking_time
    • First observedcalculate_menstrual_cycle
    • First observedcalculate_mining_profitability
    • First observedcalculate_moon_phase
    • First observedcalculate_moroccan_cnss
    • First observedcalculate_moroccan_income_tax
    • First observedcalculate_moroccan_profit_foncier
    • First observedcalculate_moroccan_vat
    • First observedcalculate_mortgage
    • First observedcalculate_mortgage_insurance
    • First observedcalculate_motor_torque
    • First observedcalculate_moving_cost_detailed
    • First observedcalculate_moving_volume
    • First observedcalculate_net_worth
    • First observedcalculate_night_shift_pay
    • First observedcalculate_notary_fees
    • First observedcalculate_notary_fees_detailed
    • First observedcalculate_number_base_convert
    • First observedcalculate_ohms_law
    • First observedcalculate_one_rep_max
    • First observedcalculate_overtime_fr
    • First observedcalculate_overtime_pay_fr
    • First observedcalculate_ovulation
    • First observedcalculate_paint_needed
    • First observedcalculate_paint_quantity
    • First observedcalculate_paper_size_convert
    • First observedcalculate_parcoursup_points
    • First observedcalculate_parcoursup_score
    • First observedcalculate_part_time
    • First observedcalculate_passport_validity
    • First observedcalculate_pasta_portions
    • First observedcalculate_pendulum_period
    • First observedcalculate_percentage
    • First observedcalculate_percentage_change
    • First observedcalculate_percentile_rank
    • First observedcalculate_perimeter
    • First observedcalculate_pet_age
    • First observedcalculate_pet_bmi
    • First observedcalculate_pet_food_portion
    • First observedcalculate_pet_medication_dose
    • First observedcalculate_pet_vaccination_schedule
    • First observedcalculate_ph
    • First observedcalculate_pinel_tax_reduction
    • First observedcalculate_pipe_diameter
    • First observedcalculate_pipe_flow_rate
    • First observedcalculate_planet_weight
    • First observedcalculate_plaster
    • First observedcalculate_poker_hand_probability
    • First observedcalculate_pool_chlorine
    • First observedcalculate_pool_volume
    • First observedcalculate_portage_salarial
    • First observedcalculate_portfolio_allocation
    • First observedcalculate_power_unit_convert
    • First observedcalculate_pregnancy_due_date
    • First observedcalculate_present_value
    • First observedcalculate_pressure_convert
    • First observedcalculate_prime_activite
    • First observedcalculate_print_resolution
    • First observedcalculate_probability_binomial
    • First observedcalculate_profit_margin
    • First observedcalculate_projectile_motion
    • First observedcalculate_property_capital_gains_fr
    • First observedcalculate_property_tax_estimate_fr
    • First observedcalculate_property_tax_fr
    • First observedcalculate_property_transfer_tax
    • First observedcalculate_ptz_eligibility
    • First observedcalculate_puissance_fiscale
    • First observedcalculate_pump_power
    • First observedcalculate_purchasing_power
    • First observedcalculate_pyramid
    • First observedcalculate_pythagoras
    • First observedcalculate_quadratic_equation
    • First observedcalculate_quebec_income_tax
    • First observedcalculate_race_prediction
    • First observedcalculate_radioactive_decay
    • First observedcalculate_rainwater_collection
    • First observedcalculate_raised_bed_soil
    • First observedcalculate_ratio_simplify
    • First observedcalculate_reading_time
    • First observedcalculate_real_estate_agency_fees
    • First observedcalculate_recipe_nutrition
    • First observedcalculate_recipe_scale
    • First observedcalculate_recipe_scaling
    • First observedcalculate_regular_polygon
    • First observedcalculate_rent_increase_irl
    • First observedcalculate_rent_ratio
    • First observedcalculate_rental_profitability
    • First observedcalculate_rental_yield
    • First observedcalculate_rental_yield_gross
    • First observedcalculate_rental_yield_net
    • First observedcalculate_retirement_date
    • First observedcalculate_retirement_pension
    • First observedcalculate_retirement_savings_gap
    • First observedcalculate_reverb_predelay
    • First observedcalculate_ring_size
    • First observedcalculate_ring_size_convert
    • First observedcalculate_roi
    • First observedcalculate_roman_numeral
    • First observedcalculate_roof_area
    • First observedcalculate_roof_truss
    • First observedcalculate_rule_of_72
    • First observedcalculate_rule_of_three
    • First observedcalculate_running_pace
    • First observedcalculate_salary_comparison_ppp
    • First observedcalculate_salary_hourly_to_annual
    • First observedcalculate_sample_size
    • First observedcalculate_savings_goal
    • First observedcalculate_scholarship_comparison
    • First observedcalculate_sci_is_vs_ir
    • First observedcalculate_seed_quantity
    • First observedcalculate_senegalese_css
    • First observedcalculate_senegalese_income_tax
    • First observedcalculate_senegalese_vat
    • First observedcalculate_sequence
    • First observedcalculate_severance_pay
    • First observedcalculate_shipping_volumetric
    • First observedcalculate_shoe_size
    • First observedcalculate_shoe_size_convert
    • First observedcalculate_simple_interest
    • First observedcalculate_sleep_cycles
    • First observedcalculate_slope
    • First observedcalculate_smoking_savings
    • First observedcalculate_soil_ph_amendment
    • First observedcalculate_solar_panel_output
    • First observedcalculate_solar_roi
    • First observedcalculate_solution_dilution
    • First observedcalculate_speed_distance_time
    • First observedcalculate_speed_of_sound
    • First observedcalculate_sphere
    • First observedcalculate_spring_constant
    • First observedcalculate_staircase
    • First observedcalculate_staking_rewards
    • First observedcalculate_stamp_duty_uk
    • First observedcalculate_star_magnitude_distance
    • First observedcalculate_statistics
    • First observedcalculate_string_tension
    • First observedcalculate_student_loan_repayment
    • First observedcalculate_study_schedule
    • First observedcalculate_sun_exposure
    • First observedcalculate_sunrise_approx
    • First observedcalculate_sunrise_sunset
    • First observedcalculate_sunscreen_reapply
    • First observedcalculate_surface_carrez
    • First observedcalculate_swimming_pace
    • First observedcalculate_swiss_income_tax
    • First observedcalculate_swiss_lpp
    • First observedcalculate_swiss_pillar3a
    • First observedcalculate_swiss_salary
    • First observedcalculate_swiss_vat
    • First observedcalculate_swiss_wealth_tax
    • First observedcalculate_tdee
    • First observedcalculate_telescope_magnification
    • First observedcalculate_tile_grout
    • First observedcalculate_tile_quantity
    • First observedcalculate_time_difference
    • First observedcalculate_time_signature_beats
    • First observedcalculate_time_zone_difference
    • First observedcalculate_timezone_convert
    • First observedcalculate_timezone_offset
    • First observedcalculate_tip
    • First observedcalculate_tip_split
    • First observedcalculate_tip_worldwide
    • First observedcalculate_torus
    • First observedcalculate_training_zones_running
    • First observedcalculate_travel_budget
    • First observedcalculate_travel_insurance
    • First observedcalculate_travel_insurance_estimate
    • First observedcalculate_triangle_heron
    • First observedcalculate_trigonometry
    • First observedcalculate_uk_council_tax
    • First observedcalculate_uk_income_tax
    • First observedcalculate_uk_ni_contributions
    • First observedcalculate_uk_student_loan
    • First observedcalculate_uk_vat
    • First observedcalculate_unemployment_benefit
    • First observedcalculate_unit_price
    • First observedcalculate_us_401k
    • First observedcalculate_us_capital_gains
    • First observedcalculate_us_child_tax_credit
    • First observedcalculate_us_federal_tax
    • First observedcalculate_us_fica
    • First observedcalculate_us_mortgage
    • First observedcalculate_us_paycheck
    • First observedcalculate_us_property_tax
    • First observedcalculate_us_state_tax
    • First observedcalculate_us_student_loan
    • First observedcalculate_vacation_days_fr
    • First observedcalculate_vacation_days_optimal
    • First observedcalculate_vat_generic
    • First observedcalculate_vat_reverse
    • First observedcalculate_velo_development
    • First observedcalculate_vma
    • First observedcalculate_vo2max
    • First observedcalculate_voltage_adapter
    • First observedcalculate_volume
    • First observedcalculate_waist_hip_ratio
    • First observedcalculate_wallpaper
    • First observedcalculate_wallpaper_rolls
    • First observedcalculate_water_bill
    • First observedcalculate_water_hardness
    • First observedcalculate_water_heater_size
    • First observedcalculate_water_intake
    • First observedcalculate_water_pressure_loss
    • First observedcalculate_wave_properties
    • First observedcalculate_wavelength_frequency
    • First observedcalculate_wind_chill
    • First observedcalculate_wire_gauge_convert
    • First observedcalculate_working_days
    • First observedcalculate_z_score
    • First observedconvert_angle
    • First observedconvert_area
    • First observedconvert_cooking
    • First observedconvert_data_storage
    • First observedconvert_distance
    • First observedconvert_energy
    • First observedconvert_fuel_consumption
    • First observedconvert_pressure
    • First observedconvert_shoe_size
    • First observedconvert_speed
    • First observedconvert_temperature
    • First observedconvert_time
    • First observedconvert_volume
    • First observedconvert_weight
    • First observedget_bundle_tools
    • First observedlist_bundles

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    French salary and freelance calculators for AI assistants: gross to net pay, severance, unemployment benefits (ARE), housing aid (APL), overtime, paid leave, freelance income (micro-entreprise, EURL, SASU, portage). 21 tools, 2026 French rules, free, no sign-up, open source (MIT). calculsalairebrutnet.fr
    2
    21
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Sourced, dated calculations for French income tax and pensions across 32 retirement schemes — every result carries its confidence level, its legal sources and the fiscal year, and returns non_calculable rather than a guess. Hosted remote MCP + REST, paid per call via x402 (USDC on Base); two discovery tools are free.
    1
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Enables AI assistants to calculate French individual income tax and retrieve current tax brackets using official government data. Supports household composition calculations and provides up-to-date tax information for French residents.
    11
    14
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.