nestegg-calculators
Server Details
90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- VladimirWrites/nestegg.money
- GitHub Stars
- 2
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
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.
Tool Definition Quality
Average 3.9/5 across 94 of 94 tools scored. Lowest: 3.2/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.
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.
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.
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
99 toolsaccrued-interestAccrued InterestARead-onlyIdempotentInspect
Accrued interest since the last coupon: the annual coupon pro-rated by days elapsed over the day-count basis.
| Name | Required | Description | Default |
|---|---|---|---|
| faceValue | Yes | Face value. | |
| couponRatePct | Yes | Annual coupon rate in percent. | |
| dayCountBasis | No | Day-count basis (default 360). | |
| daysSinceLastCoupon | Yes | Days since the last coupon. |
Output Schema
| Name | Required | Description |
|---|---|---|
| accrued | No | Accrued interest. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds the formula but does not elaborate on edge cases, return format, or other behavioral details beyond the annotation scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core function without any redundant words or structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculation tool with a known output schema, the description is sufficiently complete. It explains the calculation clearly, though it could mention the optional dayCountBasis default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with parameter descriptions. The description adds the overall formula context but does not significantly enhance understanding beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates accrued interest since the last coupon, using a specific formula. It distinguishes itself from sibling financial tools like bond-price or current-yield.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for accrued interest calculation but provides no explicit guidance on when to use versus alternatives, no exclusions, and no context about prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
after-tax-yieldAfter-Tax YieldARead-onlyIdempotentInspect
After-tax yield: a yield reduced by the tax rate. Percents in and out.
| Name | Required | Description | Default |
|---|---|---|---|
| yieldPct | Yes | Pre-tax yield in percent. | |
| taxRatePct | Yes | Tax rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| afterTaxPct | No | After-tax yield, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. Description adds no additional behavioral context beyond the calculation. No mention of rounding, error handling, or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences that directly state purpose and scale. No filler, front-loaded with 'After-tax yield'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists and simple transformation, description is largely complete. Lacks mention of output format or edge cases, but not strictly necessary for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides clear descriptions for both parameters. Description adds value by clarifying 'Percents in and out,' ensuring users input percentages rather than decimals.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool calculates after-tax yield by reducing yield by tax rate, and specifies inputs/output are in percent. Distinct from financial sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. Implicit for basic arithmetic tool, but siblings include similar concepts like tax-equivalent-yield, so more guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amortizationAmortization ScheduleARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Fix the term (compute the payment) or fix the payment (compute the term). | |
| rate | Yes | Annual interest rate in percent (6 = 6%). | |
| extra | No | Optional dated extra principal payments. | |
| limit | No | Max monthly rows when detail=monthly (default and maximum 360; page with nextOffset). | |
| amount | Yes | Loan principal. | |
| detail | No | Output size. summary (default): totals + yearly breakdown. monthly: full schedule (use offset/limit to paginate). | |
| offset | No | Monthly schedule start index when detail=monthly (default 0). | |
| payment | No | Monthly payment, used when mode is 'payment'. | |
| rateSteps | No | Optional rate changes (e.g. after a Zinsbindung). The installment is held; from each date the outstanding balance continues at the new annual rate. | |
| startDate | Yes | First payment month as an ISO date (YYYY-MM-DD). | |
| termYears | No | Term in years, used when mode is 'term'. | |
| fixedUntil | No | Optional. Rate is certain until this ISO date; beyond it the schedule is an estimate. |
Output Schema
| Name | Required | Description |
|---|---|---|
| yearly | No | Per-year totals: { year, interest, principal, extra, payments, endBalance }. |
| payments | No | Number of payments made. |
| schedule | No | Monthly rows (only when detail=monthly). |
| totalPaid | No | Total paid (incl. extras). |
| nextOffset | No | Next pagination offset, or null. |
| payoffDate | No | Payoff date, ISO. |
| scheduleTotal | No | Total monthly rows (when detail=monthly). |
| totalInterest | No | Total interest paid. |
| monthlyPayment | No | Monthly payment. |
| scheduledMonths | No | Scheduled months (null if open-ended). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and idempotent. Description adds important behavioral details: returns numbers and schedules, no advice, and explains pagination for monthly output. Enhances 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and front-loaded with core purpose. Effectively conveys key features and output options in two sentences. Minimal waste, though the detail of output options could be shortened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high parameter count and complexity, description covers core behavior and output types. However, it omits mention of input modes (term vs payment) and other parameters needed to use the tool, relying heavily on the schema. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% parameter description coverage. The tool description adds minimal new information beyond schema—only elaborates on the 'detail' parameter which is already well-documented in the schema. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'monthly loan amortization schedule and summary' with specific features (extra principal, rate-fixed period) and output options. Effectively distinguishes from siblings like 'loan-payoff' which focus on payoff date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicit use guidance: intended for loan amortization calculations with extra payments and rate steps. No explicit when-to-use or comparisons with alternatives, but the description provides enough context for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
annuity-fvAnnuity Future ValueARead-onlyIdempotentInspect
Future value of an ordinary annuity. rate is the per-period rate in percent.
| Name | Required | Description | Default |
|---|---|---|---|
| payment | Yes | Payment per period. | |
| periods | Yes | Number of periods. | |
| ratePct | Yes | Rate per period in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fv | No | Future value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that the annuity is 'ordinary' and clarifies the rate format, complementing annotations (readOnlyHint, idempotentHint). It does not contradict annotations, but doesn't disclose additional behavioral traits beyond basic definition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, no fluff. Information is front-loaded with the main purpose, then parameter clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculation tool with full schema documentation and an output schema, the description sufficiently covers all necessary context. No gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description only reiterates that rate is per-period in percent, which is already in the schema. No additional meaning is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes the future value of an ordinary annuity, aligning with the tool name 'annuity-fv'. It distinguishes from sibling tools like 'annuity-pv' and 'annuity-payment' by specifying the type of annuity and the return value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool over alternatives (e.g., future-value for lump sums, annuity-pv for present value). No when-not or alternative scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
annuity-paymentAnnuity PaymentARead-onlyIdempotentInspect
The level payment that amortizes a present value over n periods (the loan-payment formula). rate is per period.
| Name | Required | Description | Default |
|---|---|---|---|
| periods | Yes | Number of periods. | |
| ratePct | Yes | Rate per period in percent. | |
| presentValue | Yes | Present value / principal. |
Output Schema
| Name | Required | Description |
|---|---|---|
| payment | No | Level payment (null if periods<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, indicating no side effects and deterministic output. The description adds that it implements the standard annuity formula, but doesn't disclose additional behavioral details like payment timing (end vs beginning of period).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, concise and front-loaded with the core purpose. Every word earns its place, with a parenthetical reference to the well-known formula name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description need not cover return values. It adequately explains the tool's function for a standard financial formula. Minor omission: it doesn't specify whether payments are ordinary or due, but this is typical for such a tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description restates that rate is per period, which is already in the schema. It 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool computes the level payment amortizing a present value over n periods, also known as the loan-payment formula. This specific verb+resource distinguishes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that the rate is per period, which guides usage. It implies the tool is for periodic loan or annuity payments. While it doesn't explicitly state when not to use this tool, the context of sibling tools makes the application clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
annuity-pvAnnuity Present ValueARead-onlyIdempotentInspect
Present value of an ordinary annuity (level payment at each period end). rate is the per-period rate in percent.
| Name | Required | Description | Default |
|---|---|---|---|
| payment | Yes | Payment per period. | |
| periods | Yes | Number of periods. | |
| ratePct | Yes | Rate per period in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pv | No | Present value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior. The description adds that the rate is per-period in percent and payments are at period end, providing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The key information (ordinary annuity, end-of-period, rate percentage) is front-loaded and efficiently conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculation with complete schema, annotations, and an output schema, the description is sufficient. It could explicitly state the result is PV at time 0, but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description's mention of 'level payment at each period end' adds slight context for payment timing, but repeats schema's rate definition. Minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the present value of an ordinary annuity with level payments at period ends. This distinguishes it from sibling tools like annuity-fv (future value) and present-value (general PV).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies an ordinary annuity with end-of-period payments, but does not explicitly guide when to use this tool over alternatives like annuity-due or other PV calculators. No when-to-use or when-not-to-use advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
balloon-loanBalloon LoanARead-onlyIdempotentInspect
Balloon loan: payment based on a long amortization, with the balloon being the balance still due after the shorter balloon term.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Loan amount. | |
| ratePct | Yes | Annual rate in percent. | |
| amortMonths | Yes | Amortization basis in months. | |
| balloonMonths | Yes | Months until the balloon is due. |
Output Schema
| Name | Required | Description |
|---|---|---|
| balloon | No | Balloon balance due. |
| payment | No | Monthly payment. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, indicating a safe, deterministic calculation. The description adds context by explaining the calculation logic: payment based on amortization period and balloon due after term. This goes beyond annotations, though it could be more explicit about output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the essential purpose without any extraneous words. Every part is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but stated), the description adequately explains the tool's purpose. It lacks details on prerequisites or edge cases but is sufficient for a straightforward financial calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description reinforces the relationship between amortMonths and balloonMonths but adds little new semantic value beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a balloon loan payment and the remaining balance after the balloon term. It uses specific terms like 'long amortization' and 'shorter balloon term', distinguishing it from sibling tools like 'amortization' or 'interest-only-payment'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is used for balloon loan calculations but provides no explicit guidance on when to use this versus other similar tools (e.g., amortization, interest-only-payment). No when-not-to-use or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
barista-fireBarista FIREARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| annualSpend | Yes | Yearly spending. | |
| partTimeIncome | Yes | Yearly part-time income. | |
| withdrawalRatePct | No | Safe withdrawal rate in percent (default 4). |
Output Schema
| Name | Required | Description |
|---|---|---|
| target | No | Nest egg needed (null if withdrawal rate<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, meaning the tool is safe and idempotent. The description adds value by explaining the specific FIRE calculation logic (part-time income offset), but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential purpose and calculation logic with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator tool with an output schema (not shown but implied), the description sufficiently explains the purpose and formula. It is complete enough for an agent to understand when and how to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions. The tool description adds context by explaining how parameters relate in the Barista FIRE formula (part-time income reduces the amount the portfolio needs to fund). This provides meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool computes: the nest egg needed for Barista FIRE, where part-time income covers part of spending, and portfolio funds the remainder at safe withdrawal rate. This distinguishes it from other FIRE-related sibling tools like fire-number and coast-fire.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Barista FIRE calculation, which is clear from the name and context. However, it does not explicitly state when not to use this tool or provide alternative sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
biweekly-payoffBiweekly PayoffARead-onlyIdempotentInspect
Biweekly mortgage acceleration: paying half the monthly payment every two weeks. Returns the biweekly payment and the months and interest saved.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Loan amount. | |
| ratePct | Yes | Annual rate in percent. | |
| termMonths | Yes | Original term in months. |
Output Schema
| Name | Required | Description |
|---|---|---|
| monthsSaved | No | Months saved. |
| interestSaved | No | Interest saved. |
| biweeklyPayment | No | Biweekly payment. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds 'Returns the biweekly payment and the months and interest saved,' which aligns with read-only behavior but provides no additional context about side effects, auth needs, or rate limits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose and outputs. No superfluous words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, full schema coverage, and presence of an output schema, the description is complete. It explains the key return values (payment, months/interest saved) without needing to reiterate the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (amount, ratePct, termMonths) are fully described in the input schema. The description does not add further meaning beyond the schema, meeting the baseline. The context of 'paying half the monthly payment' is helpful but not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Biweekly mortgage acceleration: paying half the monthly payment every two weeks. Returns the biweekly payment and the months and interest saved.' It uses specific verbs and identifies the resource (biweekly mortgage payoff) and its outputs, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage for biweekly mortgage calculations but does not explicitly state when to use this tool versus alternatives like amortization or loan-payoff. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
black-scholesBlack-Scholes Option PriceARead-onlyIdempotentInspect
Black-Scholes price of a European call or put option, plus d1/d2. Volatility and rates in percent; optional continuous dividend yield.
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Current underlying price. | |
| type | No | Option type (default call). | |
| years | Yes | Time to expiry in years. | |
| strike | Yes | Strike price. | |
| riskFreePct | Yes | Risk-free rate in percent. | |
| volatilityPct | Yes | Annualized volatility in percent. | |
| dividendYieldPct | No | Continuous dividend yield in percent (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| d1 | No | d1. |
| d2 | No | d2. |
| price | No | Option price (null if degenerate). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already confirm readOnly and idempotent behavior. The description adds that volatility and rates are in percent and that dividend yield is optional, which is useful. However, it does not disclose model assumptions (e.g., no early exercise, continuous dividends) beyond what is implied by 'European'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences (22 words), front-loaded with the core purpose, and contains no redundant or extraneous information. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (7 parameters, output includes d1/d2, many sibling tools), the description is somewhat incomplete. It lacks guidance on when to use it over alternatives, does not explain limitations (e.g., no American options), and does not mention the output schema (though context indicates one exists).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all 7 parameters. The description reiterates that volatility/rates are in percent (already clear from parameter names) and highlights the optional dividend yield. This adds minimal value beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the Black-Scholes price of a European call or put option, and explicitly mentions it also provides d1/d2. This differentiates it from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for European options but does not explicitly guide when to use this tool versus alternatives such as 'option-greeks' or 'put-call-parity'. It lacks direct comparisons or exclusions, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond-durationBond DurationBRead-onlyIdempotentInspect
Macaulay duration (PV-weighted average time of cashflows, in years) and modified duration (price sensitivity to yield).
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Years to maturity. | |
| yieldPct | Yes | Annual yield in percent. | |
| faceValue | Yes | Face value. | |
| couponRatePct | Yes | Annual coupon rate in percent. | |
| periodsPerYear | No | Coupon periods per year (default 2). |
Output Schema
| Name | Required | Description |
|---|---|---|
| macaulay | No | Macaulay duration, years. |
| modified | No | Modified duration. |
Tool Definition Quality
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 statement of computing Macaulay and modified duration is consistent. No additional behavioral traits (e.g., assumptions about yield curve or reinvestment) are disclosed beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and to the point. However, it could be improved by structuring the two metrics separately for easier parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return values. However, it omits typical usage caveats (e.g., assumptions of flat yield curve, reinvestment at yield), leaving some gaps for a finance tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented in the input schema. The description adds no extra meaning beyond what the schema provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates Macaulay duration (PV-weighted average time of cashflows in years) and modified duration (price sensitivity to yield). It distinguishes itself from sibling tools like bond-price and yield-to-maturity by specifying the duration metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like convexity or yield-to-maturity. The description only defines what it computes without suggesting usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bond-priceBond PriceARead-onlyIdempotentInspect
Price of a coupon bond given a yield: present value of the coupons plus the face at maturity.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Years to maturity. | |
| yieldPct | Yes | Annual yield in percent. | |
| faceValue | Yes | Face (par) value. | |
| couponRatePct | Yes | Annual coupon rate in percent of face. | |
| periodsPerYear | No | Coupon periods per year (default 2). |
Output Schema
| Name | Required | Description |
|---|---|---|
| price | No | Bond price (null if degenerate). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. Description adds standard bond pricing formula but no additional behavioral traits beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that front-loads the key information: the tool's purpose and the formula. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and clear annotations, the description is sufficient for a simple calculator. Could optionally mention default coupon frequency but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description does not add extra meaning beyond parameter names and schema descriptions. It mentions the formula but doesn't elaborate on how parameters are used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool calculates the price of a coupon bond as present value of coupons plus face value. Distinguishes from siblings like zero-coupon-price 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.
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 like bond-duration or yield-to-maturity. With many bond-related siblings, explicit usage context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
break-even-unitsBreak-Even UnitsARead-onlyIdempotentInspect
Break-even volume: fixed costs divided by the per-unit contribution (price - variable cost), plus the revenue at that volume.
| Name | Required | Description | Default |
|---|---|---|---|
| fixedCosts | Yes | Total fixed costs. | |
| pricePerUnit | Yes | Selling price per unit. | |
| variableCostPerUnit | Yes | Variable cost per unit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | No | Break-even units (null if no contribution). |
| revenue | No | Revenue at break-even (null if none). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the formula but does not disclose additional behavioral traits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with purpose. It could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with 3 parameters and an output schema, the description is complete. It provides the formula and output components, leaving no gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions for parameters are basic. The description adds meaning by showing how parameters relate in the formula (fixedCosts / (pricePerUnit - variableCostPerUnit)), which helps the agent understand usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates break-even volume using the formula 'fixed costs divided by the per-unit contribution (price - variable cost), plus the revenue at that volume.' It specifies the resource and verb, and is distinct from sibling tools like 'contribution-margin' or 'cagr'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating the formula, but does not explicitly say when to use this tool or how it compares to siblings. No exclusions or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
budget-50-30-2050/30/20 Budget SplitARead-onlyIdempotentInspect
The 50/30/20 budget split of monthly income into needs, wants, and savings.
| Name | Required | Description | Default |
|---|---|---|---|
| monthlyIncome | Yes | Monthly take-home income. |
Output Schema
| Name | Required | Description |
|---|---|---|
| needs | No | 50% needs. |
| wants | No | 30% wants. |
| savings | No | 20% savings. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, deterministic behavior. The description adds that it splits income into three categories, but does not elaborate on output format, limits, or edge cases. Since annotations cover safety, a score of 3 is appropriate for minimal added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It efficiently conveys the core purpose without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and has an output schema (not shown). The description mentions the split categories but does not specify that the output will contain amounts for each category, nor does it confirm the exact percentages (though implied by the name). Missing guidance on usage and output format detracts from completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter 'monthlyIncome' described as 'Monthly take-home income.' The description does not add additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a 50/30/20 budget split of monthly income into needs, wants, and savings. The verb 'split' and resource 'budget' are specific, and it distinguishes itself from sibling tools which are mostly financial calculators unrelated to budget allocation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, ideal use cases, or situations where this tool should not be used. The description simply states what it does without contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cagrCAGRARead-onlyIdempotentInspect
Compound annual growth rate between two values over a number of years. Returns a decimal (0.07 means 7%).
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Ending value. | |
| begin | Yes | Starting value. | |
| years | Yes | Number of years. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds value by clarifying the output is a decimal representing a rate (e.g., 0.07 = 7%). No contradictions, but could mention that it assumes compounding over equal periods.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no extraneous details. The first sentence immediately states the purpose, and the second clarifies the output format. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool, complete schema, output schema, and clear annotations, the description is largely adequate. Minor gap: no mention of handling zero or negative years, but not critical for standard use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (begin, end, years) with clear names. Description does not add additional semantic information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes compound annual growth rate between two values over years, specifying the output format (decimal). This distinguishes it from siblings like 'percentage-change' or 'future-value' which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use CAGR versus alternatives such as 'percentage-change' or 'irr'. No mention of prerequisites, edge cases, or situations to avoid. The description only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cap-rateCap RateARead-onlyIdempotentInspect
Capitalization rate: net operating income as a percent of property value.
| Name | Required | Description | Default |
|---|---|---|---|
| noi | Yes | Net operating income. | |
| propertyValue | Yes | Property value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| capRatePct | No | Cap rate, percent (null if value<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and idempotent, indicating safe behavior. The description adds the formula context but does not disclose potential edge cases (e.g., handling of non-annual periods) or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded with the key term 'capitalization rate'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculation tool with two numeric inputs and an output schema, the description is adequate. It does not explain the return value, but the output schema presumably covers that. The tool is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions. The description adds meaning by explaining the formula (NOI as percent of property value), which goes beyond the parameter names and schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Capitalization rate: net operating income as a percent of property value' clearly states the tool's purpose: calculating a cap rate. It uses a specific verb ('calculate' implied) and resource (cap rate from NOI and property value). Among the sibling tools, none are directly similar, so it stands out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage (when cap rate is needed) but gives no explicit guidance on when to use or avoid this tool versus alternatives. No exclusions or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cash-on-cashCash-on-Cash ReturnARead-onlyIdempotentInspect
Cash-on-cash return: annual pre-tax cash flow as a percent of the cash invested.
| Name | Required | Description | Default |
|---|---|---|---|
| cashInvested | Yes | Cash invested. | |
| annualCashFlow | Yes | Annual pre-tax cash flow. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cashOnCashPct | No | Cash-on-cash return, percent (null if invested<=0). |
Tool Definition Quality
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. It adds minimal behavioral context beyond the calculation formula. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 15 words, no redundancy. Every word earns its place by stating the metric and its calculation. Excellent economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter calculator with an output schema (as per context), the description is fully adequate. It explains the result format (percent) and the input relationship. No additional detail is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description integrates both parameters into the formula (annual cash flow / cash invested), adding meaning beyond the schema by showing how they relate. This compensates for the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool computes cash-on-cash return as a percentage. It specifies the formula (annual pre-tax cash flow / cash invested), making the purpose unambiguous and well-differentiated from sibling tools like cap-rate or roi.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over siblings. The description implies use for real estate investment analysis, but lacks when-not-to-use or alternative tools. Given many similar financial ratios in siblings, some usage context would improve scoring.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coast-fireCoast FIREARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| annualSpend | Yes | Yearly spending in retirement. | |
| annualRatePct | Yes | Expected annual growth in percent. | |
| currentNestEgg | Yes | Amount invested today. | |
| withdrawalRatePct | No | Safe withdrawal rate in percent (default 4). | |
| yearsToRetirement | Yes | Years until retirement. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gap | No | Shortfall in future-value terms. |
| projected | No | Projected balance at retirement. |
| fireTarget | No | FIRE target. |
| isCoasting | No | True if it already coasts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses return values and core logic, aligning with readOnlyHint and idempotentHint annotations. It adds context beyond annotations by naming the specific outputs, but does not detail behavior for edge cases (e.g., rounding) or default assumptions (e.g., withdrawal rate default).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively front-loads the tool's purpose and outputs. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full parameter documentation, the description provides adequate context. It explains the core logic and lists return fields, though it could clarify the meaning of 'coasts' or the default withdrawal rate (already in schema). Minor gap in standalone completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description does not add significant meaning beyond the schema—it references 'current nest egg' and 'FIRE target' but does not elaborate on parameter format, constraints, or interactions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates Coast FIRE: whether the current nest egg grows untouched to reach the FIRE target. It specifies the return fields (target, projected balance, coast status, shortfall), making the purpose unambiguous and distinct from siblings like 'fire-number' or 'portfolio-longevity'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use (to check Coast FIRE status) but provides no explicit guidance on when not to use or how it differs from alternatives. No mention of prerequisites or exclusion criteria, which is a moderate gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compound-interestCompound InterestARead-onlyIdempotentInspect
Compound growth at any frequency, with an optional contribution each period (paid at period end). Generalizes future-value (periodsPerYear 1) and contributions (periodsPerYear 12).
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Number of years. | |
| principal | Yes | Starting amount. | |
| annualRatePct | Yes | Annual growth rate in percent. | |
| periodsPerYear | No | Compounding periods per year (default 1). | |
| contributionPerPeriod | No | Optional. Amount added each period (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds important behavioral detail: contributions are 'paid at period end'. Annotations already indicate readOnlyHint and idempotentHint, which are consistent with a calculation tool. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no extraneous words. Front-loaded with core purpose, then clarifying generalization. Efficient and effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the tool's mathematical nature, the description fully covers what an agent needs to invoke it correctly. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The description adds semantic value by linking periodsPerYear to sibling tools, enhancing understanding beyond basic parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'compound growth at any frequency' with optional contributions, and explicitly distinguishes itself from siblings like future-value and contributions by noting it generalizes them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indirectly guides usage by mentioning parameter values that correspond to specific siblings (periodsPerYear=1 for future-value, periodsPerYear=12 for contributions), but does not explicitly state when to prefer this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contribution-marginContribution MarginARead-onlyIdempotentInspect
Contribution margin per unit and as a percent of price.
| Name | Required | Description | Default |
|---|---|---|---|
| pricePerUnit | Yes | Selling price per unit. | |
| variableCostPerUnit | Yes | Variable cost per unit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ratioPct | No | Contribution margin ratio, percent (null if price=0). |
| contributionMargin | No | Contribution per unit. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. Description adds minimal behavioral context, just confirming the computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence concisely conveys purpose, front-loading key information with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity, output schema exists, and annotations are provided, description is sufficient but could slightly expand on inputs or assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides full descriptions for both parameters. Tool description adds no additional meaning; baseline score for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it computes 'Contribution margin per unit and as a percent of price,' clearly defining the output and differentiating it from sibling tools like 'margin-markup'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; simply states what it does without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contributionsFuture Value of ContributionsARead-onlyIdempotentInspect
Future value of a fixed monthly contribution, optionally stepping up each year.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Number of months. | |
| monthly | Yes | Monthly contribution. | |
| annualRatePct | Yes | Annual growth rate in percent. | |
| contribGrowthPct | No | Optional. Contribution step-up percent per year. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe calculation. Description adds the key behavioral trait of optional step-up per year, which is not captured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with core purpose, no wasted words. Efficiently communicates the essential function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description need not explain returns. Tool is simple with well-documented parameters, but missing usage guidance for selection among 43 sibling tools reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. Description adds minimal extra meaning beyond the schema, only clarifying that the contribution is fixed and step-up is annual.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it calculates the future value of a fixed monthly contribution, optionally stepping up each year. This distinguishes it from sibling tools like 'future-value' (lump sum) and 'annuity-fv' (periodic payments).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'annuity-fv' or 'compound-interest'. Usage is implied but not clarified, and no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convexityBond ConvexityARead-onlyIdempotentInspect
Bond convexity (years^2): the curvature of price with respect to yield, used alongside duration.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Years to maturity. | |
| yieldPct | Yes | Annual yield in percent. | |
| faceValue | Yes | Face value. | |
| couponRatePct | Yes | Annual coupon rate in percent. | |
| periodsPerYear | No | Coupon periods per year (default 2). |
Output Schema
| Name | Required | Description |
|---|---|---|
| convexity | No | Convexity, years^2. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only and idempotent behavior. The description adds the unit 'years^2' and the relationship to duration, which provides some behavioral context beyond the annotations. However, it does not disclose additional behavioral traits like precision or assumptions (e.g., clean price vs dirty price).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core concept and relationship to duration. It front-loads the key information and has no superfluous content, though a bit more detail on usage could be added without harming structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown) and full parameter descriptions, the description is complete enough for a well-understood financial metric. It explains the purpose and relationship to duration, which suffices for an agent to invoke it correctly alongside sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 5 parameters, so the schema already provides their meaning. The description adds no further semantic details about the parameters, remaining at the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes bond convexity, defined as the curvature of price with respect to yield. The verb is implicit (compute) and the resource is the convexity measure. This directly distinguishes it from the sibling tool 'bond-duration' which is a first-order measure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'used alongside duration', which provides clear context for when to use this tool relative to the sibling 'bond-duration'. However, it lacks explicit when-not-to-use or alternative scenarios, though the context is sufficient for a specialized financial metric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credit-card-payoffCredit Card PayoffARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| aprPct | Yes | Annual percentage rate in percent. | |
| balance | Yes | Current balance. | |
| monthlyPayment | Yes | Fixed monthly payment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| months | No | Months to clear (null if never). |
| totalPaid | No | Total paid (null if never). |
| totalInterest | No | Total interest (null if never). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. Description adds the important behavioral detail of returning null when payment can't cover first month's interest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. No unnecessary words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover safety, the description is complete. It explains the core function and the edge case (null). No missing information for agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 about fixed monthly payment and the null condition, which supplements the schema but doesn't significantly enhance understanding beyond baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it calculates months to clear balance and interest paid, with specific condition for null. Distinguishes from siblings like 'debt-payoff' by being credit-card specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'loan-payoff' or 'debt-payoff'. The only usage clue is the null condition for insufficient payment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current-ratioCurrent RatioARead-onlyIdempotentInspect
Current ratio: current assets over current liabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| currentAssets | Yes | Current assets. | |
| currentLiabilities | Yes | Current liabilities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| currentRatio | No | Current ratio (null if liabilities<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a pure read operation. The description adds no behavioral context beyond the formula, so it provides minimal additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only one sentence. It is front-loaded but lacks minor elaborations that could be included without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is minimally complete. However, it does not explain the return value or any constraints beyond the formula.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already described. The description adds no extra meaning beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the formula: current assets over current liabilities. It specifies the exact resource and operation, 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.
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 context of siblings includes other ratios, but the description does not provide when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current-yieldCurrent YieldARead-onlyIdempotentInspect
Current yield: the annual coupon as a percent of the bond's current price.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Current bond price. | |
| faceValue | Yes | Face value. | |
| couponRatePct | Yes | Annual coupon rate in percent of face. |
Output Schema
| Name | Required | Description |
|---|---|---|
| currentYieldPct | No | Current yield, percent (null if price<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, so the tool is safe and deterministic. The description does not add behavioral details beyond the formula; 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence that efficiently conveys the tool's purpose. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation, the description is adequate. Output schema likely covers return values. However, it could mention that it assumes a standard bond without accrual adjustments.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds minimal extra meaning, simply restating the formula involving price and coupon rate. Face value role is slightly implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool computes current yield, defined as annual coupon divided by current price. This distinguishes it from siblings like yield-to-maturity or accrued-interest, which involve more complex calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the sibling list includes similar tools (e.g., yield-to-maturity), the description does not differentiate conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
de-abgeltungsteuerGerman Capital Gains Tax (Abgeltungsteuer)ARead-onlyIdempotentInspect
German flat tax on capital income (Abgeltungsteuer, §32d EStG) for tax years 2023-2026 with the year's Sparerpauschbetrag built in. 25% above the allowance, Soli 5.5% on top (no Freigrenze for capital income), and with church tax the statutory reduced rate (e.g. 24.45% at 9%) plus the church tax itself.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Tax year: 2023, 2024, 2025 or 2026. | |
| joint | No | true for jointly assessed couples (doubles the Sparerpauschbetrag). | |
| churchTaxPct | No | Church tax rate: 8, 9, or 0 for none (default 0). | |
| capitalIncome | Yes | Annual capital income (interest, dividends, realized gains) in EUR. | |
| foreignTaxCredit | No | Optional. Creditable foreign withholding tax (q in the §32d formula). |
Output Schema
| Name | Required | Description |
|---|---|---|
| net | No | Income after taxes. |
| soli | No | Soli (5.5%). |
| year | No | Tax year. |
| taxable | No | Taxable after allowance. |
| totalTax | No | All taxes. |
| allowance | No | Sparerpauschbetrag applied. |
| churchTax | No | Church tax. |
| incomeTax | No | Flat tax (25% or church-reduced). |
| capitalIncome | No | Income. |
| effectiveRatePct | No | Total tax / income, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly and idempotent. Description adds specific tax rates (25%, Soli 5.5%, church tax reduction formula) and confirms no Freigrenze for capital income, providing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single dense sentence that efficiently conveys key information. Front-loads purpose but could be split for readability; no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-year, multiple tax components), the description covers essential aspects: years, allowance, rates, soli, church tax. Output schema exists to detail return values, so completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds overall context (e.g., Sparerpauschbetrag built in, church tax formula) but does not significantly enhance individual parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool as calculating German capital gains tax (Abgeltungsteuer) for specific tax years, with built-in allowance and rates. It distinguishes itself from sibling financial calculators by focusing on a specific German tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for computing capital gains tax in Germany for years 2023-2026 but does not explicitly state when to use this tool over alternatives or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
debt-payoffDebt PayoffARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| debts | Yes | The debts to pay off. | |
| method | No | Payoff strategy (default avalanche). | |
| monthlyBudget | Yes | Total amount available across all debts each month. |
Output Schema
| Name | Required | Description |
|---|---|---|
| months | No | Months to debt-free (null if insolvent). |
| insolvent | No | True if the budget can't keep up. |
| payoffOrder | No | Debt names in payoff order. |
| totalInterest | No | Total interest (null if insolvent). |
Tool Definition Quality
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 flags insolvent budgets and returns payoff order, total interest, and months, providing behavioral context beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences cover purpose, constraints, method options, and outputs. Every sentence adds essential information without redundancy. Front-loaded with key action and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the complete input schema and presence of an output schema (as indicated), provides sufficient information for an agent to understand inputs, outputs, and key behaviors like insolvency detection. No critical gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description enhances understanding by explaining the rationale behind the two methods (minimizes interest vs. clears soonest) and reinforces that monthlyBudget is fixed, adding value beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a multi-debt payoff plan under a fixed monthly budget, explicitly details two methods (avalanche and snowball) with their effects, and lists return values. It distinguishes itself from sibling tools like 'credit-card-payoff' or 'loan-payoff' by focusing on multiple debts and a fixed budget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (multiple debts, fixed monthly budget) but does not explicitly state when not to use it or recommend alternatives. It provides clear guidance on method choice, which aids selection among the two variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
declining-balance-depreciationDeclining-Balance DepreciationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (1-based). | |
| value | Yes | Initial cost. | |
| ratePct | Yes | Annual depreciation rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bookValue | No | Book value at year end. |
| depreciation | No | Depreciation this year. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, so the tool is safe and idempotent. The description adds value by explaining the formula: 'a fixed percent of the reducing book value,' which clarifies the calculation method beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: one explains the method, one states outputs. It is front-loaded and contains no filler. Could be slightly more structured, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with existing output schema, the description adequately covers the calculation and return values. It does not address nuances like salvage value, but such details may be in the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented. The description adds meaning by stating year is 1-based and that the rate is applied to the declining balance, which is not explicit in the schema alone. It also sets expectations for returned values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes declining-balance depreciation for a given year, returning depreciation and remaining book value. It uses a specific verb ('Returns') and distinguishes the method from siblings like straight-line or double-declining.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like straight-line or sum-of-years-digits. It lacks explicit 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.
de-gross-to-netGerman Gross-to-Net (manual figures)ARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| soli | No | Solidarity surcharge (Solidaritätszuschlag) amount (often 0 below the threshold). | |
| gross | Yes | Gross salary (Brutto). | |
| carePct | No | Employee long-term care (Pflegeversicherung) rate in percent. | |
| healthPct | No | Employee health (Krankenversicherung incl. Zusatzbeitrag) rate in percent. | |
| incomeTax | No | Income tax (Lohnsteuer) amount for the period — look up via the §32a / Steuerklasse tables. | |
| pensionPct | No | Employee pension (Rentenversicherung) rate in percent (e.g. 9.3). | |
| churchTaxPct | No | Church tax (Kirchensteuer) rate in percent of income tax (8 or 9, 0 if none). | |
| healthCeiling | No | Contribution ceiling for health and care. | |
| pensionCeiling | No | Contribution ceiling (Beitragsbemessungsgrenze) for pension and unemployment. | |
| unemploymentPct | No | Employee unemployment (Arbeitslosenversicherung) rate in percent (e.g. 1.3). |
Output Schema
| Name | Required | Description |
|---|---|---|
| net | No | Net. |
| soli | No | Soli. |
| gross | No | Gross. |
| churchTax | No | Church tax. |
| incomeTax | No | Income tax. |
| contributions | No | { pension, unemployment, health, care, total }. |
| totalDeductions | No | Total deductions. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint true, meaning no side effects and deterministic output. The description adds that the tool does not contain tax tables, which is a behavioral trait beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that are front-loaded and concise. Every sentence adds essential information: purpose, key design constraint (no tax tables), data types for inputs, and unit consistency reminder. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema shown, the description explains relationships (e.g., church tax percent of income tax, contribution ceilings) and unit consistency. It does not explain the calculation algorithm or edge cases, but the explicit mention of manual figures and required inputs makes it adequately complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description. The description adds overarching context: distinguishes between amount inputs (incomeTax, soli) and percentage inputs (churchTaxPct, social rates) and explains the role of contribution ceilings. This adds value beyond individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts German gross salary to net salary (Netto from Brutto). The title includes '(manual figures)' and the description explicitly says 'No tax tables are baked in', distinguishing it from sibling tools like 'de-net-salary' which likely automates tax lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent to look up current year's statutory figures and pass them in, and to use consistent units (e.g., all annual). It implies when not to use this tool (when tax tables are available). Explicit alternatives are not named, but the manual nature provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
de-kindergeldGerman Child Benefit (Kindergeld)ARead-onlyIdempotentInspect
German child benefit (Kindergeld) for 2023-2026: the year's flat monthly amount per child (uniform since 2023), as monthly and annual totals.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year: 2023, 2024, 2025 or 2026. | |
| children | No | Number of children (default 1). |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | Year. |
| annual | No | Total annual. |
| monthly | No | Total monthly. |
| children | No | Children. |
| perChildMonthly | No | Monthly amount per child. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly and idempotent. Description adds behavioral context: the amount is uniform since 2023 and provides monthly/annual totals. It does not detail return format or limitations, but transparent enough for the low-complexity tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise and front-loaded with key information (what, when, how). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 params), presence of output schema, and description explaining return values (monthly/annual totals), it is complete. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters (year, children). Description implies year and children but does not add meaning beyond schema. Baseline 3 is appropriate as schema already documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes German child benefit (Kindergeld) for a given year (2023-2026) as flat monthly and annual totals per child. It uses specific verb 'compute' (implied) and resource 'Kindergeld', distinguishing 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.
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 or provide alternatives. It is implied for German child benefit queries, but no guidance on when not to use it or comparative context with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
de-midijobGerman Midijob ContributionsARead-onlyIdempotentInspect
German Midijob / Uebergangsbereich (paragraph 20 Abs. 2a SGB IV) for 2023-2026: classifies a monthly pay as Minijob / Midijob / regular against the year's thresholds and, inside the Midijob band, computes the reduced contribution bases (Faktor F from the year's rates) and the employee vs employer social-insurance split.
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | Optional. Age - under 23 skips the childless care surcharge. | |
| year | Yes | Year: 2023, 2024, 2025 or 2026. | |
| children | No | Children, for the care-insurance rate (default 0). | |
| bundesland | No | Optional. State code; SN applies the Saxony care split. | |
| monthlyPay | Yes | Gross monthly pay in EUR. | |
| kvZusatzPct | No | Optional. Krankenkasse Zusatzbeitrag in percent; defaults to the year's average. | |
| childrenUnder25 | No | Optional. Children under 25 for the care discounts, when different. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | Year. |
| zone | No | minijob | midijob | regular | none. |
| rates | No | { employee, total } percent rates. |
| faktorF | No | Faktor F (midijob only). |
| employee | No | { pension, unemployment, health, care, total }. |
| employer | No | { total }. |
| monthlyPay | No | Pay. |
| thresholds | No | { minijobMonthly, midijobUpper }. |
| savingsVsFull | No | Employee saving vs full contributions. |
| contributionBase | No | { total, employee } reduced bases. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, so the tool is safe and non-destructive. The description adds that it 'classifies' and 'computes' contributions, which aligns with these hints and provides additional detail on the computation logic (e.g., factor F, thresholds). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that packs in the purpose, legal reference, year range, and two key outputs. It is front-loaded with the tool's name and core function. While it could be broken into multiple sentences for readability, it remains efficient and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, specific German social insurance rules, and an output schema), the description covers essential aspects: classification, contribution basis computation, and split. It mentions the year thresholds and factor F, which are crucial for understanding the tool's behavior. The output schema exists to detail return values, so no further explanation needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. However, the description adds value by explaining the overall computation context (e.g., 'Faktor F from the year's rates') and mentions age-related rules ('under 23 skips the childless care surcharge'), which goes beyond schema descriptions. Thus, a 4 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies monthly pay, computes reduced contribution bases, and employee/employer split for German Midijob, specifying the legal paragraph and year range. This is highly specific and distinguishes it from sibling tools which are general financial calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when dealing with German Midijob contributions for 2023-2026, but does not explicitly state when not to use or list alternatives. However, the niche nature of the tool and clear problem statement make its usage context clear, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
de-net-salaryGerman Net Salary (exact, by tax year)ARead-onlyIdempotentInspect
Exact German net (Netto) salary from annual gross (Brutto) for tax years 2023-2026. Income tax and Soli follow the official BMF Programmablaufplan for the year (to the euro; 2024 uses the retroactive December tariff), church tax comes from the PAP's Kirchensteuer base, and employee social insurance uses that year's ceilings and rates (KV Zusatzbeitrag defaults to the year's average). Earlier years are rejected - use de-gross-to-net with self-supplied figures instead.
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | Optional. Age in years - under 23 skips the childless care surcharge. | |
| year | Yes | Tax year: 2023, 2024, 2025 or 2026. | |
| faktor | No | Optional. Tax-class-4 Faktorverfahren factor, default 1.0 (no factor). Only the small minority of married IV/IV couples who applied for it have one; it is assigned by the Finanzamt and printed on the payslip / ELStAM (e.g. 0.921, always <= 1). Leave unset unless the payslip shows a Faktor. | |
| children | No | Kinderfreibetrag counter (ZKF), halves allowed (default 0). Also drives the care-insurance child discounts. | |
| taxClass | No | Steuerklasse 1-6 (default 1). | |
| bundesland | No | Optional. State code (BW, BY, BE, ... SN, TH). Drives the Saxony care-insurance split and the pre-2025 East pension ceiling. | |
| grossAnnual | Yes | Annual gross salary (Brutto) in EUR. | |
| kvZusatzPct | No | Optional. The Krankenkasse's own Zusatzbeitrag in percent — pass the actual rate for exact results (rates change yearly, e.g. TK 2025: 2.45, 2026: 2.69). Defaults to the year's official average, which is only right for generic estimates. | |
| churchTaxPct | No | Church tax rate: 8, 9, or 0 for none (default 0). | |
| privateHealth | No | ||
| childrenUnder25 | No | Optional. Children under 25 for the care-insurance discounts, when it differs from `children`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| net | No | { annual, monthly }. |
| soli | No | Solidaritätszuschlag. |
| year | No | Tax year. |
| gross | No | { annual, monthly }. |
| totalTax | No | All taxes. |
| churchTax | No | Kirchensteuer. |
| incomeTax | No | Lohnsteuer (annual). |
| assumptions | No | Inputs as applied (tax class, Zusatzbeitrag, PAP basis, ...). |
| contributions | No | { pension, unemployment, health, care, total, rates, ceilingsApplied }. |
| totalDeductions | No | Taxes + contributions. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint and idempotentHint, and the description adds rich behavioral context: it explains income tax and Soli use the official BMF Programmablaufplan, church tax from PAP base, and social insurance using yearly ceilings and rates. It notes the 2024 retroactive December tariff and default KV Zusatzbeitrag, going well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single coherent paragraph that front-loads the core purpose and then adds necessary details. It is efficient with no wasted words, though slightly dense. It earns its place by being informative without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, nested objects, output schema), the description is remarkably complete. It covers year range, calculation sources, default behaviors, exceptions, and sibling tool reference. The high schema coverage and presence of output schema complement the description, making it fully adequate for correct agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 91% description coverage, already detailing most parameters. The description adds valuable context beyond schema, e.g., explaining the 'Faktor' parameter for married couples and clarifying that 'kvZusatzPct' defaults to the official average. While not individually documenting every parameter, it provides useful overarching semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes 'Exact German net (Netto) salary from annual gross (Brutto) for tax years 2023-2026', providing a specific verb+resource+scope. It also distinguishes from the sibling 'de-gross-to-net' by noting earlier years are rejected and directing users to that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (tax years 2023-2026) and when not to (earlier years), with a clear alternative: 'use de-gross-to-net with self-supplied figures instead'. It also details defaults and optional parameters like kvZusatzPct defaulting to the year's average.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
depreciateDepreciationCRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| up | No | false depreciates, true appreciates. | |
| value | Yes | Starting value. | |
| years | Yes | Number of years. | |
| annualRatePct | Yes | Annual rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent behavior. The description adds some compounding detail but does not clarify the specific formula or how it differs from other depreciation methods, especially given the 'up' parameter for appreciation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. Fairly concise, though the first sentence could be clearer about the compounding mechanism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of multiple depreciation siblings and an output schema, the description does not explain the specific depreciation method or how it fits with other tools. It leaves the agent without enough context to distinguish use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters at 100%. The description adds context about yearly compounding but does not provide substantial additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool computes a value after compounding down or up at a yearly percentage rate over years, specifying it's used for long-term assets. However, it does not differentiate from sibling depreciation tools like straight-line or declining-balance, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like straight-line-depreciation or compound-interest. 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.
de-rentenpunkteGerman Pension Points (Rentenpunkte)ARead-onlyIdempotentInspect
German pension points (Entgeltpunkte, paragraph 63 SGB VI) for 2023-2026: points earned from an annual gross via the year's Durchschnittsentgelt (capped at the contribution ceiling), the aktueller Rentenwert for both halves of the year, and optionally the gross monthly state pension for a total point count.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year: 2023, 2024, 2025 or 2026. | |
| bundesland | No | Optional. State code - East states use the East ceiling before 2025. | |
| grossAnnual | Yes | Annual insured gross salary in EUR. | |
| totalPoints | No | Optional. Accumulated points, to project the gross monthly pension at today's Rentenwert. |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | Year. |
| points | No | Points earned this year. |
| projection | No | { totalPoints, monthlyPension, note } when totalPoints given. |
| rentenwert | No | { janToJun, fromJuly } EUR per point per month. |
| grossAnnual | No | Gross. |
| insuredGross | No | Gross after the ceiling. |
| ceilingApplied | No | True if capped. |
| maxPointsThisYear | No | Ceiling / average. |
| durchschnittsentgelt | No | Average earnings divisor. |
| monthlyPensionPerPoint | No | Current EUR per point. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating no side effects. The description adds a behavioral constraint ('capped at the contribution ceiling') but does not elaborate on return format, error conditions, or authorization needs. With annotations covering safety, the description provides adequate but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs necessary information efficiently. It is front-loaded with the tool name and legal reference, but the dense structure may be slightly hard to parse. Still, it is concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the full schema descriptions and the presence of an output schema, the description covers the main inputs and calculation context. It does not explain return values, but the output schema handles that. The description is sufficiently complete for a read-only calculator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters. The description adds meaning beyond the schema by explaining how parameters are used (e.g., Durchschnittsentgelt, cap, Rentenwert halves, optional monthly pension projection). This compensates for the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a calculator for German pension points, specifying the legal basis (paragraph 63 SGB VI), the years covered (2023-2026), and the key inputs (annual gross, contribution ceiling, Rentenwert). This sets it apart 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.
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 (e.g., other German-specific tools like de-net-salary). It implies usage for pension point calculation but does not state when not to use or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discountDiscountARead-onlyIdempotentInspect
A single percentage discount: the amount off and the final price.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Original price. | |
| discountPct | Yes | Discount in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| discount | No | Amount off. |
| finalPrice | No | Final price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent calculation. The description adds that it computes 'amount off and the final price', which is consistent but provides only marginal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 12 words, front-loaded with purpose ('A single percentage discount'). Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists (not shown but indicated), the description need not explain return values. The tool is simple with two well-documented parameters and annotations covering safety. Description is sufficient for a straightforward calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters with descriptions ('Original price.', 'Discount in percent.'). The description hints at outputs but does not add new meaning to parameters. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly specifies a single percentage discount tool that calculates amount off and final price, distinguishing it from sibling tools like 'successive-discounts' (multiple discounts) and 'percentage-change' (relative change).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs alternatives like 'successive-discounts' or 'percentage-change'. The phrase 'single percentage discount' implies a single discount scenario but does not provide clear when-not-to-use or alternative tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discounted-paybackDiscounted PaybackARead-onlyIdempotentInspect
Discounted payback period: like payback-period but each cashflow is discounted at the per-period rate.
| Name | Required | Description | Default |
|---|---|---|---|
| ratePct | Yes | Discount rate per period in percent. | |
| cashflows | Yes | Inflow each period. | |
| initialCost | Yes | Upfront cost. |
Output Schema
| Name | Required | Description |
|---|---|---|
| years | No | Discounted payback in periods (null if never). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, which the description does not contradict. The description adds behavioral context by explaining the discounting mechanism. It does not elaborate on return format or assumptions, but for a simple calculation tool, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded, delivering the core purpose and key differentiation without extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, presence of annotations, and full schema coverage, the description is complete. It covers the essential concept and distinguishes from a sibling tool, requiring no additional context for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The tool description does not add new meaning beyond the schema; it only mentions 'per-period rate' which matches the schema description for ratePct. Baseline 3 is appropriate as no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it computes the discounted payback period, comparing it to the sibling tool 'payback-period' and clarifying that cashflows are discounted at the per-period rate. This clearly specifies the verb and resource, distinguishing it from related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by positioning it as a variant of payback-period with discounting, but does not explicitly state when to use this over other alternatives like NPV or IRR. The context is clear but lacks explicit when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dollar-cost-averagingDollar-Cost AveragingARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prices | Yes | Price at each purchase period. | |
| periodicInvestment | Yes | Fixed amount invested each period. |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | No | Units accumulated. |
| avgCost | No | Average cost per unit (null if none). |
| invested | No | Total invested. |
| finalValue | No | Value at the last price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's a safe read. The description adds context: it returns 'units accumulated, total invested, average cost, and final value at the last price', clarifying what the agent can expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core operation and immediately followed by output details. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters and an output schema exists (signaled by 'Has output schema: true'), so the description need not detail returns. It still lists them, providing a complete picture. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions ('Price at each purchase period', 'Fixed amount invested each period'). The description briefly restates these ('buying a fixed amount each period at the given prices') but adds no new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes dollar-cost averaging: 'buying a fixed amount each period at the given prices' and lists the specific outputs (units, total invested, average cost, final value). It distinguishes from sibling tools like compound-interest or future-value by focusing on a unique strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for calculating DCA results but gives no explicit guidance on when to use it vs. alternatives (e.g., lump-sum comparison). No exclusions or best-use scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
double-declining-depreciationDouble-Declining DepreciationARead-onlyIdempotentInspect
Double-declining-balance depreciation: 2/usefulYears of the book value each year, not falling below salvage.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (1-based). | |
| value | Yes | Initial cost. | |
| salvage | No | Salvage value (default 0). | |
| usefulYears | Yes | Useful life in years. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bookValue | No | Book value at year end. |
| depreciation | No | Depreciation this year. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent hints. The description adds the behavioral constraint that the calculation does not fall below salvage value, which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, fitting in a single phrase. It front-loads the method name and formula with no redundant words. Slightly informal but effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculator with a clear formula and output schema, the description covers the essential behavior. Could mention return value format or edge cases, but is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra semantic meaning to parameters; it only restates the overall formula.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the depreciation method and formula: 'Double-declining-balance depreciation: 2/usefulYears of the book value each year, not falling below salvage.' It clearly distinguishes from sibling tools like straight-line or units-of-production depreciation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this method over alternatives, nor does it mention any context or prerequisites. Usage must be inferred from the formula alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dscrDebt Service Coverage RatioARead-onlyIdempotentInspect
Debt service coverage ratio: net operating income divided by annual debt service.
| Name | Required | Description | Default |
|---|---|---|---|
| noi | Yes | Net operating income. | |
| annualDebtService | Yes | Annual debt service. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dscr | No | Debt service coverage ratio (null if debt<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the formula DSCR = NOI / annual debt service, which is behavioral context beyond the annotations (readOnlyHint, idempotentHint). No contradictions, and the formula clarifies the calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, self-contained sentence that states the formula without any extraneous words. It is front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the tool is a simple calculation, the description covers the essential behavior. It does not discuss edge cases or assumptions, but the minimal description is adequate for this straightforward metric.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The tool description repeats the formula but adds no new meaning beyond what the schema already provides, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly defines the debt service coverage ratio as net operating income divided by annual debt service, clearly identifying both the verb (calculates) and the resource (DSCR). It distinguishes itself from sibling financial ratio tools like cap-rate and cash-on-cash by focusing on debt coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for assessing debt coverage but provides no explicit guidance on when to use this versus alternatives, nor any exclusions or prerequisites. Sibling tools cover many financial ratios, so more context would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dtiDebt-to-IncomeARead-onlyIdempotentInspect
Debt-to-income ratio, percent (monthly debt / gross monthly income).
| Name | Required | Description | Default |
|---|---|---|---|
| monthlyDebt | Yes | Total monthly debt payments. | |
| grossMonthlyIncome | Yes | Gross monthly income. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dtiPct | No | Debt-to-income, percent (null if income<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, so the description doesn't need to repeat that. It adds the formula but does not disclose edge cases (e.g., zero income) or rounding behavior. Given annotations, the description 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundancy. All words are meaningful, and the purpose is immediately obvious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two numeric inputs, straightforward calculation), the description provides enough context. However, it could mention handling of zero income or output format (e.g., percent value). Still, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds the formula context, which clarifies how the parameters are used together. This adds value beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the debt-to-income ratio as a percentage using the formula monthly debt divided by gross monthly income. The name and title match exactly, and there is no confusion with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Among siblings, there are many financial ratio calculators (e.g., dscr, cap-rate), but the description does not help the agent differentiate or decide when to select dti.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
effective-rateEffective RateARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ratePct | Yes | The rate in percent (nominal, or effective when toNominal is true). | |
| toNominal | No | false (default) returns the effective rate; true returns the nominal rate. | |
| periodsPerYear | Yes | Compounding periods per year (12 monthly, 365 daily). |
Output Schema
| Name | Required | Description |
|---|---|---|
| nominalRatePct | No | Nominal rate, percent (when toNominal). |
| effectiveRatePct | No | Effective annual rate (APY), percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, covering safety. The description adds behavioral context by specifying the conversion direction and the role of toNominal flag. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence that front-loads the main purpose and concisely covers both conversion directions. No redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mathematical conversion tool with complete schema and existing output schema, the description is adequate. It covers the core functionality and directionality. Minor gap: no mention of edge cases or output format, but output schema likely handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with clear parameter descriptions. The tool description adds a high-level overview but does not provide extra details beyond the schema. Baseline of 3 is appropriate as the schema already carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts between nominal and effective annual rates (APY) for a given compounding frequency, and mentions the toNominal flag for reverse conversion. This is a specific verb-resource pair that distinguishes it from siblings which are all different financial calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not provide explicit when-to-use or when-not-to-use guidance. It doesn't discuss alternatives or prerequisites, though the tool's function is sufficiently unique among siblings that lack of exclusion criteria is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emergency-fundEmergency FundBRead-onlyIdempotentInspect
Months of runway: liquid savings divided by monthly expenses.
| Name | Required | Description | Default |
|---|---|---|---|
| liquidSavings | Yes | Cash and liquid savings on hand. | |
| monthlyExpenses | Yes | Total monthly expenses. |
Output Schema
| Name | Required | Description |
|---|---|---|
| months | No | Months of runway (null if expenses<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds no extra behavioral context beyond the formula, so it meets the baseline 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the key concept 'Months of runway', no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and presence of annotations and output schema, the description is nearly complete. It could mention the return value unit, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description merely restates the relationship ('divided by') without adding 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool calculates months of runway via division, which is a specific resource and operation. However, it could explicitly use a verb like 'calculate' to be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'savings-rate' or 'fire-number'. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fee-dragFee DragARead-onlyIdempotentInspect
Effect of an annual fee: the compounded balance at the gross rate vs net of the fee, and the amount lost to fees.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Number of years. | |
| feePct | Yes | Annual fee in percent. | |
| principal | Yes | Starting amount. | |
| grossAnnualPct | Yes | Gross annual return in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| net | No | Net of fees. |
| gross | No | Gross balance. |
| lostToFees | No | Amount lost to fees. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint and idempotentHint, which the description does not contradict. It adds context by describing the output (compounded balances and amount lost), beyond what annotations provide, covering behavioral traits of the calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the purpose. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation with an output schema, the description explains the effect and outputs. It could mention constraints (e.g., non-negative values) but is reasonably complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters. The description does not add additional meaning or constraints for parameters beyond what the schema already 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the effect of an annual fee on compounded balance, showing gross vs net and amount lost. It uses specific verbs and identifies the resource, but does not explicitly distinguish from siblings like 'compound-interest'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'compound-interest' or 'future-value'). The description lacks context for appropriate use cases or exclusions, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fire-numberFIRE NumberARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| annualSpend | Yes | Yearly spending the nest egg must cover. | |
| annualRatePct | No | Optional. Annual portfolio growth in percent (default 0). | |
| currentNestEgg | No | Optional. Amount already saved (default 0). | |
| withdrawalRatePct | No | Safe withdrawal rate in percent (default 4 = the 4% rule). | |
| annualContribution | No | Optional. Amount saved per year (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| gap | No | Gap from today. |
| target | No | Target nest egg. |
| yearsToFI | No | Years to FI (null if unreachable). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds context about the calculation (gap, years, default values) and includes 'No advice' disclaimer, providing behavioral clarity beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences that front-load the main purpose and key details (default rate, optional savings/growth) without extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters (all documented) and the presence of an output schema, the description adequately explains the tool's outputs (target, gap, years). It is complete for a financial calculator with clear defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions. The tool description adds overall context about how parameters combine to compute the FIRE number, enhancing understanding beyond individual schema entries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the FIRE target nest egg from annual spend and a safe withdrawal rate, plus the gap and years to reach it. It uses specific verbs and resources, distinguishing it from sibling tools like barista-fire and coast-fire.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for FIRE calculations but offers no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many sibling financial calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
future-valueFuture ValueARead-onlyIdempotentInspect
Future value of a single lump sum compounded annually.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Number of years. | |
| principal | Yes | Starting amount. | |
| annualRatePct | Yes | Annual growth rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
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 important behavioral detail of annual compounding, which is not captured by annotations. This clarifies the calculation frequency beyond what structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that delivers the core functionality immediately. No wasted words; it is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 numeric parameters, output schema exists), the description is sufficient. It specifies the cash flow type and compounding frequency. Minor missing context like currency assumption is negligible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 applies. The description does not add meaning beyond the schema's parameter descriptions; 'single lump sum' is a general context note, not parameter-specific. No extra semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as calculating the future value of a single lump sum compounded annually. It uses a specific verb ('future value') and resource ('single lump sum'), distinguishing it from siblings like 'present-value' (reverse) and 'annuity-fv' (multiple cash flows).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single lump sum with annual compounding but provides no explicit guidance on when to use this over alternatives (e.g., 'annuity-fv' for periodic payments). No when-not-to-use or 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.
fx-convertFX ConvertARead-onlyIdempotentInspect
Convert an amount using a rate supplied by the caller (units of target currency per unit of source). No rate is ever looked up.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Rate: target units per source unit. | |
| amount | Yes | Amount to convert. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
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 relies solely on the caller-supplied rate, which is consistent and provides additional 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The core purpose and constraint are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two well-documented parameters and an output schema, the description fully covers the behavior, including the critical point that no rate lookup occurs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (rate, amount) have descriptions in the input schema that match the explanation in the tool description. No additional semantic value is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts an amount using a user-supplied rate, with no rate lookup. This distinguishes it from sibling tools that involve automatic rate calculations or lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the rate must be provided by the caller and no lookup occurs, implying it's for cases where the user already has a rate. However, it does not explicitly mention alternatives or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gross-rent-multiplierGross Rent MultiplierARead-onlyIdempotentInspect
Gross rent multiplier: price divided by gross annual rent.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Purchase price. | |
| grossAnnualRent | Yes | Gross annual rent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| grm | No | Gross rent multiplier (null if rent<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description restates the calculation but adds no behavioral context beyond annotations. Annotations already declare readOnlyHint and idempotentHint, so the burden is lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with one sentence, front-loading the formula. It loses one point for being overly terse, but is structurally appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and presence of an output schema, the description is fully adequate. It provides the essential formula without needing extraneous details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds no additional meaning beyond the formula, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the formula 'price divided by gross annual rent' clearly, defining the tool's purpose as a specific real estate metric. It uniquely identifies the tool among many financial siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is implied by the formula, but no when-not-to-use or alternative tool comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
holding-period-returnHolding Period ReturnARead-onlyIdempotentInspect
Holding-period return: (income + capital gain) / starting value, in percent.
| Name | Required | Description | Default |
|---|---|---|---|
| income | Yes | Income received over the period. | |
| endValue | Yes | Ending value. | |
| beginValue | Yes | Starting value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hprPct | No | Holding-period return, percent (null if begin=0). |
Tool Definition Quality
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 behavior. The description adds the formula context but no additional behavioral traits (e.g., how division by zero is handled, rounding, or period assumptions). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence containing the essential formula. Zero wasted words, perfectly front-loaded. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (stated but not shown), so return value documentation is likely handled there. The description explains the calculation formula and result unit (percent). However, it omits edge cases like zero starting value or multi-period handling. For a simple calculation tool, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (income, endValue, beginValue). The description does not add new meaning beyond the schema; it only restates the formula. Per guidelines, with high schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: calculate holding period return using the specific formula (income + capital gain) / starting value, in percent. It uses a specific verb ('calculate' implied) and resource ('holding-period-return'), and the formula distinguishes it from sibling tools like CAGR or real-return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of context, exclusions, or comparisons with other return-calculation tools in the sibling list (e.g., CAGR, real-return, return-stats). The description only states what it does, not when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hourly-to-salaryHourly to SalaryBRead-onlyIdempotentInspect
Annualize an hourly rate (and the monthly equivalent).
| Name | Required | Description | Default |
|---|---|---|---|
| hourlyRate | Yes | Hourly rate. | |
| hoursPerWeek | No | Hours per week (default 40). | |
| weeksPerYear | No | Weeks per year (default 52). |
Output Schema
| Name | Required | Description |
|---|---|---|
| annual | No | Annual salary. |
| monthly | No | Monthly equivalent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent behavior. The description adds no significant behavioral context beyond this, so score is baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with one sentence, no wasted words. It effectively communicates the core purpose, though could include more context for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with an output schema, the description captures the main function. It does not mention optional parameters or default values, but these are covered in the schema. Minor gap in not referencing the inverse tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with descriptions for all parameters. The tool description does not add any additional detail beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool annualizes an hourly rate and mentions monthly equivalent. However, it does not explicitly differentiate from the sibling tool 'salary-to-hourly', which performs the inverse conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'salary-to-hourly'. The description lacks explicit when-to-use 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.
inflation-adjustInflation AdjustARead-onlyIdempotentInspect
Convert a nominal amount to today's purchasing power (real), or with toNominal inflate a real amount forward, at a given annual inflation rate.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Number of years. | |
| amount | Yes | Amount to adjust. | |
| toNominal | No | false (default) deflates nominal to real; true inflates real to nominal. | |
| inflationRatePct | Yes | Annual inflation rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior (pure computation). The description adds value by clarifying the direction of adjustment (deflate/inflate) and the concept of 'today's purchasing power,' which is beyond the schema. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (24 words) yet covers both modes of operation. It front-loads the main action ('Convert a nominal amount to today's purchasing power') and adds the alternative mode in the same sentence without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% schema coverage, the description adequately explains the tool's purpose and two modes. It does not cover edge cases or advanced nuances, but for a straightforward conversion tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 4 parameters have descriptions). The description briefly echoes the toNominal flag and mentions inflationRatePct and years, but adds no new semantic meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts nominal to real (purchasing power) and real to nominal via the toNominal flag. It identifies the resource (amount adjusted for inflation) and the verb (convert). It distinguishes from siblings like 'real-return' which likely adjusts returns, not static amounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inflation adjustment but provides no explicit guidance on when to use this tool over alternatives (e.g., present-value or future-value for similar calculations). It does not mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interest-only-paymentInterest-Only PaymentBRead-onlyIdempotentInspect
Interest-only monthly payment on a balance.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Outstanding balance. | |
| ratePct | Yes | Annual rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| payment | No | Monthly interest payment. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds no behavioral details beyond stating the calculation, such as output format, precision, or that the monthly rate is derived from the annual rate. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the essential information. Every word contributes to defining the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core calculation adequately, but it omits assumptions (e.g., monthly compounding, simple interest) and does not clarify the output despite the presence of an output schema. Additional context about the formula or result interpretation would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description adds no additional meaning beyond the schema, which is the baseline expectation for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes an interest-only monthly payment given a balance and rate. It differentiates from siblings like amortization or compound interest by focusing on interest-only loans, though it could explicitly contrast with amortizing payment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., amortization). It lacks any mention of prerequisites, exclusions, or comparison with sibling tools, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
intrinsic-time-valueIntrinsic & Time ValueARead-onlyIdempotentInspect
Split an option premium into intrinsic value (in-the-money amount) and time value.
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Underlying price. | |
| type | No | Option type (default call). | |
| strike | Yes | Strike price. | |
| premium | Yes | Option premium. |
Output Schema
| Name | Required | Description |
|---|---|---|
| intrinsic | No | Intrinsic value. |
| timeValue | No | Time value. |
Tool Definition Quality
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 no new behavioral traits, but none are needed given the simple computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 14 words, front-loading the purpose. No redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Has output schema (not shown), so return values are documented elsewhere. The description could be slightly more complete by noting that it handles both call and put options (type parameter). Minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all parameters. The tool description adds no extra parameter-level detail; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (split), the resource (option premium), and the two components (intrinsic value and time value). It unambiguously distinguishes from sibling option 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.
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 (e.g., black-scholes, option-breakeven). The description only states what it does, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
irrIRRARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Cashflows by period, starting at period 0. Outflows are negative. |
Output Schema
| Name | Required | Description |
|---|---|---|
| irrPct | No | Internal rate of return, percent (null if none). |
Tool Definition Quality
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 that null is returned when the series never crosses zero, which is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences that define the purpose, behavior, and output. No redundant information. Front-loaded with the core definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, clear schema, and annotations, the description is mostly complete. It covers the main functionality and edge case (null return). However, it does not mention that IRR requires at least one sign change in cashflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the cashflows parameter is well-described in the schema (periodic, outflows negative). The description adds no additional meaning beyond restating 'cashflow series', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates IRR as the rate that zeroes NPV, and specifies the return type (percent or null). However, it does not differentiate from similar sibling tools like XIRR or MIRR, which handle different cashflow patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like NPV, XIRR, or MIRR. The description only mentions the null return case but not the appropriate context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loan-aprLoan APRARead-onlyIdempotentInspect
Effective APR including upfront fees: the note-rate payment priced against the net proceeds (amount - fees). Annual percent.
| Name | Required | Description | Default |
|---|---|---|---|
| fees | No | Optional. Upfront fees / points in currency (default 0). | |
| amount | Yes | Loan amount. | |
| ratePct | Yes | Note (nominal) annual rate in percent. | |
| termMonths | Yes | Term in months. |
Output Schema
| Name | Required | Description |
|---|---|---|
| aprPct | No | Effective APR, percent (null if degenerate). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description correctly does not repeat safety info. It adds value by explaining the formula (note-rate payment priced against net proceeds) and that it includes upfront fees, providing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is dense with essential information: purpose, key inputs, and computation logic. No fluff, front-loaded with the main function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown) and annotations cover safety, the description fully explains what the tool does and the concept behind it. No missing information for a simple calculator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline 3. The description adds meaning by explaining how 'fees' and 'amount' interact ('net proceeds (amount - fees)'), which is not in the individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool computes effective APR including upfront fees, using a specific verb ('Effective APR') and resource ('loan with fees'). It distinguishes from sibling tools like 'effective-rate' which may compute simpler APR without fees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for APR calculation with fees but provides no explicit guidance on when to use this tool versus alternatives like 'loan-payoff' or 'effective-rate'. No mention of when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loan-payoffLoan PayoffBRead-onlyIdempotentInspect
Time and interest saved by paying a fixed extra amount every month on a loan, versus the baseline schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Fix the term (compute the payment) or fix the payment (compute the term). | |
| rate | Yes | Annual interest rate in percent (6 = 6%). | |
| extra | No | Optional dated extra principal payments. | |
| amount | Yes | Loan principal. | |
| payment | No | Monthly payment, used when mode is 'payment'. | |
| startDate | Yes | First payment month as an ISO date (YYYY-MM-DD). | |
| termYears | No | Term in years, used when mode is 'term'. | |
| fixedUntil | No | Optional. Rate is certain until this ISO date; beyond it the schedule is an estimate. | |
| extraMonthly | Yes | Extra principal paid each month. |
Output Schema
| Name | Required | Description |
|---|---|---|
| baseline | No | Baseline { months, totalInterest, payoffDate }. |
| accelerated | No | Accelerated { months, totalInterest, payoffDate }. |
| monthsSaved | No | Months saved. |
| interestSaved | No | Interest saved. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds minimal behavioral context (compares to baseline) but does not disclose limitations or assumptions beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that is concise and front-loaded. However, it could be slightly expanded to cover key parameters without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema and good annotations, the description misses crucial context: it does not explain the mode parameter (term vs payment), the role of the 'extra' array for one-time payments, or the fixedUntil constraint. This leaves agents underinformed for a tool with 9 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond what the schema provides; it only mentions 'fixed extra amount every month' which maps to extraMonthly but ignores other parameters like mode and extra array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb (paying a fixed extra amount) and resource (loan), and the outcome (time and interest saved vs baseline). It differentiates from siblings like biweekly-payoff by mentioning monthly extra payments, but does not explicitly contrast with similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or comparisons to sibling tools like debt-payoff or credit-card-payoff.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ltvLoan-to-ValueARead-onlyIdempotentInspect
Loan-to-value ratio, percent (loan / property value).
| Name | Required | Description | Default |
|---|---|---|---|
| loanAmount | Yes | Loan amount. | |
| propertyValue | Yes | Property value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ltvPct | No | Loan-to-value, percent (null if value<=0). |
Tool Definition Quality
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 safe and does not mutate state. The description adds the detail that the output is a percentage, but otherwise does not expand 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the key information: the output type (percent) and the calculation formula. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with full schema coverage and an output schema, the description is largely complete. It could potentially mention edge cases (e.g., property value of zero) or output rounding, but these are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly states the formula (loan / property value), which adds meaning beyond the input schema's parameter descriptions. The schema coverage is 100%, and the formula clarifies how the two parameters are combined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the loan-to-value ratio as a percentage using the formula (loan / property value). It is specific and differentiated from sibling tools by its unique calculation, though it does not explicitly call out differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative financial calculators. Given the extensive list of sibling tools, some usage context would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
margin-markupMargin & MarkupARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | Unit cost. | |
| price | No | Selling price. | |
| marginPct | No | Profit as a percent of price. | |
| markupPct | No | Profit as a percent of cost. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cost | No | Cost. |
| price | No | Price. |
| profit | No | Profit. |
| marginPct | No | Margin, percent. |
| markupPct | No | Markup, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint, and the description confirms the tool returns computed values (cost, price, profit, marginPct, markupPct) without side effects. The description adds useful detail on the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with no unnecessary words. Every sentence is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial conversion tool, the description fully explains inputs, outputs, and behavior. The presence of an output schema further supports completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions, so baseline is 3. The description adds value by specifying valid input combinations, which is not explicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts between margin and markup, which is a specific and unique purpose among the many financial calculators listed as siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit instructions on input combinations: 'Supply any one of cost/price plus one of marginPct/markupPct (or both cost and price).' This guides the agent on required inputs, though it does not explicitly mention 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.
max-drawdownMax DrawdownARead-onlyIdempotentInspect
Maximum drawdown of a value series: the largest peak-to-trough decline, as a positive percent.
| Name | Required | Description | Default |
|---|---|---|---|
| series | Yes | Sequence of values (e.g. portfolio levels). |
Output Schema
| Name | Required | Description |
|---|---|---|
| maxDrawdownPct | No | Largest peak-to-trough decline, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description only needs to add behavioral context. It explains the output is a positive percent and defines drawdown, but does not cover edge cases like empty array or all-increasing series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core purpose ('Maximum drawdown of a value series') and then clarifies the interpretation. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input (one array), good annotations, and the presence of an output schema (as indicated), the description adequately explains the purpose and output. It could mention the return type explicitly but is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description for 'series' is clear. The description merely restates 'value series' without adding new detail, meeting the baseline for full parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('maximum drawdown') and resource ('value series'), defines the metric precisely as 'largest peak-to-trough decline, as a positive percent', which distinguishes it from other financial tools like CAGR or sharpe-ratio.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of context, exclusions, or prerequisite conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mirrMIRRARead-onlyIdempotentInspect
Modified internal rate of return: negatives financed at financeRate, positives reinvested at reinvestRate. Percents in and out.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Cashflows by period (index 0 today; outflows negative). | |
| financeRatePct | Yes | Finance rate in percent. | |
| reinvestRatePct | Yes | Reinvestment rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mirrPct | No | Modified IRR, percent (null if degenerate). |
Tool Definition Quality
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 about the calculation logic (financing and reinvestment rates) but does not disclose other behavioral aspects such as handling of edge cases or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It front-loads the core purpose and then adds the key behavioral detail. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description does not need to explain return values. It covers the essential concept of MIRR and the role of rates. It could mention that the result is a percentage (implied by 'Percents in and out') but is otherwise complete for an agent familiar with financial terms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds functional meaning by explaining how cashflows are treated (negatives financed, positives reinvested) and mentions that percents are used, which clarifies the role of financeRatePct and reinvestRatePct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a Modified Internal Rate of Return and distinguishes it from regular IRR by specifying separate rates for negatives (finance) and positives (reinvest). This is specific and differentiates it from sibling tools like irr or xirr.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (when cashflows have different financing and reinvestment rates), but does not explicitly exclude other scenarios or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage-affordabilityMortgage AffordabilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Annual interest rate in percent. | |
| dtiPct | Yes | Max share of gross monthly income for the payment, in percent (e.g. 36). | |
| termYears | Yes | Loan term in years. | |
| downPayment | No | Optional. Cash down payment, added to the loan for the home price (default 0). | |
| annualIncome | Yes | Gross annual income. | |
| monthlyDebts | No | Optional. Existing monthly debt payments (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| maxLoan | No | Max loan. |
| maxHomePrice | No | Max home price. |
| maxMonthlyPayment | No | Max payment. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds value by explaining the calculation flow: DTI cap on gross income less debts determines payment, then present value determines loan. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Front-loads the output purpose, then explains method. Appropriate length for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description explains core logic but omits that downPayment adds to loan for home price. Despite output schema, the relationship between loan and home price is not clarified. For a 6-parameter tool with output schema, the description is somewhat incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description references dtiPct, annualIncome, monthlyDebts in the logic but does not add new details beyond schema descriptions. It partially explains the role of parameters in the calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes maximum loan and home price supported by income, using DTI and present value. It specifies the verb 'Maximum' and distinguishes from siblings like 'dti' which computes ratio, not max loan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus alternatives. The sibling list includes many related calculators (amortization, dti, loan-payoff), but the description does not differentiate or provide context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
net-worthNet WorthARead-onlyIdempotentInspect
Net worth: assets minus liabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Total assets. | |
| liabilities | Yes | Total liabilities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| netWorth | No | Assets minus liabilities. |
Tool Definition Quality
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 little beyond confirming a simple calculation. It does not disclose any additional behavioral traits (e.g., data sources, edge cases), but for a straightforward read-only operation, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, informative sentence with no extraneous content. It is appropriately front-loaded for a simple tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the combination of schema, annotations, and output schema already provides the necessary context. The description succinctly states what it does, and no additional information is required for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions ('Total assets.', 'Total liabilities.'). The description adds no new semantic information beyond the formula, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Net worth: assets minus liabilities' clearly states the tool calculates net worth by subtracting liabilities from assets. It is a specific verb+resource combination and, among many financial sibling tools, this simple subtraction is distinctly identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of its many siblings. There is no explanation of context, prerequisites, or alternatives, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
noiNet Operating IncomeARead-onlyIdempotentInspect
Net operating income: gross rental income less vacancy and operating expenses.
| Name | Required | Description | Default |
|---|---|---|---|
| vacancyPct | Yes | Vacancy rate in percent. | |
| grossRentalIncome | Yes | Gross annual rental income. | |
| operatingExpenses | Yes | Annual operating expenses. |
Output Schema
| Name | Required | Description |
|---|---|---|
| noi | No | Net operating income. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe, side-effect-free read operation. The description adds only the formula details, which complements but does not extend behavioral 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the tool's purpose. It is front-loaded with the key term 'net operating income' and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple calculator tool. It does not need to explain return values since an output schema exists. The formula is clear, and parameters are well-documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds the relationship between parameters (gross income minus vacancy and expenses) beyond individual parameter descriptions in the schema. The schema coverage is 100%, so the description provides extra context on how parameters combine.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes net operating income from gross rental income less vacancy and operating expenses. It is specific about the resource (NOI) and the formula, distinguishing it from sibling tools like cap-rate or cash-on-cash which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it should be used when calculating NOI for real estate investments, but it does not explicitly state when to use it versus alternatives like gross-rent-multiplier or cash-on-cash. No guidance on when not to use it or prerequisites is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
npvNPVARead-onlyIdempotentInspect
Net present value of a cashflow series (index 0 is today; outflows negative) discounted at a per-period rate.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Cashflows by period, starting at period 0. Outflows are negative. | |
| discountRatePct | Yes | Discount rate per period in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| npv | No | Net present value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is clear. The description adds behavioral context by explaining the discounting method and the cashflow indexing convention, which is valuable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence (24 words) that front-loads the purpose. Every phrase is necessary, with no waste. It is optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 parameters, no enums, output schema exists), the description is sufficient. It explains the calculation and input semantics. It does not need to cover return values since an output schema is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning by clarifying that cashflows start at period 0 and outflows are negative, and that discount rate is per period. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Net present value of a cashflow series,' specifying the calculation purpose. It distinguishes from siblings like 'present-value' and 'xnpv' by referencing a per-period discount rate and the indexing convention (index 0 is today).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for standard NPV calculations but does not explicitly state when to use NPV versus alternatives like IRR or future-value. No exclusions or alternative tool mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option-breakevenOption Break-EvenARead-onlyIdempotentInspect
Break-even underlying price at expiry: strike + premium for a call, strike - premium for a put.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Option type (default call). | |
| strike | Yes | Strike price. | |
| premium | Yes | Option premium paid. |
Output Schema
| Name | Required | Description |
|---|---|---|
| breakeven | No | Break-even underlying price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. Description adds the formula but no additional behavioral context such as error handling, precision, or units. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence that front-loads the key information with zero waste. Earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, presence of annotations, and existence of an output schema, the description is sufficient. The formula is covered, but no information about return values is added.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the schema; the formula line is not parameter-specific.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it computes break-even underlying price at expiry and provides explicit formulas for calls and puts. Distinguishes from sibling tools like option-greeks and intrinsic-time-value by focusing on a specific calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies its use for break-even calculation, but lacks when-not-to-use or context compared to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
option-greeksOption GreeksARead-onlyIdempotentInspect
Black-Scholes greeks for a European option: delta, gamma, vega (per 1% vol), theta (per day), rho (per 1% rate).
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Current underlying price. | |
| type | No | Option type (default call). | |
| years | Yes | Time to expiry in years. | |
| strike | Yes | Strike price. | |
| riskFreePct | Yes | Risk-free rate in percent. | |
| volatilityPct | Yes | Annualized volatility in percent. | |
| dividendYieldPct | No | Continuous dividend yield in percent (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rho | No | Rho per 1% rate. |
| vega | No | Vega per 1% vol. |
| delta | No | Delta. |
| gamma | No | Gamma. |
| theta | No | Theta per day. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, indicating safe read operations. The description adds value by specifying the greeks and their units (e.g., vega per 1% vol), but does not disclose limitations like option type (European), edge cases, or assumptions beyond Black-Scholes. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the tool's purpose and output details. It front-loads the key information ('Black-Scholes greeks for a European option') and then lists the specific greeks with units. No unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (not shown but indicated), the description adequately covers the tool's functionality. It states the model (Black-Scholes), option type (European), and the specific greeks with units. The input schema is fully described, and the output schema handles the return structure. No major gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool's description adds meaning beyond the schema by clarifying the output interpretation (e.g., units for greeks: 'per 1% vol', 'per day', 'per 1% rate'). This helps the agent understand what the computed values represent, though it does not elaborate on each parameter individually.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes Black-Scholes greeks for European options and lists the specific greeks with units (delta, gamma, vega per 1% vol, theta per day, rho per 1% rate). This distinguishes it from sibling tools like 'black-scholes' which likely returns price, and 'intrinsic-time-value' which computes different metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., 'black-scholes' for price, 'intrinsic-time-value' for other option metrics). The description does not mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payback-periodPayback PeriodARead-onlyIdempotentInspect
Simple payback period: periods until cumulative cashflows recover the initial cost, interpolated within the crossing period. Null if never.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Inflow each period. | |
| initialCost | Yes | Upfront cost. |
Output Schema
| Name | Required | Description |
|---|---|---|
| years | No | Payback in periods (null if never). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent behavior. The description adds valuable context about interpolation within the crossing period and returning null if payback is never achieved, which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no redundancy. Every word serves a purpose, clearly front-loading the core function and then detailing edge behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, annotations, and full schema coverage, the description adequately covers key behavior. It could mention assumptions like equal periods, but is sufficient for most agents. Output schema exists, so return value details are not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions. The description adds minimal extra meaning: it clarifies cashflows are inflows and initialCost is upfront cost, but these are already implied by the schema. With 100% coverage, baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes the simple payback period, specifies interpolation within the crossing period, and mentions null if never. It distinguishes from sibling 'discounted-payback' by labeling it 'Simple'. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'discounted-payback' or other related tools. The description does not provide context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percentage-changePercentage ChangeARead-onlyIdempotentInspect
Percentage change from one value to another. Null when the starting value is zero.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Ending value. | |
| from | Yes | Starting value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| changePct | No | Percentage change (null if from=0). |
Tool Definition Quality
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 value by disclosing the specific edge case: 'Null when the starting value is zero.' This goes beyond annotations by alerting the agent to a potential pitfall (division by zero). No other behavioral traits are needed for a simple computation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences, zero wasted words. It front-loads the core purpose and immediately adds a critical behavioral note. Every word earns its place, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, high schema coverage (100%), annotations covering read-only and idempotent behavior, and existence of an output schema (not shown but indicated), the description is complete. It covers the purpose, a key edge case, and leaves no critical gaps. An agent can confidently invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'from' described as 'Starting value' and 'to' as 'Ending value'. The description adds no further meaning beyond these schema descriptions. According to the guidelines, baseline is 3 when schema coverage is high, and no extra semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes percentage change from one value to another, which is specific and matches the name. However, it does not differentiate itself from sibling tools like cagr or compound-interest, which also involve growth calculations. The verb 'Percentage change' and resource 'from one value to another' are clear, but lacking explicit distinction from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It mentions the null return when the starting value is zero, which is useful but does not help the agent choose this over tools like cagr for period-over-period growth or other financial calculators. Usage context is implied by the name and basic nature of the calculation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
perpetuityPerpetuityARead-onlyIdempotentInspect
Present value of a level or growing perpetuity: payment / (rate - growth). Null when growth is not below the rate.
| Name | Required | Description | Default |
|---|---|---|---|
| payment | Yes | Periodic payment. | |
| ratePct | Yes | Discount rate in percent. | |
| growthPct | No | Optional. Payment growth rate in percent (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| pv | No | Present value (null if growth>=rate). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds value by disclosing that the result is null when growth is not below the rate, which is important 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with one sentence containing the formula and a condition. No unnecessary words; front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description adequately covers the calculation and special case. No missing context for an AI agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented. The description adds context by showing how parameters relate via the formula, but does not significantly deepen meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the present value of a level or growing perpetuity, using the formula payment / (rate - growth). It distinguishes itself from siblings by its specific financial concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for perpetuity calculations but does not explicitly state when to use this tool versus alternatives like annuity-pv. No when-not or sibling differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
points-breakevenPoints Break-EvenARead-onlyIdempotentInspect
Mortgage points break-even: the upfront cost to buy down the rate, the monthly payment saving, and the whole months to recoup it.
| Name | Required | Description | Default |
|---|---|---|---|
| ratePct | Yes | Base annual rate in percent. | |
| pointsPct | Yes | Points paid, percent of the loan. | |
| loanAmount | Yes | Loan amount. | |
| termMonths | Yes | Term in months. | |
| reducedRatePct | Yes | Reduced annual rate after buying points. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cost | No | Upfront cost of points. |
| monthlySaving | No | Monthly payment saving. |
| breakevenMonths | No | Whole months to recoup (null if no saving). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent. The description adds value by specifying the outputs (cost, saving, months) beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently conveys the tool's purpose and outputs with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key outputs (cost, savings, break-even months) for a mortgage points calculation. It is sufficient given the schema and output schema richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add per-parameter details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates mortgage points break-even, specifying the upfront cost, monthly saving, and months to recoup. This is specific and distinct from sibling tools like 'refi-breakeven'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is for evaluating mortgage points, but no explicit when-to-use or when-not-to-use guidance is provided. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio-longevityPortfolio LongevityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| balance | Yes | Starting balance. | |
| annualRatePct | Yes | Annual portfolio growth in percent. | |
| annualWithdrawal | Yes | Amount withdrawn in the first year. | |
| withdrawalGrowthPct | No | Optional. Yearly step-up of the withdrawal in percent (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| years | No | Depletion year (null if sustainable). |
| sustainable | No | True if it outlasts 200 years. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and idempotent behavior. The description adds behavioral details: yearly growth then withdrawal, optional step-up, and return of depletion year or sustainable flag. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two sentences to convey the model and output. Every sentence provides essential information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the description is nearly complete. It covers the simulation model and return values, though it omits edge cases like zero balance or negative rates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds context about the withdrawal step-up and sustainable condition, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: calculating the number of years a balance lasts with withdrawals, including growth and optional step-up. It distinguishes from sibling tools like 'fire-number' by specifying the depletion simulation model and return values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retirement or portfolio longevity planning, but does not explicitly state when to use this tool versus alternatives such as 'fire-number' or 'required-contribution'. No exclusionary guidance or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
present-valuePresent ValueARead-onlyIdempotentInspect
Present value of a single future amount discounted annually. The inverse of future-value.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Number of years until the amount is received. | |
| futureAmount | Yes | Amount received in the future. | |
| annualRatePct | Yes | Annual discount rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pv | No | Present value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by specifying 'discounted annually,' which is a behavioral detail. Annotations already indicate it's read-only and idempotent, so no contradiction, and the description provides 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with two sentences that front-load the purpose. However, it could be slightly more structured (e.g., adding 'Use this to...'), but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and presence of an output schema, the description is sufficiently complete. It covers the core concept and inverse relationship without needing to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema, but being concise is acceptable as the schema already describes parameters thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the present value of a single future amount with annual discounting and identifies itself as the inverse of future-value, distinguishing it from siblings like future-value or annuity-pv.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at usage by mentioning 'single future amount' and being inverse of future-value, but lacks explicit context on when to use versus alternatives like annuity-pv or npv, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
put-call-parityPut-Call ParityARead-onlyIdempotentInspect
Put-call parity: given one option price, returns both. Provide call or put, plus spot, strike, years, and the rate.
| Name | Required | Description | Default |
|---|---|---|---|
| put | No | Put price (provide call or put). | |
| call | No | Call price (provide call or put). | |
| spot | Yes | Underlying price. | |
| years | Yes | Time to expiry in years. | |
| strike | Yes | Strike price. | |
| riskFreePct | Yes | Risk-free rate in percent. | |
| dividendYieldPct | No | Continuous dividend yield in percent (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| put | No | Put price. |
| call | No | Call price. |
Tool Definition Quality
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 returns both prices given one, which is consistent and adds slight context. No destructive effects or special traits are disclosed beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core functionality without extraneous information. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high schema coverage, output schema existence, and simple purpose, the description is sufficiently complete. It does not need to detail return values or formula, as those are covered by the output schema and semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described. The description clarifies that only one of put/call is needed, but this is already conveyed in the param descriptions. Beyond that, no additional meaning is added over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes put-call parity given one option price, specifying required inputs. It is specific and informative, though it does not explicitly differentiate from sibling tools like black-scholes or option-breakeven.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving both option prices from one, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., Black-Scholes). No exclusions or context for selection are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quick-ratioQuick RatioARead-onlyIdempotentInspect
Quick (acid-test) ratio: (current assets - inventory) over current liabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| inventory | Yes | Inventory. | |
| currentAssets | Yes | Current assets. | |
| currentLiabilities | Yes | Current liabilities. |
Output Schema
| Name | Required | Description |
|---|---|---|
| quickRatio | No | Quick ratio (null if liabilities<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint true and idempotentHint true, indicating no side effects. The description adds behavioral transparency by revealing the exact formula, which goes beyond the annotations by specifying the computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose and formula. It is front-loaded with the key term 'quick ratio' and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the input schema fully describes parameters, annotations cover safety, and an output schema exists (per context), the description completes the picture by stating the calculation formula. No further details are needed for this simple financial ratio.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description repeats the formula but does not add new meaning beyond what the schema already provides; it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates the quick (acid-test) ratio using the formula (current assets - inventory) over current liabilities. It distinguishes itself from the sibling tool 'current-ratio' by explicitly excluding inventory, making its purpose unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for computing quick ratio, a liquidity metric, but does not provide explicit guidance on when to use it over alternatives like current ratio, nor does it mention any prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
real-returnReal ReturnARead-onlyIdempotentInspect
Real (inflation-adjusted) return from a nominal rate via the Fisher relation: (1+nominal)/(1+inflation) - 1.
| Name | Required | Description | Default |
|---|---|---|---|
| nominalRatePct | Yes | Nominal annual rate in percent. | |
| inflationRatePct | Yes | Annual inflation in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| realPct | No | Real return, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint. Description adds the specific formula used, providing meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with purpose, includes the formula for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with full schema coverage and an output schema (not shown but implied), the description is complete and sufficient without needing extra detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage; description adds context by naming the parameters and explaining the formula, increasing semantic understanding beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes real (inflation-adjusted) return using the Fisher relation formula, distinguishing it from sibling tools like 'inflation-adjust' and 'required-return'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly indicates usage with nominal rate and inflation rate, but no explicit guidance on when to use versus alternatives or mentions of prerequisites like annual rates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refi-breakevenRefinance Break-EvenARead-onlyIdempotentInspect
Refinance break-even: monthly saving, whole months to recoup closing costs, and (if remainingMonths given) the net saving over the remaining term.
| Name | Required | Description | Default |
|---|---|---|---|
| newPayment | Yes | New monthly payment after refinancing. | |
| closingCosts | Yes | Upfront cost to refinance. | |
| currentPayment | Yes | Current monthly payment. | |
| remainingMonths | No | Optional. Months left on the loan, for the lifetime saving. |
Output Schema
| Name | Required | Description |
|---|---|---|
| monthlySaving | No | Monthly saving. |
| lifetimeSaving | No | Net lifetime saving (null if no term). |
| breakevenMonths | No | Whole months to recoup (null if no saving). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that the tool computes specific outputs (monthly saving, break-even months, net saving) but does not disclose behavioral traits beyond what annotations imply, such as no side effects or performance constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence effectively conveys purpose, key outputs, and conditionality (if remainingMonths given). No wasted words; front-loaded with the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple refinance break-even calculation with 4 parameters, an existing output schema, and clear annotations, the description covers all necessary functional aspects. It does not mention edge cases (e.g., negative savings) but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is well-defined in the schema. The tool description adds context by explaining how parameters relate (e.g., monthly saving uses currentPayment and newPayment, break-even uses closingCosts), but this information is derivable from the schema and not critically needed for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool calculates refinance break-even, listing outputs: monthly saving, months to recoup closing costs, and net saving over remaining term. This clearly distinguishes it from sibling financial calculators, many of which focus on different metrics (e.g., points-breakeven, payback-period).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'points-breakeven' or 'payback-period'. The description implies usage for refinancing decisions but does not state prerequisites or conditions where the tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
required-contributionRequired ContributionARead-onlyIdempotentInspect
Inverse of contributions: the fixed monthly amount needed to reach a target future value over a number of months, given an optional starting balance.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Number of months. | |
| targetValue | Yes | Future value goal. | |
| presentValue | No | Optional. Starting balance (default 0). | |
| annualRatePct | Yes | Annual growth rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| monthly | No | Monthly contribution needed (null if horizon<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so description doesn't need additional behavioral disclosure. Minimal added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the inverse relationship, no redundant information. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a computation tool with strong annotations and output schema, the description sufficiently explains the purpose, key inputs, and relationship to sibling. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline score applies. Description adds 'optional starting balance' for presentValue but does not enhance beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'reach' and resource 'target future value', clearly identifying it as the inverse of contributions. Distinguishes from sibling 'contributions' by stating the computation direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it is the 'inverse of contributions', implying when to use versus the sibling tool. No explicit when-not or alternative list, but the inverse relationship provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
required-returnRequired ReturnARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Target ending value. | |
| begin | Yes | Starting value. | |
| years | Yes | Number of years. | |
| annualContribution | No | Optional. Amount added each year (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ratePct | No | Annual rate, percent (null if unreachable). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and idempotent, so the description's burden is lower. The description adds useful behavioral details: returns a percent, can return null when unreachable, and the relationship to CAGR. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the primary function, the second clarifies the CAGR equivalence and edge case (null). No redundant words, and the key information is front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers all necessary context: what it computes, when it equals CAGR, and return type with null handling. It does not need to explain output schema details since one exists. Sibling tool richness is acknowledged via the CAGR link.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. The description enhances semantics by explaining the overall formula (growth from start to target over years) and the role of annual contribution. It clarifies that the tool computes an annual return rate, which is not explicit from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes an annual return to grow a start value to a target over years, optionally with contributions. It explicitly links to sibling CAGR tool when no contribution, distinguishing it from other tools. The verb 'grow' and specific parameters 'start, target, years' make the purpose precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by noting that without contribution the result equals CAGR, implicitly guiding when to use this vs the CAGR sibling. It also mentions the null return case for unreachable targets. However, it does not explicitly list when not to use or contrast with other sibling tools beyond CAGR.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
return-statsReturn StatisticsARead-onlyIdempotentInspect
Mean, sample variance, and sample standard deviation (n-1) of a series of returns. Pass percents to get a percent stdev (volatility).
| Name | Required | Description | Default |
|---|---|---|---|
| returns | Yes | The return series (e.g. yearly percents). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mean | No | Mean return. |
| count | No | Number of returns. |
| stdev | No | Sample stdev / volatility (null if <2). |
| variance | No | Sample variance (null if <2). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states the use of n-1 for sample variance/standard deviation, and that passing percents yields percent outputs. This adds behavioral detail beyond the annotations (which already indicate read-only and idempotent). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no extraneous information. It front-loads the key outputs and provides a practical hint about input units.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one well-documented parameter and an output schema present, the description sufficiently covers the tool's behavior. It mentions sample statistics and percent handling, making it complete for a straightforward calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value by explaining that inputs can be percents and that the standard deviation will be in the same units. This goes beyond the schema description which only provides an example of yearly percents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly lists the three statistics computed (mean, sample variance, sample standard deviation) and the resource is 'a series of returns'. It distinguishes itself from sibling financial calculators by focusing on raw sample statistics, but could be more explicit about the output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions passing percents to get percent volatility, which gives context for input units. However, it does not provide explicit guidance on when to use this tool versus alternatives like population statistics or other sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roaReturn on AssetsARead-onlyIdempotentInspect
Return on assets, percent: net income over total assets.
| Name | Required | Description | Default |
|---|---|---|---|
| netIncome | Yes | Net income. | |
| totalAssets | Yes | Total assets. |
Output Schema
| Name | Required | Description |
|---|---|---|
| roaPct | No | Return on assets, percent (null if assets<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint and idempotentHint, so the description's addition of 'percent' is minimal. It doesn't describe any side effects beyond the calculation, but 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) and front-loads the purpose. Minor improvement could be structuring the formula more explicitly, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, complete schema, and annotations, the description is adequate. It doesn't explain the return format (though output schema exists), but for a basic financial ratio this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are documented in the schema with clear descriptions. The description adds the formula relationship but no additional semantics. Schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes 'Return on assets, percent: net income over total assets.' It specifies the verb 'return' (compute) and the resource (ROA), and the formula distinguishes it from siblings 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.
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., ROE, ROI) or any prerequisites. It lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roeReturn on EquityARead-onlyIdempotentInspect
Return on equity, percent: net income over shareholders' equity.
| Name | Required | Description | Default |
|---|---|---|---|
| equity | Yes | Shareholders' equity. | |
| netIncome | Yes | Net income. |
Output Schema
| Name | Required | Description |
|---|---|---|
| roePct | No | Return on equity, percent (null if equity<=0). |
Tool Definition Quality
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 formula but does not disclose potential edge cases like division by zero or error handling. It adds some transparency beyond annotations but not significant context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with one sentence that is front-loaded with the result ('return on equity, percent'). Every word is necessary; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter calculation with full schema coverage and an output schema, the description is complete. It explains what it computes effectively, leaving no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters well described. The description does not add any additional meaning beyond what the schema already provides, such as expected units or constraints. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool calculates return on equity as a percentage using net income over shareholders' equity. It specifies the verb ('return on equity') and the resource ('net income over shareholders' equity'), and distinguishes itself among many financial sibling tools by naming a specific formula.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description implies use when ROE is needed, but does not mention alternatives or exclusions. With many sibling tools, this lack of differentiation reduces clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roiROIARead-onlyIdempotentInspect
Return on investment: total percent gain, plus the annualized rate when a holding period in years is given.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Optional. Holding period in years, for the annualized rate. | |
| initial | Yes | Amount invested. | |
| finalValue | Yes | Ending value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| roiPct | No | Total return, percent. |
| annualizedPct | No | Annualized return, percent (null if no years). |
Tool Definition Quality
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 read operation. The description adds that it computes total percent gain and annualized rate, which aligns with annotations. No additional behavioral traits (e.g., edge cases) are disclosed, but the annotations cover the essential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no unnecessary words. Every sentence provides distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, good annotations, and presence of an output schema, the description is largely complete. It clearly states what is computed. Minor gap: no mention of return format or edge cases like zero years, but output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents each parameter. The description adds that 'years' is for annualized rate and 'initial' and 'finalValue' are amounts, but this is minimally beyond the schema's descriptions. The value added is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates return on investment as total percent gain and annualized rate given years. It uses a specific verb ('calculate' implied) and resource ('return on investment'), and the formula is distinct from sibling tools like CAGR or holding-period-return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when not to use it or suggest sibling tools like cagr for CAGR calculations or holding-period-return for holding period returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rule-of-72Rule of 72ARead-onlyIdempotentInspect
Years to double: the rule-of-72 estimate (72/rate) and the exact figure (ln2 / ln(1+rate)).
| Name | Required | Description | Default |
|---|---|---|---|
| ratePct | Yes | Growth rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| years72 | No | 72/rate estimate. |
| exactYears | No | Exact doubling time. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint true and readOnlyHint true. The description adds value by revealing that the tool returns both an approximate (72/rate) and an exact (ln2/ln(1+rate)) result, going beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is front-loaded with the key purpose. Every word contributes meaning, and there is no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one required parameter and an existing output schema, the description is complete for this simple tool. It covers the computation adequately without needing further elaboration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for ratePct ('Growth rate in percent'). The tool description does not add additional semantics beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Years to double' and specifies both the rule-of-72 estimate and the exact figure, leaving no ambiguity about what the tool computes. It effectively distinguishes from sibling tools like 'compound-interest' or 'future-value'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for doubling time calculations but provides no explicit guidance on when to use this tool versus alternatives or any prerequisites. The context of many financial siblings suggests need for differentiation, which is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
salary-to-hourlySalary to HourlyARead-onlyIdempotentInspect
Hourly rate implied by an annual salary.
| Name | Required | Description | Default |
|---|---|---|---|
| annualSalary | Yes | Annual salary. | |
| hoursPerWeek | No | Hours per week (default 40). | |
| weeksPerYear | No | Weeks per year (default 52). |
Output Schema
| Name | Required | Description |
|---|---|---|
| hourly | No | Hourly rate (null if hours<=0). |
Tool Definition Quality
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 operation. The description adds no further behavioral context, but does not contradict annotations. Since annotations carry the burden, the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (3 parameters, 1 required, no enums, output schema exists). The description and annotations together provide complete context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (annualSalary, hoursPerWeek, weeksPerYear). The description does not add any additional meaning beyond what the schema provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hourly rate implied by an annual salary' clearly states the tool's function: converting salary to hourly rate. It uses a specific verb ('implied') and resource ('annual salary'), and distinguishes from the sibling 'hourly-to-salary'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs alternatives like 'hourly-to-salary', but the conversion direction is implied by the name. No exclusions or prerequisites are mentioned, which is acceptable for a simple calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
savings-rateSavings RateBRead-onlyIdempotentInspect
Fraction of income saved (savings divided by income). Returns a decimal.
| Name | Required | Description | Default |
|---|---|---|---|
| income | Yes | Income. | |
| savings | Yes | Amount saved. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating a pure computation. The description adds that it returns a decimal, but discloses no additional behavioral traits such as handling of zero income, precision, or validation rules. Given annotation coverage, the description adds minimal extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the formula and output type. Every word is necessary and there is no redundancy. It is optimally concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and presence of output schema and annotations, the description is mostly adequate. However, it omits crucial context such as handling of division by zero when income is zero, which could lead to runtime errors. This gap prevents the agent from anticipating failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not elaborate on the parameters' meaning beyond the schema's minimal 'Income.' and 'Amount saved.' It fails to clarify whether values should be in same currency, period, or gross/net. Thus it adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the fraction of income saved via division. It uses specific terms 'savings divided by income' and clarifies the output is a decimal. However, it does not explicitly differentiate from sibling tools that also compute ratios (e.g., contribution-margin), though the unique formula distinguishes it implicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative ratio or rate calculations. There is no mention of prerequisites, contexts where this rate is appropriate, or exclusions for edge cases (e.g., negative income). The agent receives no decision-making support beyond the function's literal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sharpe-ratioSharpe RatioARead-onlyIdempotentInspect
Sharpe ratio: excess mean return per unit of volatility, (mean - riskFree) / stdev. Null when volatility is undefined or zero.
| Name | Required | Description | Default |
|---|---|---|---|
| returns | Yes | The return series (percents). | |
| riskFreePct | No | Risk-free rate in the same unit (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| sharpe | No | Sharpe ratio (null if no volatility). |
| meanPct | No | Mean return. |
| stdevPct | No | Volatility. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only and idempotent behavior. The description adds value by specifying the edge case of null when volatility is zero or undefined, providing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with the formula front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, one required), the description covers the calculation and edge case. An output schema exists, so return value explanation is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters described. The description adds the formula context but does not elaborate on parameter meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes the Sharpe ratio as excess mean return per unit of volatility, provides the formula, and notes the null case when volatility is zero or undefined. It is 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.
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, but the name and formula imply it is for risk-adjusted return evaluation. No guidance on when not to use it or reference to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
straight-line-depreciationStraight-Line DepreciationARead-onlyIdempotentInspect
Straight-line depreciation: value falling evenly to a salvage value over a useful life.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Starting value. | |
| salvage | Yes | Salvage value. | |
| usefulYears | Yes | Useful life in years. | |
| yearsElapsed | Yes | Years elapsed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No | Result value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating a safe, deterministic calculation. The description adds that the value falls evenly, which is the core behavior. No additional behavioral details 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the tool's name and concept. No unnecessary words; every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mathematical calculation with full schema and assumed output schema, the description is sufficient. However, it could briefly mention what the function returns (e.g., annual depreciation).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's straight-line depreciation, explaining the concept of even decline to salvage value over useful life. It distinguishes from siblings like declining-balance and double-declining.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'declining-balance-depreciation' or 'units-of-production-depreciation'. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
successive-discountsSuccessive DiscountsARead-onlyIdempotentInspect
Stacked discounts applied in order: the final price and the effective single discount rate.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Original price. | |
| discountsPct | Yes | Discounts in percent, applied in order. |
Output Schema
| Name | Required | Description |
|---|---|---|
| finalPrice | No | Final price. |
| effectivePct | No | Effective single discount, percent (null if price=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly hint and idempotent hint. The description adds that discounts are 'applied in order' and that the result includes both final price and effective rate, which is valuable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core functionality without extraneous words. It is front-loaded and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown but present), the description need not detail return values. It mentions the key outputs. However, it lacks discussion of edge cases (e.g., discounts exceeding 100%) or assumptions, which might be useful for a calculation tool. Still largely complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reiterates 'applied in order' which is already in the schema's property description. It adds no new meaning about how the price or discounts are used, such as handling of negative discounts or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool computes the final price after applying stacked discounts in order and also yields an effective single discount rate. The verb 'applied' and resource 'discounts' are clear, and it distinguishes from the sibling 'discount' tool which likely handles a single discount.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., the sibling 'discount' tool). It does not mention prerequisites, exclusions, or typical scenarios. Implicitly, it is for multiple successive discounts, but explicit comparison is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sum-of-years-digitsSum-of-Years' Digits DepreciationBRead-onlyIdempotentInspect
Sum-of-the-years'-digits depreciation: the depreciable base weighted toward the early years.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year (1-based). | |
| value | Yes | Initial cost. | |
| salvage | Yes | Salvage value. | |
| usefulYears | Yes | Useful life in years. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bookValue | No | Book value at year end. |
| depreciation | No | Depreciation this year. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, indicating the tool is safe and deterministic. The description does not contradict these but adds minimal behavioral context (e.g., no mention that it returns per-year depreciation). Since annotations carry the behavioral burden, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, with no wasted words. It is front-loaded with the tool's identity. However, it could be improved by using a verb phrase (e.g., 'Computes...') to be more action-oriented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is incomplete. It does not state that the tool returns the depreciation amount for a specific year, nor does it describe the depreciation base calculation. The agent would need to rely on the output schema or trial-and-error to understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions (100% coverage) for all four parameters: year (1-based), value (initial cost), salvage, and usefulYears. The description does not add any meaning beyond what the schema already states, so it receives the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as sum-of-the-years'-digits depreciation and mentions it is weighted toward early years. It specifies the exact depreciation method, which distinguishes it from siblings like straight-line or declining balance. However, it does not use an action verb like 'calculate' or 'compute', slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as double-declining or straight-line depreciation. No conditions, prerequisites, or exclusions are mentioned, leaving the agent to infer appropriate usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tax-equivalent-yieldTax-Equivalent YieldARead-onlyIdempotentInspect
Tax-equivalent yield: the taxable yield that matches a tax-free (e.g. muni) yield. Percents in and out.
| Name | Required | Description | Default |
|---|---|---|---|
| taxRatePct | Yes | Marginal tax rate in percent. | |
| taxFreeYieldPct | Yes | Tax-free yield in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| taxEquivalentPct | No | Tax-equivalent yield, percent (null if tax>=100%). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, signaling safe, idempotent behavior. The description adds only that inputs and outputs are in percent. No additional behavioral traits (e.g., edge cases, precision) are disclosed. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no extraneous information. The definition is 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (present but not shown) and is simple. The description covers the core concept and units. Missing a brief note about the output format (e.g., returning a percentage) would be a minor improvement, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for both parameters (units in percent). The description reinforces 'Percents in and out' but adds no new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool computes: the taxable yield equivalent to a given tax-free yield. It uses specific verb 'matches' and identifies the resource as 'tax-free (e.g. muni) yield'. This distinguishes it from siblings like 'after-tax-yield' which does the inverse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'tax-free (e.g. muni) yield' but does not explicitly contrast with alternatives like 'after-tax-yield' or state when to use this tool versus other yield calculators. No exclusion criteria 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.
tax-from-bracketsTax from BracketsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| income | Yes | Taxable income. | |
| brackets | Yes | Ordered tax bands. The final band may omit upTo to run to infinity. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tax | No | Total tax. |
| marginalRatePct | No | Marginal rate, percent. |
| effectiveRatePct | No | Effective rate, percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to cover safety. It adds that the tool is progressive tax and returns three values, but does not detail edge cases like bracket ordering or negative income.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with purpose and key constraints. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple computation tool with two well-documented parameters and an output schema, the description is largely complete. It could mention bracket ordering or validation, but not necessary given schema detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description reinforces the bracket structure (ordered bands, final band may omit upTo), but adds minimal new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes progressive tax from user-supplied brackets, and explicitly mentions the outputs (total tax, effective rate, marginal rate). It distinguishes itself by noting no jurisdiction, year, or rates are baked in.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to pass brackets themselves and that no predefined data is used. It implies when to use this tool, though it doesn't explicitly 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.
tip-splitTip SplitARead-onlyIdempotentInspect
Tip and split: the tip amount, the total, and the per-person share.
| Name | Required | Description | Default |
|---|---|---|---|
| people | No | Number of people (default 1). | |
| tipPct | Yes | Tip in percent. | |
| billAmount | Yes | Bill amount. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tip | No | Tip amount. |
| total | No | Total with tip. |
| perPerson | No | Per-person share. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds minimal behavioral context beyond listing outputs, but does not contradict annotations and provides acceptable clarity for a calculation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that conveys the core function without any fluff. Front-loaded and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with an output schema, the description adequately covers the tool's purpose. It mentions the three key outputs, which is sufficient for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all parameters with descriptions, so coverage is 100%. The tool description adds no additional semantic meaning beyond what the schema provides, earning a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates tip amount, total, and per-person share, with a specific verb and resource. It distinctly separates this tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives like a simple split or tip-only calculator. There is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unit-priceUnit PriceARead-onlyIdempotentInspect
Unit price: price divided by quantity (for comparing pack sizes). Null when quantity is zero.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price. | |
| quantity | Yes | Quantity / size. |
Output Schema
| Name | Required | Description |
|---|---|---|
| unitPrice | No | Price per unit (null if quantity=0). |
Tool Definition Quality
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 the key behavioral trait that the result is null when quantity is zero, which is important and not captured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the essential information immediately. Every word serves a purpose without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (two numeric parameters, a straightforward calculation, and an output schema), the description fully covers behavior, including the edge case of zero quantity. No additional details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with minimal descriptions for each parameter. The description adds meaning by explaining how the parameters are used (price divided by quantity) and an edge case (null when quantity is zero), going beyond the schema's basic labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool computes unit price as price divided by quantity, with a clear purpose for comparing pack sizes. This is a specific verb+resource combination that distinguishes it from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool (comparing pack sizes) but does not explicitly mention alternative tools or when not to use it. Given the specificity, it is adequate for guiding agent selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
units-of-production-depreciationUnits-of-Production DepreciationARead-onlyIdempotentInspect
Units-of-production depreciation: the depreciable base spread over total expected units, charged by the units used this period.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Initial cost. | |
| salvage | Yes | Salvage value. | |
| totalUnits | Yes | Total expected units over the life. | |
| unitsThisPeriod | Yes | Units produced this period. |
Output Schema
| Name | Required | Description |
|---|---|---|
| depreciation | No | Depreciation this period (null if totalUnits<=0). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only and idempotent (safe, no side effects). The description adds context by stating the calculation method (depreciable base spread over units), which reinforces the pure computational nature. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with the tool's name and method. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple financial calculation tool with a well-defined input schema and an output schema (present), the description provides sufficient context explaining the method. Combined with the schema, an AI agent can correctly invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides 100% coverage with detailed descriptions for all four parameters (value, salvage, totalUnits, unitsThisPeriod). The description adds no additional parameter 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs units-of-production depreciation, specifying the formula: depreciable base spread over total expected units, charged by units used this period. It distinguishes itself from sibling methods like straight-line-depreciation and double-declining-depreciation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this depreciation method versus alternatives. The description does not mention that it is ideal for assets with usage-based wear and tear, nor does it exclude other cases. No explicit when/when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vatVATARead-onlyIdempotentInspect
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.).
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | The price. | |
| ratePct | Yes | VAT rate in percent (e.g. 19 or 7). | |
| inclusive | No | false (default): amount is net, add the tax. true: amount is gross, extract the tax. |
Output Schema
| Name | Required | Description |
|---|---|---|
| net | No | Net price. |
| tax | No | Tax amount. |
| gross | No | Gross price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint) indicate a safe, deterministic operation. Description adds behavioral nuance about net vs gross modes and default 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main purpose, no extraneous words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers all key aspects: operation, modes, rate context. Output schema exists so return values need not be described. Complete for a simple calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by explaining the two modes (net vs gross), default behavior, and example rates, going beyond the literal schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verbs ('adds', 'extracts') and clearly defines the resource (VAT on a price). It distinguishes from siblings by being the only VAT-specific tool among many financial calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains when to use inclusive=true vs false, and gives example rates (19 or 7 for Germany). Does not explicitly state when not to use, but the context of sibling tools makes this less necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waccWACCARead-onlyIdempotentInspect
Weighted average cost of capital: equity and after-tax debt weighted by the capital structure. Percents in and out.
| Name | Required | Description | Default |
|---|---|---|---|
| debt | Yes | Market value of debt. | |
| equity | Yes | Market value of equity. | |
| taxRatePct | Yes | Tax rate in percent. | |
| costDebtPct | Yes | Cost of debt in percent. | |
| costEquityPct | Yes | Cost of equity in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| waccPct | No | WACC, percent (null if no capital). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds 'Percents in and out' to clarify unit convention beyond annotations (readOnlyHint, idempotentHint). No contradictions. Does not describe any side effects or assumptions like 'after-tax debt' explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences only, no filler. Front-loaded with purpose, then format clarification. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has output schema, no need to describe return format. The description implies the standard WACC formula, which is sufficient for a user familiar with the concept. Could add formula explicitly for more clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already has 100% coverage with clear descriptions. The description adds context that the calculation weights equity and after-tax debt by capital structure, reinforcing the formula.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states it computes weighted average cost of capital using equity and after-tax debt weighted by capital structure. Clear verb+resource, but does not distinguish from sibling tools like 'required-return' or 'discount'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'required-return' or 'yield-to-maturity'). Assumes user knows context from name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xirrXIRRARead-onlyIdempotentInspect
Date-aware internal rate of return: the annual rate that zeroes the XNPV of irregular dated cashflows. Null if no rate fits.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Dated cashflows; the first date is the valuation date. |
Output Schema
| Name | Required | Description |
|---|---|---|
| xirrPct | No | Date-aware IRR, percent (null if none). |
Tool Definition Quality
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 that the tool returns null if no rate fits, which goes 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that captures the essence of the tool and includes a critical return value note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool with one parameter and an existing output schema, the description provides sufficient mathematical context and the null case. Edge cases like date conventions are not covered, but the combination of schema, annotations, and description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (date, amount, valuation date). The tool description does not add new parameter information beyond what the schema already 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as computing the date-aware internal rate of return (XIRR) for irregular dated cashflows, distinguishing it from siblings like 'irr' which likely assume regular periods. It also notes null return when no rate fits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for irregular dated cashflows (vs. regular periods for 'irr'), but does not explicitly state when not to use or provide alternatives. The context of sibling tool names helps, but the description itself lacks explicit guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xnpvXNPVARead-onlyIdempotentInspect
Date-aware net present value: each amount discounted by its fractional years (act/365) from the first cashflow's date. Annual rate in percent.
| Name | Required | Description | Default |
|---|---|---|---|
| cashflows | Yes | Dated cashflows; the first date is the valuation date. | |
| annualRatePct | Yes | Annual discount rate in percent. |
Output Schema
| Name | Required | Description |
|---|---|---|
| npv | No | Date-aware net present value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and read-only behavior. The description adds valuable detail on discounting method (act/365) and rate unit (percent), enhancing 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.
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 core concept and calculation specifics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the discounting method and rate unit. With an output schema present, it is fairly complete, though it could mention constraints like sorting of cashflows or handling of multiple cashflows on the same date.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The tool description does not add new parameter details beyond summarizing the overall calculation, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a 'Date-aware net present value', specifying the calculation method and distinguishing it from sibling tools like 'npv' (which likely ignores dates) and 'xirr' (which calculates IRR).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for date-specific NPV but does not explicitly compare to alternatives or provide when-to-use/when-not-to-use guidance. Given the many financial siblings, more explicit context would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yield-to-maturityYield to MaturityBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Current bond price. | |
| years | Yes | Years to maturity. | |
| faceValue | Yes | Face (par) value repaid at maturity. | |
| couponRatePct | Yes | Annual coupon rate in percent of face. | |
| periodsPerYear | No | Coupon periods per year (default 2 = semiannual). |
Output Schema
| Name | Required | Description |
|---|---|---|
| yieldPct | No | Nominal annual yield, percent (null if none). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent. The description adds that the calculation is numerical and may return null, which provides some behavioral context. However, it does not elaborate on numerical method limitations or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (22 words), single sentence, front-loaded with the tool's identity. Every word adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the financial complexity and 5 parameters, the description is scant. It omits common assumptions (e.g., reinvestment of coupons, hold-to-maturity) and does not leverage the output schema. However, schema descriptions and annotations cover some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds no new parameter meaning beyond the schema, mentioning 'periodic coupons' and 'face returned at maturity' which are already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes bond yield to maturity, with specific details on nominal annual yield, periodic coupons, and face value. It distinguishes the tool's purpose from siblings like bond-price or current-yield, though not explicitly contrasted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., current-yield, bond-duration). The description lacks context on appropriate scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zero-coupon-priceZero-Coupon PriceARead-onlyIdempotentInspect
Price of a zero-coupon bond: face value discounted to today at the yield.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Years to maturity. | |
| yieldPct | Yes | Annual yield in percent. | |
| faceValue | Yes | Face value. | |
| compoundingPerYear | No | Compounding periods per year (default 1). |
Output Schema
| Name | Required | Description |
|---|---|---|
| price | No | Zero-coupon price. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. Description adds formula detail (discounting) but doesn't elaborate on potential edge cases or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence that captures the essence. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple calculation tool given output schema exists. Could mention compounding parameter context, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage). Description adds no further parameter specifics beyond the overall formula. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it prices a zero-coupon bond by discounting face value. Distinguishes from sibling tools like bond-price that likely handle coupon bonds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs siblings. Implicitly it's for zero-coupon bonds, but alternatives (e.g., bond-price) are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!