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

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 3.9/5 across 94 of 94 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct financial calculation with clear boundaries. Descriptions differentiate similar concepts (e.g., future-value vs compound-interest, or multiple depreciation methods) so an agent can reliably select the correct one.

Naming Consistency5/5

Nearly all tools use a consistent lowercase-hyphenated pattern (e.g., accrued-interest, after-tax-yield). Acronyms like 'cagr' or 'irr' are well-known exceptions that fit the naming style.

Tool Count4/5

94 tools is high but appropriate for a comprehensive financial calculator server covering time value of money, loans, bonds, options, depreciation, taxes, ratios, and more. A few tools could be merged, but the scope justifies the count.

Completeness5/5

The set covers an exhaustive range of financial calculations with multiple variants (e.g., three depreciation methods, two IRR forms, several bond metrics). No obvious gaps; it handles most common and many niche financial computations.

Available Tools

94 tools
accrued-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.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description adds value by explaining the pro-rating logic. 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?

Single sentence that is front-loaded and concise, conveying the essential calculation logic without 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?

With full annotations, complete schema, and an output schema, the description adequately covers the calculation context. The formula description is sufficient for a simple financial 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% with each parameter described. The description reinforces the relationship between parameters via the formula but adds no new semantic 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 states the tool calculates accrued interest since the last coupon with a specific formula (pro-rated annual coupon). It distinguishes from many sibling financial tools by focusing on this specific 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?

No explicit guidance on when to use this tool versus alternatives like yield-to-maturity or bond-price. The purpose is clear, but the description lacks when-not-to-use or comparison to siblings.

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

after-tax-yieldB
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 already declare readOnlyHint and idempotentHint true, so the tool is a pure computation. The description adds that it reduces yield by tax rate, which is helpful but does not add significant behavioral context 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?

Extremely concise: two short sentences that convey the core purpose and input/output format. No extraneous words, front-loaded with the key verb and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 calculation with an output schema, the description is adequate. It explains the core transformation and unit expectations. Could marginally benefit from mentioning the output is also a 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 descriptions cover both parameters (yieldPct, taxRatePct) with their units. The description adds 'Percents in and out' which reinforces but does not add new semantics. With 100% schema coverage, 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 that the tool calculates after-tax yield by reducing yield by tax rate. It specifies inputs and output are percentages. Although the verb is not explicit, the purpose is unambiguous and distinguishes from the sibling 'tax-equivalent-yield'.

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, such as 'tax-equivalent-yield'. The description only mentions that inputs and outputs are percents, but does not provide context for use cases or exclusions.

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

amortizationA
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 all).
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).
Behavior5/5

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

Annotations already declare read-only and idempotent. The description adds that it returns numbers and schedules and no advice, explains the 'detail' parameter's effect on output size, and mentions pagination. This is excellent transparency 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 four sentences, each purposeful, front-loading the core purpose. No redundant or vague statements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 tool with 12 parameters and an output schema, the description adequately covers essential behaviors (extra payments, rate steps, detail levels). It could mention error handling or limits, but overall it is sufficient.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the 'detail' parameter's output modes and pagination, and it groups parameters logically. It does not repeat schema descriptions unnecessarily, but some context 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 generates a monthly loan amortization schedule and summary, and details supported features like extra payments and rate-fixed periods. It is specific and easily distinguishes 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 Guidelines3/5

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

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives like 'loan-payoff' or 'mortgage-affordability'. Usage is implied but not clarified with conditions.

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

annuity-fvA
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, which cover safety and side-effect concerns. The description adds a redundant clarification about the rate being per-period in percent, which is already in the schema. No new behavioral traits are disclosed 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 extremely concise with two brief sentences that immediately convey the tool's purpose. Every word is earned; no fluff or repetition. The front-loaded structure allows the agent to quickly understand the core 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?

Given the presence of an output schema (context indicates 'Has output schema: true'), the description need not explain return values. The tool has only 3 required parameters with full schema coverage, and the description adequately states its purpose. However, it could optionally mention that it returns a future value for completeness, but that is implied by the name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 new meaning to parameter semantics; it simply restates that the rate is per-period in percent, which is already documented in the schema for ratePct. No enrichment or clarification 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 explicitly states 'Future value of an ordinary annuity,' which clearly identifies the verb (calculate future value) and resource (ordinary annuity). It distinguishes from sibling tools like 'future-value' (single sum) and 'annuity-pv' (present value), making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'annuity-pv' or 'future-value'. There is no mention of prerequisites, exclusions, or context for correct usage, leaving the agent without decision support.

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

annuity-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 indicate readOnly and idempotent behavior. The description adds that the tool uses the amortization formula and notes rate per period, providing useful context without overstating.

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 front-loads the core purpose with 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?

Given the tool's simplicity, full schema coverage, and existence of an output schema, the description adequately covers what the tool does and its key context.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds the context of level payment and amortization, enhancing understanding 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 specifies the tool computes the level payment amortizing a present value over n periods using the loan-payment formula, clearly distinguishing it from siblings like annuity-pv and annuity-fv.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 periodic payments given present value, rate, and periods, but it does not explicitly state when to use it versus alternatives or provide exclusion conditions.

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

annuity-pvA
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?

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds context that the annuity is ordinary (payment at end) and rate is per period in percent, which helps understand behavior 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?

Two sentences, front-loaded with purpose, no wasted words. Every sentence provides essential 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?

Given the moderate complexity of a financial annuity calculation, the description explains the annuity type and rate unit. An output schema exists (not shown), so return values are covered. The description is sufficiently complete for tool selection.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for each parameter. The description repeats that rate is per-period in percent, adding no new meaning beyond the schema. Baseline 3 applies.

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

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 the present value of an ordinary annuity with level payments at period end. It distinguishes itself from siblings like 'annuity-fv' (future value) and 'annuity-payment' by specifying the present value calculation.

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

Usage Guidelines3/5

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

The description implies usage for ordinary annuity present value but does not explicitly state when to use this tool versus alternatives like 'annuity-fv' or 'present-value'. No when-not or alternative guidance is provided.

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

balloon-loanB
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.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds the core logic (payment based on long amortization, balloon as remaining balance), which is useful but minimal. It does not disclose edge cases, validation, 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?

A single, well-structured sentence that efficiently defines the tool's purpose without redundancy or unnecessary details.

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 presence of an output schema and annotations, the description is adequate but lacks specifics on what the tool returns (payment amount, balloon balance, or both) and any constraints between parameters. A more complete description would address these gaps.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add any meaning beyond the field names and types already provided. The relationship between balloonMonths and amortMonths (e.g., the implicit constraint) is not clarified.

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

Purpose4/5

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

The description clearly identifies the tool as calculating a balloon loan payment, distinguishing it from full amortization schedules or other loan calculations. However, it does not explicitly state what the tool outputs (e.g., payment amount, balloon balance), leaving slight ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like amortization or loan-payoff. The description does not mention prerequisites, constraints (e.g., balloonMonths <= amortMonths), or scenarios where this tool is appropriate.

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

barista-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).
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 and idempotency. The description adds no behavioral traits beyond these, but also does not contradict. A score of 3 is appropriate since the annotations bear most of the burden.

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

Conciseness4/5

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

A single sentence that concisely conveys purpose. It is front-loaded with the tool name and concept. Minimal waste, though it could be slightly more structured (e.g., bullet points) but is still effective.

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 is a simple calculator with an output schema, the description fully explains the scenario and inputs. No additional output details are needed. The description is complete for the complexity level.

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

Parameters3/5

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

Input schema has 100% coverage with clear descriptions for all three parameters. The description adds conceptual context (Barista FIRE scenario) but no additional detail beyond the schema. 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 calculates the nest egg needed for Barista FIRE, where part-time income supplements spending. This is specific and distinguishes it from siblings like 'fire-number' (full FIRE) and 'coast-fire' (no part-time income).

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

Usage Guidelines4/5

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

The description explicitly defines when to use (part-time income covers part of spending) but does not mention when not to use or suggest alternatives. However, the condition is clearly stated, making it straightforward for the agent to choose appropriately among FIRE-related siblings.

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

biweekly-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.
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating no side effects. The description adds that it returns specific computed values (biweekly payment, savings), which is consistent. No additional behavioral traits (e.g., assumptions about mortgage structure) are disclosed, but the tool is simple and well-covered by 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 concise—two sentences front-loaded with the core purpose and output details. Every word adds value, and there is no redundant or verbose 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?

Given the output schema exists (though not shown), the description adequately covers return values. It specifies the outputs (biweekly payment, months and interest saved). For a well-structured tool with 3 parameters and full schema coverage, the description is nearly complete, though could mention underlying assumptions (e.g., standard mortgage compounding).

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 described clearly in the schema (e.g., 'Loan amount', 'Annual rate in percent', 'Original term in months'). The description adds no further parameter meaning, 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 clearly states the tool computes biweekly payment acceleration for a mortgage, specifying the input (half monthly payment every two weeks) and output (biweekly payment, months and interest saved). This effectively distinguishes it from sibling tools like amortization or standard payoff 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 the tool is used for biweekly mortgage acceleration scenarios but does not explicitly state when to use it versus alternatives (e.g., amortization for full schedule, loan-payoff for standard payoff). No exclusions or comparative guidance is provided.

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

black-scholesA
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?

Annotations already indicate read-only and idempotent behavior. The description adds that the tool computes d1/d2, specifies European style, and clarifies input units (percent). This goes beyond annotations, though it could mention the assumption of continuous dividends (already covered by optional parameter).

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

Conciseness5/5

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

A single sentence that front-loads the core purpose ('Black-Scholes price') and then adds essential details succinctly. No extraneous 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?

With an output schema present, the description need not detail returns. It covers input formatting, option type, and auxiliary outputs (d1/d2). Given the tool's standard nature and sibling coverage, it is sufficiently complete.

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

Parameters4/5

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

Schema descriptions cover 100% of parameters. Description adds clarifying context: volatility and rates are in percent (not decimal), and dividend yield is optional. This enhances understanding beyond the schema alone.

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 Black-Scholes price of European call or put options, and mentions additional outputs d1/d2. It distinguishes itself from sibling tools like option-greeks or intrinsic-time-value by focusing on pricing and intermediate values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 notes that volatility and rates are in percent and mentions optional dividend yield, providing formatting guidance. However, it does not explicitly state when to use this tool over siblings like option-greeks or put-call-parity, leaving usage context implied.

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

bond-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 and idempotentHint true, so the agent knows it's safe and deterministic. The description adds that it returns both duration types, which is useful context but not essential 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, well-structured sentence with no wasted words. It front-loads the core purpose and defines both metrics concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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, strong annotations, and full schema coverage, the description is largely complete. It could explicitly mention the return structure (both durations), but the output schema presumably handles 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 coverage is 100%, so parameters are already documented. The description does not add any additional meaning or relationships between parameters, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states it computes Macaulay and modified duration, specifying the verb and resource. However, it does not differentiate from sibling tools like convexity or bond-price, which are closely related.

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, nor any exclusions or prerequisites. The user must infer from the name and siblings.

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

bond-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).
Behavior3/5

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

Annotations already indicate read-only, idempotent behavior. Description adds formula explanation but no edge-case or numerical behavior details. 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.

Conciseness4/5

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

Single sentence with clear, front-loaded purpose. Concise but could include a sentence on typical usage context.

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

Completeness4/5

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

With full schema coverage and an output schema present, the description is adequate. Missing explanation of coupon period default (2) but overall complete for the task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameters. Description does not add additional meaning beyond the schema.

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

Purpose5/5

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

Description clearly states the tool computes the price of a coupon bond given a yield, using present value of coupons plus face value. It distinguishes itself from siblings like bond-duration and yield-to-maturity.

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 siblings or when not to use it. Alternatives are not mentioned.

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

break-even-unitsB
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).
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 this is a safe, deterministic calculation. The description adds the formula structure, which provides some behavioral insight but does not disclose edge cases like division by zero (if price equals variable cost) or the return format. Given annotation coverage, a score of 3 is appropriate.

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

Conciseness4/5

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

The description is a single sentence containing the essential information: the formula and its components. It is front-loaded with the key term 'break-even volume'. The phrase 'plus the revenue at that volume' is slightly redundant but does not detract significantly. One point off for minor extraneous 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?

Given the low complexity, full schema coverage, and presence of an output schema (implied), the description is largely complete. It provides the formula, which is the core logic. No further explanation of return values is needed. Slightly lacking in usage conditions or error handling, but adequate overall.

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

Parameters3/5

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

Schema coverage is 100%, and each parameter has a clear description (total fixed costs, selling price per unit, variable cost per unit). The description explains how they are used in the formula, adding some context beyond the schema. However, it omits details like data types (implied numeric) or constraints (e.g., positive values). Baseline 3 is suitable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 the tool as computing break-even volume and revenue using the formula fixedCosts / (price - variableCost). It is specific and uses appropriate terminology. However, it does not explicitly distinguish this tool from siblings like contribution-margin or points-breakeven, which may also relate to break-even analysis.

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. For example, it does not explain that this tool is for unit-based break-even vs. revenue-based break-even, nor does it mention prerequisites (e.g., positive contribution margin). The description simply states the calculation without context.

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

budget-50-30-20A
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=true and idempotentHint=true. The description does not add behavioral details beyond stating the calculation, which is consistent and adequate given the annotation coverage.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words, fully conveying the tool's purpose.

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

Completeness5/5

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

The description covers the tool's purpose completely for a simple one-parameter calculator with an output schema, so no further explanation of return values is needed.

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

Parameters3/5

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

Schema coverage is 100% and the description does not add additional meaning beyond the parameter name and schema description. The mention of output categories is helpful but not parameter-specific.

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: splitting monthly income into needs, wants, and savings using the 50/30/20 rule. It is specific and distinguishes 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?

The description implies usage for budgeting with the 50/30/20 rule but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among siblings.

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

cagrA
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.
Behavior3/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds the output format (decimal meaning 7% as 0.07) and clarifies the inputs ('between two values over a number of years'). However, it does not disclose edge cases, such as behavior with zero starting values or negative years, which would enhance 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 extremely concise: two short sentences that convey the essential purpose and output format without any unnecessary words. It is well-structured and front-loaded with the key verb phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 (three numeric params, no dependencies, read-only and idempotent), and that the schema covers all parameters with descriptions and there is an output schema (assumed), the description is adequate. It could be slightly improved by mentioning the formula or giving an example, but it is complete enough for an AI to understand the tool's behavior.

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

Parameters3/5

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

The input schema provides basic descriptions for all three parameters (end, begin, years). The description reinforces that 'years' is the number of years and that the calculation is between two values, but does not add new constraints or semantics (e.g., years must be positive, begin and end can be equal). With 100% schema coverage, the description adds marginal 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 clearly states it calculates the compound annual growth rate between two values over a number of years, which is a specific and well-defined purpose. The tool name 'cagr' directly matches the acronym, and the description adds clarity by specifying that the output is a decimal (0.07 means 7%). This sufficiently distinguishes it from sibling tools like 'compound-interest' which computes compound interest rather than growth 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?

The description does not provide any guidance on when to use this tool versus alternatives like 'irr', 'future-value', or 'compound-interest'. It only states what the tool does, without context on appropriate use cases, prerequisites, or exclusions.

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

cap-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).
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 tool is clearly a safe, idempotent calculation. The description adds no further behavioral context (e.g., it doesn't mention rounding, data type constraints, or edge cases). Given good annotation coverage, a score of 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 concise sentence that efficiently conveys the tool's purpose without unnecessary words. It is well-structured and 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?

Given the tool's low complexity (two numeric inputs, simple formula), the description is complete enough. An output schema exists (implied), so return values are likely documented there. No additional context is needed.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for both parameters ('Net operating income.' and 'Property value.'). The description implies the result is a percentage but does not add significant new meaning beyond the schema. Baseline 3 is correct.

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

Purpose5/5

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

The description clearly states the tool computes a capitalization rate as a percentage of property value, using net operating income and property value. It is a specific verb (compute) and resource (cap rate), and distinguishes itself from sibling tools like 'noi' or 'gross-rent-multiplier'.

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 does not provide any guidance on when to use this tool versus alternatives, such as when to prefer cap rate over cash-on-cash return or gross rent multiplier. No context on prerequisites or scenarios is given.

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

cash-on-cashA
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).
Behavior3/5

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

Annotations already indicate read-only and idempotent behavior. Description adds the formula's nature (annual pre-tax cash flow as percent of cash invested). No contradictions, but adds limited extra 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?

Single concise sentence, front-loaded with key information, no unnecessary 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 calculator tool with full schema coverage and an output schema, the description is complete. It covers the purpose and required inputs.

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

Parameters3/5

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

Schema coverage is 100%, and parameters are described similarly in both schema and description. Description does not add new meaning 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 calculates cash-on-cash return as a percent, a specific financial metric. It distinguishes from siblings like cap-rate or roi by naming the exact metric.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 or when-not-to-use guidance is given. The context implies usage for real estate cash flow analysis, but no alternative tools are mentioned.

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

coast-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 (readOnlyHint, idempotentHint) already indicate safety. Description adds behavioral details: returns target, projected balance, coast status, shortfall. 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?

Two sentences, front-loaded with key info. Every word earns its place. 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 output schema exists and complexity is moderate, description adequately explains purpose and returns. Could mention assumption of constant growth, but not necessary for core clarity.

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

Parameters3/5

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

Schema covers 100% of parameters with descriptions. Description adds contextual meaning by explaining the purpose of the inputs (current nest egg grows to retirement). Baseline 3 is appropriate; no further elaboration needed.

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

Purpose4/5

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

Description clearly states it's about Coast FIRE, explains the concept (whether current nest egg grows to target), and lists returned values (target, projected balance, coast status, shortfall). It is specific and informative, though doesn't explicitly differentiate from the sibling 'barista-fire'.

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

Usage Guidelines3/5

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

Implies usage for Coast FIRE calculation, but no explicit when-to-use or when-not-to-use guidance. Given many FIRE-related siblings, it could benefit from directing when to select this over others.

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

compound-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 provide readOnlyHint and idempotentHint. Description adds value by explaining that contributions are paid at period end and that the tool generalizes other tools, giving behavioral nuance 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?

Two sentences, no wasted words. Front-loaded with main purpose and key variation. Every sentence 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?

Output schema exists, so return value explanation not needed. Description covers all key inputs, behavior (generalization of siblings), and contribution timing. Complete for a 5-param tool with full schema coverage.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. Description adds meaning by clarifying that contributions are 'paid at period end' and that periodsPerYear=1 corresponds to future-value and 12 to contributions, which enriches param 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?

Description clearly states 'Compound growth at any frequency, with an optional contribution each period' using specific verb+resource. Explicitly distinguishes from siblings by noting it generalizes future-value and contributions 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?

Provides clear context for when to use (compound growth with contributions) and notes relationship to future-value and contributions siblings. Does not explicitly state when not to use or list alternatives, but the sibling context compensates.

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

contribution-marginA
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, indicating safe read-only and idempotent behavior. The description adds minimal behavioral context beyond what annotations provide, but it 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?

The description is a single, concise sentence that conveys the essential information without any extraneous words. It is well-structured and 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?

Given the tool's simplicity, the description is complete. It effectively covers the purpose, and the presence of an output schema (though not shown) reduces the need to explain return values. No missing context is evident.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameter descriptions (selling price per unit, variable cost per unit). The description does not add additional meaning beyond the schema, so 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 it calculates contribution margin per unit and as a percent of price, specifying the verb (calculate) and resource (contribution margin). It is specific but does not explicitly distinguish from sibling tools like margin-markup or break-even-units.

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 or when not to use it. The description only states what it does, lacking context for appropriate usage.

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

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.
Behavior4/5

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

Annotations declare readOnly and idempotent safety. Description adds the stepping-up feature, providing useful context beyond annotations.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose, no wasted words.

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

Completeness4/5

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

Adequate for a simple computational tool; annotations and schema provide safety and param details. Could mention return type but output schema exists.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for each parameter. Description adds only that contributions are 'fixed monthly' and step-up is 'per year', which aligns with schema but doesn't enhance meaning significantly.

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 states specific verb ('future value') and resource ('fixed monthly contribution') with option to step up, clearly distinguishing from siblings like 'future-value' (lump sum) and 'compound-interest'.

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

Usage Guidelines3/5

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

Implied usage for periodic contributions but no explicit when-to-use or when-not-to-use compared to alternatives like 'savings-rate' or 'required-contribution'.

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

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.
Behavior4/5

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

Annotations (readOnlyHint=true, idempotentHint=true) already indicate safe, non-destructive behavior. Description adds context about curvature and relationship to duration. 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?

Extremely concise single sentence (15 words) that packs essential information: name, unit, definition, and relationship. 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?

With schema covering all parameters and output schema present, the description sufficiently informs about the tool's purpose and use context. No gaps for a well-known financial metric.

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

Parameters3/5

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

Schema provides 100% description coverage, so baseline is 3. Description does not add new parameter details beyond the schema; it only gives high-level context about the calculation.

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

Purpose5/5

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

Clearly identifies tool as bond convexity, specifies units (years^2), and defines it as curvature of price with respect to yield, used alongside duration. Distinguishes from sibling tools like bond-duration.

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

Usage Guidelines3/5

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

States 'used alongside duration' implying a companion role, but lacks explicit guidance on when to use this tool vs alternatives (e.g., for large yield changes). No exclusions or 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.

credit-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).
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 computation. The description adds the null return condition and the fact that it returns months and interest, but does not describe other behaviors like side effects or required permissions.

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

Conciseness5/5

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

A single sentence that is concise and information-dense, clearly stating the output and edge case. 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?

Given that an output schema exists (though not shown), the description adequately covers the tool's purpose, return values, and edge case. It is complete for a financial calculation tool with clear parameter coverage.

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 basic descriptions. The description adds value by implying that payment must cover first month's interest, providing context beyond the schema fields.

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

Purpose4/5

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

The description states it computes months to clear a balance and interest paid, with a null condition. It is specific to credit cards but does not explicitly distinguish it from similar tools like 'debt-payoff' or 'loan-payoff'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The context of sibling tools suggests it might be used for fixed-payment credit card scenarios, but no explicit instructions are provided.

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

current-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?

The description is minimal but consistent with annotations. Annotations (readOnlyHint=true, idempotentHint=true) already indicate the tool has no side effects. The description adds no behavioral details beyond the formula, which is acceptable for a simple calculation.

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, clear sentence that immediately conveys the tool's purpose. No 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 financial ratio tool with two required numeric inputs and an output schema (not shown but existing), the description adequately defines the operation. Additional details about the return value are not needed given the output 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 input schema describes each parameter as 'Current assets' and 'Current liabilities', but the description explicitly states the formula: 'current assets over current liabilities'. This adds contextual meaning beyond the schema, clarifying how the parameters 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 clearly states the tool calculates the current ratio by dividing current assets by current liabilities. The name 'current-ratio' directly corresponds to the metric, distinguishing it from sibling tools like 'quick-ratio'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 no usage guidelines. For a simple ratio calculation, the purpose is clear, but there is no indication of when to use this vs. the related 'quick-ratio' tool or similar financial metrics.

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

current-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).
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 description adds minimal behavioral context beyond stating it's a percent calculation.

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, concise sentence with all necessary information. No wasted words.

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

Completeness4/5

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

For a simple financial calculation, the description combined with full schema and output schema is adequate. Could mention edge cases 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?

Schema coverage is 100% with descriptions for all parameters. The description does not add 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 current yield as a percentage of coupon to price. It's specific and distinguishable from siblings like yield-to-maturity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use this vs. alternatives like yield-to-maturity. Usage is implied but not clarified.

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

debt-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 declare readOnlyHint=true and idempotentHint=true, indicating a safe, deterministic calculation. The description adds that it 'flags insolvent budgets' and returns specific outputs (months, total interest, payoff order), providing extra behavioral context beyond annotations.

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

Conciseness5/5

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

Two concise sentences: first states purpose and constraints, second explains methods and results. No filler; every sentence adds value. Front-loaded with the core function.

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 and the presence of an output schema, the description is complete. It covers inputs (debts, budget, method), strategy choice, and key outputs (months, total interest, order), plus a flag for insolvency. Sibling tools like 'loan-payoff' reinforce the multi-debt focus.

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 all parameters. The description adds meaning by explaining the strategic difference between avalanche and snowball, defaulting to avalanche, and the significance of 'insolvent budgets' (an output flag). This goes beyond the basic 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?

Clearly states it's a multi-debt payoff planner under a fixed monthly budget, specifying the two methods (avalanche/snowball) and their effects. The description distinguishes it from sibling tools like loan-payoff (single loan) by emphasizing multiple debts.

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

Usage Guidelines4/5

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

Explicitly explains when to use avalanche (minimize interest) vs snowball (clear accounts soonest), but does not explicitly mention when not to use the tool or compare to siblings. The context is clear enough for an agent to decide.

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

declining-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 indicate readOnlyHint and idempotentHint are true. The description adds that it returns depreciation and remaining book value, but does not disclose other behavioral traits such as computational assumptions or edge cases.

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

Conciseness4/5

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

The description is concise, consisting of a single sentence followed by the output statement. It is front-loaded with the key concept, though it could be slightly more 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?

Given the tool's simplicity (3 parameters) and the presence of an output schema, the description adequately explains the purpose and return values. It is complete enough for an agent to use 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 has 100% description coverage with brief parameter descriptions. The tool description does not add significant extra meaning beyond the method name; it mostly restates what the method is.

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 declining-balance depreciation for a given year, returning depreciation and remaining book value. It distinguishes itself from other depreciation methods in 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 Guidelines3/5

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

The description explains the method but does not provide explicit guidance on when to use this tool versus alternatives like straight-line or double-declining depreciation.

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

de-gross-to-netA
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 indicate readOnlyHint=true and idempotentHint=true, meaning no side effects. The description adds valuable context: that no tax tables are included, requiring external lookup, and clarifies parameter roles (e.g., soli is an amount, churchTaxPct is a percent of income tax). This goes beyond the annotations without 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 concise, with 3 sentences front-loading the core purpose. Every sentence adds value: the first defines the transformation, the second explains the lack of tax tables, and the third details parameter types and units. 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?

Given 10 parameters (1 required) and an output schema (implied but not shown), the description fully covers the complexity. It explains the need for external tax lookups, parameter meanings, and unit consistency, making the tool self-contained for a knowledgeable user.

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

Parameters4/5

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

Schema description coverage is 100%, but the tool description adds contextual meaning, such as explaining that 'soli' is the 'Solidaritätszuschlag' amount and clarifying that church tax is a percentage of income tax. It also groups contributions and ceilings with German terms, aiding understanding 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 converts German gross salary (Brutto) to net salary (Netto), using the specific verb 'net' as a verb. It distinguishes itself from siblings by focusing on German salary calculation with explicit tax and contribution inputs, unlike generic financial calculators like 'tax-from-brackets' or 'present-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 explicitly says 'No tax tables are baked in: look up the current year's statutory figures and pass them in,' providing clear guidance on when to use this tool (when you have gross salary and need net, with all statutory rates known). It also advises using consistent units. However, it doesn't explicitly state when not to use it or compare to alternatives, though the specific domain makes it clear.

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

depreciateB
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.
Behavior3/5

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

Annotations already indicate read-only and idempotent. The description adds that it compounds down or up and is the app's method for long-term assets, which is useful but not extensive. 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?

Two clear, front-loaded sentences with no unnecessary words. Efficiently communicates core 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?

Given the output schema exists, the description adequately covers the tool's purpose and main inputs. It provides context about being the app's method for long-term assets, which adds completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds the word 'compounding' which provides some extra context, but does not significantly enhance understanding 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 tool computes value after yearly compounding over years, and specifies it's used for long-term assets. However, it does not explicitly distinguish it from sibling tools like straight-line-depreciation.

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, nor any exclusions or prerequisites.

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

discountA
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 indicate readOnly and idempotent, so no destructive behavior. The description adds that it computes 'amount off and final price', providing output specifics 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?

Single sentence, perfectly front-loaded, 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?

The tool is simple with an output schema. The description covers the purpose and output clearly. No missing information for effective 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?

Parameters are fully described in the schema (100% coverage). The description adds context by tying them to the output, stating it computes 'the amount off and the final price'.

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 'the amount off and the final price' for a single percentage discount. This directly distinguishes it from sibling tools like 'successive-discounts' which handle multiple 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?

No explicit when-to-use or when-not-to-use guidance. Usage is implied by the tool's purpose, but no alternatives or exclusions are mentioned.

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

discounted-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).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is clear. The description adds the discounting behavior but lacks details on assumptions like periodic cash flows.

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, no filler, front-loaded with the tool name and key 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?

Given the simple input and output schema, the description is sufficient. It could mention formula details but is functional as is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 description adds no new meaning beyond the parameter names and types. 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 states the tool computes the discounted payback period and distinguishes it from the sibling tool 'payback-period' by noting that each cash flow is discounted.

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 implicitly guides usage by comparing to payback-period, indicating when discounting is needed. However, it does not explicitly state when not to use it or mention alternatives like NPV.

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

dollar-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 indicate readonly and idempotent hints. The description adds behavioral context by listing the specific return values (units, total invested, average cost, final value), which helps the agent understand what the tool computes without needing to inspect the output schema. 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 concise with two sentences. The first sentence clearly states the core functionality, and the second lists outputs. No extraneous words; every sentence serves a purpose.

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

Completeness5/5

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

Given the low complexity (two required parameters, no nested objects) and the presence of an output schema, the description provides sufficient context. It explains what the tool calculates and what it returns, making it complete for an agent to understand its 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?

The input schema already provides descriptions for both parameters with 100% coverage. The description does not add additional semantic meaning beyond what is in 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's purpose: performing dollar-cost averaging calculations. It specifies the inputs (fixed amount each period, given prices) and outputs (units accumulated, total invested, average cost, final value). This distinguishes it from sibling tools like 'contributions' which likely compute a different metric.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not explicitly state when to use this tool versus alternatives. While the purpose is clear, there is no guidance on situations where DCA is appropriate or when other financial calculators might be preferred. Usage is implied but not explicit.

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

double-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 indicate readOnly and idempotent behavior. The description adds the key behavioral detail 'not falling below salvage' and the exact formula (2/usefulYears of book value), which provides context beyond what annotations convey. 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, information-dense sentence that front-loads the formula and key constraint. Every word is necessary; no redundant text.

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

Completeness5/5

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

Given the existence of an output schema, the description's coverage of the calculation formula and salvage behavior is sufficient. The tool is relatively simple, and the description provides all needed context 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 covers all parameters with descriptions. The tool description enhances understanding by explaining the calculation logic (2/usefulYears of book value, limited by salvage), which adds semantic meaning to the parameters year, value, usefulYears, and salvage.

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 uses a specific verb ('calculates') and resource ('double-declining-balance depreciation') and includes the formula. It effectively distinguishes from siblings like straight-line-depreciation and units-of-production-depreciation by naming the method.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use vs. alternatives, but the sibling list includes many depreciation methods, implying context. The description does not state exclusions or recommend other tools, so it provides only implied usage.

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

dscrA
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?

Annotations already declare readOnlyHint and idempotentHint, so the description does not add new behavioral traits beyond confirming the calculation. 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, efficient sentence that front-loads the tool's purpose. No unnecessary words.

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

Completeness4/5

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

Given the simplicity of the tool (two numeric inputs, a clear formula) and the presence of an output schema, the description is sufficiently complete for an agent to understand its function.

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?

Both parameters are described in the schema, and the description adds value by showing how they relate (dividing net operating income by annual debt service), which provides context beyond the 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 clearly states the formula for debt service coverage ratio, making the tool's purpose evident. However, it does not explicitly differentiate it from sibling tools like cap-rate or cash-on-cash, though the specific ratio is distinct.

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, nor does it mention any prerequisites or typical use cases. It only defines the formula.

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

dtiB
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).
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 description's primary behavioral disclosure is the formula. It adds minimal behavioral context beyond what annotations provide, 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.

Conciseness4/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. It is appropriately sized for a simple calculation tool 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?

Given the tool's simplicity, the description provides enough context: it defines the output (percent), the formula, and the parameters are fully described in the schema. The presence of an output schema (not evaluated here) further reduces the need for return value explanation.

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 clear descriptions for both parameters. The description adds value by showing how the parameters relate in the formula (monthly debt / gross monthly income), which enhances understanding beyond the standalone 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 states the tool calculates the debt-to-income ratio in percent and provides the formula. It is clear about the purpose but does not explicitly use a verb like 'calculate' or 'compute'. It distinguishes well from sibling financial tools as a ratio.

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 other financial calculation tools. No alternatives or exclusions are mentioned, leaving the agent without context for selection.

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

effective-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 the tool as read-only and idempotent. The description adds that it performs a mathematical conversion based on compounding frequency, which is consistent and provides minimal extra behavioral context beyond what annotations offer.

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 22-word sentence efficiently conveys the core functionality without any filler. It is perfectly front-loaded 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, the presence of complete annotations, full parameter descriptions, and an output schema, the description is complete enough for an AI agent to understand 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?

With 100% schema description coverage, the schema already explains each parameter (ratePct, periodsPerYear, toNominal). The description adds no additional semantics beyond summarizing the tool's logic, 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 clearly states the tool converts between nominal and effective annual rates (APY) with compounding frequency, and via toNominal reverses the operation. This distinguishes it from sibling tools which cover other financial calculations like amortization 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 indicates when to use by describing both forward and reverse conversions. However, it does not explicitly exclude alternative scenarios or compare to siblings, though the context makes it fairly clear.

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

emergency-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=true and idempotentHint=true, covering behavior. Description adds the formula but no further behavioral traits (e.g., no side effects, pure calculation). With annotations present, the minimal description is adequate.

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

Conciseness4/5

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

The description is extremely concise with a single front-loaded sentence. For a simple calculation tool, brevity is acceptable, though some agents might benefit from slightly more context (e.g., output format). No unnecessary words.

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's simplicity, high schema coverage, and presence of output schema, the description is adequate but lacks detail on output semantics (e.g., return type as number). However, the output schema likely covers that. The description meets minimum viability.

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

Parameters3/5

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

Schema coverage is 100% and both parameters have descriptions in schema. The description adds the operation (division) but does not enhance parameter meaning beyond what the schema already provides. 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 calculates 'months of runway' as a ratio of liquid savings to monthly expenses, specifying verb (divide) and resource (emergency fund duration). It distinguishes from sibling tools like compound-interest or mortgage-affordability which perform different financial calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 assessing emergency fund adequacy but does not explicitly state when to use this tool over alternatives among siblings. No exclusions or context are provided; usage is implied by the calculation description.

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

fee-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 (readOnlyHint, idempotentHint) already indicate safety. Description adds value by detailing the computation outputs (gross balance, net balance, amount lost), beyond what annotations provide. No contradiction.

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

Conciseness5/5

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

Single sentence is extremely concise and front-loaded with the core purpose. Every word contributes meaning 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?

With an output schema present, the description effectively explains the three key output values. Given the tool's low complexity and rich annotations, the description is fully adequate.

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

Parameters3/5

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

Schema has 100% coverage with descriptions for all four parameters. Description does not add additional meaning beyond the schema, so 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?

Description clearly specifies the tool's function: calculating the effect of an annual fee on compounded balance, including gross vs net and amount lost. It distinguishes from sibling tools like compound-interest by focusing specifically on fee drag.

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?

Description provides no explicit guidance on when to use this tool versus alternatives such as compound-interest or future-value. The context of fee impact is implied but not contrasted with other tools.

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

fire-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 readOnly and idempotent, so the description's value is in adding 'No advice' and describing the outputs (nest egg, gap, years). 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.

Conciseness4/5

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

The description is a single sentence that packs key information efficiently. It's brief and to the point, though a bit dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 (not shown), the description covers the main calculation and inputs adequately. It mentions the key outputs and optional inputs, providing a complete overview for a financial 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?

With 100% schema coverage, the description rephrases parameters but adds little new meaning beyond the schema descriptions. It mentions annual spend and safe withdrawal rate in text but doesn't elaborate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 the FIRE target nest egg from annual spend and safe withdrawal rate, plus the gap and years to reach it. It's specific but doesn't explicitly differentiate from sibling tools like portfolio-longevity or compound-interest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 FIRE calculations but provides no explicit guidance on when to use this tool versus alternatives. The 'No advice' disclaimer adds a small caveat but doesn't clarify context.

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

future-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.
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 key behavioral detail of annual compounding. It does not disclose other traits (e.g., precision, handling of edge cases), but this is acceptable 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 sentence of 10 words, front-loading the essential information with no redundancy or superfluous details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 parameters, no nested objects) and the existence of an output schema (not shown but presumably documenting return values), the description is adequate. It covers the core purpose and key constraint (annual compounding), leaving little gap for such a straightforward calculation.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for each parameter (principal, annualRatePct, years). The description does not add additional meaning beyond what the schema provides, but it reinforces the 'single lump sum' context. 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 states the tool computes 'Future value of a single lump sum compounded annually.' It specifies the verb ('Future value'), the resource ('single lump sum'), and the compounding frequency, distinguishing it from siblings like 'present-value' or 'compound-interest'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not explicitly state when to use this tool versus alternatives. However, the combination of 'single lump sum' and 'compounded annually' implies it is for a specific scenario, leaving out guidance on when not to use it or comparisons to siblings.

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

fx-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?

The description adds behavioral context beyond annotations by specifying that the rate is supplied by the caller and no automatic lookup occurs, which aligns with the readOnlyHint and idempotentHint 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 immediately conveys the core function and key constraint without unnecessary 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 is complete for this simple tool: it explains the operation, the source of the rate, and the absence of lookup, covering all essential aspects given the presence of an output 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?

With 100% schema coverage, the description adds value by clarifying that the rate is caller-supplied, reinforcing the parameter semantics beyond the schema's description of 'Rate: target units per source unit.'

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, with explicit mention that no rate lookup occurs, distinguishing it from sibling tools that may involve rate lookups or other financial calculations.

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 indicates when to use this tool (when you have an exchange rate) by stating 'supplied by the caller' and 'No rate is ever looked up,' implying it is not suitable when rate lookup is needed, but it does not explicitly name alternative tools.

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

gross-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).
Behavior3/5

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

The annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat safety information. However, the description adds no further behavioral context beyond what is in the schema, such as output format or edge cases.

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

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 efficiently conveys the essential information about the calculation.

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

Completeness3/5

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

The tool is simple with only two parameters and annotations cover safety. However, the description does not explain the significance or interpretation of the output value. Assuming an output schema exists (context indicates yes), the brevity is acceptable but could be more helpful.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds semantic value by explicitly stating the division formula (price divided by gross annual rent), which clarifies how the parameters are used beyond the schema's individual 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 states the tool computes the gross rent multiplier as price divided by gross annual rent. It specifies a unique verb and resource, distinguishing it from the many sibling financial calculator 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 versus alternatives, nor are there any exclusions or context hints. The description lacks any usage recommendations or when-not-to-use instructions.

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

holding-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).
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds that the output is in percent, which is useful but minimal. 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?

Single sentence, front-loaded with formula and unit. No wasted words.

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

Completeness4/5

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

Given the simplicity of the tool and the presence of an output schema (not shown but noted), the description covers the key information. However, it could mention that inputs must be numeric and non-zero for beginValue, but overall sufficient.

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 provides descriptions for all three parameters. The description adds the formula and clarifies the result is a percentage, 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 states the formula for holding-period return and that it returns a percentage. The name and description are concise and unambiguous, distinguishing it from other 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 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 'percentage-change' or 'required-return'. The description lacks context for selection.

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

hourly-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.
Behavior4/5

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

Annotations indicate read-only and idempotent behavior, and the description adds that it also computes the monthly equivalent. No contradictions or missing behavioral traits 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, clear sentence, front-loaded with the main action, and contains no unnecessary words.

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

Completeness3/5

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

For a simple conversion tool, the description is adequate but lacks mention of default values for hoursPerWeek and weeksPerYear. Output schema covers return values, but the description could be more complete regarding defaults.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described. The description adds no further semantics beyond the schema, so 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 'Annualize an hourly rate (and the monthly equivalent)', which is a specific verb and resource. It distinguishes from sibling tools like 'salary-to-hourly' and 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?

No explicit when-to-use or when-not-to-use guidance. While the purpose is clear, there is no mention of alternatives or context for when to use this tool over others, such as the inverse 'salary-to-hourly' tool.

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

inflation-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 declare readOnlyHint=true and idempotentHint=true, indicating safe repeated calls. The description adds context about the two operational modes (deflate vs inflate) and default behavior, but does not disclose additional behavioral traits such as handling of negative inflation rates, rounding, or edge cases. 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 sentence that is well-structured and front-loaded with the action. It efficiently conveys the core functionality without unnecessary words. Every part of the sentence 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?

Given the tool's moderate complexity (3 required parameters, 1 optional boolean), 100% schema coverage, and presence of an output schema, the description provides sufficient context. It explains the two operating modes and the core concept, leaving no critical gaps for correct 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?

The input schema has 100% coverage with descriptions for all parameters. The tool description restates the two-mode behavior already in the schema (e.g., toNominal's meaning). It adds no new semantic information beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: converting nominal amounts to real (purchasing power) and vice versa using inflation. It specifies the verb ('Convert' or 'inflate') and the resource ('nominal amount', 'real amount'), and distinguishes the two modes via the toNominal parameter. This differentiates it from siblings like CAGR or present-value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 (for inflation adjustment) but provides no explicit guidance on when not to use it or how it compares to sibling tools like future-value or cagr. Given the large number of sibling financial tools, explicit when-to-use and when-not-to-use guidelines would be helpful but are absent.

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

interest-only-paymentA
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.
Behavior2/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true, so the description does not need to reiterate safety. However, it adds no behavioral context beyond stating the output is a monthly payment, which is obvious from the tool's name and schema. Missing details like whether the calculation assumes monthly compounding or that principal is unchanged.

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 and contains no wasted words. It efficiently communicates the tool's purpose.

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's simplicity (2 parameters, no enums, output schema exists), the description is functional but lacks nuance. It could clarify that the payment does not reduce principal, which would help differentiate from amortization or loan-payoff.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 amount and ratePct. The description does not add any additional meaning beyond what the schema provides, meeting the baseline for high coverage.

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

Purpose5/5

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

The description 'Interest-only monthly payment on a balance' clearly defines the tool's function with a specific verb (calculates) and resource (interest-only monthly payment), distinguishing it from sibling tools like amortization or loan-payoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 no explicit guidance on when to use this tool versus alternatives. It is implied that it is for interest-only payment calculations, but there is no mention of when not to use it or comparison to siblings.

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

intrinsic-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.
Behavior2/5

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

Annotations (readOnlyHint, idempotentHint) provide the safety profile, but the description adds no behavioral context beyond the basic operation. It does not discuss edge cases (e.g., OTM options), error conditions, or precision, which would be valuable given the absence of such detail in annotations.

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

Conciseness5/5

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

The description is a single, clear sentence that immediately conveys the tool's purpose. Every word contributes meaning, and it is front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 (implied by context signals), the description does not need to explain return values. The tool is simple and well-defined. However, a brief note on handling of OTM options or input ranges would improve completeness slightly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 four parameters. The description does not add meaning beyond the schema; it merely repeats the concept of splitting premium. Baseline 3 is appropriate as the schema already handles 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 explicitly states the verb 'split' and the resource 'option premium', and clarifies the outputs: intrinsic value (in-the-money amount) and time value. This clearly distinguishes it from sibling tools 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 Guidelines3/5

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

The description implies use when decomposing option premium, but it does not specify when to prefer this tool over alternatives (e.g., black-scholes for pricing, option-greeks for sensitivities) or when not to use it (e.g., for out-of-the-money options where intrinsic value is zero). No explicit guidance is provided.

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

irrA
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?

Annotations already signal readOnly and idempotent behavior. The description adds a key behavioral detail: returns null when the cashflow series never crosses zero. This goes beyond annotations, though it does not mention other edge cases or permission requirements.

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, no fluff. The primary purpose and return behavior are front-loaded. Every sentence 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?

Given the presence of an output schema and full parameter schema coverage, the description adequately covers purpose and key return condition (null). It omits discussion of convergence issues or non-standard cashflows but is sufficient for a tool with strong annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 single parameter 'cashflows' is fully described in the schema (100% coverage) including direction of outflows. The description adds no additional semantic detail about the parameter beyond what 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 the tool computes the internal rate of return, defines it as the rate that zeros NPV, and specifies return behavior. This distinctively separates it from sibling tools like npv and present-value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 IRR calculation but provides no explicit guidance on when to choose this over alternatives (e.g., npv, yield-to-maturity) or when not to use it. No exclusions or contextual scenarios are mentioned.

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

loan-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 declare readOnlyHint=true and idempotentHint=true, establishing safety. The description adds value by explaining the calculation logic (net proceeds concept), which supplements the annotations without contradiction.

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

Conciseness5/5

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

Two sentences, no wasted words, front-loaded with the core purpose. Every sentence 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 calculation, rich schema, and presence of output schema and annotations, the description is fully sufficient. No missing context.

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

Parameters4/5

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

With 100% schema coverage, the baseline is 3. The description adds context by framing fees as reducing amount ('net proceeds'), which clarifies parameter semantics beyond the schema's basic 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 states the tool computes 'Effective APR including upfront fees' and explains the calculation using 'note-rate payment priced against net proceeds (amount - fees)'. This specific verb-resource pair distinguishes it from siblings like effective-rate or loan-payoff.

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 APR calculation with upfront fees, providing context but no explicit when-to-use or alternatives. It gives enough clarity for an agent to differentiate from similar tools like effective-rate.

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

loan-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?

The annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to reiterate safety. It adds minimal context beyond stating the calculation, but does not contradict the annotations. No additional behavioral traits are disclosed.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded with the core purpose. It contains no wasted words, though it is very minimal.

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's complexity (9 parameters, 5 required, presence of output schema), the description adequately states the core computation but does not explain output format, edge cases, or interpretation. The output schema likely fills some gaps, but the description leaves the agent to infer additional context.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description mentions 'fixed extra amount every month', which maps to extraMonthly, but this adds no new meaning beyond the schema. The parameter descriptions in the schema already cover the semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 that the tool computes 'time and interest saved' by paying a fixed extra amount monthly versus a baseline. It is specific about the resource (loan payoff) and the calculation. However, it does not explicitly differentiate from sibling tools like 'debt-payoff' or 'amortization', which may have overlapping functionality.

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, nor does it mention prerequisites or typical scenarios. It lacks any usage instructions or exclusions.

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

ltvA
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 declare readOnlyHint=true and idempotentHint=true, so the description carries low burden. The description adds the formula but does not disclose any additional behavioral traits such as output format or potential limitations.

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

Conciseness4/5

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

The description is a single sentence that front-loads the output and formula. It is concise but could include a bit more structure (e.g., specifying that output is a percentage). Still, it earns its place 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?

Given the tool's simplicity, complete schema coverage, and presence of annotations and output schema, the description is sufficient. It explains the calculation and unit, providing all necessary context for correct usage.

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 for loanAmount and propertyValue are simple and clear. The tool description adds value by explaining how the two inputs are combined (loan divided by property value), which is not evident from individual parameter schemas. With 100% schema coverage, baseline is 3, and the additional relational context earns a 4.

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 the loan-to-value ratio as a percentage, using the formula loan / property value. This is a specific verb-resource combination that clearly distinguishes it from many sibling 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 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 metrics like cap-rate, dscr, or other sibling tools. There is no mention of context, prerequisites, or when not to use it.

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

margin-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?

Annotations (readOnlyHint, idempotentHint) indicate a safe calculation. The description adds that it returns cost, price, profit, marginPct, and markupPct, providing output context. 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 with no wasted words. It efficiently communicates purpose, input requirements, and outputs.

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 simple nature, the description covers all necessary aspects: purpose, input combinations, and returned fields. An output schema exists, so return documentation is sufficient.

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?

Even with 100% schema coverage, the description adds significant combinatorial meaning: it explains which parameters are required together ('any one of cost/price plus one of marginPct/markupPct, or both cost and price'), which the schema does not convey.

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 'Convert between margin and markup', using a specific verb (convert) and clear resource (margin/markup). It explains the required input combinations and outputs, distinguishing this tool from siblings which handle other financial calculations.

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 on when to use the tool ('Convert between margin and markup') and specifies input constraints ('Supply any one of cost/price plus one of marginPct/markupPct (or both cost and price)'). However, it does not explicitly state when not to use or mention alternatives, though siblings are listed separately.

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

max-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.
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating safe, deterministic behavior. The description adds that the output is a positive percent, which is useful but limited. No additional behavioral context like potential edge cases or return format beyond percentage is provided.

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

Conciseness5/5

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

The description is a single, well-structured sentence that immediately conveys the purpose and output. 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?

The tool is simple with one parameter and an output schema. The description, combined with schema and annotations, provides sufficient information for an agent to understand and use the tool correctly. No critical gaps are 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?

The parameter 'series' is described in the schema with adequate detail ('Sequence of values (e.g. portfolio levels)'). With 100% schema coverage, the description does not add significant new meaning beyond the schema. 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 calculates maximum drawdown from a value series, including the definition as the largest peak-to-trough decline expressed as a positive percent. It distinguishes itself from sibling financial tools by focusing specifically on drawdown.

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 explicit guidance on when to use this tool versus alternatives or when not to use it. No mention of prerequisites or exclusions, leaving the agent to infer usage from context.

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

mirrA
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 and idempotentHint, but description adds useful context about the specific reinvestment and financing assumptions, which is beyond the annotation's safety profile.

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

Conciseness4/5

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

Two sentences with no fluff, but the phrase 'Percents in and out' is slightly ambiguous. Overall efficient 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?

Given the presence of an output schema and comprehensive parameter descriptions, the description provides sufficient context for a computation tool with simple numeric inputs.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for each parameter. The description adds minimal extra meaning ('Percents in and out'), but does not significantly enrich the parameter understanding 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?

Clearly identifies the tool as Modified Internal Rate of Return, explains the distinct financing and reinvestment rate behavior, and differentiates from similar financial tools like IRR by specifying the reinvestment assumption.

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

Usage Guidelines3/5

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

Implies usage by describing the calculation logic (negatives financed at financeRate, positives reinvested at reinvestRate), but does not explicitly state when to use MIRR over alternative tools like IRR or XIRR.

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

mortgage-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=true and idempotentHint=true. Description adds the formula logic (DTI cap, present value), providing context beyond annotations without contradiction.

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

Conciseness4/5

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

Single sentence, front-loaded with purpose. While dense, it is concise and avoids unnecessary 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?

Given the output schema exists and the description explains the calculation logic, it is complete for a financial calculator tool with 6 parameters and 4 required ones.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameter descriptions. The tool description explains the overall formula but does not add new semantics for individual parameters 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?

Description clearly states 'Maximum loan and home price the income supports', specifying the verb (calculate) and resource (loan/home price). It distinguishes from siblings like 'amortization' that schedule payments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 affordability calculations but does not explicitly state when to use versus alternatives or when not to use. No exclusions or comparisons to siblings.

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

net-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?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's brief addition of 'assets minus liabilities' adds little behavioral context but aligns 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?

Single sentence, front-loaded, every word earns its place. Highly 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 calculation with clear annotations and schema, the description is complete enough. Output schema exists but is not detailed; however, the tool's output is obvious.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 adequate descriptions for both parameters. The tool description does not add meaning beyond the schema, meeting the baseline.

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

Purpose5/5

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

The description clearly states the tool computes net worth as assets minus liabilities, which is a specific verb (compute) and resource (net worth). It distinguishes 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?

The description provides implied usage (when net worth is needed) but no explicit guidance on when to use vs. alternatives, nor any exclusions.

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

noiA
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.
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint. The description adds the explicit calculation method (gross income less vacancy and expenses), which provides useful context beyond 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?

Single sentence that directly states the tool's purpose and formula. 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 three numeric parameters and an output schema, the description is complete. It defines the formula, and the schema covers parameter details. No missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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. The description does not add parameter-level detail beyond the formula, but the schema already handles that adequately.

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 net operating income using the formula 'gross rental income less vacancy and operating expenses'. It is a specific verb-resource pair, and the formula distinguishes it from sibling financial tools.

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

Usage Guidelines3/5

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

The description implies use for real estate income property analysis but does not explicitly state when to use this tool versus alternatives like cap-rate or cash-on-cash. No guidance on prerequisites or when not to use it.

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

npvA
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.
Behavior4/5

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

Description discloses key behavioral traits (computation of NPV, cashflow timing and sign conventions) that go beyond annotations (readOnlyHint, idempotentHint). Annotations already indicate safety, so description adds useful 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?

Single sentence with no waste. All information is relevant 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?

Given low complexity and presence of output schema, description adequately explains the tool's purpose. Could briefly note typical use cases but sufficient.

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%. Description adds meaning by explaining the cashflow series starts at period 0 and outflows are negative, and discount rate is per-period percent. This enriches the schema 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?

Description clearly states 'Net present value of a cashflow series' with specific timing (index 0 is today) and sign (outflows negative) conventions, distinguishing it from siblings like IRR, future-value, etc.

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

Usage Guidelines3/5

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

No explicit guidance on when to use NPV vs alternatives like IRR or present-value. The description implies use for discounting cashflows but does not state exclusions or preferred contexts.

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

option-breakevenA
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.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating safe, deterministic behavior. The description adds specific calculation logic (formulas), enhancing transparency beyond basic 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, well-structured sentence conveys the core purpose and formula, with zero 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?

Given the tool is simple, has full schema documentation, and likely an output schema for the return value, the description is fully adequate for an agent to understand and invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. The description explains how parameters (strike, premium, type) are used in the calculation and notes the default option type, 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 states the tool calculates the break-even underlying price at expiry and provides explicit formulas for calls and puts, distinguishing it from siblings like option-greeks or intrinsic-time-value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 break-even calculation but does not provide explicit guidance on when to use this tool versus alternatives like put-call-parity or general pricing tools.

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

option-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 readOnlyHint and idempotentHint, so the description's addition of per-unit scalings (per 1% vol, per day, per 1% rate) adds valuable behavioral context beyond what annotations provide. 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?

Single sentence, front-loading the main purpose and listing outputs with no wasted words. Perfectly concise for the information conveyed.

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

Completeness4/5

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

Given the presence of an output schema (not shown), the description adequately covers the tool's purpose and outputs. Missing some edge-case details (e.g., behavior near zero volatility), but sufficient for the typical use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameters already described. The description adds no additional parameter information beyond listing outputs, so it does not improve semantics beyond the schema baseline 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 states it computes Black-Scholes greeks for a European option, listing all five greeks with specific units. This distinguishes it from sibling tools like black-scholes (price) and option-breakeven (breakeven).

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 or not use this tool versus alternatives. The description does not mention when-not conditions or point to other tools for different scenarios, leaving the agent to infer from tool names.

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

payback-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?

Annotations already declare readOnlyHint and idempotentHint. Description adds critical behavioral details: interpolation within the crossing period and null return if unrecovered. This goes 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?

Extremely concise: one sentence with a trailing note. Every word serves a purpose; 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 covers core logic, edge case (null), and interpolation. With an output schema existing, return values are handled. However, it could briefly mention that this is for simple (undiscounted) payback to differentiate from discounted-payback.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 parameter descriptions. The tool description reinforces their purpose (cumulative cashflows recover initial cost) but does not add new semantic detail beyond the schema.

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

Purpose5/5

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

The description clearly states the tool calculates simple payback period, with interpolation and null handling. It uses specific verbs ('recover', 'interpolated') and distinguishes from siblings like 'discounted-payback' by implying it uses raw cashflows.

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

Usage Guidelines3/5

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

While the description implies use for simple payback, it does not explicitly guide when to use versus alternatives like discounted-payback. No 'when not to use' or prerequisite context is provided.

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

percentage-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 indicate read-only and idempotent behavior. Description adds the key behavioral detail of returning null when from=0, which is crucial for correct usage.

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 purpose. No unnecessary 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?

Given the tool's simplicity and the presence of an output schema, the description fully covers what an agent needs to know: what it does and a critical edge case.

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 describes both parameters with 100% coverage. Description adds the nuance that null is returned when 'from' is zero, enhancing understanding 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?

Description clearly states the tool computes percentage change from one value to another. It distinguishes itself from the many sibling financial calculators by being a simple, general-purpose calculation.

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?

Description explains when the result is null (starting value zero), providing important usage guidance. It does not explicitly mention when to use this over siblings, but the simplicity implies general use.

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

perpetuityA
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 readOnlyHint and idempotentHint. The description adds that the tool returns null when growth rate is not below the discount rate, a behavioral trait not covered by 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 sentences, front-loaded with the key formula. Every word is essential and 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?

The tool is simple and the description covers calculation and edge case (null). An output schema exists, so return values need not be described. Minor gap: no mention of units (percent), but schema already handles that.

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%, but the description adds the formula and clarifies the growth parameter's behavior (default 0, null condition), providing extra meaning beyond the schema.

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

Purpose5/5

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

The description states the tool calculates the present value of a perpetuity (level or growing) with a clear formula. It distinguishes itself from sibling financial tools (e.g., annuity-pv) by specifying perpetuity and the growth condition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not explicitly tell when to use this tool versus alternatives. It is implied for perpetuities, but no direct comparison or when-not guidance is given.

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

points-breakevenA
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).
Behavior3/5

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

Annotations already provide readOnlyHint=true and idempotentHint=true. The description adds that it computes three specific outputs, but does not disclose additional behavioral traits such as assumptions (e.g., amortization method) or limitations. With annotations covering safety, the description provides marginal added value.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the tool's purpose and outputs. 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.

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 (though not shown), the description is largely complete for a calculation tool. It lists the three main outputs. However, it could be improved by mentioning the underlying amortization assumption or that it uses standard formulas, 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% with each parameter well-described. The description mentions 'upfront cost to buy down the rate' and 'monthly payment saving' which loosely relates to 'pointsPct' and 'reducedRatePct', but does not add significant 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 it calculates mortgage points break-even, specifying the three outputs: upfront cost, monthly payment saving, and months to recoup. This is a specific verb-resource combination that distinguishes it from similar sibling tools like 'break-even-units'.

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

Usage Guidelines3/5

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

The description implies usage for evaluating mortgage points but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions or exclusions. Given the large set of sibling tools, this is a gap.

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

portfolio-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.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating a safe, deterministic computation. Description adds algorithm details (grow then withdraw, 200-year horizon, optional step-up) that are beyond annotations, enhancing transparency.

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

Conciseness4/5

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

Two efficient sentences that convey key functionality without redundancy. Could be slightly more concise, but 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?

With 4 parameters fully described in schema, annotations covering safety, and an output schema present, the description provides enough context for correct usage. It explains the algorithm and output format completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 well-described. The description adds context about the withdrawal step-up but does not significantly enhance understanding 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?

Description states exactly what the tool does: calculates how many years a balance lasts while withdrawing, including growth and optional step-up. It clearly distinguishes from siblings like 'fire-number' and 'required-contribution' by focusing on depletion time.

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

Usage Guidelines3/5

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

Description implies use for retirement withdrawal longevity but does not explicitly state when to use versus alternatives, nor does it provide exclusions or alternatives.

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

present-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.
Behavior4/5

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

Beyond annotations (readOnly, idempotent), the description adds that discounting is annual and for a single future amount, providing useful behavioral context not captured in structured fields.

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

Conciseness5/5

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

Extremely concise: two sentences covering purpose and relationship to sibling, with no wasted words.

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

Completeness4/5

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

Given the presence of an output schema and simple nature of the calculation, the description adequately covers the tool's purpose and behavior, though it could mention the standard PV formula explicitly.

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

Parameters3/5

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

Schema coverage is 100% with good parameter descriptions. The description adds 'annually' which is already implicit in schema, offering minimal added value beyond the baseline.

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

Purpose5/5

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

Clearly states it computes the present value of a single future amount discounted annually, and distinguishes itself from the sibling tool 'future-value' by noting it is the inverse.

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

Usage Guidelines4/5

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

Explicitly indicates when to use via 'inverse of future-value', implying this tool is for present value calculations; however, it does not provide exhaustive when-not-to-use scenarios or specific contexts.

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

put-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?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to restate safety. The description adds no behavioral context beyond the annotation, such as assumptions or limitations. It could mention that the parity holds only for European options without dividends, but the schema's dividendYieldPct hints at that.

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

Conciseness5/5

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

The description is a single 14-word sentence that front-loads the purpose and essential parameters. Every word is necessary, with no redundancy or irrelevant details.

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

Completeness3/5

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

The tool has an output schema, so return values need not be described. However, the description does not explicitly state that exactly one of 'call' or 'put' is required (though implied). It also does not mention the no-arbitrage assumption or that dividends are optional. These are minor gaps.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described in the schema. The description restates key parameters ('call or put', 'spot, strike, years, and the rate') but adds no new semantics beyond what the schema already provides. Baseline is 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 states the tool's function: given one option price, it returns both call and put prices using put-call parity. The verb 'returns' and 'given one option price' specify the action and input, distinguishing it from sibling tools 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?

The description indicates that users should provide one of call or put along with underlying parameters (spot, strike, years, rate). It does not explicitly state when not to use this tool or mention alternatives, but the context is clear enough for basic usage.

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

quick-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).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the tool is clearly a safe calculation. The description adds no further behavioral context beyond confirming the formula.

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 with formula front-loaded; 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?

Given the output schema existence and annotations, the description fully explains the calculation. The tool is straightforward and complete.

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

Parameters4/5

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

Schema coverage is 100%, but the description's formula explains how the three parameters interact, adding relational context beyond individual 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 states the tool computes the quick (acid-test) ratio with the explicit formula. It distinguishes from sibling tools like current-ratio by specifying 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 Guidelines3/5

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

The description implies usage for liquidity assessment but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives like current-ratio.

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

real-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 and idempotentHint, so the description's additional detail (the Fisher relation formula) adds behavioral context beyond annotations. However, it does not disclose any edge cases or constraints (e.g., handling of negative rates), which would be needed for a perfect score. 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 includes the formula, making it highly efficient and front-loaded. Every word is necessary, and there is no redundant 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 the tool's simplicity (two numeric inputs, mathematical formula), the description adequately covers the purpose and calculation. An output schema exists, so a detailed return description is unnecessary. The description is complete for this context.

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

Parameters4/5

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

The input schema provides 100% coverage with clear descriptions for both parameters (nominal rate and inflation rate in percent). The description adds value by explicitly linking them via the Fisher relation, which clarifies the mathematical relationship beyond the schema's isolated 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 states the tool computes the real (inflation-adjusted) return from a nominal rate using the Fisher relation, which is a specific verb+resource pair. It distinguishes itself from siblings like 'inflation-adjust' by naming the explicit formula, ensuring the agent understands its unique purpose.

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

Usage Guidelines3/5

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

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternative tools (e.g., 'inflation-adjust' or 'cagr'). Usage is implied by the formula, but no exclusions or context-aware instructions are given, leaving the agent to infer appropriateness.

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

refi-breakevenA
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 indicate readOnlyHint=true and idempotentHint=true, which the description does not contradict. The description adds value by detailing the three computed outputs (monthly saving, months to recoup, net saving) and the role of the optional parameter. No behavioral contradictions.

Agents need to know what a tool does to the world before 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, front-loaded sentence that efficiently conveys the tool's purpose without extraneous words. It is concise but could be structured with bullet points for clarity. 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?

Given the tool has 4 parameters (3 required), no enums, and an output schema (not shown), the description covers the key behavioral aspects. It explains the three outputs and the condition for one of them. It is complete enough for an agent to understand the tool's capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 parameters. The description adds context by explaining the overall computation and the significance of remainingMonths for lifetime saving, but does not duplicate param details. Baseline of 3 is appropriate as the description does not significantly enhance understanding 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 refinance break-even metrics including monthly saving, months to recoup costs, and net saving over remaining term. It distinguishes itself from sibling financial calculators by being specific to 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 usage for refinance break-even calculations but does not explicitly state when not to use or contrast with alternatives like amortization or loan-payoff. The optional remainingMonths parameter is mentioned but no guidance on prerequisites.

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

required-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 and idempotentHint true, so the description does not need to repeat safety. The description adds that the tool computes the inverse of contributions, which is behavioral context. No further behavioral details (e.g., compounding assumptions) are provided, but annotations cover the critical traits.

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 immediately states the tool's relationship to contributions and its core function. Every word carries meaning 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 existence of an output schema (not shown), the description appropriately omits return value details. It covers the primary purpose and key inputs, and situates the tool among siblings. Minor gap: does not specify compounding frequency, but that may be implied by the months parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales 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 defines each parameter. The tool description adds meaning by relating parameters conceptually (e.g., 'fixed monthly amount needed to reach a target future value over a number of months, given an optional starting balance'), but does not add new details beyond 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 is the inverse of contributions, computing the fixed monthly amount needed to reach a target future value. It distinguishes itself from sibling tools like contributions (which likely calculates future value from monthly payments) and mentions the key inputs: target value, months, and optional starting 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 explicitly states it as the inverse of contributions, providing clear context for when to use it (to find required monthly payment) versus alternatives like contributions or future-value. However, it does not explicitly state when not to use or list alternatives.

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

required-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?

Beyond the annotations (readOnlyHint, idempotentHint), the description adds that the output is a percent and can be null when unreachable. This provides useful behavioral context, though edge cases are not 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 two sentences, 24 words, with no filler. It is front-loaded with the core function and efficiently communicates the tool's purpose and key behavior.

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 and annotations, the description provides sufficient context for an agent to select and use the tool correctly. It covers the main computation, optional parameter, and return type.

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

Parameters4/5

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

With 100% schema coverage, the description still adds value by explaining the optional annualContribution and the relation to CAGR, enhancing understanding beyond the schema alone.

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, optionally with contributions. It distinguishes itself from CAGR and other siblings by directly specifying its unique function.

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 when to use by describing the computation, and notes the relationship to CAGR. However, it does not explicitly state when not to use this tool or list alternative tools for other scenarios.

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

return-statsA
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).
Behavior3/5

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

Annotations already declare readOnly and idempotent, so the description adds no behavioral insights. The description accurately reflects a pure computation, but does not expand on limits, assumptions, or potential edge cases beyond what annotations imply.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with core functionality. Efficiently communicates the key point about percentage input.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 suffices for a simple 1-parameter tool. It covers the primary use case (percentages). No mention of output fields, but output schema presumably handles that.

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 value by explaining that if you pass percentages, the standard deviation will be in percentage (volatility). This enhances the basic schema description which states the parameter is a return series.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 mean, sample variance, and sample standard deviation of a return series. It distinguishes from siblings like CAGR or percentage-change by focusing on basic descriptive statistics. However, it could be more explicit about the statistical context.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Given 90+ siblings, the description should indicate it's for basic summary statistics, not for cumulative measures or financial metrics. Missing 'use when' or 'compared to' statements.

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

roaA
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).
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds minimal behavioral context beyond stating it outputs a percentage. No side effects or additional traits 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?

The description is a single sentence that efficiently communicates the tool's purpose and formula. No unnecessary 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?

Given the presence of an output schema and clear annotations, the description provides adequate context. It explains the calculation sufficiently for an agent to use 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?

Both parameters have descriptions in the schema (net income, total assets). The description clarifies the relationship ('net income over total assets'), adding value 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 states the tool computes return on assets as a percentage, with the formula 'net income over total assets'. It is specific and distinguishes from sibling tools like roe 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 for computing ROA but provides no guidance on when to use or alternatives. No exclusions or context for selection among sibling tools.

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

roeB
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).
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 that it calculates a percentage from inputs, but no further behavioral details beyond the formula.

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 purpose and formula, with no unnecessary words.

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

Completeness4/5

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

For a simple calculator returning a percentage, the description is sufficiently complete. However, it could include a brief indication that ROE is a profitability measure.

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

Parameters3/5

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

Schema coverage is 100%, and the schema descriptions are clear. The description adds the formula context but does not provide additional detail beyond what is in the schema.

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

Purpose4/5

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

The description clearly states the verb (return) and resource (equity) and provides the specific formula. However, it does not differentiate from sibling tools like ROI or ROA.

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 ROE versus other financial metrics or any context like profitability analysis.

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

roiA
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, indicating a safe, stateless computation. Description adds that the annualized rate is computed when years are provided, but does not significantly enhance transparency 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?

Single, clear sentence with no extraneous information. Front-loaded with the tool's purpose.

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

Completeness5/5

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

Given the tool's simplicity, the description adequately explains the two outputs. Output schema exists but not shown; description covers what the output contains. No gaps identified.

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

Parameters3/5

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

Input schema covers all parameters with descriptions (100% coverage). The description mentions the output (percent gain and annualized rate) but does not elaborate on parameter formats or constraints beyond what 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?

Description clearly states it computes ROI as total percent gain and optional annualized rate. Distinguishes itself from sibling tools like 'cagr' and 'holding-period-return' by specifying exact outputs.

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. Does not mention any prerequisites or exclusions for its use.

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

rule-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?

Annotations already indicate readOnlyHint and idempotentHint, so the tool is known to be safe. The description adds value by explaining that the output includes both a quick estimate (72/rate) and an exact figure (logarithmic formula), providing clarity on what the tool computes 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, well-structured sentence that efficiently conveys the tool's output and method. Every part of the sentence contributes meaning, with 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?

Given the tool's simplicity (one parameter, no nested objects, output schema exists), the description adequately explains what the tool returns (both estimate and exact value). The context is complete for an AI agent to understand 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?

The schema fully describes the single parameter ratePct with a clear explanation ('Growth rate in percent.'). Since description coverage is 100% and the description does not add additional meaning beyond the schema, 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 explicitly states the tool calculates years to double using both the rule-of-72 estimate and the exact formula. It clearly identifies the resource (doubling time) and the verb (calculate), making it distinct from sibling financial tools.

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

Usage Guidelines3/5

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

The description implies the tool is for estimating doubling time but does not provide explicit guidance on when to use it versus alternatives or when not to use it. No context for exclusion or comparison with siblings is given.

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

salary-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 indicate readOnlyHint=true and idempotentHint=true, so the description does not need to disclose safety. However, it adds no behavioral context beyond a simple conversion. It omits details like default assumptions (40h/week, 52 weeks) which are in the schema but not explained in the description.

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, front-loaded sentence with no wasted words. Perfectly concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence 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 full schema coverage and a dedicated output schema (implied by 'has output schema: true'), the description is largely complete. Could mention that results are based on standard work hours assumptions, but the defaults are documented in the schema.

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

Parameters3/5

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

Input schema covers 100% of parameter descriptions. The description does not add extra meaning beyond what the schema provides. 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?

Description is a concise statement of the conversion: 'Hourly rate implied by an annual salary.' It clearly specifies the verb ('implied' as calculation) and resource ('hourly rate' from 'annual salary'). Distinguished from sibling 'hourly-to-salary' by name alone.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The sibling list includes the inverse 'hourly-to-salary', but the description does not direct users to choose based on input direction. Usage is implied but not stated.

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

savings-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?

Description does not add behavioral context beyond annotations, which already declare readOnlyHint=true and idempotentHint=true. This is adequate for a simple calculation with no side effects.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and formula, no redundant words. Highly 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 ratio calculator, the description suffices. Output schema is mentioned but not provided, but description states it returns a decimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 parameters have descriptions in the schema (100% coverage), but the description adds no additional meaning 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?

Description clearly states verb (calculates fraction) and resource (savings rate), explicitly mentions formula and return type, distinguishing it from sibling tools like contributions 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?

No explicit when-to-use or alternatives mentioned, but the purpose is self-evident given the name and formula. Implied usage for calculating savings rate.

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

sharpe-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.
Behavior4/5

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

Annotations already mark the tool as readOnlyHint(true) and idempotentHint(true), indicating safe, repeatable calls. The description adds behavioral insight by explicitly stating that it returns null when volatility is undefined or zero, and it includes the full formula. This provides value 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 extremely concise at two sentences, with no wasted words. It front-loads the tool name and formula, directly providing the most critical information first.

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 (not shown), and the description covers the core calculation, parameter usage, and edge case (null when volatility undefined/zero). It is complete for an AI agent to understand 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% with both parameters documented. The description adds semantic value by explaining the formula, including how 'riskFreePct' is subtracted from the mean, which clarifies parameter usage beyond the schema's descriptions of 'return series (percents)' and 'risk-free rate in the same unit'.

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 Sharpe ratio, provides the formula '(mean - riskFree) / stdev', and specifies the return behavior ('Null when volatility is undefined or zero'). This makes the tool's purpose highly specific and distinct from sibling tools that calculate other 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?

The description does not provide explicit guidance on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or when not to use it. However, the purpose is clear, so a score of 3 is appropriate as it gives no usage context beyond the definition.

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

straight-line-depreciationA
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=true and idempotentHint=true, which cover safety and idempotence. The description adds minimal additional behavioral context ('falling evenly') beyond the formula implication.

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, compact sentence that is front-loaded and contains no unnecessary words.

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

Completeness4/5

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

Given the output schema exists and parameters are fully documented, the description is sufficient for this simple calculation tool. Could potentially mention the typical return value 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?

Schema coverage is 100% with descriptions for all parameters. The description echoes parameter names but adds no new meaning beyond the schema, so baseline 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 that it calculates straight-line depreciation, specifying the resource and action. It distinguishes from sibling tools like 'depreciate' by naming the specific method.

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 vs alternatives. With many sibling tools like 'amortization' or 'depreciate', the lack of context for selection is a gap.

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

successive-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).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety profile is clear. Description adds ordering constraint and output context, which is moderate value.

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

Conciseness4/5

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

Single sentence that front-loads purpose and output. Efficient and clear.

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

Completeness4/5

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

Given simplicity (2 params, output schema), description covers all needed context for correct 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 descriptions for both parameters. Description echoes 'applied in order' already present in schema, adding no new 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?

Description uses specific verb 'applied in order' and identifies output 'final price and effective single discount rate'. Clearly distinguishes from sibling 'discount' which handles single discounts.

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?

States when to use (stacked discounts applied in order). Does not explicitly mention when not to use or alternatives, but context of siblings implies 'discount' for single discounts.

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

sum-of-years-digitsA
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.
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. Description adds that it weights depreciable base toward early years, confirming computational behavior. 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?

Single sentence, front-loaded with method name, no extraneous text. Every word is necessary.

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

Completeness4/5

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

Given the tool's simplicity (pure computation with well-documented inputs and output schema), the description is sufficient for an agent to understand purpose and 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 covers all 4 parameters with descriptions. The tool description adds minimal extra meaning beyond what schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states the tool computes sum-of-years'-digits depreciation, a specific verb-resource pair. Distinguishes from sibling depreciation methods like straight-line or declining-balance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when to use this tool versus alternatives. However, the method name and context among many depreciation siblings imply usage for accelerated depreciation. Score reflects lack of explicit context.

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

tax-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%).
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the tool is safe and idempotent. The description adds that inputs and outputs are percents, which is consistent but does not reveal any additional behavioral traits.

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 extremely concise, consisting of two brief sentences. The key information is front-loaded, and every word adds value. No extraneous 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?

Given the tool's simplicity (2 parameters) and the presence of an output schema, the description is minimally sufficient. It explains the core concept, but could benefit from mentioning the formula or an example for completeness.

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

Parameters3/5

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

The schema covers 100% of the parameters, and the description only reiterates that values are percents. No extra meaning is added beyond what is already in the 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's purpose: calculating the taxable yield that matches a tax-free yield. It specifies the input/output as percents and distinguishes it from potential siblings like after-tax-yield by explicitly mentioning 'tax-free yield'.

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 such as after-tax-yield or other yield calculations. The description lacks any context about appropriate scenarios or prerequisites.

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

tax-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.
Behavior5/5

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

Description aligns with annotations (readOnly, idempotent) and adds that it is purely computational with no external dependencies or 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?

Two sentences covering purpose, usage notes, and outputs. 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?

With a high-coverage schema and output schema present, the description provides all necessary context for the agent to use 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?

Schema has 100% coverage, and the description adds crucial context: brackets must be ordered, and top band can omit upTo. This goes beyond the schema 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?

Clearly states it computes progressive tax from user-supplied brackets, and specifies the outputs (total tax, effective rate, marginal rate). Distinguishes from siblings by noting no baked-in jurisdiction or rates.

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 tells the agent to pass brackets themselves and that no jurisdiction/year/rates are provided. This guides when to use vs. other tax tools.

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

tip-splitB
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 already declare readOnlyHint=true and idempotentHint=true, which cover the safety profile. The description adds minimal behavioral context beyond stating what is computed; it does not mention that the split is equal or that the calculation is deterministic. Given the annotations, this is adequate, but not exceptional.

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-loading the core purpose without any extraneous words. It efficiently communicates 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?

Given the tool's low complexity, full schema coverage, and presence of an output schema, the description is fairly complete. It explains what the tool calculates. However, it could specify that the split is equal among people and mention default behavior for the 'people' parameter, but this is partially covered by the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter's meaning. The description does not add extra semantic value for the parameters; it only hints at the outputs. Baseline 3 is appropriate as the description is not detrimental but adds no input-related insight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 tip amount, total, and per-person share, which is specific to tip calculation and splitting. However, it could be more explicit about the equal split assumption, and it does not explicitly distinguish from sibling tools like 'percentage-change' or 'contribution-margin', though the purpose is clear enough within context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'percentage-change' or 'gross-rent-multiplier'. There are no explicit when-to-use or when-not-to-use instructions, leaving the agent to infer from the name alone.

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

unit-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 indicate readOnlyHint and idempotentHint. The description adds the critical behavioral detail that the result is null when quantity is zero, which is beyond annotation coverage.

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

Conciseness5/5

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

The description is extremely concise with two sentences—first stating the calculation and purpose, second covering the edge case. No unnecessary words.

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

Completeness4/5

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

Given the tool's simplicity and the presence of an output schema, the description adequately covers behavior and important edge cases. It is complete for the tool's scope.

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 for parameters are minimal ('Price.', 'Quantity / size.'). The description adds semantic meaning by explaining the calculation relationship and the null condition, 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 unit price as price divided by quantity, and explicitly mentions its use case for comparing pack sizes. This distinguishes it 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?

The description implies usage for price comparison by pack size but does not explicitly state when to use this tool versus alternatives. No exclusion conditions are provided.

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

units-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).
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description goes beyond by stating the formula base. It adds that the charge is for units used this period, which clarifies the calculation. 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?

Single, front-loaded sentence that efficiently conveys the tool's purpose and logic. No superfluous 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 calculation tool with a complete input schema and output schema, the description adequately explains the method. It implies the formula (value - salvage) / totalUnits * unitsThisPeriod, which is sufficient.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all four parameters. The description does not add extra meaning beyond the schema, so 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 explains the depreciation method: spreading depreciable base over total units and charging based on units this period. The name itself distinguishes it from siblings like straight-line or declining-balance, but the description does not explicitly contrast with them, so it misses the highest score.

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 units-of-production depreciation versus other methods. The description does not mention suitability for variable-usage assets or any context for choosing this tool over siblings.

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

vatA
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?

Annotations already indicate readOnly and idempotent. The description adds behavioral details: default behavior adds tax to net price, and with inclusive=true extracts tax. No side effects are mentioned, consistent with 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?

Two sentences, no unnecessary words. Front-loaded with the core purpose, then details on modes and rates. Highly efficient.

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 3 parameters, full schema cover, annotations, and output schema, the description covers all necessary usage context. No gaps.

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 100% of parameters with descriptions. The description adds value by explaining default behavior for 'inclusive' (false by default) and giving typical rate examples (19, 7), which the schema does not provide.

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 handles VAT on a price, with two modes: adding tax to net or extracting tax from gross. It mentions specific rates for Germany (19, 7), clearly distinguishing it from siblings like 'de-gross-to-net' which might handle general gross/net conversions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 two usage modes (net vs. gross input) and gives example rates. However, it does not explicitly contrast with similar sibling tools like 'de-gross-to-net', leaving ambiguity about when to prefer this tool over that one.

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

waccA
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).
Behavior3/5

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

Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds 'Percents in and out', but this is partially misleading because not all inputs (equity, debt) are percentages. No additional behavioral context beyond annotations.

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

Conciseness4/5

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

Single sentence, front-loaded with the core purpose. Efficient but could be slightly clearer about non-percent inputs.

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

Completeness3/5

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

For a simple calculation tool with an output schema (not shown here), the description is adequate but slightly ambiguous about inputs being all percentages. Could be more complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes each parameter well. The description adds no extra semantic information beyond what is in the schema field 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 states 'Weighted average cost of capital' and how it's computed, distinguishing it from numerous sibling financial tools that handle different calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 guidance on when or when not to use this tool. Usage is implied by the tool's name and description, but no alternatives or exclusions are mentioned.

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

xirrA
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 indicate readOnlyHint and idempotentHint. The description adds that it returns null if no rate fits, providing clear 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, well-structured sentence that efficiently conveys the purpose and key behavior without superfluous words.

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

Completeness4/5

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

Given the tool's complexity (financial function with irregular cashflows), the description covers the core purpose and null return. With annotations and output schema present, it is sufficiently complete for selection.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for date and amount. The tool description does not add new parameter information beyond what is already in the input schema, so it meets baseline.

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

Purpose5/5

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

The description clearly states it is a 'Date-aware internal rate of return' and explains it computes the rate that zeroes the XNPV for irregular dated cashflows. This distinguishes it from regular IRR and MIRR among 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 for irregular dated cashflows through 'irregular dated cashflows' and mentions returning null for no fit, but does not explicitly state when to use this tool over alternatives like 'irr' or 'xnpv'.

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

xnpvA
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 indicate read-only and idempotent. The description adds meaningful behavioral details: discounting using fractional years (act/365) and using the first cashflow's date as the valuation date. 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?

Single sentence with no fluff. Front-loaded with purpose and key details. Every part 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 simple parameters, high schema coverage, and existence of output schema, the description is largely complete. It explains the calculation method. Minor improvement could be mentioning that cashflows should be ordered by date, but not required for understanding.

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?

Input schema already has 100% coverage. The description adds the act/365 day-count convention, which is not in the schema. It also reinforces that the first cashflow date is the valuation date, which is in the schema but repeated for clarity.

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

Purpose5/5

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

The description clearly states it computes a date-aware net present value using act/365 discounting from the first cashflow date. This distinguishes it from standard NPV (even periods) and XIRR (computes IRR). The verb 'discounted' and resource 'net present value' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 irregular cashflow dates ('Date-aware') but does not explicitly state when to use vs alternatives like npv or xirr. No exclusions or when-not-to-use guidance is provided.

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

yield-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?

The description supplements the annotations (readOnlyHint, idempotentHint) with key behavioral details: numerical solution method and nullable return. This adds value beyond the structured fields, though it does not address potential numerical edge cases or performance implications.

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 concise (two sentences), front-loaded with the core definition, and contains no superfluous words. Every sentence contributes meaning.

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

Completeness4/5

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

Given the presence of an output schema and informative annotations, the description adequately covers the tool's purpose and behavior. It explains the numerical method and return type, though it omits a mention of the optional periodsPerYear parameter's default.

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

Parameters3/5

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

With 100% schema coverage, the schema already documents each parameter. The description adds context about their collective role in YTM calculation but does not enhance individual parameter understanding beyond the schema 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 identifies the tool as computing bond yield to maturity, specifying it as a nominal annual yield with periodic coupons and face value at maturity. It is distinct from other financial tools like IRR or present value, though it does not explicitly differentiate 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 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 (e.g., irr, present-value). It does not mention prerequisites, assumptions, or exclusion criteria, leaving the agent to infer usage context from the bond-specific language alone.

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

zero-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.
Behavior3/5

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

Annotations already supply readOnlyHint and idempotentHint. The description adds that the price is computed by discounting face value at the yield, which explains the core behavior. However, it does not mention compounding or the formula beyond discounting, leaving some behavioral gaps.

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

Conciseness5/5

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

Extremely concise: one well-structured sentence. Every word earns its place. No extraneous content.

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

Completeness4/5

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

With an output schema present and annotations covering safety, the description provides a clear purpose. It could mention the compounding parameter's effect but is otherwise complete for a simple financial 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?

Schema coverage is 100% with descriptions for each parameter. The description adds no new parameter-level semantics beyond reinforcing the discounting concept. It is adequate but does not exceed schema 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 states 'Price of a zero-coupon bond' with a specific verb 'Price' and resource 'zero-coupon bond'. It differentiates from siblings like bond-price (for coupon bonds) and yield-to-maturity (calculates yield).

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 siblings like bond-price or bond-duration. No context, exclusions, or when-not-to-use information is present.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources