UK Data: Finance formulas
Server Details
Compound and simple interest, investment growth, future value, CAGR, dividends and tax at a rate
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 10 tools
Several tools are functionally near-duplicates: calculate_discount and calculate_discounted_price do essentially the same thing, and calculate_investment_return, compound_interest, future_investment_value, and project_investment_growth are all compound-interest variants whose boundaries an agent will struggle to pick between. Only cagr, calculate_tax, calculate_interest, and calculate_dividend_per_share are clearly distinct.
Most tools use a readable calculate_X pattern, but cagr, compound_interest, future_investment_value, and project_investment_growth drop the verb and switch to bare noun phrases, and 'cagr' is an acronym with no verb. The mixed verb-vs-noun convention makes intent less predictable than a single scheme would.
Ten tools is a reasonable scope for a finance formula library. The count itself is fine; the problem is that a few slots are spent on redundant discount/compound-interest variants rather than missing operations.
Core areas are covered (growth, interest, discount, tax, dividends), but obvious finance operations are missing: present value/discounting, NPV, IRR, loan payment/amortization, and simple ROI. Agents asking for those standard calculations will hit dead ends.
Available Tools
10 toolscagrARead-onlyIdempotentInspect
Calculates the Compound Annual Growth Rate (CAGR) using the formula CAGR = (end_value/start_value)^(1/years) - 1. Returns the annualized rate of return as a percentage. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | number, required, number of years (must be positive) | |
| end_value | No | number, required, final investment value | |
| start_value | No | number, required, initial investment value |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so safety is covered. The description adds genuinely useful context beyond that: the return is a percentage, the exact computation is disclosed, and a credit cost is stated — unusual and helpful operational information.
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 compact sentences: purpose plus formula first, output form second, cost last. Nothing is redundant and the most decision-relevant information is 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 three-parameter pure calculation with no output schema, the description covers purpose, computation, output unit, and cost — everything needed to call it correctly. Edge cases like zero start_value are minor and arguably belong 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?
Schema coverage is 100%, so baseline is 3, but the description goes further by embedding each parameter in the formula, making clear that start_value is the denominator and years is an exponent denominator. That clarifies role and ordering in a way the one-line schema descriptions do not.
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?
States a specific verb and named metric ('Calculates the Compound Annual Growth Rate (CAGR)') and even supplies the formula, so the operation is unmistakable. It does not, however, differentiate itself from finance siblings like calculate_investment_return, project_investment_growth, or compound_interest, which an agent may confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the formula and the metric name — an agent knows this is for annualized growth between two values over N years. There is no explicit when-to-use/when-not guidance and no mention of the sibling tools that compute related return figures.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_discountARead-onlyIdempotentInspect
Calculates the discounted price after applying a percentage discount to the original price. Returns both discount amount and final price. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| original_price | No | number, required, original price before discount, currency units, no default | |
| discount_percentage | No | number, required, discount percentage, plain number (20 = 20%), no default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, non-destructive, and open-world, so the description need not repeat safety traits. It usefully adds that the result contains both discount amount and final price and discloses a 1-credit cost, though it does not mention rounding or invalid-input behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the operation and output, and the cost note is compact. There is no redundant or buried 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 two-parameter calculation with complete schema descriptions and annotations, the definition gives enough to call and interpret the tool. The absence of an output schema is offset by the statement that it returns discount amount and final price.
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 already defines original_price and discount_percentage with units and percentage conventions. The description adds no parameter-level detail beyond restating that a percentage discount is applied.
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 a specific verb and resource and explains the output: discounted price, discount amount, and final price. It does not distinguish this tool from the near-identical sibling calculate_discounted_price, so sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the calculation context, but the description gives no explicit when-to-use guidance, prerequisites, or comparison with alternatives such as calculate_discounted_price. An agent must infer selection from the name and purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_discounted_priceARead-onlyIdempotentInspect
Calculates the final price after applying a discount percentage to the original price, rounded to 2 decimal places. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| original_price | No | number, required, the original price before discount | |
| discount_percentage | No | number, required, the discount percentage (e.g., 20 for 20% off) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, and open-world behavior. The description usefully adds that the result is rounded to 2 decimal places and that invocation costs 1 credit, which is operational context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is one front-loaded sentence plus a short cost note, with no redundant wording. Every element contributes useful 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 two-parameter pure calculation with full schema coverage and no output schema, the description is complete enough. It states the calculation, rounding behavior, and credit cost without needing further return-value explanation.
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 schema already explains original_price and discount_percentage, including an example percentage. The description adds no parameter-level meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: calculates the final price after applying a discount percentage, with rounding behavior. It is clear what the tool does, but it does not distinguish itself from the sibling calculate_discount tool.
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?
There is no explicit when-to-use guidance, no exclusions, and no routing to or from the closely related calculate_discount sibling. The purpose implies a use case, but the definition leaves alternative selection unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_interestARead-onlyIdempotentInspect
Calculates simple interest using the formula: Interest = Principal × Rate × Time. Rate should be provided as a percentage and time in years. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| time_period | No | number, required, time period in years | |
| interest_rate | No | number, required, annual interest rate as a percentage (e.g., 5 for 5%) | |
| principal_amount | No | number, required, principal amount in currency units |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile needs no restating. The description adds one genuinely new behavioral fact — that each call costs 1 credit — but says nothing about rounding, currency assumptions, or error behavior for negative/zero inputs.
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 short sentences front-loaded with the verb, formula, and unit conventions, plus a parenthetical cost note. Nothing is padding and nothing important is buried at the end.
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 three-parameter pure-calculation tool with full schema coverage and rich annotations, the description covers everything needed to call it correctly. The only mild gap is that no output schema exists and the description does not state the result's format or rounding, though for simple interest that is largely self-evident from 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%, so all three parameters are already documented with types and examples. The description's note that rate is a percentage and time is in years largely repeats the schema text, adding only the formula that maps the three fields together, which earns a baseline 3 rather than more.
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?
States a specific verb and resource ('Calculates simple interest') and even gives the exact formula, so the computation is unambiguous. The word 'simple' implicitly separates it from the sibling compound_interest, but it never names that alternative explicitly, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'simple interest' suggests it fits flat-rate, single-period calculations, but there is no statement of when to prefer compound_interest, calculate_investment_return, or loan_repayment instead. An agent working from this description alone would have to guess the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_investment_returnBRead-onlyIdempotentInspect
Calculates the return on investment using compound interest formula. Returns the final amount and total return given an initial deposit, annual interest rate (as a percentage), and investment period in years. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| num_years | No | number, required, investment period in years | |
| interest_rate | No | number, required, annual interest rate as a percentage (e.g., 5 for 5%) | |
| initial_amount | No | number, required, initial deposit or principal amount in currency units |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds useful context by naming the compound interest formula, describing the returned final amount and total return, and stating a 1-credit cost. It does not disclose compounding frequency or other assumptions, so it adds some but not rich behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences plus a parenthetical cost note. It front-loads the purpose, then states outputs and inputs with no unnecessary wording.
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 and the schema plus annotations cover most structured details. However, for an agent choosing among many similar investment and interest calculators, the description lacks sibling differentiation and does not specify the compounding assumption, leaving meaningful ambiguity.
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 schema already defines the initial deposit, annual interest rate as a percentage, and investment period in years. The description restates those meanings without adding format, constraints, or examples beyond the schema, which is the baseline for fully documented 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 gives a specific verb and resource: calculates return on investment using the compound interest formula. It also states the returned values and the inputs. It does not distinguish itself from similar sibling tools such as compound_interest, future_investment_value, or project_investment_growth, so it is clear but lacks sibling differentiation.
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 when-to-use guidance, no exclusions, and no alternatives. The presence of similar compound-interest and investment-growth siblings makes routing ambiguous, and the description only implies usage through its listed inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_taxBRead-onlyIdempotentInspect
Calculates the tax amount by applying a tax rate percentage to an income or price amount. Formula: amount × (rate / 100). (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| income | No | number, required, income or price amount, currency units, no default | |
| tax_rate | No | number, required, tax rate percentage, plain number (10 = 10%), no default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely new context with the explicit formula and the '(cost: 1 credit)' notice, which appears nowhere in structured fields. However, rounding and precision behaviour, a material concern for a money calculation, are left undisclosed.
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 short sentences, front-loaded with the operation and immediately followed by the formula the agent needs, then the credit cost. Nothing is padded and nothing is buried.
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 two-parameter arithmetic tool with full schema coverage and no output schema, the description plus schema is nearly sufficient to call it correctly. The only meaningful omission is rounding/precision and currency handling of the returned tax amount.
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 both parameters (income, tax_rate) are already documented, including the '10 = 10%' convention. The formula restates the relationship between the parameters in a compact way but adds no constraint or edge-case meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculates the tax amount') plus the exact operation performed on the two inputs, so the agent knows precisely what comes back. It does not distinguish itself from nearby siblings such as vat, calculate_discount, calculate_tip or stamp_duty, all of which take an amount and a percentage rate.
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?
There is no statement of when to prefer this tool over vat or calculate_discount, nor any prerequisite or exclusion. The agent is given the mechanics of the computation but no routing guidance in a sibling set dense with percentage-of-amount calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compound_interestARead-onlyIdempotentInspect
Calculates compound interest using the formula A = P(1 + r/n)^(nt), where A is final amount, P is principal, r is annual rate, n is compounding frequency per year, and t is time in years. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | integer, required, number of times interest is compounded per year, no units, no default | |
| rate | No | number, required, annual interest rate, plain number (5 = 5%), no default | |
| time | No | number, required, investment duration, years, no default | |
| principal | No | number, required, initial investment amount, currency units, no default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the per-call cost of 1 credit and defines the output as the final amount A, but it does not discuss return formatting, precision, or behavioral edge cases. Given the annotation coverage, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the operation, formula, variable definitions, and cost. Every clause contributes to understanding how to use the tool, with no redundant or filler 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?
For a simple read-only calculator with rich schema descriptions and no output schema, the description supplies the formula, variable meanings, final-amount definition, and cost. Combined with the annotations and schema, an agent has enough information to invoke the tool 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 description coverage is 100%, and the schema already documents each parameter’s type, units, and required status. The description largely maps formula symbols back to those parameters without adding new constraints or edge-case behavior. The formula relationship is useful context, but the schema still carries most of the parameter meaning.
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 a specific verb and resource: it calculates compound interest. Supplying the exact formula and defining each variable makes the calculation unambiguous. It does not explicitly distinguish this tool from sibling calculators such as calculate_interest or future_investment_value, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the calculation but gives no guidance on when to use this tool rather than the many sibling finance calculators. It names no alternatives and states no exclusions or selection criteria, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
future_investment_valueARead-onlyIdempotentInspect
Calculates the future value of an investment using compound interest formula: FV = PV × (1 + r)^n, where r is annual interest rate and n is years. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | number, required, number of years for the investment | |
| present_value | No | number, required, current value or principal amount in currency units | |
| annual_interest_rate | No | number, required, annual interest rate as a percentage (e.g., 5 for 5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the description does not need to repeat safety traits. It adds useful behavioral context by disclosing the exact calculation model and a cost of 1 credit, though it does not discuss rounding or return-format details.
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 compact sentences with the core calculation front-loaded and the formula immediately available. The cost note is brief and useful, with no wasted wording.
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?
This is a simple three-parameter calculator with full schema coverage and annotations covering safety behavior, so the definition is nearly complete. A little more detail on the expected return value or rate convention would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the input schema. The description adds the formula mapping between present value, annual interest rate, and years, but does not add much beyond what the schema already explains about parameter meaning.
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 a specific verb and resource: calculating an investment's future value, and gives the exact compound-interest formula. It is clear what the tool computes, but it does not explicitly distinguish itself from nearby siblings such as compound_interest or calculate_investment_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?
Usage is implied by the specific formula and output type, so an agent can infer this is the tool for future value with annual compounding. However, there is no explicit when-to-use guidance, no exclusions, and no routing to similar financial calculation siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
project_investment_growthARead-onlyIdempotentInspect
Projects investment growth over years using compound interest with optional annual additions and inflation adjustment. Formula: FV = PV(1+r)^n + PMT×[((1+r)^n - 1)/r], with each annual addition made at the end of the year. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | integer, required, number of years, years, no default | |
| principal | No | number, required, initial investment amount, currency units, no default | |
| return_rate | No | number, required, annual return rate, plain number (7 = 7%), no default | |
| annual_addition | No | number, optional, yearly contribution amount, currency units, default 0 | |
| inflation_adjusted | No | boolean, optional, adjust for inflation, no unit, default false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, so the bar is lower; the description still adds real behavioral detail by specifying the end-of-year contribution convention (which materially changes results) and the cost of 1 credit. It does not explain what output shape comes back (final value vs. a year-by-year schedule), which is the main remaining behavioral unknown.
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 tight sentences with the purpose and formula front-loaded, the timing convention immediately after, and the credit cost in a trailing parenthetical. Nothing is redundant and every clause adds usable 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 no output schema, the description should say whether the result is a single future value, a growth series, or both, and it does not. It also leaves the inflation-adjustment mechanism unspecified even though there is no inflation-rate parameter to drive it, which is a meaningful gap for a projection 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 baseline is 3; the description earns above that by mapping the formula terms onto the parameters — PMT as the annual addition arriving at year-end, n as years, r as the periodic rate — which the schema alone does not state. It still leaves "inflation_adjusted" ambiguous, since no inflation rate parameter exists and the description does not say what rate is assumed.
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?
States a specific verb and resource ("Projects investment growth") and pins down the method with an explicit compound-interest formula, so an agent knows exactly what computation happens. It never names or distinguishes the obvious siblings compound_interest, future_investment_value, or calculate_investment_return, so an agent cannot tell from the description alone why it should pick this one.
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?
Usage is only implied: the mention of "optional annual additions and inflation adjustment" hints at when this fits better than a plain compound-interest call, but there is no explicit when-to-use statement, no exclusions, and no reference to the near-duplicate sibling tools in the catalog.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
cagr - First observed
calculate_discount - First observed
calculate_discounted_price - First observed
calculate_dividend_per_share - First observed
calculate_interest - First observed
calculate_investment_return - First observed
calculate_tax - First observed
compound_interest - First observed
future_investment_value - First observed
project_investment_growth
Related MCP Connectors
Compound interest and Monte Carlo simulators for investing, retirement and past asset returns.
90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.
Interest and penalty calculation for AI: apply simple or compound interest, penalty and official cor
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceCalculate income tax (UK/US brackets), EU VAT, UK corporation tax, and capital gains tax. Provides estimates only - not professional tax advice.2 npm22 PyPIMIT

cinderfi-mcpofficial
FlicenseNot gradedqualityDmaintenanceTax-aware retirement planning for Canada and the US. CPP/OAS and Social Security timing, RRSP/TFSA/401k/IRA projections, Monte Carlo simulation, withdrawal order optimization, and historical backtesting against 150 years of market data.2-- AlicenseNot gradedqualityDmaintenanceProvides financial data including stock prices, cryptocurrency rates, forex rates, and compound interest calculations, as well as financial news retrieval through various APIs.1ISC
- AlicenseAqualityBmaintenanceDeterministic US equity-compensation tax optimizer. Six tools cover ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU vest-and-sell, single-stock concentration, protective put / zero-cost collar pricing, and Section 1202 QSBS qualification. Federal plus 50-state plus DC tax math.8249 npm6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.