Skip to main content
Glama

nestegg-calculators

Server Details

90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
VladimirWrites/nestegg.money
GitHub Stars
2

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 99 of 99 tools scored. Lowest: 3.3/5.

Server CoherenceB
Disambiguation3/5

Many tools are distinct formulas, but there are overlapping families (e.g., future-value, compound-interest, contributions all handle contributions; cagr, required-return, roi all measure returns). The sheer volume of 99 tools increases misselection risk, even with clear descriptions.

Naming Consistency5/5

All tool names are lowercase with hyphens, following a consistent pattern (verb-noun or noun-phrase). Acronyms like irr, npv, and roa are used predictably. No mixed conventions or camelCase.

Tool Count1/5

99 tools is far beyond the 'extreme mismatch' threshold of 50+. While each calculator is individual, the sheer number makes the server unwieldy and likely to overwhelm agents.

Completeness4/5

The tool surface covers a wide range of financial calculations: time value of money, loans, bonds, options, depreciation, accounting ratios, FIRE, and German tax specifics. Minor gaps exist (e.g., annuity-due variants, bond yield-to-call), but the core domain is thoroughly addressed.

Available Tools

99 tools
accrued-interestAccrued InterestA
Read-onlyIdempotent
Inspect

Accrued interest since the last coupon: the annual coupon pro-rated by days elapsed over the day-count basis.

ParametersJSON Schema
NameRequiredDescriptionDefault
faceValueYesFace value.
couponRatePctYesAnnual coupon rate in percent.
dayCountBasisNoDay-count basis (default 360).
daysSinceLastCouponYesDays since the last coupon.

Output Schema

ParametersJSON Schema
NameRequiredDescription
accruedNoAccrued interest.
Behavior3/5

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

Annotations already disclose read-only and idempotent behavior. The description adds the formula (annual coupon pro-rated by days elapsed over day-count basis), which clarifies the calculation logic. However, it does not disclose edge cases or return format, though the output schema partially covers that. The added value is moderate 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.

Conciseness5/5

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

The description is a single, dense sentence that front-loads the purpose and immediately gives the calculation formula. There is no wasted wording, and it is easily 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?

Given the tool's moderate complexity (4 parameters, output schema, annotations), the description is sufficiently complete. It explains the core calculation and is supported by schema and annotations. Minor gaps like explicit usage guidance are not critical 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 all parameters have descriptions. The description adds the relationship between parameters (days elapsed, day-count basis, coupon rate) but does not provide new parameter-level details. Baseline 3 applies per the rubric.

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 the tool's purpose: calculating accrued interest since the last coupon. It provides a specific verb (pro-rated) and resource (annual coupon), and explains the calculation methodology. This distinguishes it from sibling tools like bond-price or current-yield by focusing on the accrued interest component.

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

Usage Guidelines3/5

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

The description implies usage for accrued interest calculations but does not explicitly state when to use it over alternatives or provide exclusions. Sibling tools include other bond-related calculators, but no cross-referencing or guidance is offered. 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.

after-tax-yieldAfter-Tax YieldA
Read-onlyIdempotent
Inspect

After-tax yield: a yield reduced by the tax rate. Percents in and out.

ParametersJSON Schema
NameRequiredDescriptionDefault
yieldPctYesPre-tax yield in percent.
taxRatePctYesTax rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
afterTaxPctNoAfter-tax yield, percent.
Behavior3/5

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

Annotations declare read-only and idempotent. The description adds that inputs and outputs are percentages, clarifying unit convention. The formula is simple but no additional behavioral details such as rounding 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.

Conciseness5/5

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

Single sentence, front-loaded, and every word earns its place. Efficiently communicates the formula and unit expectations with 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?

For a simple two-parameter calculator with full schema coverage, read-only annotations, and an output schema present, the description is adequate. Could mention the inverse relationship to tax-equivalent-yield, but that is not required for basic operation.

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 already documents both parameters with percentages. Description explicitly states 'yield reduced by tax rate,' clarifying the mathematical relationship between yieldPct and taxRatePct beyond field-level descriptions.

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

Purpose4/5

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

Description clearly identifies the tool as computing after-tax yield via tax-rate reduction, distinguishing it from related yield tools. Uses a noun phrase rather than an explicit verb, but the purpose 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?

No when-to-use guidance, no mention of alternatives like tax-equivalent-yield, and no context for when this calculation applies. Merely states what it does without exclusions or prerequisite context.

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

amortizationAmortization ScheduleA
Read-onlyIdempotent
Inspect

Monthly loan amortization schedule and summary. Supports dated extra principal payments and a rate-fixed period. detail controls output size: 'summary' (default) returns totals plus a per-year breakdown; 'monthly' returns the full schedule (paginate with offset/limit). Returns numbers and schedules; no advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesFix the term (compute the payment) or fix the payment (compute the term).
rateYesAnnual interest rate in percent (6 = 6%).
extraNoOptional dated extra principal payments.
limitNoMax monthly rows when detail=monthly (default and maximum 360; page with nextOffset).
amountYesLoan principal.
detailNoOutput size. summary (default): totals + yearly breakdown. monthly: full schedule (use offset/limit to paginate).
offsetNoMonthly schedule start index when detail=monthly (default 0).
paymentNoMonthly payment, used when mode is 'payment'.
rateStepsNoOptional rate changes (e.g. after a Zinsbindung). The installment is held; from each date the outstanding balance continues at the new annual rate.
startDateYesFirst payment month as an ISO date (YYYY-MM-DD).
termYearsNoTerm in years, used when mode is 'term'.
fixedUntilNoOptional. Rate is certain until this ISO date; beyond it the schedule is an estimate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearlyNoPer-year totals: { year, interest, principal, extra, payments, endBalance }.
paymentsNoNumber of payments made.
scheduleNoMonthly rows (only when detail=monthly).
totalPaidNoTotal paid (incl. extras).
nextOffsetNoNext pagination offset, or null.
payoffDateNoPayoff date, ISO.
scheduleTotalNoTotal monthly rows (when detail=monthly).
totalInterestNoTotal interest paid.
monthlyPaymentNoMonthly payment.
scheduledMonthsNoScheduled months (null if open-ended).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to restate safety. It adds value by disclosing the default output behavior ('summary' returns totals plus per-year breakdown), the need to paginate with offset/limit for 'monthly', and the non-advisory nature ('no advice'). This goes beyond the structured metadata and helps set expectations for the tool's output.

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

Conciseness5/5

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

The description is four sentences, each with distinct value: purpose, features, output behavior, and output type/disclaimer. It is front-loaded with the core purpose, avoids redundancy, and does not waste words. The only minor omission is not explicitly naming the 'yearly' enum value, but the description still conveys that summary includes yearly breakdown.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 complexity (12 parameters, nested optional arrays), the description provides a good high-level map: core function, key optional inputs, output modes, and pagination. The schema covers parameter details and an output schema exists, so the description doesn't need to explain return structures. It could mention the 'yearly' detail option or clarify 'rate-fixed period' more, but these are minor gaps given the rich 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 each parameter clearly documented (e.g., rate 'in percent', mode semantics, offset/limit purpose). The description mostly restates what the schema already provides, such as detail options and pagination, without adding new parameter-level insights. The baseline of 3 is appropriate because 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 opens with a specific resource: 'Monthly loan amortization schedule and summary.' It clearly distinguishes the tool from more general financial calculators by focusing on amortization with monthly detail and summary output. The scope (loan amortization) and key features (extra principal payments, rate-fixed period) are immediately evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 explaining output options ('detail controls output size') and capabilities ('Supports dated extra principal payments and a rate-fixed period'), but it does not explicitly state when to choose this over sibling tools like loan-payoff or biweekly-payoff. There are no explicit alternatives or exclusion conditions, leaving the agent to infer applicability from the tool's name and features.

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

annuity-fvAnnuity Future ValueA
Read-onlyIdempotent
Inspect

Future value of an ordinary annuity. rate is the per-period rate in percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentYesPayment per period.
periodsYesNumber of periods.
ratePctYesRate per period in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fvNoFuture value.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the per-period rate clarification, but does not disclose edge-case behavior or return details. This is adequate given the annotations.

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

Conciseness5/5

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

The description is a single concise sentence, front-loaded with the core purpose. No redundant words or filler. It 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 financial calculator with full schema annotations and an output schema, the description is largely complete. It clearly defines the annuity type and rate unit. It could mention intended use cases or exclusions, but the tool's simplicity makes this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 fully described. The description simply restates the rate parameter semantics ('rate is the per-period rate in percent') without adding new meaning beyond the schema. 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?

The description clearly states the tool computes the future value of an ordinary annuity, using a specific verb and resource. It distinguishes itself from sibling tools like annuity-pv and annuity-payment by explicitly mentioning 'future value' and 'ordinary annuity'.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention exclusions or when to prefer this over future-value or annuity-payment. The only hint is the 'ordinary annuity' qualifier, but no explicit usage context is given.

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

annuity-paymentAnnuity PaymentA
Read-onlyIdempotent
Inspect

The level payment that amortizes a present value over n periods (the loan-payment formula). rate is per period.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodsYesNumber of periods.
ratePctYesRate per period in percent.
presentValueYesPresent value / principal.

Output Schema

ParametersJSON Schema
NameRequiredDescription
paymentNoLevel payment (null if periods<=0).
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint false, and idempotentHint, covering the safety and repeatability profile. The description adds useful behavioral context by emphasizing that the rate is per period and that the payment is level (fully amortizing), which goes beyond the schema. No contradiction with annotations.

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

Conciseness5/5

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

A single, straightforward sentence with no wasted words. It front-loads the core purpose and includes a helpful clarification about the rate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 a full schema, output schema, and annotations, so the description does not need to explain return values or safety. It adequately covers the calculation purpose and rate semantics, making it sufficiently complete for a simple financial 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%, so the baseline is 3. The description's note that 'rate is per period' reinforces the schema's 'Rate per period in percent' but does not add new semantic meaning 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?

The description clearly states the tool computes the level payment that amortizes a present value over n periods, using the loan-payment formula. This specific verb and resource distinguish it from sibling tools like annuity-fv and annuity-pv, which calculate future/present value rather than the payment.

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

Usage Guidelines4/5

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

The description gives clear context: it is the loan-payment formula with a per-period rate, implying when to use it. However, it does not explicitly name alternative tools or provide exclusion criteria, 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.

annuity-pvAnnuity Present ValueA
Read-onlyIdempotent
Inspect

Present value of an ordinary annuity (level payment at each period end). rate is the per-period rate in percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentYesPayment per period.
periodsYesNumber of periods.
ratePctYesRate per period in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pvNoPresent value.
Behavior4/5

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

The annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to restate that. It adds the behavioral constraint that this is an ordinary annuity with payments at period end, and clarifies that the rate is per-period in percent, which prevents misuse. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core purpose and includes the key nuance about payment timing. Every word 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?

Given the simplicity of the tool, the combination of the description, full schema descriptions, and annotations is sufficient. The description covers the main concept and the rate unit, leaving no obvious gaps for a straightforward financial calculation. It doesn't explain the formula, but that's not 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?

The input schema already provides descriptions for all three parameters (payment, periods, ratePct), and the description reinforces that ratePct is per-period and in percent. However, it adds little beyond the schema's existing parameter descriptions, so the added semantic value is marginal.

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

Purpose5/5

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

The description explicitly states the tool calculates the present value of an ordinary annuity, with a parenthetical clarifying level payments at period end. This clearly distinguishes it from sibling tools like annuity-fv or annuity-payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 when to use the tool by defining the scenario (ordinary annuity, period-end payments), but it does not explicitly name alternatives or state when not to use it. It doesn't mention that annuity-fv handles future value or that present-value may handle general cash flows. Guidance is implied rather than direct.

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

balloon-loanBalloon LoanA
Read-onlyIdempotent
Inspect

Balloon loan: payment based on a long amortization, with the balloon being the balance still due after the shorter balloon term.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesLoan amount.
ratePctYesAnnual rate in percent.
amortMonthsYesAmortization basis in months.
balloonMonthsYesMonths until the balloon is due.

Output Schema

ParametersJSON Schema
NameRequiredDescription
balloonNoBalloon balance due.
paymentNoMonthly payment.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds transparent behavioral context by explaining the calculation mechanism: payment is based on the amortization period, and the balloon equals the balance remaining after the balloon term. This goes beyond the annotations but stops short of discussing edge cases or error handling.

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

Conciseness5/5

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

The description is a single, focused sentence that leads with the term 'Balloon loan' and immediately explains the core concept. Every word earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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. The description captures the essential relationship between the amortization period and the balloon term, making it nearly complete for a simple financial calculator. However, it does not mention how the parameters interplay in edge cases (e.g., balloonMonths > amortMonths), leaving a slight 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 each parameter (amount, ratePct, balloonMonths, amortMonths) having a clear description. The tool description does not add parameter-specific syntax or additional meaning beyond what the schema already provides, so the baseline score 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 clearly defines a balloon loan as 'payment based on a long amortization' with the balloon being the remaining balance due after the shorter term. It explicitly names the resource (balloon loan) and the computation logic, distinguishing it from siblings like amortization or interest-only-payment.

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

Usage Guidelines3/5

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

The description implies usage for balloon loan calculations but does not provide explicit guidance on when to use this tool versus alternatives such as amortization or loan-payoff. No when-not-to-use or alternative references are given, leaving the agent to infer applicability from the financial context.

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

barista-fireBarista FIREA
Read-onlyIdempotent
Inspect

Barista FIRE: the nest egg needed when part-time income covers part of the spending, so the portfolio only funds the remainder at the safe withdrawal rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
annualSpendYesYearly spending.
partTimeIncomeYesYearly part-time income.
withdrawalRatePctNoSafe withdrawal rate in percent (default 4).

Output Schema

ParametersJSON Schema
NameRequiredDescription
targetNoNest egg needed (null if withdrawal rate<=0).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds the behavioral formula: the portfolio funds the remainder after part-time income at the safe withdrawal rate. This goes beyond the annotations by explaining the calculation logic, though edge cases are not covered.

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

Conciseness5/5

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

A single, well-front-loaded sentence that defines the tool's purpose without redundant words. Every part of the description 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?

Given a simple three-parameter calculator with an output schema, the description sufficiently conveys the core calculation and result. It does not explicitly formulaize (annualSpend - partTimeIncome) / withdrawalRatePct, but the concept is clear enough for a simple tool.

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 meaning by clarifying that annualSpend and partTimeIncome are combined (the remainder is funded) and that withdrawalRatePct is the divisor, which goes beyond the schema's simple 'Yearly spending' descriptions.

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

Purpose4/5

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

The description clearly states the tool computes the nest egg needed when part-time income covers part of spending, defining the calculation concept. It is distinct from generic fire-number and coast-fire siblings, though it lacks an explicit verb like 'calculate'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 when part-time income partially covers spending, but it does not explicitly mention when not to use it or compare it with alternatives like coast-fire or fire-number. The condition is present but not framed as guidance.

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

biweekly-payoffBiweekly PayoffA
Read-onlyIdempotent
Inspect

Biweekly mortgage acceleration: paying half the monthly payment every two weeks. Returns the biweekly payment and the months and interest saved.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesLoan amount.
ratePctYesAnnual rate in percent.
termMonthsYesOriginal term in months.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthsSavedNoMonths saved.
interestSavedNoInterest saved.
biweeklyPaymentNoBiweekly payment.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint true. The description adds the calculation method ('paying half the monthly payment every two weeks') and the return values, which is transparent for a read-only calculator. No contradictions with annotations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core concept, and contains no redundant information. Every word 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?

Given the tool's simplicity (3 required params, no nested objects, output schema present), the description adequately conveys the operation, return values, and basic context. It is complete enough for an agent to select and 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?

The input schema covers all three parameters with descriptions (amount, ratePct, termMonths), providing 100% coverage. The description does not add further parameter nuance beyond the biweekly payment concept, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly identifies a biweekly mortgage acceleration calculator and specifies its outputs: 'Returns the biweekly payment and the months and interest saved.' It distinguishes this from sibling tools like amortization or loan-payoff by focusing on the biweekly payment strategy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 states the scenario ('Biweekly mortgage acceleration') but does not explicitly discuss when to use this tool versus alternatives or any exclusions. Usage is implied from the tool's specific purpose rather than clearly delineated.

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

black-scholesBlack-Scholes Option PriceA
Read-onlyIdempotent
Inspect

Black-Scholes price of a European call or put option, plus d1/d2. Volatility and rates in percent; optional continuous dividend yield.

ParametersJSON Schema
NameRequiredDescriptionDefault
spotYesCurrent underlying price.
typeNoOption type (default call).
yearsYesTime to expiry in years.
strikeYesStrike price.
riskFreePctYesRisk-free rate in percent.
volatilityPctYesAnnualized volatility in percent.
dividendYieldPctNoContinuous dividend yield in percent (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
d1Nod1.
d2Nod2.
priceNoOption price (null if degenerate).
Behavior4/5

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

With readOnlyHint and idempotentHint annotations, safety is already disclosed. The description adds valuable behavioral context: volatility and rates are in percent (not decimals), and the output includes d1/d2. It also specifies European-only scope, a key limitation. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single, compact sentence that front-loads the core purpose. Every clause contributes essential information: European scope, call/put, d1/d2, percent units, and optional dividend yield. There is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 7-parameter pricing model with a rich schema and output schema present. The description covers the key model context and unit conventions. Minor details like per-share pricing are inferable or already documented in 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 coverage is 100%, with each parameter having a description. The description only reiterates the optional dividend yield and percent convention already present in the schema, adding no new parameter-specific 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?

The description clearly states the tool computes the Black-Scholes price of European call/put options plus d1/d2. This specific verb+resource combination with the European scope distinguishes it from sibling tools like option-greeks and option-breakeven.

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

Usage Guidelines4/5

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

The description implies the applicable context: European options, Black-Scholes model, and inclusion of d1/d2. It does not explicitly exclude other option types or list alternatives, but the clear scope provides sufficient context for correct tool selection.

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

bond-durationBond DurationB
Read-onlyIdempotent
Inspect

Macaulay duration (PV-weighted average time of cashflows, in years) and modified duration (price sensitivity to yield).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesYears to maturity.
yieldPctYesAnnual yield in percent.
faceValueYesFace value.
couponRatePctYesAnnual coupon rate in percent.
periodsPerYearNoCoupon periods per year (default 2).

Output Schema

ParametersJSON Schema
NameRequiredDescription
macaulayNoMacaulay duration, years.
modifiedNoModified duration.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, which fully covers the safety profile of this pure calculation tool. The description adds semantic context by defining the output metrics, but it does not disclose any behavioral assumptions (e.g., continuous compounding, default periodsPerYear=2) that could affect results.

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

Conciseness5/5

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

The description is a single, tightly packed sentence that defines both output metrics without redundancy. Every clause contributes to the understanding of what the tool computes, making it an exemplar of concise and effective communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 clear annotations, the description sufficiently covers the core functionality. It explains the meaning of the two duration measures and implies the input parameters from context. However, it omits subtle behaviors like the default compounding frequency or edge cases for zero-coupon bonds, which would benefit a finance user.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema has 100% parameter coverage with descriptions for all five parameters, so the schema already explains each field. The description adds no additional parameter-level detail beyond what the schema provides, making this a baseline score with no extra 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 clearly identifies the tool as providing Macaulay duration and modified duration, specifying their formulas and meaning. It distinguishes between the two metrics and sets it apart from sibling tools like convexity or bond-price, though it lacks an explicit action verb such as 'calculate' or 'compute'.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like convexity or yield-to-maturity. It does not state any preconditions, such as needing fixed-cashflow bonds, nor does it mention when modified duration is preferred over Macaulay duration.

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

bond-priceBond PriceA
Read-onlyIdempotent
Inspect

Price of a coupon bond given a yield: present value of the coupons plus the face at maturity.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesYears to maturity.
yieldPctYesAnnual yield in percent.
faceValueYesFace (par) value.
couponRatePctYesAnnual coupon rate in percent of face.
periodsPerYearNoCoupon periods per year (default 2).

Output Schema

ParametersJSON Schema
NameRequiredDescription
priceNoBond price (null if degenerate).
Behavior4/5

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

Annotations already declare read-only, idempotent, and closed-world behavior. The description adds the calculation logic (PV of coupons + face), which is useful context beyond the annotations. No contradictions.

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

Conciseness5/5

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

The description is a single, well-structured sentence that conveys purpose and method without redundancy. Every word earns its place.

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

Completeness5/5

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

Given the simple deterministic nature, full parameter documentation, annotations, and output schema, the description provides sufficient context. It clearly explains the core calculation without requiring further elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 are fully documented. The description mentions coupon and face but does not add new meaning beyond the schema. 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?

The description clearly states the tool computes the price of a coupon bond given a yield, using present value of coupons plus face value. This distinguishes it from siblings like bond-duration or yield-to-maturity, which answer different questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'given a yield' implies the tool is used when you have a yield and want to find the price, but it does not explicitly mention alternatives or when not to use it. No clear exclusionary guidance is provided.

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

break-even-unitsBreak-Even UnitsA
Read-onlyIdempotent
Inspect

Break-even volume: fixed costs divided by the per-unit contribution (price - variable cost), plus the revenue at that volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
fixedCostsYesTotal fixed costs.
pricePerUnitYesSelling price per unit.
variableCostPerUnitYesVariable cost per unit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
unitsNoBreak-even units (null if no contribution).
revenueNoRevenue at break-even (null if none).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is clear. The description adds value by detailing the exact calculation and the additional revenue output, which goes beyond the annotations but does not contradict them.

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, focused sentence that conveys the formula and the additional output without unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 and an output schema, the description covers the essential behavior. However, it does not mention edge cases like the undefined scenario when price equals variable cost, which could be relevant in some contexts.

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 simple field descriptions. The description enriches these by defining the mathematical relationship among the parameters (price minus variable cost, divided into fixed costs), giving the agent a clear understanding of how inputs are used.

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 explicitly states the break-even volume formula (fixed costs divided by per-unit contribution) and notes it also computes revenue at that volume. This clearly distinguishes it from other break-even tools like option-breakeven or refi-breakeven, which have different contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 formula implies use for unit-level break-even analysis, but the description provides no explicit when-to-use or alternative comparisons. There is no stated exclusion, but the guidance is only implicit.

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

budget-50-30-2050/30/20 Budget SplitA
Read-onlyIdempotent
Inspect

The 50/30/20 budget split of monthly income into needs, wants, and savings.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthlyIncomeYesMonthly take-home income.

Output Schema

ParametersJSON Schema
NameRequiredDescription
needsNo50% needs.
wantsNo30% wants.
savingsNo20% savings.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds no extra behavioral traits such as rounding, assumptions, or output details, but 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.

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the core purpose with no unnecessary words. It is appropriately sized for a simple calculator.

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

Completeness5/5

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

Given the tool's simplicity (one input, output schema present, clear annotations), the description is complete enough. The output schema handles the return value explanation, so the description only needs to state the tool's 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?

The schema fully describes the only parameter, monthlyIncome, as 'Monthly take-home income.' Since schema coverage is 100%, the description does not need to add more, and it does not provide any additional 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?

The description clearly states the purpose: splitting monthly income into needs, wants, and savings according to the 50/30/20 rule. It is specific about the resource (monthly income) and the action (split), and it distinguishes itself from sibling financial calculators.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool or when to choose an alternative. There is no mention of budgeting scenarios, prerequisites, or comparisons with similar tools like savings-rate.

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

cagrCAGRA
Read-onlyIdempotent
Inspect

Compound annual growth rate between two values over a number of years. Returns a decimal (0.07 means 7%).

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesEnding value.
beginYesStarting value.
yearsYesNumber of years.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior4/5

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

The description explains the output format as a decimal (e.g., 0.07 = 7%), which is valuable behavioral context beyond the annotations that declare read-only and idempotent behavior. It does not cover edge cases or side effects, but for a simple calculation this adds sufficient transparency.

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

Conciseness5/5

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

The description is a single sentence that defines the tool and includes the return format. It is front-loaded and contains no waste, perfectly balancing brevity and informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 and an output schema, the description is complete enough. It states the purpose and the output format, though it does not address potential edge cases (e.g., zero starting value) or parameter constraints, leaving 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?

The input schema already provides descriptions for all three parameters (begin, end, years) with 100% coverage. The description adds no new parameter-specific meaning beyond 'between two values... over a number of years', which is a restatement rather than additional semantic 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?

The description clearly defines the tool as computing the compound annual growth rate between two values over a number of years. This includes the specific verb 'growth rate' and the resources/parameters involved, distinguishing it from other financial 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?

The description implies when to use the tool (when a CAGR calculation is needed) but does not provide explicit guidance on alternatives or exclusions. It lacks a 'when not to use' statement or references to sibling tools, so it only meets the implied usage level.

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

cap-rateCap RateA
Read-onlyIdempotent
Inspect

Capitalization rate: net operating income as a percent of property value.

ParametersJSON Schema
NameRequiredDescriptionDefault
noiYesNet operating income.
propertyValueYesProperty value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capRatePctNoCap rate, percent (null if value<=0).
Behavior4/5

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

With annotations declaring readOnly and idempotent behavior, the description adds the exact operational formula (NOI as a percent of property value), which clarifies the calculation beyond the structured metadata. It does not address edge cases like zero property value, but the output schema and simple nature reduce the need.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that defines the concept and formula without any filler or redundancy. Every word 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 calculator with an output schema and read-only annotations, the description plus schema fully specifies the calculation. It lacks explicit usage scenarios or edge-case handling, but these are not critical for such a self-contained formula tool.

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 schema already provides 100% description coverage for both parameters. The description adds the relationship between them—'net operating income as a percent of property value'—clarifies the numerator and denominator roles, and indicates the output is a percentage, which goes beyond the schema's simple field labels.

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

Purpose4/5

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

The description clearly defines what the tool computes: capitalization rate as net operating income divided by property value. Though it lacks an explicit verb like 'calculate', the formula makes the tool's function unambiguous and distinct from siblings like gross-rent-multiplier or noi.

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

Usage Guidelines3/5

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

The description implies the tool is used to compute cap rate but provides no explicit guidance on when to choose it over alternatives or any exclusions. For a simple formula calculator, this implied usage is acceptable, but it does not meet the standard for a 4.

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

cash-on-cashCash-on-Cash ReturnA
Read-onlyIdempotent
Inspect

Cash-on-cash return: annual pre-tax cash flow as a percent of the cash invested.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashInvestedYesCash invested.
annualCashFlowYesAnnual pre-tax cash flow.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cashOnCashPctNoCash-on-cash return, percent (null if invested<=0).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety and determinism. The description adds the formula and explicitly states the result is expressed as a percentage, which is useful behavioral context beyond the annotations. 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?

A single sentence of 14 words that is front-loaded with the metric name and delivers the formula efficiently. Every word contributes value, with no repetition or 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?

The tool is a simple calculation with two fully described parameters, an output schema present, and annotations covering safety. The description provides the formula and result format, making it complete for the agent 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 both parameters described ('Annual pre-tax cash flow' and 'Cash invested'). The tool description essentially restates these definitions, adding only the relationship that cash flow is divided by cash invested. Per the rubric, baseline is 3 when schema coverage is high.

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 precisely defines cash-on-cash return as 'annual pre-tax cash flow as a percent of the cash invested,' which is a specific formula. This clearly distinguishes the tool from sibling metrics like ROI or cap-rate by stating 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?

Usage is implied by the tool name and definition: an agent would select this when asked to compute cash-on-cash return. However, it gives no guidance on choosing between related metrics (e.g., ROI, cap-rate) or when not to use it, so it only reaches the 'implied usage' level.

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

coast-fireCoast FIREA
Read-onlyIdempotent
Inspect

Coast FIRE: whether the current nest egg, left to grow untouched to retirement, already reaches the FIRE target. Returns the target, the projected balance, whether it coasts, and any shortfall.

ParametersJSON Schema
NameRequiredDescriptionDefault
annualSpendYesYearly spending in retirement.
annualRatePctYesExpected annual growth in percent.
currentNestEggYesAmount invested today.
withdrawalRatePctNoSafe withdrawal rate in percent (default 4).
yearsToRetirementYesYears until retirement.

Output Schema

ParametersJSON Schema
NameRequiredDescription
gapNoShortfall in future-value terms.
projectedNoProjected balance at retirement.
fireTargetNoFIRE target.
isCoastingNoTrue if it already coasts.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is known. The description adds context about the return values (target, projected balance, coasting status, shortfall) and the deterministic nature of the projection, which goes 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.

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the concept and then lists the return values. Every word earns its place, with no unnecessary fluff 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?

The description is complete for this tool: it explains the concept, lists return values, and is supplemented by a full schema, output schema, and clear annotations. There is no hidden complexity or missing information that would leave an AI agent uncertain about 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 coverage is 100%, with each parameter having a clear description (e.g., 'Amount invested today', 'Expected annual growth in percent'). The tool description adds minimal parameter-specific meaning, but the schema already carries the load, 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 clearly states the tool's function: evaluating whether a current nest egg left untouched reaches the FIRE target at retirement. It specifies the resource ('current nest egg') and the action ('whether it coasts'), and distinguishes it from sibling FIRE calculators like fire-number or barista-fire by the unique coast FIRE concept.

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

Usage Guidelines3/5

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

The description implies the usage context (checking coast FIRE status) but does not explicitly state when to choose this over alternatives like barista-fire or fire-number. There is no mention of exclusions or alternative tools, 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.

compound-interestCompound InterestA
Read-onlyIdempotent
Inspect

Compound growth at any frequency, with an optional contribution each period (paid at period end). Generalizes future-value (periodsPerYear 1) and contributions (periodsPerYear 12).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesNumber of years.
principalYesStarting amount.
annualRatePctYesAnnual growth rate in percent.
periodsPerYearNoCompounding periods per year (default 1).
contributionPerPeriodNoOptional. Amount added each period (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it is a safe, repeatable read. The description adds valuable behavioral detail that contributions are paid at period end, which affects timing of calculations. This exceeds the annotation baseline.

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

Conciseness5/5

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

Two sentences, zero filler. The first sentence states the core function and the second positions it relative to siblings. Every word earns its place.

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

Completeness5/5

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

Given the five parameters and the presence of an output schema, the description covers the core behavior, contribution timing, and generalization to sibling tools. No necessary context is missing for a mathematical calculator tool.

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 covers all parameters with descriptions, so baseline is 3. The description adds useful semantic context by explaining that periodsPerYear=1 corresponds to future-value and periodsPerYear=12 corresponds to contributions, clarifying defaults and typical usage 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?

The description clearly states the tool computes compound growth at any frequency with optional periodic contributions, and explicitly distinguishes it from sibling tools by noting it generalizes future-value and contributions. The purpose 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 Guidelines5/5

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

It explicitly names sibling tools future-value and contributions, explaining how periodsPerYear=1 maps to future-value and periodsPerYear=12 maps to contributions. This provides concrete guidance on when to use this general tool versus those alternatives.

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

contribution-marginContribution MarginB
Read-onlyIdempotent
Inspect

Contribution margin per unit and as a percent of price.

ParametersJSON Schema
NameRequiredDescriptionDefault
pricePerUnitYesSelling price per unit.
variableCostPerUnitYesVariable cost per unit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ratioPctNoContribution margin ratio, percent (null if price=0).
contributionMarginNoContribution per unit.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds that output includes both unit margin and percent of price, but says nothing about edge cases (e.g., zero price) or the underlying formula. This adds some context beyond annotations, so 3.

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?

Description is one short sentence with no filler or redundancy. It front-loads the core purpose and avoids repeating parameter names. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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, this description is mostly complete for an agent to understand return dimensions. However, it omits contextual cues about when this metric is useful or how it relates to sibling tools, and it does not explicitly state the formula. Still, given the simplicity and annotations, it is adequate, scoring 4.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 have full descriptions in the schema (selling price per unit, variable cost per unit), so schema coverage is 100%. The tool description does not add any additional parameter semantics beyond what the schema already 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?

The description clearly states the tool computes contribution margin per unit and as a percent of price, distinguishing output forms. Though it lacks an explicit verb like 'calculate', the noun phrase is specific and unambiguous. Given sibling tools like break-even-units and margin-markup, the description narrows the scope but does not explicitly differentiate from them, so 4.

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 is provided on when to use this tool versus alternatives like margin-markup or break-even-units. The description merely states what it computes, leaving the agent to infer from the name. This is a clear gap for a financial calculator with many siblings.

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

contributionsFuture Value of ContributionsA
Read-onlyIdempotent
Inspect

Future value of a fixed monthly contribution, optionally stepping up each year.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthsYesNumber of months.
monthlyYesMonthly contribution.
annualRatePctYesAnnual growth rate in percent.
contribGrowthPctNoOptional. Contribution step-up percent per year.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior3/5

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

Annotations already establish readOnlyHint=true and idempotentHint=true, so the safe, non-destructive nature is covered. The description adds the 'stepping up each year' behavior, but it omits details like compounding frequency or whether contributions are made at the beginning or end of each month, which are relevant for a financial tool.

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

Conciseness5/5

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

The description is a single, concise sentence that is front-loaded with the core calculation ('Future value') and quickly covers the key nuance ('stepping up each year'). No unnecessary words are present.

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 description is adequate for a straightforward calculator, but it leaves out crucial assumptions such as compounding frequency and contribution timing. While an output schema exists, it is not visible here, and the description alone is somewhat under-specified for a formula with multiple plausible interpretations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 already documented. The description simply echoes 'fixed monthly contribution' and 'stepping up,' providing no additional parameter semantics beyond what the schema already gives.

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 'Future value of a fixed monthly contribution, optionally stepping up each year,' which clearly specifies the tool's purpose. It distinguishes itself from siblings like 'future-value' and 'annuity-fv' by highlighting the step-up feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 when to use this tool—whenever a future value of periodic contributions with possible annual increases is needed—but it does not explicitly contrast with alternatives or state exclusions. This provides only implicit guidance.

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

convexityBond ConvexityA
Read-onlyIdempotent
Inspect

Bond convexity (years^2): the curvature of price with respect to yield, used alongside duration.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesYears to maturity.
yieldPctYesAnnual yield in percent.
faceValueYesFace value.
couponRatePctYesAnnual coupon rate in percent.
periodsPerYearNoCoupon periods per year (default 2).

Output Schema

ParametersJSON Schema
NameRequiredDescription
convexityNoConvexity, years^2.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe calculation. The description adds the unit (years^2) and context of curvature, but does not disclose formula assumptions (e.g., compounding frequency) or edge cases. This adds modest value beyond annotations.

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

Conciseness5/5

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

The description is a single tightly written sentence that front-loads the metric name and unit, then defines the concept. Every word contributes to understanding, with no filler.

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 calculator with an output schema and annotations. The description explains what convexity is, but lacks decision guidance on when to use it versus other bond metrics (e.g., bond-duration or bond-price). This is a gap for an AI agent selecting among siblings, though the low complexity mitigates 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?

The input schema provides descriptions for all 5 parameters (100% coverage), so the description does not need to explain parameters. It adds no additional meaning about how faceValue, couponRatePct, etc., relate to convexity, leaving the schema to carry the weight. 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 clearly identifies the tool as calculating bond convexity, defines it as 'the curvature of price with respect to yield,' and notes it is 'used alongside duration,' which distinguishes it from the sibling bond-duration tool. The unit (years^2) is also specified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'used alongside duration' implies complementary use with duration, but it does not explicitly state when to choose this tool over alternatives or provide criteria such as 'use when assessing non-linear price risk.' 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.

credit-card-payoffCredit Card PayoffA
Read-onlyIdempotent
Inspect

Months to clear a credit-card balance at a fixed monthly payment, plus interest paid. Null when the payment can't cover the first month's interest.

ParametersJSON Schema
NameRequiredDescriptionDefault
aprPctYesAnnual percentage rate in percent.
balanceYesCurrent balance.
monthlyPaymentYesFixed monthly payment.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthsNoMonths to clear (null if never).
totalPaidNoTotal paid (null if never).
totalInterestNoTotal interest (null if never).
Behavior4/5

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

The annotation readOnlyHint=true and idempotentHint=true already establish the safe, read-only nature. The description adds a crucial behavioral detail: 'Null when the payment can't cover the first month's interest.' This goes beyond the annotations by disclosing a failure condition and the output's null state, which helps the agent interpret results correctly. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently states the core calculation, the interest component, and the null condition. Every clause earns its place with no filler, making it easily scannable 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 calculator with only three parameters and an output schema (not shown), the description covers the essential semantics: the primary output (months to clear, interest paid) and a key edge case (null when payment insufficient). It does not explicitly state compounding assumptions or formula details, but these are not necessary for selection/invocation. The output schema likely provides return structure, so the description adequately supports correct use.

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

Parameters3/5

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

Schema description coverage is 100% (balance, aprPct, monthlyPayment all have descriptions). The description does not add any parameter-specific semantics beyond what the schema already provides. For example, the schema says 'Fixed monthly payment,' and the description repeats 'fixed monthly payment,' but does not elaborate on units, ranges, or edge cases. Baseline 3 is appropriate when the schema carries the parameter documentation.

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

Purpose5/5

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

The description clearly states the primary function: 'Months to clear a credit-card balance at a fixed monthly payment, plus interest paid.' This identifies the specific computation and the credit-card context, distinguishing it from sibling tools like loan-payoff or debt-payoff. The verb 'clear' combined with the resource 'credit-card balance' leaves no ambiguity about the tool's 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?

The description offers no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions, preconditions, or a preferred context. While the credit-card focus is implicit, there is no direct comparison to similar tools like loan-payoff or biweekly-payoff, leaving the agent to infer usage without clear direction.

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

current-ratioCurrent RatioA
Read-onlyIdempotent
Inspect

Current ratio: current assets over current liabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
currentAssetsYesCurrent assets.
currentLiabilitiesYesCurrent liabilities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
currentRatioNoCurrent ratio (null if liabilities<=0).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds the mathematical relationship but does not disclose edge-case behavior (e.g., zero liabilities) or return format. This is sufficient for a simple pure function.

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

Conciseness5/5

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

The description is a single, compact sentence that states the metric and formula. No wasted words; it is immediately parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 ratio calculator with full schema descriptions, annotations, and an output schema, the description is adequate. However, it does not mention the use case (liquidity analysis) or distinguish from quick-ratio, which slightly reduces completeness.

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 input schema describes both parameters as numbers with basic descriptions (100% coverage). The description adds the key relationship that currentAssets is divided by currentLiabilities, which is crucial semantic meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the current ratio as current assets over current liabilities, making the calculation explicit. However, it lacks an explicit verb like 'calculates' and does not differentiate from the sibling 'quick-ratio' 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?

No guidance is provided regarding when to use this tool versus alternatives like quick-ratio or other liquidity ratios. The description is purely a formula, leaving the agent to infer context.

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

current-yieldCurrent YieldA
Read-onlyIdempotent
Inspect

Current yield: the annual coupon as a percent of the bond's current price.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesCurrent bond price.
faceValueYesFace value.
couponRatePctYesAnnual coupon rate in percent of face.

Output Schema

ParametersJSON Schema
NameRequiredDescription
currentYieldPctNoCurrent yield, percent (null if price<=0).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description need not repeat those. It adds the mathematical relationship (coupon as a percentage of current price), which is useful behavioral context beyond the annotations, though it does not discuss edge cases like zero price.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that directly states the calculation. Every word earns its place, with no filler or redundancy.

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

Completeness5/5

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

Given the tool's simplicity, full schema coverage, and presence of an output schema and readOnly/idempotent annotations, the description adequately defines the calculation. No additional behavioral or return-value context is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 all three parameters described. The description reinforces that couponRatePct is an annual rate and price is the current price, but it does not add new parameter-level details 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?

The description clearly defines the tool's purpose: 'Current yield: the annual coupon as a percent of the bond's current price.' This specific formula-based definition distinguishes it from sibling tools like yield-to-maturity and bond-price.

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

Usage Guidelines3/5

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

The description implies the tool is for calculating current yield but provides no explicit guidance on when to use it versus alternatives such as yield-to-maturity or bond-duration. There are no stated exclusions or comparative context.

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

de-abgeltungsteuerGerman Capital Gains Tax (Abgeltungsteuer)A
Read-onlyIdempotent
Inspect

German flat tax on capital income (Abgeltungsteuer, §32d EStG) for tax years 2023-2026 with the year's Sparerpauschbetrag built in. 25% above the allowance, Soli 5.5% on top (no Freigrenze for capital income), and with church tax the statutory reduced rate (e.g. 24.45% at 9%) plus the church tax itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesTax year: 2023, 2024, 2025 or 2026.
jointNotrue for jointly assessed couples (doubles the Sparerpauschbetrag).
churchTaxPctNoChurch tax rate: 8, 9, or 0 for none (default 0).
capitalIncomeYesAnnual capital income (interest, dividends, realized gains) in EUR.
foreignTaxCreditNoOptional. Creditable foreign withholding tax (q in the §32d formula).

Output Schema

ParametersJSON Schema
NameRequiredDescription
netNoIncome after taxes.
soliNoSoli (5.5%).
yearNoTax year.
taxableNoTaxable after allowance.
totalTaxNoAll taxes.
allowanceNoSparerpauschbetrag applied.
churchTaxNoChurch tax.
incomeTaxNoFlat tax (25% or church-reduced).
capitalIncomeNoIncome.
effectiveRatePctNoTotal tax / income, percent.
Behavior5/5

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

The description details the calculation components (25% rate above allowance, 5.5% Soli, no Freigrenze, church tax reduced rate), going well beyond the annotation hints (readOnly, idempotent). This provides a clear behavioral model of how the tax is computed, including the treatment of church tax.

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 compact at two sentences, front-loading the tax type and scope before diving into rates. Every sentence contributes substantive tax rule information without redundancy or 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?

Given the complexity of German capital gains tax and the presence of a full output schema and annotations, the description provides sufficient context on the tax rules, rates, allowance, and church tax effects. It explains the core calculation intent without needing to describe 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?

All five parameters are already fully described in the input schema (100% coverage), so the description adds little parameter-specific meaning. The mention of the Sparerpauschbetrag and church tax rates aligns with parameters, but the schema already carries this information.

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 identifies the tool as computing Germany's flat tax on capital income (Abgeltungsteuer), citing the legal provision (§32d EStG) and specifying the applicable tax years (2023-2026) and the built-in Sparerpauschbetrag. This distinguishes it from other German tax tools like de-net-salary or tax-from-brackets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 use for German capital gains tax calculations but does not explicitly state when to use this tool versus alternatives like de-net-salary or tax-from-brackets. It only constrains applicability to tax years 2023-2026, leaving usage guidance implicit.

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

debt-payoffDebt PayoffA
Read-onlyIdempotent
Inspect

Multi-debt payoff plan under a fixed monthly budget. method 'avalanche' (highest rate first) minimizes interest; 'snowball' (smallest balance first) clears accounts soonest. Returns months, total interest, and payoff order; flags insolvent budgets.

ParametersJSON Schema
NameRequiredDescriptionDefault
debtsYesThe debts to pay off.
methodNoPayoff strategy (default avalanche).
monthlyBudgetYesTotal amount available across all debts each month.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthsNoMonths to debt-free (null if insolvent).
insolventNoTrue if the budget can't keep up.
payoffOrderNoDebt names in payoff order.
totalInterestNoTotal interest (null if insolvent).
Behavior4/5

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

Annotations already mark it readOnly and idempotent. The description adds behavior context: it returns months, total interest, payoff order, and flags insolvent budgets, plus explains the effects of each method ('avalanche minimizes interest, snowball clears accounts soonest'). No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences, front-loads the core purpose and includes only essential details about methods and output. Every clause adds value; no redundant phrasing.

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

Completeness4/5

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

Given the output schema exists and annotations cover safety, the description provides sufficient behavioral details (return values, insolvency flag, method effects). It could mention that insolvency occurs when budget falls below minimum payments, but that's inferable.

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 descriptions cover all 3 parameters (100%). The tool description adds meaning to the 'method' parameter by explaining the strategic trade-off (avalanche vs snowball) and clarifies the role of the fixed monthly budget, going beyond the enum and 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?

The description clearly states the tool's purpose: creating a multi-debt payoff plan under a fixed monthly budget, with methods and outputs. It distinguishes from siblings like credit-card-payoff by focusing on multi-debt scenarios and named strategies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 phrase 'multi-debt payoff plan' – it's for tackling more than one debt. However, it doesn't explicitly note when not to use it or point to alternatives such as credit-card-payoff or loan-payoff for single-debt cases.

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

declining-balance-depreciationDeclining-Balance DepreciationA
Read-onlyIdempotent
Inspect

Declining-balance depreciation: a fixed percent of the reducing book value, for a given year. Returns that year's depreciation and the remaining book value.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear (1-based).
valueYesInitial cost.
ratePctYesAnnual depreciation rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bookValueNoBook value at year end.
depreciationNoDepreciation this year.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds the output details (depreciation and remaining book value) and the 'for a given year' scope, but does not disclose edge cases or assumptions. 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 concise sentences front-load the method and output without any filler. Every phrase adds 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 calculator tool with well-documented schema and an output schema, the description is sufficient. It specifies the method, the year scope, and the return values. Missing explicit edge-case handling but not 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?

The input schema provides complete descriptions for all three parameters (value, ratePct, year) at 100% coverage. The description adds the conceptual context of 'fixed percent of reducing book value' but no additional syntax or format specifics.

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 the tool computes declining-balance depreciation using a fixed percentage of reducing book value for a specified year and returns both that year's depreciation and remaining book value. This specific method definition distinguishes it from sibling tools like straight-line or double-declining.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 method, but does not explicitly state when to choose this over alternatives such as straight-line-depreciation or double-declining-depreciation. It lacks explicit when/when-not guidance.

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

de-gross-to-netGerman Gross-to-Net (manual figures)A
Read-onlyIdempotent
Inspect

German net (Netto) salary from gross (Brutto). No tax tables are baked in: look up the current year's statutory figures and pass them in. Income tax (Lohnsteuer) and Soli are amounts; church tax is a percent of the income tax; the four employee social rates and the two contribution ceilings are inputs. Use consistent units (e.g. all annual).

ParametersJSON Schema
NameRequiredDescriptionDefault
soliNoSolidarity surcharge (Solidaritätszuschlag) amount (often 0 below the threshold).
grossYesGross salary (Brutto).
carePctNoEmployee long-term care (Pflegeversicherung) rate in percent.
healthPctNoEmployee health (Krankenversicherung incl. Zusatzbeitrag) rate in percent.
incomeTaxNoIncome tax (Lohnsteuer) amount for the period — look up via the §32a / Steuerklasse tables.
pensionPctNoEmployee pension (Rentenversicherung) rate in percent (e.g. 9.3).
churchTaxPctNoChurch tax (Kirchensteuer) rate in percent of income tax (8 or 9, 0 if none).
healthCeilingNoContribution ceiling for health and care.
pensionCeilingNoContribution ceiling (Beitragsbemessungsgrenze) for pension and unemployment.
unemploymentPctNoEmployee unemployment (Arbeitslosenversicherung) rate in percent (e.g. 1.3).

Output Schema

ParametersJSON Schema
NameRequiredDescription
netNoNet.
soliNoSoli.
grossNoGross.
churchTaxNoChurch tax.
incomeTaxNoIncome tax.
contributionsNo{ pension, unemployment, health, care, total }.
totalDeductionsNoTotal deductions.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: income tax and Soli are amounts, church tax is a percent of income tax, and social rates/ceilings are explicit inputs. It also clarifies the manual model. No contradiction with annotations.

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

Conciseness5/5

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

The description is only two sentences. The first sentence states the purpose, and the second covers the manual-input requirement, the input types, and unit consistency. Every word earns its place, with no redundancy.

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

Completeness4/5

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

For a 10-parameter tool, the description adequately explains the external figures needed, the relationships among inputs, and the unit consistency requirement. The output schema covers the return structure, so the description doesn't need to detail outputs. It could mention calculation order or edge cases, but the provided context is sufficient for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so each parameter is already described. The description adds meaning by grouping 'the four employee social rates and the two contribution ceilings' and clarifying the type relationships (e.g., church tax as percent of income tax, income tax as amount). This goes beyond the individual parameter descriptions.

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

Purpose5/5

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

The description states 'German net (Netto) salary from gross (Brutto)' with a specific verb and resource, and the title adds 'manual figures,' which distinguishes it from the sibling 'de-net-salary.' The purpose is explicit and unambiguous.

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

Usage Guidelines4/5

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

The description gives clear when-to-use context: 'No tax tables are baked in: look up the current year's statutory figures and pass them in.' It also advises 'Use consistent units.' However, it stops short of explicitly naming an alternative tool like 'de-net-salary,' so it earns a 4 rather than a 5.

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

de-kindergeldGerman Child Benefit (Kindergeld)A
Read-onlyIdempotent
Inspect

German child benefit (Kindergeld) for 2023-2026: the year's flat monthly amount per child (uniform since 2023), as monthly and annual totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear: 2023, 2024, 2025 or 2026.
childrenNoNumber of children (default 1).

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearNoYear.
annualNoTotal annual.
monthlyNoTotal monthly.
childrenNoChildren.
perChildMonthlyNoMonthly amount per child.
Behavior4/5

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

The annotations (readOnlyHint, idempotentHint) already establish a safe read operation, and the description adds meaningful context by explaining that the amount is a flat monthly rate per child (uniform since 2023) and that outputs include monthly and annual totals. This goes 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.

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the tool's purpose and key scope without redundancy. Every word earns its place, making it highly 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?

For a simple two-parameter calculator with a known output schema, the description is complete enough. It covers the essential input range (2023-2026), per-child applicability, and output measures (monthly and annual totals), though it does not delve into potential edge cases or output formatting details, which are handled by the schema.

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 schema provides descriptions for both year and children, covering 100% of parameters. The description adds value by clarifying that the benefit is per child and specifying the output structure (monthly and annual totals), which enriches the interpretation of the children parameter and the tool's behavior.

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 identifies the tool as providing German child benefit (Kindergeld) amounts for 2023-2026, specifying per-child monthly and annual totals. It distinguishes itself from sibling financial calculators by focusing on this specific benefit and noting the uniform rate since 2023.

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

Usage Guidelines3/5

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

No explicit when-to-use guidance or alternative tools are mentioned. However, the description implies its usage context by clearly naming the Kindergeld calculator and its parameters, making it distinguishable by domain. The absence of explicit exclusions or alternatives leaves room for improvement.

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

de-midijobGerman Midijob ContributionsA
Read-onlyIdempotent
Inspect

German Midijob / Uebergangsbereich (paragraph 20 Abs. 2a SGB IV) for 2023-2026: classifies a monthly pay as Minijob / Midijob / regular against the year's thresholds and, inside the Midijob band, computes the reduced contribution bases (Faktor F from the year's rates) and the employee vs employer social-insurance split.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoOptional. Age - under 23 skips the childless care surcharge.
yearYesYear: 2023, 2024, 2025 or 2026.
childrenNoChildren, for the care-insurance rate (default 0).
bundeslandNoOptional. State code; SN applies the Saxony care split.
monthlyPayYesGross monthly pay in EUR.
kvZusatzPctNoOptional. Krankenkasse Zusatzbeitrag in percent; defaults to the year's average.
childrenUnder25NoOptional. Children under 25 for the care discounts, when different.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearNoYear.
zoneNominijob | midijob | regular | none.
ratesNo{ employee, total } percent rates.
faktorFNoFaktor F (midijob only).
employeeNo{ pension, unemployment, health, care, total }.
employerNo{ total }.
monthlyPayNoPay.
thresholdsNo{ minijobMonthly, midijobUpper }.
savingsVsFullNoEmployee saving vs full contributions.
contributionBaseNo{ total, employee } reduced bases.
Behavior4/5

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

Annotations already indicate readOnly and idempotent hints. The description adds value by revealing the classification logic (Minijob/Midijob/regular), use of year-specific thresholds and Faktor F, and the employee/employer split—without contradicting the annotations. It does not go into every nuance (e.g., age/child effects), but those are visible in the schema, so no contradiction or major omission.

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

Conciseness5/5

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

The description is a single dense sentence that packs the subject, scope, core actions, and legal reference without fluff. Every phrase contributes: the tool name is not merely restated, and the sentence front-loads the key concept 'Midijob/Uebergangsbereich' before detailing computation. This 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?

For a complex German payroll tool with 7 params and an output schema, the description is complete enough: it explains the classification and computation behaviors, and the schema covers parameter meanings and return structure. It does not explicitly mention edge cases (e.g., age-related surcharge) but those are in the schema. Slightly less than perfect because it could briefly note that results depend on optional parameters, but core context 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 description coverage is 100%, so the baseline is 3. The description does not add detailed parameter-specific semantics beyond mentioning 'year's rates' and 'Faktor F'; individual params like age, children, bundesland are only explained in the schema. Thus, it neither hurts nor significantly improves parameter understanding beyond the structured 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 clearly states a specific verb+resource: it classifies monthly pay as Minijob/Midijob/regular and computes contribution bases and splits. It references the legal basis (§20 Abs. 2a SGB IV) and explicitly covers 2023-2026, distinguishing it from generic calculators like 'contributions' or 'de-net-salary'.

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

Usage Guidelines4/5

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

The description gives clear context: it is for German Midijob/Uebergangsbereich calculations for 2023-2026, including classification against thresholds and computing Faktor F. It implies when to use it (when pay falls in the transition band) but does not explicitly name alternatives or exclusions among sibling tools. This matches 'clear context, no exclusions'.

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

de-net-salaryGerman Net Salary (exact, by tax year)A
Read-onlyIdempotent
Inspect

Exact German net (Netto) salary from annual gross (Brutto) for tax years 2023-2026. Income tax and Soli follow the official BMF Programmablaufplan for the year (to the euro; 2024 uses the retroactive December tariff), church tax comes from the PAP's Kirchensteuer base, and employee social insurance uses that year's ceilings and rates (KV Zusatzbeitrag defaults to the year's average). Earlier years are rejected - use de-gross-to-net with self-supplied figures instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoOptional. Age in years - under 23 skips the childless care surcharge.
yearYesTax year: 2023, 2024, 2025 or 2026.
faktorNoOptional. Tax-class-4 Faktorverfahren factor, default 1.0 (no factor). Only the small minority of married IV/IV couples who applied for it have one; it is assigned by the Finanzamt and printed on the payslip / ELStAM (e.g. 0.921, always <= 1). Leave unset unless the payslip shows a Faktor.
childrenNoKinderfreibetrag counter (ZKF), halves allowed (default 0). Also drives the care-insurance child discounts.
taxClassNoSteuerklasse 1-6 (default 1).
bundeslandNoOptional. State code (BW, BY, BE, ... SN, TH). Drives the Saxony care-insurance split and the pre-2025 East pension ceiling.
grossAnnualYesAnnual gross salary (Brutto) in EUR.
kvZusatzPctNoOptional. The Krankenkasse's own Zusatzbeitrag in percent — pass the actual rate for exact results (rates change yearly, e.g. TK 2025: 2.45, 2026: 2.69). Defaults to the year's official average, which is only right for generic estimates.
churchTaxPctNoChurch tax rate: 8, 9, or 0 for none (default 0).
privateHealthNo
childrenUnder25NoOptional. Children under 25 for the care-insurance discounts, when it differs from `children`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
netNo{ annual, monthly }.
soliNoSolidaritätszuschlag.
yearNoTax year.
grossNo{ annual, monthly }.
totalTaxNoAll taxes.
churchTaxNoKirchensteuer.
incomeTaxNoLohnsteuer (annual).
assumptionsNoInputs as applied (tax class, Zusatzbeitrag, PAP basis, ...).
contributionsNo{ pension, unemployment, health, care, total, rates, ceilingsApplied }.
totalDeductionsNoTaxes + contributions.
Behavior4/5

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

Annotations already mark the tool as read-only and idempotent. The description adds valuable behavioral details beyond annotations: the official BMF Programmablaufplan, 2024 retroactive tariff spec, church tax base, social insurance ceilings, and the Zusatzbeitrag default. It also notes rejection of earlier years. This goes beyond the annotation basics, though it doesn't detail output structure (covered by 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 a single dense sentence with a follow-up sentence for the alternative tool. It front-loads the main purpose and packs in crucial details without waste. It's slightly longer than ideal but every clause carries information, earning a 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?

Given the tool's complexity (11 parameters, nested object, output schema), the description covers the essential context: tax year range, official method, regional/status defaults, and the rejection of out-of-range years. The output schema covers return values, so the description needn't explain those. It could mention a few more edge cases, but overall it's complete enough.

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

Parameters3/5

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

Schema description coverage is 91%, so the schema already documents most parameters thoroughly. The description mentions one parameter default (KV Zusatzbeitrag average) which is already in the schema, but does not add significant extra meaning beyond 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?

The description states the tool computes exact German net salary from annual gross for tax years 2023-2026, using specific official methods. It clearly distinguishes from the sibling de-gross-to-net by noting that earlier years are rejected and directing users to that tool with self-supplied figures.

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 states when to use (for exact official calculations in 2023-2026) and explicitly names the alternative (de-gross-to-net) for rejected years. This provides clear when-to-use and 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.

depreciateDepreciationA
Read-onlyIdempotent
Inspect

Value after compounding down (or up) at a yearly percentage rate over a number of years. This is the method the app uses for long-term assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
upNofalse depreciates, true appreciates.
valueYesStarting value.
yearsYesNumber of years.
annualRatePctYesAnnual rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior4/5

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

The description explains the behavioral trait of compounding (down or up) at a yearly rate, which goes beyond the annotations that only indicate read-only and idempotent. It clarifies that the tool can both depreciate and appreciate based on the 'up' parameter, adding useful context. There is no contradiction with the annotations, and the description enriches the safety profile with method details.

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 sentences long and front-loaded with the core behavior. Every word contributes: the first sentence states the calculation and the second gives application context. No redundancy or fluff, making it highly 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?

The tool is a simple read-only calculation with a complete output schema, and the description explains the core method and typical use case (long-term assets). It does not need to explain return values since the output schema exists. It could mention edge cases (e.g., negative rates) but given the simplicity and available schema, it is sufficiently 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?

The input schema already documents all parameters with clear descriptions, achieving 100% coverage. The description does not add new individual parameter meaning beyond the schema, but it does provide a high-level formula context (compounding down/up over years). Since the schema handles the heavy lifting, 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 clearly states what the tool computes: "Value after compounding down (or up) at a yearly percentage rate over a number of years." It identifies the resource (a financial value) and the method (compounding), and distinguishes it from other depreciation methods (e.g., straight-line, declining-balance) by mentioning the ability to appreciate. However, it lacks an explicit verb like 'calculates' or 'computes,' which prevents a top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 provides some usage context with "This is the method the app uses for long-term assets," implying when to use it. However, it does not explicitly compare to alternatives or state exclusions (e.g., when not to use it or which sibling to use instead). The guidance is implied rather than explicit, so it earns a middle score.

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

de-rentenpunkteGerman Pension Points (Rentenpunkte)A
Read-onlyIdempotent
Inspect

German pension points (Entgeltpunkte, paragraph 63 SGB VI) for 2023-2026: points earned from an annual gross via the year's Durchschnittsentgelt (capped at the contribution ceiling), the aktueller Rentenwert for both halves of the year, and optionally the gross monthly state pension for a total point count.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear: 2023, 2024, 2025 or 2026.
bundeslandNoOptional. State code - East states use the East ceiling before 2025.
grossAnnualYesAnnual insured gross salary in EUR.
totalPointsNoOptional. Accumulated points, to project the gross monthly pension at today's Rentenwert.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearNoYear.
pointsNoPoints earned this year.
projectionNo{ totalPoints, monthlyPension, note } when totalPoints given.
rentenwertNo{ janToJun, fromJuly } EUR per point per month.
grossAnnualNoGross.
insuredGrossNoGross after the ceiling.
ceilingAppliedNoTrue if capped.
maxPointsThisYearNoCeiling / average.
durchschnittsentgeltNoAverage earnings divisor.
monthlyPensionPerPointNoCurrent EUR per point.
Behavior4/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description adds valuable behavioral context: the contribution ceiling cap and the fact that the aktueller Rentenwert can differ for the two halves of the year. It also clarifies that an optional total points input projects the gross monthly pension, which is not evident from 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.

Conciseness4/5

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

The description is a single, dense sentence that packs the legal reference, year range, calculation logic, and optional function. It is front-loaded with the core purpose and avoids redundant filler. However, it includes several technical German terms (Entgeltpunkte, Durchschnittsentgelt, aktueller Rentenwert) that may add cognitive load, keeping it just below 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?

The tool is a straightforward calculator with 4 parameters and an output schema, so the description does not need to explain return values. It covers the key calculation aspects (ceiling cap, half-year Rentenwert) and the optional projection mode. It is complete enough for a typical agent to use correctly, though it could mention edge cases like invalid years, but the schema already constrains valid years.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema already covers all parameters with clear descriptions (100% coverage). The description adds formula-level context (e.g., contribution ceiling, Durchschnittsentgelt) that helps interpret grossAnnual and year, but it does not significantly expand on parameter semantics beyond what the schema provides. This aligns with the baseline score 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 clearly identifies the tool as a calculator for German pension points (Entgeltpunkte) across 2023-2026, specifying the formula inputs (gross salary, Durchschnittsentgelt, contribution ceiling, aktueller Rentenwert). It is specific about the resource and scope, but lacks an explicit verb like 'calculate' or 'compute', which slightly lowers the score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 through the year range and the optional totalPoints parameter for pension projection, but it does not explicitly contrast with alternative tools or state when to use this tool versus others (e.g., de-net-salary). The legal reference and German-specific terminology strongly imply a niche use case, but no exclusions or alternative guidance is given.

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

discountDiscountA
Read-onlyIdempotent
Inspect

A single percentage discount: the amount off and the final price.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesOriginal price.
discountPctYesDiscount in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
discountNoAmount off.
finalPriceNoFinal price.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds the concrete output details (amount off and final price), which are not revealed by annotations or schema alone, giving useful behavioral transparency for a calculation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the tool's purpose and outputs without any wasted words. Every phrase contributes meaning, achieving excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 financial calculator, the description covers the essential purpose and outputs. The presence of an output schema (though not shown) reduces the need to detail return values. It misses edge-case handling (e.g., percent as fraction vs. whole), but this is not a critical gap for such a 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% (price and discountPct both have descriptions). The description does not add any further parameter-specific meaning, but since the schema fully documents the parameters, a 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?

The description explicitly states the tool computes a single percentage discount and reports both the amount off and the final price. The word 'single' distinguishes it from the sibling tool 'successive-discounts', making its 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 Guidelines4/5

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

The description clearly implies use for one discount rather than multiple/layered discounts. It does not explicitly name an alternative tool (e.g., successive-discounts), but the 'single' qualifier provides contextual guidance without excluding edge cases.

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

discounted-paybackDiscounted PaybackA
Read-onlyIdempotent
Inspect

Discounted payback period: like payback-period but each cashflow is discounted at the per-period rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
ratePctYesDiscount rate per period in percent.
cashflowsYesInflow each period.
initialCostYesUpfront cost.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsNoDiscounted payback in periods (null if never).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the key behavioral detail that each cashflow is discounted at the per-period rate, which is not covered by annotations or schema. This goes beyond the basic structure, though it does not elaborate on return behavior, which is acceptable 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.

Conciseness5/5

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

The description is a single sentence that immediately names the tool's purpose and its key differentiator from a sibling. It is concise, front-loaded, and contains no redundant or unnecessary content.

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 straightforward calculation tool with a complete input schema, an output schema, and annotations covering read-only and idempotent behavior, the description provides sufficient context. It also names the alternative tool. No critical gaps 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% with clear descriptions for ratePct, cashflows, and initialCost. The tool description does not add significant parameter-level meaning beyond the schema, but it indirectly aligns 'ratePct' with the 'per-period rate' mentioned. Baseline 3 is appropriate given the high schema 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?

The description clearly states that the tool calculates the discounted payback period and explicitly distinguishes it from the sibling tool 'payback-period' by noting that each cashflow is discounted at a per-period rate. This provides a specific verb, resource, and key differentiator.

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?

The phrase 'like payback-period but...' directly references an alternative tool and specifies the difference, telling the user when to choose this tool (when discounting is needed) versus payback-period. This is explicit usage guidance with an alternative named.

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

dollar-cost-averagingDollar-Cost AveragingA
Read-onlyIdempotent
Inspect

Dollar-cost averaging: buying a fixed amount each period at the given prices. Returns units accumulated, total invested, average cost, and final value at the last price.

ParametersJSON Schema
NameRequiredDescriptionDefault
pricesYesPrice at each purchase period.
periodicInvestmentYesFixed amount invested each period.

Output Schema

ParametersJSON Schema
NameRequiredDescription
unitsNoUnits accumulated.
avgCostNoAverage cost per unit (null if none).
investedNoTotal invested.
finalValueNoValue at the last price.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat those safety traits. It adds value by specifying the return values (units accumulated, total invested, average cost, final value), which goes beyond the bare schema. No contradictions with annotations.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the core concept and followed by the outputs. No unnecessary words 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 two-parameter tool with full schema coverage and an output schema available, the description is sufficient. It states the input pattern and the calculated results, making the tool's behavior clear. The presence of an output schema means return value details do not need to be exhaustively repeated.

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

Parameters3/5

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

Schema descriptions cover both parameters fully (price at each period and fixed investment amount). The description does not add additional parameter-level detail beyond restating the concept, so the baseline score of 3 applies given the 100% schema 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?

The description clearly states that the tool calculates dollar-cost averaging by buying a fixed amount each period at the given prices, and lists the computed outputs (units accumulated, total invested, average cost, final value). This specific verb+resource distinguishes it from the many other financial 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 description explains the concept of dollar-cost averaging but does not explicitly state when to use this tool over alternatives such as future-value or compound-interest. It implies usage for DCA calculations but lacks explicit exclusions or alternative suggestions.

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

double-declining-depreciationDouble-Declining DepreciationA
Read-onlyIdempotent
Inspect

Double-declining-balance depreciation: 2/usefulYears of the book value each year, not falling below salvage.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear (1-based).
valueYesInitial cost.
salvageNoSalvage value (default 0).
usefulYearsYesUseful life in years.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bookValueNoBook value at year end.
depreciationNoDepreciation this year.
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint, so safety is covered. The description adds behavioral details beyond annotations by explaining the calculation algorithm and the salvage floor, which is essential for understanding how depreciation stops.

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

Conciseness5/5

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

The description is a single sentence that efficiently communicates the method, formula, and constraint without any redundant words. It is front-loaded with the method 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?

Given the output schema and complete parameter descriptions, the description is sufficient. It explains the algorithm and the salvage floor. Minor ambiguity about year semantics is resolved by the schema, making the tool well-specified.

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 schema already documents all parameters, but the description adds meaning by showing how value, usefulYears, and salvage are used in the formula. However, 'year' is not explicitly tied to the formula in the description, though the schema clarifies it is 1-based.

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 it computes double-declining-balance depreciation with a specific formula (2/usefulYears of book value) and a salvage floor. This directly distinguishes it from sibling depreciation calculators like straight-line or sum-of-years-digits.

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 tool name and description make it obvious when to use this tool: for double-declining-balance depreciation calculations. It does not explicitly mention alternatives or exclusions, but the method is well-defined and the context is clear.

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

dscrDebt Service Coverage RatioA
Read-onlyIdempotent
Inspect

Debt service coverage ratio: net operating income divided by annual debt service.

ParametersJSON Schema
NameRequiredDescriptionDefault
noiYesNet operating income.
annualDebtServiceYesAnnual debt service.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dscrNoDebt service coverage ratio (null if debt<=0).
Behavior3/5

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

The annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the computational behavior (division), but does not disclose edge-case handling such as division by zero when annualDebtService is zero.

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

Conciseness5/5

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

The description is a single, compact sentence that defines the ratio and the calculation. Every word contributes meaning, with no redundancy or unnecessary detail.

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, deterministic financial calculation, the description fully conveys the purpose and computation. The presence of an output schema covers return values, and the two parameters are clearly defined, so no additional context is necessary.

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 schema descriptions fully cover both parameters, providing baseline clarity. The tool description adds value by specifying the relationship between the parameters (NOI divided by annual debt service), making the numerator/denominator roles explicit beyond the individual parameter descriptions.

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

Purpose5/5

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

The description clearly defines the tool as the debt service coverage ratio and explicitly states the formula (net operating income divided by annual debt service). This distinguishes it from sibling tools like 'noi' and 'cap-rate' by specifying the exact computation and inputs.

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 provides no guidance on when to use this tool versus alternatives. There is no mention of typical use cases (e.g., evaluating loan risk) or exclusions, leaving the agent to infer context from the formula alone.

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

dtiDebt-to-IncomeA
Read-onlyIdempotent
Inspect

Debt-to-income ratio, percent (monthly debt / gross monthly income).

ParametersJSON Schema
NameRequiredDescriptionDefault
monthlyDebtYesTotal monthly debt payments.
grossMonthlyIncomeYesGross monthly income.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dtiPctNoDebt-to-income, percent (null if income<=0).
Behavior4/5

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

The formula itself is a strong behavioral disclosure: it tells the agent exactly how the calculation is performed. Combined with the annotations (readOnlyHint=true, idempotentHint=true), this gives a complete safety profile. The only missing piece is edge-case handling (e.g., zero income), but the explicit formula covers the core behavior beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, succinct line that states the output unit and the formula. No filler words, no redundant content. It is immediately readable and front-loaded with the core concept.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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, the description provides the essential purpose, formula, and output unit. The output schema exists, so return values are documented elsewhere. It lacks usage context (covered in dimension 2), but overall it gives enough information for basic selection and invocation.

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 already provides 100% coverage with clear descriptions for monthlyDebt and grossMonthlyIncome. The description adds relational meaning by showing how the parameters interact (numerator and denominator) in the ratio, which goes beyond the individual schema descriptions and clarifies their purpose.

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 explicitly defines the debt-to-income ratio as a percentage with the exact formula (monthly debt / gross monthly income). This is specific, unambiguous, and clearly distinguishes it from sibling financial ratio tools like LTV, DSCR, and cap-rate.

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 usage guidance is provided. The description does not indicate when to use this tool (e.g., loan qualification assessments) or how it compares to alternatives such as mortgage-affordability or debt-payoff. The agent is left without context for selecting it over similar calculators.

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

effective-rateEffective RateA
Read-onlyIdempotent
Inspect

Convert a nominal annual rate to the effective annual rate (APY) for a compounding frequency, or with toNominal recover the nominal rate from an APY.

ParametersJSON Schema
NameRequiredDescriptionDefault
ratePctYesThe rate in percent (nominal, or effective when toNominal is true).
toNominalNofalse (default) returns the effective rate; true returns the nominal rate.
periodsPerYearYesCompounding periods per year (12 monthly, 365 daily).

Output Schema

ParametersJSON Schema
NameRequiredDescription
nominalRatePctNoNominal rate, percent (when toNominal).
effectiveRatePctNoEffective annual rate (APY), percent.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety and idempotency. The description adds behavioral context by explaining the compounding-frequency dependency and the toNominal flag, making the transformation logic transparent. No contradictions or hidden side effects.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It efficiently conveys both conversion directions and key parameter roles, earning its place without waste.

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 and two required parameters, the description covers the primary use cases and the reverse operation. No missing information that an agent would need to select and invoke this tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are well-documented. The description adds meaning by explaining that ratePct is interpreted as nominal or effective depending on toNominal, and that periodsPerYear is the compounding frequency. This exceeds the baseline for high schema 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?

The description clearly states the tool converts a nominal annual rate to the effective annual rate (APY) for a compounding frequency, and also supports the reverse with toNominal. It uses a specific verb ('Convert') and resource, distinguishing it from sibling tools like compound-interest or after-tax-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?

The description provides clear context for when to use the tool (nominal-to-effective or effective-to-nominal conversion) but does not explicitly exclude alternatives or name sibling tools. The dual-mode explanation gives strong guidance without being as explicit as a full when/when-not statement.

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

emergency-fundEmergency FundA
Read-onlyIdempotent
Inspect

Months of runway: liquid savings divided by monthly expenses.

ParametersJSON Schema
NameRequiredDescriptionDefault
liquidSavingsYesCash and liquid savings on hand.
monthlyExpensesYesTotal monthly expenses.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthsNoMonths of runway (null if expenses<=0).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds the precise arithmetic operation without contradicting those hints. It does not disclose edge-case behavior (e.g., zero monthly expenses), but for a pure calculator, the formula plus annotations are sufficient.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler or redundant detail. It efficiently states the output concept and the formula.

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-number calculator with both inputs fully documented, an output schema present, and read-only/idempotent annotations, the description fully conveys the calculation and result semantics. No significant missing information.

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 both parameters described, so the baseline is 3. The description goes beyond the schema by explaining the relationship between the parameters (division) and the output interpretation ('months of runway'), adding meaningful semantic value.

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 explicitly explains that the tool computes 'months of runway' as liquid savings divided by monthly expenses. This makes the function unmistakable and distinct from sibling financial 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?

No explicit when-to-use guidance or alternative references are provided; the use case is implied only through the formula. There is no mention of scenarios where this metric is appropriate or when to prefer other tools.

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

fee-dragFee DragA
Read-onlyIdempotent
Inspect

Effect of an annual fee: the compounded balance at the gross rate vs net of the fee, and the amount lost to fees.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesNumber of years.
feePctYesAnnual fee in percent.
principalYesStarting amount.
grossAnnualPctYesGross annual return in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
netNoNet of fees.
grossNoGross balance.
lostToFeesNoAmount lost to fees.
Behavior4/5

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

Annotations already declare the tool as read-only and idempotent. The description adds context about the computational approach (comparing gross vs net balances and the fee loss), which is valuable. No contradiction exists, and the description does not omit any major safety or behavioral 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 a single, well-structured sentence that leads with the core purpose ('Effect of an annual fee') and efficiently explains the outputs. Every word contributes meaning; there is no redundancy or 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?

Given the tool's simplicity, a fully documented schema, and the presence of an output schema, the description is sufficiently complete. It conveys the essential outcome without needing to elaborate on return formats or assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema provides 100% coverage with clear descriptions for all four parameters (principal, grossAnnualPct, feePct, years). The description does not add parameter-specific details beyond what the schema already contains, so it does not exceed the baseline for high schema 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?

The description clearly states the tool's function: it calculates the effect of an annual fee on a compounded balance, comparing gross vs net growth and quantifying the amount lost to fees. This specific verb-resource combination distinguishes it from siblings like compound-interest or cagr.

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

Usage Guidelines3/5

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

The description implies the use case (when you want to see the impact of annual fees on investment growth) but does not explicitly state when to use this tool over alternatives or provide exclusion criteria. Sibling tools like compound-interest are not mentioned, so the guidance is only implicit.

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

fire-numberFIRE NumberA
Read-onlyIdempotent
Inspect

FIRE target nest egg from annual spend and a safe withdrawal rate (default 4%), plus the gap from today and the years to reach it given optional savings and growth. No advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
annualSpendYesYearly spending the nest egg must cover.
annualRatePctNoOptional. Annual portfolio growth in percent (default 0).
currentNestEggNoOptional. Amount already saved (default 0).
withdrawalRatePctNoSafe withdrawal rate in percent (default 4 = the 4% rule).
annualContributionNoOptional. Amount saved per year (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
gapNoGap from today.
targetNoTarget nest egg.
yearsToFINoYears to FI (null if unreachable).
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds the 'No advice' disclaimer and explains the computational outputs (gap and years to reach), providing useful context beyond what annotations convey. It does not discuss error handling or edge cases, but the safety profile is well-covered.

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

Conciseness5/5

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

The description is a single, well-structured sentence that captures the tool's purpose, key inputs, default, and outputs, followed by a concise disclaimer. Every word earns its place, with no redundancy or excessive 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?

With a complete schema, annotations, and an output schema present, the description adequately covers the tool's purpose and core outputs. It could mention limitations or assumptions beyond the default 4% rule, but the provided information is sufficient for an agent to use the tool correctly in most scenarios.

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 descriptions cover 100% of parameters, providing a solid baseline. The description adds meaning by synthesizing how parameters interact: 'gap from today' implies comparison with currentNestEgg, and 'years to reach it' uses annualContribution and growth. This goes beyond individual property descriptions to clarify the calculation flow.

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 the tool calculates a FIRE target nest egg from annual spend and safe withdrawal rate, plus the gap from today and years to reach it. This specific verb+resource with default rate distinguishes it from sibling calculators like barista-fire and coast-fire.

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 provides clear context for when to use the tool (standard FIRE calculation) by specifying inputs and outputs. It does not explicitly exclude alternatives or mention sibling tools, but the unique combination of nest egg, gap, and years-to-target gives enough guidance for an agent to select it over similar calculators.

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

future-valueFuture ValueA
Read-onlyIdempotent
Inspect

Future value of a single lump sum compounded annually.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesNumber of years.
principalYesStarting amount.
annualRatePctYesAnnual growth rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is known. The description adds key behavioral context by specifying 'compounded annually' and 'single lump sum', which define the calculation scope beyond the annotations. It does not detail edge cases, but the output schema exists to cover return format.

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

Conciseness5/5

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

The description is a single sentence, extremely concise, and directly front-loaded with the key concept. Every word is meaningful, and there is no redundancy or 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 simple financial calculator with full schema coverage, a complete output schema, and annotations indicating safety, the description adequately captures the tool's purpose. It does not explain return values, but the output schema handles that, and the annual compounding detail is sufficient for the intended use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 adds contextual meaning by clarifying that principal is a one-time lump sum and compounding occurs annually, which complements the parameter descriptions without adding syntax or format details. No additional parameter-level information is provided.

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

Purpose4/5

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

The description clearly indicates the tool computes the future value of a single lump sum with annual compounding, distinguishing it from annuity or present-value calculators. However, it lacks an explicit action verb such as 'calculate' or 'compute', relying on the noun phrase 'Future value of a single lump sum'.

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

Usage Guidelines3/5

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

The description implies usage for a single lump sum with annual compounding, but it does not explicitly state when to use this tool over alternatives like annuity-fv or present-value. No exclusions or alternative tool references are provided, leaving the guidance implicit rather than direct.

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

fx-convertFX ConvertA
Read-onlyIdempotent
Inspect

Convert an amount using a rate supplied by the caller (units of target currency per unit of source). No rate is ever looked up.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateYesRate: target units per source unit.
amountYesAmount to convert.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds valuable behavioral context by stating that the rate is supplied by the caller and that no rate lookup is performed. This goes beyond the annotations to clarify the tool's pure calculation nature.

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 concise sentences with no redundant wording. It is front-loaded with the action ('Convert an amount') and efficiently communicates the key scope constraint ('No rate is ever looked up').

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 with only two parameters, both fully documented in the schema, and an output schema is present. The description, combined with annotations and schema, provides complete context for correct usage. No additional details like rounding or edge cases are necessary for this straightforward calculation 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?

The schema already provides 100% parameter description coverage, so the baseline is 3. The description restates the rate unit meaning ('units of target currency per unit of source') which is already in the schema's rate description, adding no new semantic information beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool converts an amount using a caller-supplied rate, which is a specific verb+resource. It distinguishes itself from siblings by emphasizing that no rate lookup occurs, which is unique among the financial calculation 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?

The description clearly implies when to use this tool: when you have a rate and want to convert. The phrase 'No rate is ever looked up' provides an exclusionary guideline, signaling that this tool is not for rate retrieval. However, it does not explicitly name alternatives or provide explicit when-not-to-use conditions.

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

gross-rent-multiplierGross Rent MultiplierA
Read-onlyIdempotent
Inspect

Gross rent multiplier: price divided by gross annual rent.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesPurchase price.
grossAnnualRentYesGross annual rent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
grmNoGross rent multiplier (null if rent<=0).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's a safe, non-mutating operation. The description adds the exact computation behavior, which is the core of this tool. It does not mention edge cases like zero rent, but the annotation coverage lowers 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?

The description is a single sentence, 'Gross rent multiplier: price divided by gross annual rent.' It is front-loaded, contains no filler, and every word earns its place.

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

Completeness5/5

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

Given the tool's simplicity (two numeric inputs, one formula), the description, combined with the rich schema, annotations, and output schema, provides complete context. No additional guidance is necessary for correct use.

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 descriptions for both parameters. The description adds the relationship between them ('price divided by gross annual rent'), clarifying the role of each parameter in the calculation beyond simple type definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 the formula 'price divided by gross annual rent', which is a specific calculation and clearly differentiates the tool from siblings. It is concise and unambiguous, though it does not explicitly name alternative 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?

No guidance is provided on when to use this tool vs. alternatives like cap-rate or cash-on-cash. The description only gives the formula, with no context about appropriate use cases.

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

holding-period-returnHolding Period ReturnA
Read-onlyIdempotent
Inspect

Holding-period return: (income + capital gain) / starting value, in percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
incomeYesIncome received over the period.
endValueYesEnding value.
beginValueYesStarting value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hprPctNoHolding-period return, percent (null if begin=0).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds the exact formula and output unit ('in percent'), which is valuable behavioral context beyond the annotations. It does not contradict annotations.

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

Conciseness5/5

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

The description is a single sentence with a compact formula. No wasted words, information is front-loaded, and it is immediately actionable.

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 100% parameter coverage, the description is mostly sufficient. However, the formula references 'capital gain' without explicitly stating it equals endValue - beginValue, leaving a minor ambiguity in how inputs map to the calculation. Also, no mention of edge cases (e.g., zero starting value) is made.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 all three parameters ('Income received over the period.', 'Ending value.', 'Starting value.'). The description adds no extra semantic detail to the parameters; it only restates the formula, 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 defines the tool as computing holding-period return with an explicit formula: '(income + capital gain) / starting value, in percent.' The resource (holding-period return) and calculation scope are specific, and the formula distinguishes it from sibling metrics like CAGR or ROI.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 the formula (e.g., when income and beginning/ending values are known) but provides no explicit context, exclusions, or comparisons to alternatives like 'cagr' or 'roi'. No direct guidance is given.

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

hourly-to-salaryHourly to SalaryA
Read-onlyIdempotent
Inspect

Annualize an hourly rate (and the monthly equivalent).

ParametersJSON Schema
NameRequiredDescriptionDefault
hourlyRateYesHourly rate.
hoursPerWeekNoHours per week (default 40).
weeksPerYearNoWeeks per year (default 52).

Output Schema

ParametersJSON Schema
NameRequiredDescription
annualNoAnnual salary.
monthlyNoMonthly equivalent.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safe read-only nature is covered. The description adds the monthly equivalent output, which is useful, but it does not disclose details like rounding or return format. This is 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?

The description is a single, front-loaded sentence with no wasted words. It communicates the essential transformation efficiently.

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

Completeness4/5

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

For a simple conversion tool with full schema coverage and an output schema, the description covers the core transformation. It could mention the default assumptions, but those are already in the schema, so it is sufficiently 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?

The input schema fully describes all three parameters with defaults, and the description adds no additional parameter-specific meaning. Baseline 3 applies due to 100% schema description 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?

The description clearly states the tool's purpose with the verb "Annualize" and the resource "hourly rate", plus the additional monthly equivalent output. This distinguishes it from the sibling tool "salary-to-hourly" which performs the reverse 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 description implies usage (when you have an hourly rate and want annual salary) but does not explicitly state when to use it vs. alternatives like salary-to-hourly, nor does it provide exclusions or prerequisites.

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

inflation-adjustInflation AdjustA
Read-onlyIdempotent
Inspect

Convert a nominal amount to today's purchasing power (real), or with toNominal inflate a real amount forward, at a given annual inflation rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesNumber of years.
amountYesAmount to adjust.
toNominalNofalse (default) deflates nominal to real; true inflates real to nominal.
inflationRatePctYesAnnual inflation rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds directional semantics (real vs nominal) but does not disclose edge cases like negative inflation rates, rounding, or handling of years=0. With annotations present, this is 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?

A single sentence, front-loaded with the main verb and resource, and economically states both modes. No wasted words; every phrase contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 do not need to be described. The description covers both directions of the calculation and the core parameter roles. It is complete for typical financial inflation adjustments, though it could mention handling of negative rates or zero periods for full completeness.

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 meaning beyond the schema by explaining the economic interpretation of 'amount' (nominal vs real) and how toNominal changes the operation. This clarifies the primary parameter's purpose more than the schema's generic 'Amount to adjust.'

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 'Convert' and clearly explains both directions (nominal to real, or real to nominal with toNominal). It names the resource ('amount', 'purchasing power') and differentiates from sibling tools by focusing on inflation adjustment rather than general time value of money.

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 implies when to use: whenever you need to adjust for inflation, and it explains the two possible modes (deflating vs inflating) based on the toNominal parameter. It does not explicitly exclude alternatives or name sibling tools, but the context is clear and unambiguous for the intended use case.

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

interest-only-paymentInterest-Only PaymentB
Read-onlyIdempotent
Inspect

Interest-only monthly payment on a balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesOutstanding balance.
ratePctYesAnnual rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
paymentNoMonthly interest payment.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the tool's safe, non-mutating nature. The description adds minimal behavioral context by indicating the payment is monthly and based on a balance, but it does not explain the annual-to-monthly rate conversion or any edge cases. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single, concise sentence with no wasted words. It front-loads the core concept and is appropriately sized for a simple calculator 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?

Given the tool's simplicity—two well-documented parameters, strong annotations, and an output schema—the description conveys the essential function. Minor gaps include lacking an explicit verb and not differentiating from sibling tools, but the schema and annotations compensate for most missing 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?

The schema provides full descriptions for both parameters ('Outstanding balance' and 'Annual rate in percent') with 100% coverage, so the schema already handles parameter semantics. The description adds no additional parameter context, warranting the baseline score 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 clearly identifies the tool as computing an interest-only monthly payment on a balance, distinguishing it from related tools like amortization or annuity-payment. However, it uses a noun phrase rather than an explicit verb like 'calculates,' which would make the action more precise.

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 provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions or reference sibling tools such as amortization or loan-payoff, leaving the agent to infer usage solely from the name.

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

intrinsic-time-valueIntrinsic & Time ValueA
Read-onlyIdempotent
Inspect

Split an option premium into intrinsic value (in-the-money amount) and time value.

ParametersJSON Schema
NameRequiredDescriptionDefault
spotYesUnderlying price.
typeNoOption type (default call).
strikeYesStrike price.
premiumYesOption premium.

Output Schema

ParametersJSON Schema
NameRequiredDescription
intrinsicNoIntrinsic value.
timeValueNoTime value.
Behavior4/5

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

The description clarifies that intrinsic value is the in-the-money amount, adding semantic context beyond the read-only and idempotent annotations. It does not contradict annotations and provides enough behavioral understanding for a calculation tool.

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

Conciseness5/5

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

The description is a single concise sentence that is front-loaded with the primary action and output. Every word earns its place, with no redundancy or 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?

Given the tool's simplicity, an output schema exists to explain return values, and the description sufficiently explains the calculation's purpose. No additional context is needed 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%, with each parameter already described (e.g., spot as 'Underlying price'). The description adds no parameter-specific details beyond what the schema provides, so a 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 uses a specific verb ('Split') and identifies the resource (option premium) and the exact outputs (intrinsic value and time value). It clearly distinguishes from sibling tools like option-greeks and option-breakeven by focusing on premium decomposition.

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

Usage Guidelines4/5

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

The description clearly states the tool's purpose ('Split an option premium...'), making it obvious when to use it. However, it does not explicitly mention when not to use it or name alternative tools, 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.

irrIRRA
Read-onlyIdempotent
Inspect

Internal rate of return: the per-period rate that zeroes the NPV of a cashflow series. Returns a percent, or null when the series never crosses zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesCashflows by period, starting at period 0. Outflows are negative.

Output Schema

ParametersJSON Schema
NameRequiredDescription
irrPctNoInternal rate of return, percent (null if none).
Behavior4/5

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

Beyond the annotations (readOnly, idempotent), the description adds the key behavioral detail that it returns null when the cashflow series never crosses zero, and clarifies the result is a percentage. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the term definition, and every clause contributes meaning. 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?

Given the output schema exists and the parameter is documented, the description covers the essential behavior (percent return, null case). It doesn't address edge cases like multiple IRRs, but that's beyond the minimum for a simple financial tool. Sibling context implies regular periods are assumed, which aligns.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 `cashflows` is fully described in the schema with period and sign conventions. The description adds no additional parameter-level meaning, but the high schema coverage carries the burden, so 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 precise mathematical definition of IRR, clearly stating what it computes and the return type. It implies regular periods via 'per-period rate' but does not explicitly contrast with XIRR or MIRR, 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?

No guidance is provided on when to use IRR versus alternatives like XIRR (irregular intervals) or MIRR (reinvestment assumptions). The schema's 'by period' hint is subtle but not explicit in the description.

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

loan-aprLoan APRA
Read-onlyIdempotent
Inspect

Effective APR including upfront fees: the note-rate payment priced against the net proceeds (amount - fees). Annual percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
feesNoOptional. Upfront fees / points in currency (default 0).
amountYesLoan amount.
ratePctYesNote (nominal) annual rate in percent.
termMonthsYesTerm in months.

Output Schema

ParametersJSON Schema
NameRequiredDescription
aprPctNoEffective APR, percent (null if degenerate).
Behavior4/5

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

Annotations already establish read-only and idempotent behavior; the description adds transparency about the calculation method (pricing note-rate payment against net proceeds), which helps the agent understand the formula without contradicting the annotations.

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

Conciseness5/5

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

The description is a single sentence that front-loads the purpose ('Effective APR including upfront fees') and provides the formula in a compact manner with no filler.

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

Completeness5/5

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

Given the schema coverage, output schema, and annotations, the description is sufficient to understand the tool's scope; the formula detail covers the behavioral nuance, making it complete for an AI agent.

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?

While the schema fully documents each parameter, the description adds relational semantics by explaining how fees reduce the amount to net proceeds, which clarifies the interplay between amount, fees, and the resulting APR.

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 identifies the tool's function: calculating effective APR that includes upfront fees, and distinguishes it from simpler effective-rate tools by specifying the net proceeds calculation (amount - fees).

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

Usage Guidelines4/5

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

The description implies the tool is for loans with upfront fees, but does not explicitly compare to alternatives like effective-rate or state when not to use it, so it earns a 4.

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

loan-payoffLoan PayoffB
Read-onlyIdempotent
Inspect

Time and interest saved by paying a fixed extra amount every month on a loan, versus the baseline schedule.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesFix the term (compute the payment) or fix the payment (compute the term).
rateYesAnnual interest rate in percent (6 = 6%).
extraNoOptional dated extra principal payments.
amountYesLoan principal.
paymentNoMonthly payment, used when mode is 'payment'.
startDateYesFirst payment month as an ISO date (YYYY-MM-DD).
termYearsNoTerm in years, used when mode is 'term'.
fixedUntilNoOptional. Rate is certain until this ISO date; beyond it the schedule is an estimate.
extraMonthlyYesExtra principal paid each month.

Output Schema

ParametersJSON Schema
NameRequiredDescription
baselineNoBaseline { months, totalInterest, payoffDate }.
acceleratedNoAccelerated { months, totalInterest, payoffDate }.
monthsSavedNoMonths saved.
interestSavedNoInterest saved.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, covering safety traits. The description adds the comparative nature of the calculation ('versus the baseline schedule'), but doesn't disclose assumptions like interest compounding or payment timing. This adds some value beyond annotations but is not richly detailed.

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

Conciseness5/5

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

The description is a single sentence that is direct and free of unnecessary words. It front-loads the outcome ('Time and interest saved') clearly, making it easy to grasp.

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 tool has 9 parameters and several related sibling tools, the description is minimal. It doesn't mention the two modes ('term' vs 'payment') or the optional extra payments, though these are covered in the schema. The presence of an output schema reduces the need to describe returns, but a bit more context on the baseline schedule and assumptions would make it more complete for an agent 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 coverage is 100%, so all parameters have descriptions. The tool description adds no parameter-specific information; however, the schema itself is comprehensive, so a baseline score 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 clearly states the tool calculates time and interest saved by making fixed extra monthly payments, using the specific verb 'saved' and resource 'loan'. While it doesn't explicitly distinguish it from similar sibling tools like 'biweekly-payoff' or 'credit-card-payoff', the phrase 'fixed extra amount every month' implies the differentiation, making it clear but not fully 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 provides no guidance on when to use this tool compared to alternatives such as biweekly-payoff or debt-payoff. There is no mention of preferred scenarios, exclusions, or references to sibling tools. The usage context is only implied by the tool's purpose.

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

ltvLoan-to-ValueA
Read-onlyIdempotent
Inspect

Loan-to-value ratio, percent (loan / property value).

ParametersJSON Schema
NameRequiredDescriptionDefault
loanAmountYesLoan amount.
propertyValueYesProperty value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ltvPctNoLoan-to-value, percent (null if value<=0).
Behavior3/5

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

Annotations already indicate read-only and idempotent behavior. The description adds the computation formula and output unit ('percent'), but does not disclose additional behaviors such as handling of zero property value or output precision. No contradictions with annotations.

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

Conciseness5/5

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

The description is a single concise sentence, front-loaded with the metric name, and includes the essential formula without any unnecessary words or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 low complexity, the description sufficiently explains the calculation and output format. The presence of an output schema and annotations covers return details and safety. A minor gap is the absence of input constraints (e.g., positive values), but not critical for this simple calculator.

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

Parameters4/5

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

The schema provides basic property descriptions ('Loan amount', 'Property value'), but the description's formula 'loan / property value' clarifies the relationship and intended role of each parameter, adding meaningful context 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?

The description clearly defines the tool's purpose: to compute the loan-to-value ratio as a percentage, with the explicit formula 'loan / property value'. This goes beyond the mere title 'Loan-to-Value' and distinguishes it from sibling financial metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 metric name and description, but no explicit alternatives or exclusions are mentioned. For example, it doesn't contrast with similar ratios like DTI or DSCR. The description relies on the user knowing when to apply LTV.

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

margin-markupMargin & MarkupA
Read-onlyIdempotent
Inspect

Convert between margin and markup. Supply any one of cost/price plus one of marginPct/markupPct (or both cost and price); returns cost, price, profit, marginPct, and markupPct.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoUnit cost.
priceNoSelling price.
marginPctNoProfit as a percent of price.
markupPctNoProfit as a percent of cost.

Output Schema

ParametersJSON Schema
NameRequiredDescription
costNoCost.
priceNoPrice.
profitNoProfit.
marginPctNoMargin, percent.
markupPctNoMarkup, percent.
Behavior4/5

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

Beyond the annotations (readOnly, idempotent), the description discloses that the tool always returns the full set of cost, price, profit, marginPct, and markupPct regardless of which inputs are supplied. This behavioral detail is not captured in the annotations and adds meaningful transparency about output completeness.

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 fluff, with the core verb and resource front-loaded. Every phrase earns its place: the input rule, the alternative input mode, and the output list are all packed efficiently without redundancy.

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

Completeness5/5

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

Given the tool's moderate complexity (4 params, no required fields, conditional input constraints), the description fully covers the key nuance of which parameter combinations are valid. The output schema and per-parameter descriptions cover the rest, so the description is complete for an agent to invoke the tool correctly.

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

Parameters4/5

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

While the schema already documents each parameter individually, the description adds crucial combinatorial semantics: that only certain input pairs are valid and that supplying both cost and price is also acceptable. This goes beyond per-field descriptions and helps the agent understand the relationship between 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 uses the specific verb 'Convert' with the resource 'margin and markup', immediately clarifying the tool's function. It clearly distinguishes itself from sibling financial calculators by naming its exact domain and the output fields it returns.

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 provides explicit input combination rules ('Supply any one of cost/price plus one of marginPct/markupPct (or both cost and price)'), giving clear context on how to invoke the tool. It doesn't explicitly name alternatives or when not to use it, but the unique scope makes the usage context unambiguous.

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

max-drawdownMax DrawdownA
Read-onlyIdempotent
Inspect

Maximum drawdown of a value series: the largest peak-to-trough decline, as a positive percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
seriesYesSequence of values (e.g. portfolio levels).

Output Schema

ParametersJSON Schema
NameRequiredDescription
maxDrawdownPctNoLargest peak-to-trough decline, percent.
Behavior4/5

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

Annotations already declare the tool as read-only and idempotent. The description adds valuable behavioral context by specifying that the result is expressed as a positive percent, and it explains the calculation method (peak-to-trough), which goes 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.

Conciseness5/5

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

One sentence that front-loads the purpose and then defines the term. No redundant information or filler, making it highly concise and well-structured.

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

Completeness5/5

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

Given the simple one-parameter input, the presence of an output schema, and annotations covering safety, the description adequately covers the tool's behavior. It defines the metric sufficiently for an agent to select and 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 coverage is 100%, and the single parameter 'series' is already described as 'Sequence of values (e.g. portfolio levels).' The description repeats the same concept without adding new semantics, 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 clearly states the tool computes maximum drawdown of a value series, defining it as the largest peak-to-trough decline. The verb 'compute' is implicit in the definition, and the scope distinguishes it from sibling metrics like return-stats or cagr.

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 makes the usage context clear: it is for a value series, such as portfolio levels. It does not explicitly exclude alternatives or compare with sibling tools, but the uniqueness of the metric is obvious from the definition.

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

mirrMIRRA
Read-onlyIdempotent
Inspect

Modified internal rate of return: negatives financed at financeRate, positives reinvested at reinvestRate. Percents in and out.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesCashflows by period (index 0 today; outflows negative).
financeRatePctYesFinance rate in percent.
reinvestRatePctYesReinvestment rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
mirrPctNoModified IRR, percent (null if degenerate).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds valuable behavioral context by explaining how negative cashflows are financed at financeRate and positives reinvested at reinvestRate, which reveals the core mechanism beyond the annotations. No contradictions exist.

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

Conciseness5/5

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

The description is a single, dense sentence that front-loads the key concept and includes all essential information without any wasted words. It is highly concise while retaining clarity.

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

Completeness4/5

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

Given the simplicity of the calculation and the presence of both input and output schemas, the description covers the necessary context: the formula's behavior, rate units, and cashflow direction. It could optionally mention constraints like needing at least one positive and one negative cashflow, but that is a mathematical requirement not essential for an agent to invoke the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaning by stating 'Percents in and out', clarifying that both rates are in percent (not decimal), and by describing the directional mapping of rates to cashflow signs. This goes beyond the schema's simple 'Finance rate in percent' descriptions.

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

Purpose5/5

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

The description clearly identifies the tool as 'Modified internal rate of return' and immediately distinguishes it from plain IRR by specifying that negatives are financed at financeRate and positives reinvested at reinvestRate. This is a specific calculation with a clear resource and scope, effectively differentiated from sibling tools like 'irr' and 'xirr'.

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

Usage Guidelines3/5

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

The description implies usage for MIRR calculations with explicit finance and reinvestment rates, but it does not explicitly state when to choose MIRR over IRR/XIRR or mention any exclusions. The context is adequate for a basic understanding but lacks direct guidance on alternatives.

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

mortgage-affordabilityMortgage AffordabilityA
Read-onlyIdempotent
Inspect

Maximum loan and home price the income supports: the DTI cap on gross monthly income (less existing debts) sets the payment, whose present value at the rate and term is the loan.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateYesAnnual interest rate in percent.
dtiPctYesMax share of gross monthly income for the payment, in percent (e.g. 36).
termYearsYesLoan term in years.
downPaymentNoOptional. Cash down payment, added to the loan for the home price (default 0).
annualIncomeYesGross annual income.
monthlyDebtsNoOptional. Existing monthly debt payments (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
maxLoanNoMax loan.
maxHomePriceNoMax home price.
maxMonthlyPaymentNoMax payment.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, covering safety and determinism. The description adds valuable behavioral context by explaining the DTI-cap-to-payment-to-present-value chain, which reveals how inputs are transformed into outputs without contradicting the annotations.

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

Conciseness5/5

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

The description is a single well-structured sentence that front-loads the primary output ('Maximum loan and home price') and then succinctly defines the calculation. Every clause is meaningful, with no redundancy or 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 that an output schema exists (documenting return values), annotations cover safety, and the input schema fully documents all parameters, the description is sufficiently complete. It explains the core financial model without needing to repeat schema details. Minor gaps like edge-case behavior are acceptable given the strong structured metadata.

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 individual parameter descriptions, so baseline is 3. The description goes beyond the schema by linking parameters conceptually: 'gross monthly income (less existing debts)' ties annualIncome and monthlyDebts, and 'home price' implies the role of downPayment. This relational meaning helps an agent understand how parameters interact.

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

Purpose4/5

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

The description clearly states the tool computes the maximum loan and home price supported by income, using DTI, rate, and term. It uses specific financial terminology that distinguishes it from generic present-value or dti tools, though it lacks an explicit action verb like 'calculate' and does not name 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?

No explicit when-to-use guidance or comparison to alternatives is provided. The description explains the calculation logic but does not mention when this tool is preferred over related tools like dti, loan-apr, or present-value, making it hard for an agent to choose it correctly among many siblings.

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

net-worthNet WorthA
Read-onlyIdempotent
Inspect

Net worth: assets minus liabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetsYesTotal assets.
liabilitiesYesTotal liabilities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
netWorthNoAssets minus liabilities.
Behavior4/5

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

The description adds behavioral clarity by stating the exact formula (assets minus liabilities), which goes beyond the annotations. The annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, pure calculation; the formula further explains the operation without contradicting annotations.

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

Conciseness5/5

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

The description is a single sentence that is immediately understandable and front-loaded with the core concept. It contains no filler or redundant information, achieving maximum efficiency for a simple calculation 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 simple arithmetic tool with an output schema and strong annotations, the description provides the essential formula. However, it does not address potential edge cases (e.g., negative values) or offer usage context relative to the many sibling financial tools, which would slightly enhance completeness.

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 input schema fully documents both parameters (assets and liabilities) with 100% coverage. The description reinforces their meaning by showing how they relate in the formula, adding semantic context beyond individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Net worth: assets minus liabilities' clearly specifies the computation with a specific formula, distinguishing it from other financial calculators like current-ratio or quick-ratio. While it lacks an explicit verb like 'calculate', the formula is unambiguous and closely tied to the tool name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, edge cases, or comparisons to sibling tools, leaving the agent to infer suitability from the formula alone.

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

noiNet Operating IncomeB
Read-onlyIdempotent
Inspect

Net operating income: gross rental income less vacancy and operating expenses.

ParametersJSON Schema
NameRequiredDescriptionDefault
vacancyPctYesVacancy rate in percent.
grossRentalIncomeYesGross annual rental income.
operatingExpensesYesAnnual operating expenses.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noiNoNet operating income.
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the description adds the formula context. It does not disclose additional behavior such as rounding, output type, or handling of percent inputs, but the formula is a useful behavioral clarification.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the tool's purpose. Every word earns its place with no redundancy or irrelevant 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?

The tool is simple, all parameters are documented, and an output schema exists, so the description need not explain return values. The formula is enough for a straightforward calculator, though it omits potential edge-case context like whether vacancy should be expressed as a whole number or decimal (schema does say percent).

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 clear descriptions for each parameter. The description mentions vacancy and operating expenses but adds no further detail beyond what the schema already provides, so baseline score 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 clearly defines Net Operating Income as gross rental income less vacancy and operating expenses, which is a specific formula. It distinguishes the tool from siblings by stating the exact calculation, though it lacks an explicit verb like 'calculates'.

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 is provided on when to use this tool versus alternatives. The description only gives the formula, with no mention of excluded scenarios or comparison to related tools such as cap-rate or cash-on-cash.

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

npvNPVA
Read-onlyIdempotent
Inspect

Net present value of a cashflow series (index 0 is today; outflows negative) discounted at a per-period rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesCashflows by period, starting at period 0. Outflows are negative.
discountRatePctYesDiscount rate per period in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
npvNoNet present value.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds useful behavioral context about cashflow timing (index 0 today, negative outflows) and per-period discounting, but does not disclose edge cases, output details, or special conditions. It does not contradict annotations.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core purpose ('Net present value of a cashflow series') and adds a parenthetical with essential conventions. Every word earns its place, with no redundancy.

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

Completeness4/5

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

Given the low complexity, 100% schema coverage, output schema, and strong annotations, the description adequately covers the conceptual core. It explains the cashflow convention and per-period rate, though it lacks reference to alternative sibling tools for irregular cashflows, which prevents a perfect score.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, so the schema already fully explains cashflows and discountRatePct. The description's mention of index 0 and negative outflows simply duplicates the schema's cashflows description, adding no additional 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?

The description clearly states the tool computes the net present value of a cashflow series. It specifies key conventions (index 0 is today, outflows negative, per-period discount rate) that help distinguish it from similar tools like xnpv (irregular periods) or present-value (single cashflow).

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 guidance on when to use this tool versus alternatives is provided. The phrase 'per-period rate' implies regular periods but does not mention xnpv for irregular cashflows or give any when/not-to-use context.

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

option-breakevenOption Break-EvenA
Read-onlyIdempotent
Inspect

Break-even underlying price at expiry: strike + premium for a call, strike - premium for a put.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOption type (default call).
strikeYesStrike price.
premiumYesOption premium paid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
breakevenNoBreak-even underlying price.
Behavior5/5

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

The description discloses the exact calculation logic (strike + premium for call, strike - premium for put), which goes beyond the annotations' read-only and idempotent hints. It provides full behavioral transparency for this pure calculation tool.

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

Conciseness5/5

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

A single, front-loaded sentence that is efficient and free of wasted words. It immediately states the purpose and formula, making it easy to parse.

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, and the description fully covers the calculation logic. With a present output schema and comprehensive parameter definitions, there is no missing context or needed elaboration.

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 description adds meaningful relationships between the parameters (type, strike, premium) by explaining how they combine in the formula. This goes beyond the schema's individual parameter descriptions, 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?

The description clearly states the tool's purpose: calculating break-even underlying price at expiry, with explicit formulas for calls and puts. It distinguishes itself from sibling break-even tools (e.g., break-even-units, points-breakeven) by focusing on options.

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

Usage Guidelines3/5

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

The description implies usage for option break-even calculations but does not explicitly mention when to use this tool over alternatives or any exclusions. It lacks explicit when/when-not guidance, but the context is clear from the formula and title.

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

option-greeksOption GreeksA
Read-onlyIdempotent
Inspect

Black-Scholes greeks for a European option: delta, gamma, vega (per 1% vol), theta (per day), rho (per 1% rate).

ParametersJSON Schema
NameRequiredDescriptionDefault
spotYesCurrent underlying price.
typeNoOption type (default call).
yearsYesTime to expiry in years.
strikeYesStrike price.
riskFreePctYesRisk-free rate in percent.
volatilityPctYesAnnualized volatility in percent.
dividendYieldPctNoContinuous dividend yield in percent (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
rhoNoRho per 1% rate.
vegaNoVega per 1% vol.
deltaNoDelta.
gammaNoGamma.
thetaNoTheta per day.
Behavior4/5

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

Annotations already declare readOnly and idempotent hints, so the safety profile is covered. The description adds valuable behavioral context by specifying the model (Black-Scholes, European) and the units for each Greek (per 1% vol, per day, per 1% rate), which clarifies output semantics beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core purpose and enumerates the greeks with units. Every word earns its place, with no filler or redundancy.

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

Completeness5/5

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

Given a rich input schema, a present output schema, and annotations covering safety, the description is complete. It clearly states what the tool does, its scope (European option), and the output greeks with units, so the agent has enough context to select and 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?

The input schema has 100% coverage with clear descriptions for all parameters, so the schema does the heavy lifting. The tool description does not add any additional parameter semantics, warranting the baseline score of 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?

The description clearly specifies the tool's purpose: computing Black-Scholes greeks for a European option. It lists the specific greeks (delta, gamma, vega, theta, rho) with their units, which distinguishes it from sibling tools like black-scholes (likely price) and option-breakeven.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 when Greek values are needed, but it does not explicitly state when not to use it or mention alternatives. For example, it does not direct users to black-scholes for option pricing, leaving differentiation to inference.

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

payback-periodPayback PeriodA
Read-onlyIdempotent
Inspect

Simple payback period: periods until cumulative cashflows recover the initial cost, interpolated within the crossing period. Null if never.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesInflow each period.
initialCostYesUpfront cost.

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsNoPayback in periods (null if never).
Behavior4/5

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

The description adds important behavioral details beyond the annotations: it specifies the calculation is 'interpolated within the crossing period' and returns 'Null if never'. This discloses edge-case behavior and the interpolation method, which is valuable context that annotations do not provide. Since annotations already declare read-only and idempotent, the description still adds meaningful 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.

Conciseness5/5

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

The description is a single, front-loaded sentence that communicates the core concept, the calculation method, and the null edge case. Every clause earns its place with no redundancy or filler. 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?

For a two-parameter tool with an output schema, the description is nearly complete. It covers the calculation method, interpolation, and null behavior. It does not explicitly address the expected order or sign of cashflows, but the schema and context imply this. The existence of an output schema means return values need not be described. Minor gaps exist (e.g., what happens with empty cashflows) but are not critical 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?

The input schema has 100% coverage with clear descriptions for both parameters ('Upfront cost.' and 'Inflow each period.'). The description does not significantly expand on parameter semantics; it reinforces that cashflows are inflows and initial cost is upfront, but the schema already conveys this. 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?

The description clearly states the tool's function: 'Simple payback period: periods until cumulative cashflows recover the initial cost, interpolated within the crossing period. Null if never.' It uses a specific verb ('recovers') and resource ('cumulative cashflows'), and distinguishes from the sibling 'discounted-payback' by explicitly labeling this as 'Simple'.

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

Usage Guidelines3/5

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

The description implies the tool is for undiscounted payback calculations, but it does not explicitly state when to use it versus alternatives like 'discounted-payback'. There is no 'use when' or 'use instead' guidance, though the term 'Simple' hints at a differentiation. This is a clear but under-specified usage context.

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

percentage-changePercentage ChangeA
Read-onlyIdempotent
Inspect

Percentage change from one value to another. Null when the starting value is zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnding value.
fromYesStarting value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
changePctNoPercentage change (null if from=0).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds the null behavior for a zero starting value, which is not present in the schema or annotations. This is useful operational context that 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?

The description is two short sentences, immediately stating the core function and then the crucial edge case. Every word earns its place, with no redundant or extraneous information.

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

Completeness5/5

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

For a simple calculation tool with a complete input schema and an output schema present, the description covers the essential purpose and the key special case. No additional context is required 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?

The input schema provides 100% coverage with descriptions for both 'from' and 'to'. The description's phrase 'from one value to another' simply mirrors the parameter names without adding new semantic detail, so it meets the baseline but adds no additional value.

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-like phrase ('Percentage change from one value to another') and clearly identifies the resource being calculated. It also adds a distinctive edge case (null for zero starting value), which distinguishes it from simple arithmetic tools and clarifies its scope.

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

Usage Guidelines3/5

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

The description implies when to use the tool (whenever a percentage change between two values is needed) but does not explicitly state when not to use it or list alternatives. Given there are many financial calculation tools in the sibling set, more explicit differentiation would be helpful, but the simplicity of the operation makes the inference straightforward.

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

perpetuityPerpetuityA
Read-onlyIdempotent
Inspect

Present value of a level or growing perpetuity: payment / (rate - growth). Null when growth is not below the rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentYesPeriodic payment.
ratePctYesDiscount rate in percent.
growthPctNoOptional. Payment growth rate in percent (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
pvNoPresent value (null if growth>=rate).
Behavior4/5

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

Annotations already indicate a safe, read-only, idempotent operation. The description adds valuable behavioral detail: the formula and the null condition when growth is not below the rate. This 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?

The description is a single sentence that packs the definition, formula, and edge case. There is no wasted text; it front-loads the purpose and provides the formula efficiently.

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

Completeness4/5

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

For a three-parameter calculation with a simple formula and an output schema present, the description covers the critical edge case (null when growth >= rate). It does not describe return formatting (handled by output schema) and the formula gives enough context for the calculation. Minor omission: no explicit mention of infinite horizon, but the name and formula imply it.

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 descriptions cover all parameters (100% coverage), but the description's formula ('payment / (rate - growth)') adds relational meaning among payment, ratePct, and growthPct. It also clarifies the default of growthPct via the formula's context, though that 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 clearly states it computes the present value of a level or growing perpetuity, with a specific formula. It distinguishes itself from sibling tools like 'annuity-pv' and 'present-value' by explicitly targeting perpetuities.

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

Usage Guidelines4/5

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

The description implies usage for perpetuities (infinite cash flows) and provides the calculation context, but it does not explicitly mention alternatives or conditions for when not to use it. Given the clear domain and sibling list, the context is evident without exclusions.

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

points-breakevenPoints Break-EvenA
Read-onlyIdempotent
Inspect

Mortgage points break-even: the upfront cost to buy down the rate, the monthly payment saving, and the whole months to recoup it.

ParametersJSON Schema
NameRequiredDescriptionDefault
ratePctYesBase annual rate in percent.
pointsPctYesPoints paid, percent of the loan.
loanAmountYesLoan amount.
termMonthsYesTerm in months.
reducedRatePctYesReduced annual rate after buying points.

Output Schema

ParametersJSON Schema
NameRequiredDescription
costNoUpfront cost of points.
monthlySavingNoMonthly payment saving.
breakevenMonthsNoWhole months to recoup (null if no saving).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds the concrete outputs (upfront cost, monthly saving, months to recoup). This provides meaningful context beyond the structured fields, and there is no contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence that front-loads the tool's purpose and lists its outputs. Every word is informative, with no redundancy or tangential information.

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

Completeness5/5

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

Given a well-documented 5-parameter schema, an output schema, and clear annotations, the description adds the essential concept of what the tool returns. The tool is a straightforward calculator, and the information provided is sufficient for correct use.

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

Parameters3/5

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

All 5 parameters are fully described in the schema (100% coverage), so the baseline applies. The description conceptually links parameters to outputs (e.g., upfront cost from pointsPct and loanAmount) but adds no individual parameter details 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?

The description clearly identifies the tool as computing mortgage points break-even, listing the three key outputs: upfront cost, monthly payment saving, and months to recoup. It is specific enough to distinguish from sibling tools like break-even-units (sales units) and refi-breakeven (refinancing).

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

Usage Guidelines3/5

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

The description implies the intended use case (analyzing mortgage points buy-down) but does not explicitly state when to use this tool versus alternatives. Sibling tools like refi-breakeven are visible to the agent, but no direct comparison or exclusion is provided.

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

portfolio-longevityPortfolio LongevityA
Read-onlyIdempotent
Inspect

How many years a balance lasts while withdrawing from it: the balance grows each year, then the withdrawal (optionally stepping up) is taken. Returns the depletion year, or sustainable=true when it outlasts 200 years.

ParametersJSON Schema
NameRequiredDescriptionDefault
balanceYesStarting balance.
annualRatePctYesAnnual portfolio growth in percent.
annualWithdrawalYesAmount withdrawn in the first year.
withdrawalGrowthPctNoOptional. Yearly step-up of the withdrawal in percent (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsNoDepletion year (null if sustainable).
sustainableNoTrue if it outlasts 200 years.
Behavior5/5

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

Beyond the annotations (read-only, idempotent), the description discloses the order of operations (growth before withdrawal), the optional step-up, and the 200-year threshold for 'sustainable'. This adds meaningful 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?

Two sentences front-load the core purpose and return behavior without wasted 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?

The description covers the calculation logic, return behavior, and cap condition. With an output schema and full parameter descriptions, no critical information is missing for an agent to invoke this 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?

The input schema fully describes all four parameters, so the description need not repeat them. It adds a small detail about the optional step-up ('optionally stepping up') which aligns with withdrawalGrowthPct, but overall the schema already covers parameter 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?

The description clearly defines the tool's function: calculating how many years a balance lasts under withdrawals, with growth applied first. It distinguishes from related siblings like fire-number by focusing on longevity rather than required balance.

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

Usage Guidelines4/5

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

The description gives clear context for when to use the tool (to determine portfolio depletion time) but does not explicitly mention alternatives or exclusion cases. Still, the context is unambiguous enough for an agent to select it appropriately.

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

present-valuePresent ValueA
Read-onlyIdempotent
Inspect

Present value of a single future amount discounted annually. The inverse of future-value.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesNumber of years until the amount is received.
futureAmountYesAmount received in the future.
annualRatePctYesAnnual discount rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pvNoPresent value.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it is a safe, pure calculation. The description adds the annual discounting convention and the mathematical relationship to future-value, but does not disclose edge cases or potential pitfalls beyond what annotations and schema cover.

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 short, front-loaded sentences. The first states the core purpose, and the second adds the inverse relationship to future-value. No wasted 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 simple financial calculator with three fully documented parameters, an output schema, and safety annotations, the description is complete. It communicates the single-amount scope and annual discounting, which is sufficient for an agent to select and 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 parameter (futureAmount, annualRatePct, years) clearly described. The tool description adds only the 'annual discounting' nuance, which is minor; the schema already carries the parameter semantics burden.

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 what the tool does: computes the present value of a single future amount discounted annually. It also explicitly mentions being the inverse of future-value, which distinguishes it from related sibling tools like annuity-pv, npv, or future-value.

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 provides clear context: it is for a single future amount and the inverse of future-value. However, it does not explicitly name alternative tools for multiple cash flows (e.g., npv) or state when not to use it, so it lacks explicit exclusions.

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

put-call-parityPut-Call ParityA
Read-onlyIdempotent
Inspect

Put-call parity: given one option price, returns both. Provide call or put, plus spot, strike, years, and the rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
putNoPut price (provide call or put).
callNoCall price (provide call or put).
spotYesUnderlying price.
yearsYesTime to expiry in years.
strikeYesStrike price.
riskFreePctYesRisk-free rate in percent.
dividendYieldPctNoContinuous dividend yield in percent (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
putNoPut price.
callNoCall price.
Behavior3/5

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

With annotations already declaring readOnlyHint=true and idempotentHint=true, the description adds some behavior: it returns both prices from one input. However, it does not disclose what happens if both call and put are provided, or neither – a significant edge case given that neither is required in the schema. This leaves room for interpretation.

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 sentences, front-loaded with the concept name and immediate purpose. Every word earns its place, and it avoids restating schema fields. This is an example of high-efficiency writing.

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 output schema exists, return values need not be explained. The description covers the core behavior and inputs, but it lacks the crucial constraint that exactly one option price must be provided. This is a functional prerequisite that would affect an agent's invocation, so the description is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does add the meaning that only one of call/put needs to be provided, which is useful context beyond individual field descriptions. However, it does not go into detail about units, defaults, or the dividend yield parameter, which are already covered by 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 clearly identifies the tool as implementing put-call parity and states its function: 'given one option price, returns both.' This is a specific verb+resource+scope, and the name itself distinguishes it from siblings like black-scholes or option-greeks.

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 explicitly tells the user when to use it: 'given one option price' – i.e., when you have one option price and need the other. It also lists the required inputs ('Provide call or put, plus spot, strike, years, and the rate'), giving clear context. However, it does not explicitly name alternatives or state when NOT to use it, falling 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.

quick-ratioQuick RatioA
Read-onlyIdempotent
Inspect

Quick (acid-test) ratio: (current assets - inventory) over current liabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
inventoryYesInventory.
currentAssetsYesCurrent assets.
currentLiabilitiesYesCurrent liabilities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
quickRatioNoQuick ratio (null if liabilities<=0).
Behavior4/5

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

Annotations already declare read-only and idempotent behavior. The description adds the calculation formula, which constitutes the core behavioral detail for a pure computation tool. No contradictions.

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, information-dense sentence communicates the exact formula with no filler. The structure is front-loaded and immediately scannable.

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-parameter ratio calculator with a full schema and output schema, the formula description covers everything needed. There is no hidden logic or state to disclose.

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 descriptions cover all three parameters at 100%, but the description's formula adds relational meaning (inventory is subtracted from current assets, then divided by liabilities), which goes beyond the individual parameter definitions.

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 precisely names the quick (acid-test) ratio and gives its formula, making it instantly clear what the tool calculates. This distinguishes it from the sibling `current-ratio` by explicitly including the inventory subtraction.

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 formula directly indicates when to use this tool (when the acid-test ratio is needed), but it does not explicitly mention alternatives like `current-ratio` or provide exclusion criteria. The context is clear but no 'when-not' guidance is present.

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

real-returnReal ReturnA
Read-onlyIdempotent
Inspect

Real (inflation-adjusted) return from a nominal rate via the Fisher relation: (1+nominal)/(1+inflation) - 1.

ParametersJSON Schema
NameRequiredDescriptionDefault
nominalRatePctYesNominal annual rate in percent.
inflationRatePctYesAnnual inflation in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
realPctNoReal return, percent.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe, pure calculation. The description adds the exact mathematical formula, which clarifies the computation's deterministic nature and the relationship between inputs. This goes 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.

Conciseness5/5

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

The description is a single, front-loaded sentence that includes the tool's purpose and the formula. Every word earns its place; nothing is redundant or excessive.

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 with a clear formula and an output schema, the description is complete. It explains the exact computation, and annotations cover safety and idempotency. No further behavioral details are necessary.

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 descriptions for both parameters, so the baseline is 3. The description adds value by explicitly showing how the two rates (nominalRatePct and inflationRatePct) are used in the Fisher equation, providing mathematical context beyond the schema's simple 'in percent' descriptions.

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

Purpose5/5

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

The description clearly identifies the tool's purpose: computing the real (inflation-adjusted) return from a nominal rate. It includes the specific Fisher relation formula, which precisely distinguishes it from general inflation adjustment tools like 'inflation-adjust' and return-related 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 usage context (converting nominal to real return) but does not explicitly state when to use this tool over alternatives like 'inflation-adjust' or 'required-return'. No exclusions or alternative recommendations are provided, 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.

refi-breakevenRefinance Break-EvenA
Read-onlyIdempotent
Inspect

Refinance break-even: monthly saving, whole months to recoup closing costs, and (if remainingMonths given) the net saving over the remaining term.

ParametersJSON Schema
NameRequiredDescriptionDefault
newPaymentYesNew monthly payment after refinancing.
closingCostsYesUpfront cost to refinance.
currentPaymentYesCurrent monthly payment.
remainingMonthsNoOptional. Months left on the loan, for the lifetime saving.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthlySavingNoMonthly saving.
lifetimeSavingNoNet lifetime saving (null if no term).
breakevenMonthsNoWhole months to recoup (null if no saving).
Behavior4/5

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

Annotations already provide readOnly and idempotent hints, but the description adds meaningful behavioral details: it notes that 'whole months' are used for recouping closing costs (implying rounding) and that the net saving is only computed when remainingMonths is provided. This conditional behavior goes beyond annotations and helps predict tool output based on input completeness.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the purpose and lists the key outputs. Every phrase contributes meaning (e.g., 'whole months' clarifies calculation detail, 'if remainingMonths given' specifies a condition). No redundancy or 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. It covers the essential inputs and conditional behavior, making it complete for a straightforward calculator tool. Minor gaps like edge cases or negative savings are not mentioned, but these are not critical for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 clear descriptions for each parameter. The tool description links parameters to outputs (e.g., 'monthly saving' from currentPayment and newPayment) but does not add significant new semantics beyond what the schema already provides. Baseline 3 is appropriate given high schema 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?

The description clearly identifies the tool's purpose: computing refinance break-even metrics. It specifically names the outputs (monthly saving, months to recoup closing costs, net saving over remaining term), which distinguishes it from sibling tools like points-breakeven or break-even-units. The scope is well-defined and tied to a specific financial scenario.

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

Usage Guidelines3/5

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

The description implies the use case (refinancing with closing costs, current/new payments) but does not explicitly state when to use this tool versus alternatives like points-breakeven or break-even-units. There is no mention of exclusions or conditions for choosing this tool, though the context is clear enough for basic selection.

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

required-contributionRequired ContributionA
Read-onlyIdempotent
Inspect

Inverse of contributions: the fixed monthly amount needed to reach a target future value over a number of months, given an optional starting balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthsYesNumber of months.
targetValueYesFuture value goal.
presentValueNoOptional. Starting balance (default 0).
annualRatePctYesAnnual growth rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
monthlyNoMonthly contribution needed (null if horizon<=0).
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds that it is a deterministic calculation producing a fixed monthly amount, but does not disclose internal assumptions like compounding frequency. This is acceptable given annotations but not especially 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?

The description is a single sentence that is front-loaded with the inverse relationship, followed by a concise definition of the calculation. Every word earns its place; no redundant or filler 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?

The tool is simple, has an output schema (per context signals), and the description conveys the core purpose. It lacks explicit assumptions about compounding or contribution timing, but for a straightforward calculation tool the description is adequate and complete enough without over-burdening.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 parameters clearly. The description adds minimal value by referencing the optional starting balance, but the schema already includes that detail. 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 clearly states the tool computes the fixed monthly contribution needed to reach a target future value. It explicitly calls out being the inverse of the 'contributions' tool, which differentiates it from 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 'inverse of contributions' wording implies when to use this tool (when you know target value and need monthly contribution), but it does not explicitly name alternatives or exclusion criteria. Sibling tools like annuity-payment may overlap, so more direct guidance would improve.

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

required-returnRequired ReturnA
Read-onlyIdempotent
Inspect

Annual return needed to grow a starting value to a target over a number of years, optionally with a fixed annual contribution. With no contribution this equals CAGR. Returns a percent, or null when unreachable.

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesTarget ending value.
beginYesStarting value.
yearsYesNumber of years.
annualContributionNoOptional. Amount added each year (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
ratePctNoAnnual rate, percent (null if unreachable).
Behavior4/5

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

With readOnlyHint and idempotentHint annotations already present, the description adds valuable behavioral context such as returning a percent or null when unreachable, and that no contribution simplifies to CAGR. It doesn't specify edge conditions for null, but goes 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.

Conciseness5/5

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

Three concise sentences, front-loaded with the core purpose, followed by a clarifying note and return format. Every sentence adds value with no redundancy.

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

Completeness4/5

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

The description is complete for a calculation tool with an output schema, covering inputs, behavior, and output. The only minor gap is not defining 'unreachable' conditions, but this does not prevent correct selection and 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 parameters are fully documented. The description restates the optional contribution but adds no new parameter-level detail beyond the schema, meriting the baseline score.

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 the tool computes the annual return needed to grow a starting value to a target over years, with optional contributions. The phrase 'With no contribution this equals CAGR' explicitly distinguishes it from the CAGR sibling and clarifies its 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?

The description provides clear context for when to use the tool, especially by mentioning the optional annual contribution and the CAGR equivalence. However, it does not explicitly contrast with alternatives like required-contribution or give 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.

return-statsReturn StatisticsA
Read-onlyIdempotent
Inspect

Mean, sample variance, and sample standard deviation (n-1) of a series of returns. Pass percents to get a percent stdev (volatility).

ParametersJSON Schema
NameRequiredDescriptionDefault
returnsYesThe return series (e.g. yearly percents).

Output Schema

ParametersJSON Schema
NameRequiredDescription
meanNoMean return.
countNoNumber of returns.
stdevNoSample stdev / volatility (null if <2).
varianceNoSample variance (null if <2).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so no need to restate safety. The description adds the important n-1 denominator detail (sample vs population) and the percent-to-volatility scaling behavior, which go beyond the schema and annotations.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core function and a practical formatting hint. No wasted words, every phrase adds value.

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 one-parameter read-only tool with an output schema, the description covers all necessary behavioral details: what stats are computed, the n-1 adjustment, and the input-format effect. No gaps remain for effective selection and invocation.

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% for the only parameter, providing a basic description. The description adds meaning by explaining that passing percents yields a percent stdev, clarifying how input values are interpreted and how output scales, which enriches 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 clearly states the tool computes mean, sample variance, and sample standard deviation (with n-1 explicitly noted) for a series of returns. This distinguishes it from financial calculation siblings by focusing on descriptive statistics of returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 on a return series and gives input guidance ('Pass percents to get a percent stdev'), but it does not explicitly contrast with alternatives or state when not to use it. The context is clear but exclusions/alternatives are missing.

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

roaReturn on AssetsA
Read-onlyIdempotent
Inspect

Return on assets, percent: net income over total assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
netIncomeYesNet income.
totalAssetsYesTotal assets.

Output Schema

ParametersJSON Schema
NameRequiredDescription
roaPctNoReturn on assets, percent (null if assets<=0).
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint, covering the safety profile. The description adds that the output is a percentage and specifies the exact formula (net income / total assets), which is useful behavioral context beyond the structured data. It does not mention edge cases like division by zero, but this is acceptable for a simple math tool.

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

Conciseness5/5

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

The description is a single, efficient sentence that conveys the tool's purpose and formula with no wasted words. It is appropriately sized and front-loaded.

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

Completeness4/5

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

For a simple two-parameter math tool with a documented output schema and safety annotations, the description provides the essential formula and unit. It does not cover edge cases like zero total assets, but the tool's inherent simplicity makes this acceptable.

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 schema has 100% coverage for both parameters (net income, total assets). The description clarifies the relationship between them as a ratio and states the result is a percent, adding meaningful context beyond the schema's minimal descriptions.

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

Purpose5/5

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

The description clearly specifies the tool computes Return on Assets as net income divided by total assets, expressed as a percent. This precise formula distinguishes it from sibling tools like roe and roi.

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

Usage Guidelines3/5

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

The description implies the tool is used for calculating Return on Assets, but it does not explicitly state when to prefer it over alternatives such as ROE or ROI. No exclusions or alternative tool references are provided.

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

roeReturn on EquityA
Read-onlyIdempotent
Inspect

Return on equity, percent: net income over shareholders' equity.

ParametersJSON Schema
NameRequiredDescriptionDefault
equityYesShareholders' equity.
netIncomeYesNet income.

Output Schema

ParametersJSON Schema
NameRequiredDescription
roePctNoReturn on equity, percent (null if equity<=0).
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint, so the description's value lies in stating the exact formula ('net income over shareholders' equity') and noting the output is a percentage. This adds meaningful behavioral context beyond the annotations, though it omits edge cases like zero equity.

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

Conciseness5/5

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

The description is a single, concise sentence that immediately communicates the metric, the formula, and the percentage output. It contains no superfluous words and is well-structured for quick consumption.

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 deterministic calculation with an output schema available, the description fully conveys the purpose and calculation method. It states the formula and the output format, leaving no critical gaps for the agent to misinterpret.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema provides 100% coverage with descriptions for both 'equity' and 'netIncome.' The tool description only restates these terms within the formula, adding no new semantic information beyond what the schema already supplies, so the baseline score 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 clearly defines the tool as 'Return on equity, percent: net income over shareholders' equity,' stating both the metric and the exact formula. This distinguishes it from sibling metrics like ROA (return on assets) and ROI (return on investment) by explicitly referencing equity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 (calculate ROE) but provides no explicit guidance on when to choose this tool over alternatives like ROA or ROI. There are no stated exclusions or references to sibling tools, leaving the agent to infer the appropriate context.

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

roiROIA
Read-onlyIdempotent
Inspect

Return on investment: total percent gain, plus the annualized rate when a holding period in years is given.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsNoOptional. Holding period in years, for the annualized rate.
initialYesAmount invested.
finalValueYesEnding value.

Output Schema

ParametersJSON Schema
NameRequiredDescription
roiPctNoTotal return, percent.
annualizedPctNoAnnualized return, percent (null if no years).
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safe read-only nature is covered. The description adds the behavioral nuance of conditional annualized rate, but doesn't disclose edge cases, rounding, or output structure, which is acceptable 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.

Conciseness5/5

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

The description is a single, compact sentence that front-loads the tool's purpose and includes the key conditional. Every word earns its place, and there is no redundant padding or repetition of the title.

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

Completeness4/5

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

For a simple calculation tool with three well-documented parameters and an output schema, the description suffices. It explains both the base and optional annualized behavior without needing to detail return values, as the output schema covers that. Slight deduction for not elaborating on what 'annualized rate' means mathematically, but this 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 schema already explains each parameter. The description rephrases the formula relationship (percent gain from initial/finalValue, annualized with years) but doesn't add significant 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?

The description clearly states the tool computes 'total percent gain' and optionally 'annualized rate', which is specific and action-oriented. It distinguishes the core ROI calculation from related metrics like holding-period-return or percentage-change, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 noting the annualized rate is provided 'when a holding period in years is given', but it doesn't explicitly state when to use this tool over siblings like CAGR or return-stats. No exclusions or alternative recommendations are offered.

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

rule-of-72Rule of 72A
Read-onlyIdempotent
Inspect

Years to double: the rule-of-72 estimate (72/rate) and the exact figure (ln2 / ln(1+rate)).

ParametersJSON Schema
NameRequiredDescriptionDefault
ratePctYesGrowth rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
years72No72/rate estimate.
exactYearsNoExact doubling time.
Behavior4/5

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

The description discloses that the tool returns both the rule-of-72 estimate and the exact figure, adding behavioral detail beyond the annotations. It also provides the mathematical formulas, which is useful context for the agent.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the core purpose ('Years to double') and includes all necessary details without wasted 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 simple one-parameter calculation with an output schema present, the description sufficiently explains what the tool does, including both the estimate and exact formula. No further context is needed for the agent to select and use 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?

The input schema already fully documents ratePct as 'Growth rate in percent.' The description mentions 'rate' in formulas but doesn't add new semantic information about the parameter. Since schema coverage is 100%, a 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 explicitly states the tool calculates 'Years to double' via the rule-of-72 estimate and the exact formula, making the purpose clear and distinguishing it from sibling financial calculators. It names the specific resource (rule-of-72) and the output.

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 opening phrase 'Years to double' provides a clear context for when to use this tool. However, it does not explicitly mention alternatives or when not to use it, 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.

salary-to-hourlySalary to HourlyA
Read-onlyIdempotent
Inspect

Hourly rate implied by an annual salary.

ParametersJSON Schema
NameRequiredDescriptionDefault
annualSalaryYesAnnual salary.
hoursPerWeekNoHours per week (default 40).
weeksPerYearNoWeeks per year (default 52).

Output Schema

ParametersJSON Schema
NameRequiredDescription
hourlyNoHourly rate (null if hours<=0).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so no contradiction exists. The description adds minimal behavioral context beyond the core meaning; the formula and default assumptions are not stated but are partially covered by the schema's parameter descriptions.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundancy or wasted words. It conveys the purpose efficiently.

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

Completeness4/5

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

For a simple, read-only, idempotent calculation with fully documented parameters and an output schema, the minimal description is adequate. It could include the formula, but the schema and annotations already cover the essential operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 parameters have clear descriptions, including defaults for hoursPerWeek and weeksPerYear. The description adds no additional parameter-level nuance, 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 specifies the exact resource and action: computing the hourly rate implied by an annual salary. It clearly distinguishes this from the sibling tool hourly-to-salary, which performs the inverse 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 context is implied: this tool is used when you have an annual salary and want the equivalent hourly rate. However, there is no explicit guidance on when to prefer this over alternatives, nor does it mention that hourly-to-salary is the inverse operation.

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

savings-rateSavings RateA
Read-onlyIdempotent
Inspect

Fraction of income saved (savings divided by income). Returns a decimal.

ParametersJSON Schema
NameRequiredDescriptionDefault
incomeYesIncome.
savingsYesAmount saved.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds minimal behavioral context, only noting that it 'returns a decimal.' It does not explain edge cases (e.g., zero income) or other behavioral traits, but given the 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.

Conciseness5/5

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

The description is a single, front-loaded sentence containing only the essential information: the definition, formula, and output type. No wasted 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 simple calculation with full schema coverage and an output schema, the description provides all necessary information: the formula and return type. There is no missing context for the agent to invoke the tool correctly.

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

Parameters5/5

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

The description explicitly states 'savings divided by income,' which clarifies the exact roles of the two parameters beyond the sparse schema descriptions. This adds meaningful semantic value, ensuring the agent knows how the inputs relate.

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 defines what the tool does: it computes the fraction of income saved, providing the formula (savings divided by income) and the return type (decimal). This is specific and complete, distinguishing it from other tools by its unique 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 provides no guidance on when to use this tool versus alternatives. It does not mention suitable contexts or exclusions, and the long sibling list suggests many similar financial calculations, making this a clear gap.

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

sharpe-ratioSharpe RatioA
Read-onlyIdempotent
Inspect

Sharpe ratio: excess mean return per unit of volatility, (mean - riskFree) / stdev. Null when volatility is undefined or zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
returnsYesThe return series (percents).
riskFreePctNoRisk-free rate in the same unit (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription
sharpeNoSharpe ratio (null if no volatility).
meanPctNoMean return.
stdevPctNoVolatility.
Behavior3/5

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

The annotations already establish the operation as read-only and idempotent. The description adds a key edge-case behavior—returning null when volatility is undefined or zero—which is useful context beyond the annotations, though it does not elaborate on other potential inputs like empty arrays.

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 compact sentence packs the definition, formula, and null-case behavior without excess. The key information is front-loaded.

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

Completeness4/5

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

For a simple financial calculator, the description covers the core computation and edge-case null behavior. It relies on the output schema for return details and doesn't specify minimum data length, but this is minor given the low complexity and strong annotations.

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 descriptions cover both parameters fully (100%). The description's formula clarifies the role of riskFreePct as a subtraction from the mean and stdev as the denominator, adding relational meaning beyond the schema's simple definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 precisely defines the Sharpe ratio with its formula and identifies the resource (a return series). It distinguishes the tool from siblings like return-stats or real-return by naming the specific metric, though it lacks an explicit action verb like 'calculate'.

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. It does not mention exclusions or conditions under which a different metric would be more appropriate, so the agent must infer usage context from the formula alone.

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

straight-line-depreciationStraight-Line DepreciationB
Read-onlyIdempotent
Inspect

Straight-line depreciation: value falling evenly to a salvage value over a useful life.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesStarting value.
salvageYesSalvage value.
usefulYearsYesUseful life in years.
yearsElapsedYesYears elapsed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueNoResult value.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat those. It adds the core behavior of even depreciation, but does not disclose edge cases (e.g., yearsElapsed beyond useful life) or return format. It is 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?

The description is a single concise sentence that front-loads the core concept. There is zero waste; every word contributes to understanding the tool's 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 financial calculator with a fully documented input schema and an output schema, the description is sufficiently complete. It explains the concept and the presence of an output schema means return values are covered elsewhere. Minor gaps like parameter constraints or expected value ranges are not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 schema provides 100% coverage of the four parameters with clear descriptions. The description adds general context about the method but does not elaborate on parameter specifics beyond what the schema already contains. 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 clearly states the tool's function: it calculates straight-line depreciation by evenly spreading value decline to a salvage value over a useful life. This distinguishes it from other depreciation methods by naming the specific approach. It is more specific than a mere restatement of the title.

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 is given on when to use this tool versus alternatives like declining-balance or sum-of-years-digits. Given the many depreciation-related sibling tools, the description lacks explicit usage context or exclusions.

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

successive-discountsSuccessive DiscountsA
Read-onlyIdempotent
Inspect

Stacked discounts applied in order: the final price and the effective single discount rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesOriginal price.
discountsPctYesDiscounts in percent, applied in order.

Output Schema

ParametersJSON Schema
NameRequiredDescription
finalPriceNoFinal price.
effectivePctNoEffective single discount, percent (null if price=0).
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and not open-world. The description adds the key behavioral detail that discounts are applied sequentially ('in order'), which affects the result, and that both the final price and effective rate are returned. This adds useful 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.

Conciseness5/5

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

The description is a single, concise sentence that is front-loaded with the core action and output. No redundant words or filler; every phrase contributes essential information.

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

Completeness5/5

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

For a simple, pure calculation tool with two fully documented parameters, annotations for read-only/idempotent behavior, and an output schema (confirmed by context), the description fully covers the tool's purpose, inputs, and outputs. No critical information 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 input schema already covers both parameters with descriptions: 'price' as original price and 'discountsPct' as discounts in percent applied in order. The description reiterates these concepts but does not add new parameter-specific meaning. With 100% schema coverage, a 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?

The description clearly states the tool computes the final price and effective single discount rate from stacked discounts applied in order. It uses a specific verb ('applied', 'final price') and distinctly differentiates from sibling tools like 'discount' or 'effective-rate' by focusing on successive discounts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 'Stacked discounts applied in order' implies when the tool is appropriate, but there is no explicit mention of when not to use it or how it compares to alternative tools like 'discount' for a single discount. Context is clear but 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.

sum-of-years-digitsSum-of-Years' Digits DepreciationB
Read-onlyIdempotent
Inspect

Sum-of-the-years'-digits depreciation: the depreciable base weighted toward the early years.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear (1-based).
valueYesInitial cost.
salvageYesSalvage value.
usefulYearsYesUseful life in years.

Output Schema

ParametersJSON Schema
NameRequiredDescription
bookValueNoBook value at year end.
depreciationNoDepreciation this year.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds that depreciation is weighted toward early years, which is useful conceptual context, but it does not disclose edge cases like year out of range or behavior for year 0.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It immediately states the method and its defining trait.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 tool with a complete schema, output schema, and clear annotations, the description is nearly sufficient. It could be more explicit that the result is computed for a specific 'year' parameter, but the schema already documents 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%, with clear definitions for value, salvage, usefulYears, and year. The description's mention of 'depreciable base' hints at the relationship between value and salvage, but adds little 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 clearly identifies the depreciation method and its key characteristic of weighting the depreciable base toward early years, which distinguishes it from straight-line and other methods. However, it lacks an explicit verb like 'calculates' and does not state that it returns the depreciation for a given year.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as declining-balance or double-declining-depreciation. The description only states the method's characteristic, not selection criteria or exclusions.

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

tax-equivalent-yieldTax-Equivalent YieldA
Read-onlyIdempotent
Inspect

Tax-equivalent yield: the taxable yield that matches a tax-free (e.g. muni) yield. Percents in and out.

ParametersJSON Schema
NameRequiredDescriptionDefault
taxRatePctYesMarginal tax rate in percent.
taxFreeYieldPctYesTax-free yield in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
taxEquivalentPctNoTax-equivalent yield, percent (null if tax>=100%).
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior; the description adds that output is a percentage and defines the financial relationship, which is useful beyond the schema. No contradiction with annotations.

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

Conciseness5/5

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

A single, tight definition followed by a units note. No wasted words; the core concept is front-loaded and 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 two-input formula with full schema coverage, annotations, and an output schema, the description is sufficient. It could mention the inverse relationship to after-tax-yield, but that is not essential for selection and 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 coverage is 100%: both parameters have clear descriptions ('Marginal tax rate in percent' and 'Tax-free yield in percent'). The description only restates the percent convention without adding deeper parameter relationship details.

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 definition: computes the taxable yield that matches a tax-free yield (e.g., municipal), distinguishing it from inverse tools like after-tax-yield. It also clarifies units with 'Percents in and out,' making the purpose 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?

Clear context is provided: use when you have a tax-free yield and want its taxable equivalent. It does not explicit name alternatives or when-not conditions, but the scenario is obvious and implied.

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

tax-from-bracketsTax from BracketsA
Read-onlyIdempotent
Inspect

Progressive tax from caller-supplied brackets. No jurisdiction, year, or rates are baked in: pass the brackets yourself. Returns total tax, effective rate, and marginal rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
incomeYesTaxable income.
bracketsYesOrdered tax bands. The final band may omit upTo to run to infinity.

Output Schema

ParametersJSON Schema
NameRequiredDescription
taxNoTotal tax.
marginalRatePctNoMarginal rate, percent.
effectiveRatePctNoEffective rate, percent.
Behavior4/5

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

Annotations provide readOnlyHint=true and idempotentHint=true, so safety is already covered. The description adds meaningful context: the tool is jurisdiction-agnostic and returns total tax, effective rate, and marginal rate. This goes beyond 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.

Conciseness5/5

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

Two concise sentences, front-loaded with the core purpose, no fluff. The key distinction ('no jurisdiction baked in') is stated efficiently, and the return values are listed without redundancy.

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

Completeness5/5

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

Given the output schema (not shown but present), annotations covering read-only/idempotent behavior, and schema descriptions covering parameter semantics, the description completes the picture by clarifying the tool's custom-bracket model. Nothing essential is missing 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%, with clear descriptions for 'income' and 'brackets' (including the structure of bracket objects). The description reinforces the 'caller-supplied' nature but does not add syntactic detail 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?

Description clearly states the tool computes progressive tax from caller-supplied brackets, using a specific verb ('calculate' implied by 'progressive tax from') and resource ('brackets'). It distinguishes from siblings by emphasizing the brackets are caller-supplied and no jurisdiction is baked in.

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 explicitly says 'No jurisdiction, year, or rates are baked in: pass the brackets yourself,' which tells when to use this tool (custom brackets) and when not (built-in tax systems). It does not explicitly name alternatives, 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.

tip-splitTip SplitA
Read-onlyIdempotent
Inspect

Tip and split: the tip amount, the total, and the per-person share.

ParametersJSON Schema
NameRequiredDescriptionDefault
peopleNoNumber of people (default 1).
tipPctYesTip in percent.
billAmountYesBill amount.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tipNoTip amount.
totalNoTotal with tip.
perPersonNoPer-person share.
Behavior3/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, covering the safety and determinism profile. The description does not add behavioral traits beyond these, such as side effects, auth needs, or rate limits. For a simple calculation tool, no further behavioral disclosure is necessary. The description does not contradict annotations, but it also does not enrich 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 a single sentence, front-loaded with the action ('Tip and split') followed by the three outputs. Every word contributes to understanding the tool's purpose. It is concise without missing critical information, and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 calculator with complete schema coverage, an output schema (not shown but noted as present), and annotations that confirm read-only, idempotent behavior. The description sufficiently communicates the core function and outputs. The only gap is explicit usage guidance, but given the tool's simplicity and uniqueness, the description is otherwise complete for an agent to select and 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 coverage is 100%, with each parameter (billAmount, tipPct, people) having a description. The tool description mentions the outputs (tip amount, total, per-person share) which indirectly relates to the parameters, but it does not add details beyond what the schema provides. It does not clarify values formats, ranges, or default behaviors beyond the schema's 'default 1' for people. Baseline 3 is appropriate given the schema's thoroughness.

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 the tool's function: 'Tip and split: the tip amount, the total, and the per-person share.' It identifies the specific outputs (tip amount, total, per-person share) and distinguishes itself from all sibling tools, none of which handle tip calculations. The verb 'split' and the listed outputs make 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 Guidelines3/5

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

The description implies usage: when a user wants to compute a tip or split a bill, this tool is appropriate. However, it does not explicitly state when to use it vs. alternatives, nor does it mention any exclusions or prerequisites. Given the uniqueness of the tool among siblings, the implied usage is clear enough, but explicit guidance is absent.

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

unit-priceUnit PriceA
Read-onlyIdempotent
Inspect

Unit price: price divided by quantity (for comparing pack sizes). Null when quantity is zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesPrice.
quantityYesQuantity / size.

Output Schema

ParametersJSON Schema
NameRequiredDescription
unitPriceNoPrice per unit (null if quantity=0).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate those. It adds an important edge case: 'Null when quantity is zero', which goes beyond the annotations and schema. 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?

The description is two short sentences with no filler. It packs the formula, usage context, and critical edge case efficiently, front-loading the key information.

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

Completeness5/5

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

For a simple two-parameter read-only calculator with an output schema, the description covers the formula, use case, and a critical edge case. Nothing essential is missing, and the output schema handles return value details.

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 schema covers both parameters with descriptions (100% coverage), and the description reinforces the relationship between them by defining the formula (price divided by quantity). It also explains the zero-quantity edge case, adding semantic value 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?

The description states 'price divided by quantity' which unambiguously defines the computation, and adds 'for comparing pack sizes' to clarify the use case. This clearly distinguishes it from all sibling financial 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?

The phrase 'for comparing pack sizes' provides clear context for when to use this tool. It doesn't explicitly mention exclusions or alternatives, but the context is sufficient for such a simple calculator.

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

units-of-production-depreciationUnits-of-Production DepreciationA
Read-onlyIdempotent
Inspect

Units-of-production depreciation: the depreciable base spread over total expected units, charged by the units used this period.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesInitial cost.
salvageYesSalvage value.
totalUnitsYesTotal expected units over the life.
unitsThisPeriodYesUnits produced this period.

Output Schema

ParametersJSON Schema
NameRequiredDescription
depreciationNoDepreciation this period (null if totalUnits<=0).
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, pure calculation. The description adds the core calculation logic (how the depreciable base is allocated), but does not disclose potential edge cases such as what happens when unitsThisPeriod exceeds remaining units, or how salvage value is handled in the formula. It provides minimal additional 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.

Conciseness5/5

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

The description is a single concise sentence that front-loads the tool name and provides the essential calculation concept in a structured, readable way. There is zero wasted wording; every part contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 complete parameter descriptions and an output schema, the description explains the core method sufficiently. It lacks usage guidance relative to sibling depreciation tools, but that is more of a usage-guideline concern. Given the annotations and output schema, the description is complete enough for an agent to invoke the tool correctly for standard calculations.

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

Parameters3/5

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

All four parameters are already described in the schema (100% coverage): value, salvage, totalUnits, unitsThisPeriod. The description uses 'depreciable base' to imply value minus salvage, and 'units used this period' maps to unitsThisPeriod, but it does not add new semantics or clarify units or formula syntax beyond the schema descriptions. Baseline 3 is appropriate given full schema 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?

The description clearly explains the tool's purpose: it computes units-of-production depreciation by spreading the depreciable base over total expected units and charging based on units used this period. It uses a specific method name and distinguishes itself from time-based methods like straight-line depreciation through the unit-based allocation concept.

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 provides no guidance on when to use this tool versus alternative depreciation methods (e.g., straight-line, declining-balance) or other financial tools. It does not mention scenarios where units-of-production is appropriate (e.g., usage-based assets) or any exclusions. The implied usage is only that it's a depreciation calculator, but no differentiation from siblings is given.

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

vatVATA
Read-onlyIdempotent
Inspect

Value-added tax (MwSt/USt, sales tax) on a price. By default adds the tax to a net price; with inclusive=true treats the amount as gross and extracts the tax. The rate is always an input (19 or 7 for Germany, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesThe price.
ratePctYesVAT rate in percent (e.g. 19 or 7).
inclusiveNofalse (default): amount is net, add the tax. true: amount is gross, extract the tax.

Output Schema

ParametersJSON Schema
NameRequiredDescription
netNoNet price.
taxNoTax amount.
grossNoGross price.
Behavior4/5

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

Beyond the read-only and idempotent annotations, the description explains the calculation behavior (adding vs. extracting) and clarifies that the rate must always be supplied. No side effects or hidden behavior 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?

The description is three sentences, front-loaded with the core purpose, then the mode behavior, then a parameter note. Every sentence adds value without redundancy.

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

Completeness5/5

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

For a simple pure-function tool with complete schema descriptions and an output schema, this description adequately covers the behavior, input modes, and rate requirement. No critical information 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%, so the baseline is 3. The description mostly restates what the schema already says for amount, ratePct, and inclusive, adding only minor context about German VAT rates.

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

Purpose4/5

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

The description clearly identifies the tool's purpose: computing value-added tax on a price, with modes for net-to-gross and gross-to-net. It lacks an explicit verb like 'calculates' but the meaning is unambiguous and distinct from sibling 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?

It gives clear usage conditions: by default it adds tax to a net price, and with inclusive=true it extracts tax from a gross amount. It does not explicitly name alternatives, but the two modes cover the main use cases.

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

waccWACCA
Read-onlyIdempotent
Inspect

Weighted average cost of capital: equity and after-tax debt weighted by the capital structure. Percents in and out.

ParametersJSON Schema
NameRequiredDescriptionDefault
debtYesMarket value of debt.
equityYesMarket value of equity.
taxRatePctYesTax rate in percent.
costDebtPctYesCost of debt in percent.
costEquityPctYesCost of equity in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
waccPctNoWACC, percent (null if no capital).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds useful behavioral detail: inputs and outputs are in percent, and tax is applied to debt after-tax, which clarifies the calculation logic beyond the schema.

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

Conciseness5/5

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

Two short sentences pack the essential information: the definition, the formula components, and the unit convention. No unnecessary words, perfectly 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 calculator with full schema descriptions and an output schema, the description covers the core calculation logic and units. It omits edge cases, but these are not needed for a tool of this complexity.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter having a description. The description adds conceptual context about the weighting formula, but does not provide additional per-parameter semantics beyond the schema, so a 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?

The description clearly identifies the tool as computing the weighted average cost of capital, specifying the components (equity and after-tax debt) and weighting by capital structure. This distinguishes it from siblings like cap-rate or required-return by naming the precise financial metric.

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 provides clear context: it is for WACC calculation, with a note that debt is after-tax. It does not explicitly mention alternatives or when-not-to-use, but the formula description makes the intended use obvious, so a 4 is appropriate.

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

xirrXIRRA
Read-onlyIdempotent
Inspect

Date-aware internal rate of return: the annual rate that zeroes the XNPV of irregular dated cashflows. Null if no rate fits.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesDated cashflows; the first date is the valuation date.

Output Schema

ParametersJSON Schema
NameRequiredDescription
xirrPctNoDate-aware IRR, percent (null if none).
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, setting the safety context. The description adds behavioral value by specifying the output unit ('annual rate') and the null behavior when no rate fits, which is useful beyond what annotations provide.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys purpose and a key edge-case behavior. Every clause adds meaning, with no redundancy or 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 a full input schema and read-only/idempotent annotations, the description covers what the tool does, the input nature, and the null result case. It is slightly less explicit about differentiation from related tools like 'irr' or 'xnpv', but overall it is complete for a calculator of this simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 input schema already describes all parameters thoroughly: 'cashflows' as an array with 'date' (ISO date) and 'amount' (outflows negative), plus the note that the first date is the valuation date. The description's mention of 'irregular dated cashflows' reinforces the date-aware nature but adds no new parameter-level 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 clearly states what the tool does: computes a date-aware internal rate of return that zeroes the XNPV of irregular dated cashflows. It uses a specific verb ('returns') and resource ('internal rate of return'), and the phrase 'Date-aware' distinguishes it from the sibling 'irr' tool.

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

Usage Guidelines4/5

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

The description implies the tool is for irregular dated cashflows by emphasizing 'Date-aware' and 'irregular dated cashflows', which gives clear context for when to use it. However, it does not explicitly name alternatives like 'irr' for regular periodic cashflows, so it stops short of full exclusion guidance.

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

xnpvXNPVA
Read-onlyIdempotent
Inspect

Date-aware net present value: each amount discounted by its fractional years (act/365) from the first cashflow's date. Annual rate in percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
cashflowsYesDated cashflows; the first date is the valuation date.
annualRatePctYesAnnual discount rate in percent.

Output Schema

ParametersJSON Schema
NameRequiredDescription
npvNoDate-aware net present value.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, establishing a safe, repeatable operation. The description adds meaningful behavioral context beyond annotations by specifying the act/365 day-count convention and the role of the first cashflow date as the valuation base, which are not present in 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?

The description is two sentences with zero wasted words. The first sentence immediately states the core purpose, and the second adds the key calculation detail. This is exemplary conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 two-parameter schema, strong annotations, and presence of an output schema, the description sufficiently covers the method and usage context. It does not discuss edge cases like unordered cashflows, but that is not essential for this type of 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?

The input schema provides 100% description coverage for both parameters, including the meaning of dates, amounts, and annual rate units. The description adds no substantive new parameter semantics beyond restating that the rate is annual in percent, 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?

The description clearly identifies the tool as a date-aware net present value calculation with specific verb 'discounted' and resource 'cashflows'. It distinguishes itself from sibling tools like 'npv' by emphasizing fractional-year (act/365) discounting based on the first cashflow's date.

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 signals its intended use case by highlighting 'date-aware' and 'fractional years', implying suitability for irregular-dated cashflows rather than periodic ones. However, it does not explicitly name alternatives or state when not to use it, so it falls short of full when/when-not guidance.

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

yield-to-maturityYield to MaturityA
Read-onlyIdempotent
Inspect

Bond yield to maturity: the nominal annual yield that prices a bond at the given price, with periodic coupons and face returned at maturity. Solved numerically. Returns a percent, or null.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesCurrent bond price.
yearsYesYears to maturity.
faceValueYesFace (par) value repaid at maturity.
couponRatePctYesAnnual coupon rate in percent of face.
periodsPerYearNoCoupon periods per year (default 2 = semiannual).

Output Schema

ParametersJSON Schema
NameRequiredDescription
yieldPctNoNominal annual yield, percent (null if none).
Behavior4/5

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

Annotations already declare read-only and idempotent hints, so the description does not need to repeat those. It adds valuable context by stating 'Solved numerically' and 'Returns a percent, or null', disclosing the iterative nature and the possibility of no solution.

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 sentences, front-loaded with the definition, and contains no redundant information. Every phrase contributes to understanding the tool's behavior and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 moderate complexity, the description covers essential aspects: definition, return type, and null case. With good annotations and a rich output schema, the description is sufficient for an agent to select and invoke the tool correctly. It could mention edge cases like invalid inputs, but that is not 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%, so the baseline is 3. The description does not add per-parameter meaning beyond what the schema already provides; it only provides global context about periodic coupons and nominal annual yield, which does not significantly enhance parameter understanding.

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 defines the tool's output as the nominal annual yield that prices a bond at the given price, with periodic coupons and face returned at maturity. This distinguishes it from sibling tools like bond-price or current-yield by specifying the bond context and that it solves for the yield.

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

Usage Guidelines3/5

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

The description implies usage when YTM needs to be computed from a price, but it does not explicitly mention when to use it versus alternatives or when not to use it. The phrase 'Solved numerically' hints at iterative solving, but there is no direct comparison to siblings.

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

zero-coupon-priceZero-Coupon PriceA
Read-onlyIdempotent
Inspect

Price of a zero-coupon bond: face value discounted to today at the yield.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsYesYears to maturity.
yieldPctYesAnnual yield in percent.
faceValueYesFace value.
compoundingPerYearNoCompounding periods per year (default 1).

Output Schema

ParametersJSON Schema
NameRequiredDescription
priceNoZero-coupon price.
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds the core computational logic (discounting face value at yield), which is meaningful context beyond annotations. It does not disclose edge-case behavior (e.g., negative yields), but this is a simple calculation with schema covering compounding and output schema covering results.

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

Conciseness5/5

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

A single, front-loaded sentence that states exactly what the tool does with no redundancy or filler. Every word contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 simplicity of the tool, the comprehensive parameter schema, annotations, and presence of an output schema, the description is sufficient. It explains the calculation concept, and the structured fields cover the remaining details. The only minor gap is explicit usage guidance, which is already accounted for in the usage dimension.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameters are fully documented. The description maps 'face value' and 'yield' to faceValue and yieldPct, and 'to today' implicitly refers to years, but adds no new details about compoundingPerYear or default behavior. It meets the baseline without enhancing understanding.

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 the tool computes the price of a zero-coupon bond by discounting face value at the yield. This explicitly distinguishes it from siblings like 'bond-price' (which likely handles coupon bonds) and 'current-yield'.

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

Usage Guidelines3/5

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

The context of use is implied: when pricing a zero-coupon bond. However, there is no explicit comparison to alternatives (e.g., 'for coupon bonds, use bond-price'), nor any exclusions. The name and description make the use case clear, but guidance is not stated.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    63 deterministic quant computation tools for autonomous financial agents. Options pricing, derivatives, risk metrics, portfolio optimization, statistics, crypto/DeFi, macro/FX, time value of money. 1,000 free calls/day, no signup required.
    74
    11
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    39 tax tools for US individual taxpayers — federal/state tax calculations, credits, deductions, retirement strategies, audit risk, and tax planning. All calculations run locally, no data leaves the machine. Supports TY2024 and TY2025 (One Big Beautiful Bill Act).
    4
    43
    42
    8
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    17 deterministic personal-finance tools across 7 countries (US, UK, CA, AU, AE, SA, India) plus Sharia-compliant Islamic finance (Zakat, Murabaha, Ijarah, Mudarabah, Hajj savings, halal stock screening). Wraps the open-source calcnook engine — zero API keys, pure stdlib, MIT.
    17
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Deterministic US equity-compensation tax optimizer. Six tools cover ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU vest-and-sell, single-stock concentration, protective put / zero-cost collar pricing, and Section 1202 QSBS qualification. Federal plus 50-state plus DC tax math.
    8
    79
    5
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.