Skip to main content
Glama

Retirement Atlas

Server Details

Retirement projections for 37 countries: UK drawdown, Australian super, pension income gaps.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation4/5

Each calculator targets a distinct regime: Australia super accumulation, UK drawdown, and a generic multi-country income gap, with list_retirement_calculators explicitly mapping countries to the right calculator. The only residual confusion is that an agent must consult the list tool (or know the country codes) to pick between the income-gap tool and the two country-specific ones, and the UK is excluded from the gap tool's country list without that being stated in the gap tool itself.

Naming Consistency4/5

All names are snake_case with a leading verb (calculate_* / list_*), which is predictable and readable. The minor deviation is that the country-specific calculators embed a country (australia, uk) while calculate_retirement_income_gap is multi-country, so the naming pattern is not perfectly parallel.

Tool Count4/5

Four tools is lean but each is a heavyweight, well-differentiated calculator rather than a fragmentation of one operation. The listing tool earns its place as the directory of 37 countries that the three calculators serve.

Completeness3/5

Coverage is broad on paper (37 countries) but deep on only two: there is no accumulation/projection model for countries other than Australia, no pension eligibility or State/Age Pension calculation anywhere, and no tax modelling outside the UK. These are acknowledged limitations in the descriptions, but they leave real dead ends for agents asked to model, say, a German saver's accumulation phase.

Available Tools

4 tools
calculate_australia_superAustralian super projectionA
Read-onlyIdempotent
Inspect

Projects an Australian superannuation balance to retirement (employer contributions, salary sacrifice, after-tax contributions, contribution tax and current caps, fees, inflation) and then retirement spending: the balance at retirement in nominal and today's dollars, a level annual budget, the gap to a target income and the age the money runs out. The Age Pension amount is an input; eligibility is not calculated. All fields are required; amounts in AUD, rates in percent per year.

NameRequiredDescriptionDefault
ageYesCurrent age; whole years.
feesYesAnnual percentage fee, percent
endAgeYesProjection end age; must exceed retirement age; whole years.
growthYesNominal annual return after investment earnings tax, before fees, percent
salaryYesAnnual salary excluding super, AUD
balanceYesCurrent super balance, AUD
afterTaxYesAfter-tax contribution, AUD per month in today's money
inflationYesAnnual inflation, percent
agePensionYesUser-supplied Age Pension estimate, AUD per year in today's money; eligibility not calculated
pensionAgeYesUser-supplied Age Pension payment start age; whole years.
employerRateYesEmployer contribution assumption, percent of salary; not a payroll liability calculation
salaryGrowthYesNominal annual salary growth, percent
targetIncomeYesTarget retirement spending, AUD per year in today's money
retirementAgeYesRetirement age; at least current age and 60; accumulation ends by 75; whole years.
annualFixedFeesYesFixed fees, AUD per year in today's money
salarySacrificeYesExtra pre-tax contribution, AUD per month in today's money
include_projectionNoAlso return annual cash-flow rows (default false: a compact summary).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: which outputs are produced (nominal vs today's dollars, level annual budget, gap to target, depletion age), that pension eligibility is excluded, that all fields are required, and the global unit conventions.

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

Conciseness4/5

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

Front-loaded with the verb and the two phases of the model, and every clause carries information. The first sentence is long and densely parenthetical, which slows scanning, but nothing is filler.

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

Completeness5/5

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

For a 17-parameter calculator with no output schema, the description enumerates the return values explicitly and flags the one non-obvious exclusion (pension eligibility). Combined with 100% schema coverage, an agent has everything needed to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter carries min/max plus prose, so the schema does the heavy lifting. The description adds only a global convention ('amounts in AUD, rates in percent per year') and the pension-as-input caveat, which largely restates what agePension's own schema text already says.

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

Purpose5/5

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

States a specific verb ('Projects') and a specific resource (Australian superannuation balance) with the full modeling scope spelled out — accumulation phase (contributions, tax, caps, fees, inflation) then retirement spending (budget, gap to target, depletion age). The Australian-super domain also implicitly separates it from calculate_uk_pension_drawdown and calculate_retirement_income_gap.

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

Usage Guidelines3/5

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

Scope exclusions are given ('The Age Pension amount is an input; eligibility is not calculated', and the schema note that employerRate is 'not a payroll liability calculation'), which tells the agent what this tool will not do. However, there is no explicit when-to-use guidance or routing to the sibling calculators, so the agent must infer selection from the domain name alone.

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

calculate_retirement_income_gapRetirement income gapA
Read-onlyIdempotent
Inspect

Retirement income gap for one of 35 countries (nl, se, dk, no, fi, is, cz, at, ch, pt, us, cn, de, jp, in, fr, it, ca, br, ru, kr, mx, es, id, tr, sa, pl, be, ar, ie, ae, sg, il, th, nz): from accessible savings, monthly saving, retirement spending and up to three pension streams the user enters (after tax, in today's money), the savings at retirement, the capital needed, the capital gap, the first-year monthly gap and the age the money runs out. It does not calculate national pension entitlements. All fields are required; amounts in the country's currency (see list_retirement_calculators), rates in percent per year; use monthly 0 for unused pension streams.

NameRequiredDescriptionDefault
ageYesCurrent age; whole years.
endAgeYesProjection end age; must exceed retirement age; whole years.
balanceYesAccessible savings in country currency; exclude capital behind entered pension payments
countryYesCountry code from list_retirement_calculators (not uk or au, which have their own tools).
incomesYesExactly three user-supplied pension streams. Use zero monthly amount for unused streams. No entitlement or tax estimation.
spendingYesMonthly retirement spending in today's country currency
inflationYesAnnual inflation, percent
netReturnYesNominal annual return after taxes and fees, percent; inflation is deducted by the model
monthlySavingYesMonthly savings in today's country currency
retirementAgeYesWork-stop age; at least current age; not an entitlement age; whole years.
include_projectionNoAlso return annual cash-flow rows (default false: a compact summary).

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, and the description adds useful behavioral constraints: all fields are required, national pension entitlements are out of scope, and currency/rate/unused-stream conventions apply. It does not discuss error handling or response format, but those are secondary for a deterministic calculator with annotations covering the safety profile.

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

Conciseness3/5

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

The description is front-loaded with the core purpose and avoids unnecessary narrative, but it spends substantial space enumerating all 35 country codes that are already available in the country enum. The single long sentence is dense and includes redundant structured-field content, which weakens conciseness.

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

Completeness5/5

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

For an 11-parameter tool with no output schema, the description supplies the missing return-value context by listing the computed outputs and explains the country scope, required inputs, currency/rate conventions, and calculation limitations. Nothing essential for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema, including the country enum, numeric ranges, and nested income object fields. The description reinforces conventions such as after-tax today's-money amounts, percent-per-year rates, and zero monthly income for unused streams, but mostly repeats schema text and says 'up to three' pension streams while the schema requires exactly three.

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

Purpose4/5

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

The description states that it computes a retirement income gap for one of 35 countries from accessible savings, monthly saving, retirement spending, and up to three pension streams, and it enumerates the returned outputs such as savings at retirement, capital needed, capital gap, first-year monthly gap, and depletion age. The country scope differentiates it from the UK/Australia-specific sibling tools, though those siblings are not explicitly named in the description.

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

Usage Guidelines4/5

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

It gives clear usage context: one of 35 listed countries, amounts in the country's currency, rates in percent per year, all fields required, and monthly 0 for unused pension streams. It also states that it does not calculate national pension entitlements. It stops short of explicitly naming calculate_australia_super or calculate_uk_pension_drawdown as the alternatives for those countries.

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

calculate_uk_pension_drawdownUK pension drawdown projectionA
Read-onlyIdempotent
Inspect

Projects UK pension drawdown month by month: the pot after any upfront tax-free cash, first-year net income after an estimate of UK or Scottish income tax, the age the pot runs out (if it does) and the final balance. The user's State Pension forecast is an input; it is never inferred. All fields are required; amounts in GBP, rates in percent per year.

NameRequiredDescriptionDefault
ageYesStarting age; does not establish pension access; whole years.
potYesStarting pension capital, GBP
feesYesAnnual percentage fee, percent
endAgeYesEnd of projection; must exceed age; whole years.
growthYesNominal annual investment return, percent before fees
regionYesStandard non-savings income tax region.
inflationYesAnnual inflation, percent
otherIncomeYesOther taxable income, GBP per year in today's money
statePensionYesUser-supplied State Pension forecast, GBP per year in today's money; never inferred
statePensionAgeYesUser-supplied pension payment start age; whole years.
takeTaxFreeCashYesRemove upfront tax-free cash from invested capital. That cash is not spent or reinvested by this model.
monthlyWithdrawalYesRequested gross withdrawal, GBP per month
include_projectionNoAlso return annual cash-flow rows (default false: a compact summary).
remainingAllowanceYesConfirmed remaining standard lump sum allowance, GBP
increaseWithdrawalsYesIncrease withdrawals once per year with the entered inflation.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds real value on top: units convention (GBP, percent per year) and the firm rule that the State Pension forecast is user-supplied and never inferred. The claim 'All fields are required' is slightly inaccurate since include_projection defaults to false, but that is a minor imprecision rather than a contradiction of the annotations.

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

Conciseness4/5

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

Two sentences, front-loaded with the outputs the tool produces and followed by the input contract. Slight redundancy with schema unit descriptions, but nothing is wasted.

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

Completeness4/5

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

With 15 parameters and no output schema, the description correctly takes on the job of naming the return values, including the compact-summary vs annual-rows behavior implied by include_projection. Gaps remain around edge behavior (e.g. what happens when the pot depletes before State Pension age), but the essential contract is covered.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema; the description only restates the unit convention. It reinforces the statePension parameter's non-inferred nature but says nothing about interactions the schema cannot convey, such as how takeTaxFreeCash and remainingAllowance combine or what monthlyWithdrawal is gross of tax-wise.

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

Purpose4/5

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

Specific verb and resource (project UK pension drawdown month by month) plus an enumeration of the outputs — pot after tax-free cash, first-year net income after tax, age the pot runs out, final balance. The 'UK' scope and the drawdown-specific outputs distinguish it from calculate_australia_super and calculate_retirement_income_gap without naming them, though no sibling is explicitly referenced.

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

Usage Guidelines2/5

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

No guidance on when to choose this over calculate_australia_super or calculate_retirement_income_gap, and no exclusions or prerequisites stated. 'All fields are required' is an invocation constraint, not a statement of when the tool applies.

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

list_retirement_calculatorsList the retirement calculatorsA
Read-onlyIdempotent
Inspect

Lists Retirement Atlas's 37 countries: country code, currency, which calculation each uses (uk-drawdown, au-super or income-gap), the calculator page, the methodology and official reference sources. With a country code, returns that country only, with its full input schema.

NameRequiredDescriptionDefault
countryNoOptional country code, e.g. "uk", "au", "us", "de", "jp".

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds scope facts the annotations cannot express: a fixed catalog of 37 countries and the fact that a filtered call returns a richer payload (full input schema) than an unfiltered one. It omits what happens with an unrecognized country code, which is the one behavioral gap.

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

Conciseness5/5

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

Two sentences, no filler, with the unfiltered return contents front-loaded and the filtered behavior second. Every clause earns its place by describing a distinct part of the response contract.

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

Completeness4/5

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

With no output schema, the description does the necessary work of enumerating return fields and the calculation-type vocabulary. It is nearly complete for a one-optional-param list tool, missing only the behavior for invalid country codes.

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

Parameters4/5

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

Schema coverage is already 100% with examples, so the schema carries the basics. The description adds meaning beyond it: the parameter is optional (whole catalog when omitted) and, critically, changes the response shape by including the full input schema for that country.

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

Purpose5/5

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

States a specific verb and resource and enumerates exactly what is returned: country code, currency, calculation type, calculator page, methodology, and sources. Naming the calculation families (uk-drawdown, au-super, income-gap) directly ties it to the sibling calculate_* tools, so an agent can tell it apart without opening a schema.

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

Usage Guidelines4/5

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

"With a country code, returns that country only, with its full input schema" clearly signals the discovery/browse use case that precedes the calculate_* calls, and the no-argument case is implied as the full-list browse. It does not explicitly say when not to use it or state prerequisites, so it stops short of a 5.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcalculate_australia_super
    • First observedcalculate_retirement_income_gap
    • First observedcalculate_uk_pension_drawdown
    • First observedlist_retirement_calculators

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Tax-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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides retirement planning computations for AI agents, including Monte Carlo simulations, tax burden modeling across all US states, Social Security claiming optimization, and cost-of-living comparisons.
    7 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources