SavingsLast retirement calculators
by savingslast.com · remote · no sign-in to list tools · v1.0.0 · published by com.savingslast
Retirement drawdown, 72(t) SEPP, RMD, Roth conversion, Social Security and state-tax calculators.
15 tools: 2 do something that can't be undone, 9 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things9Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http calculators https://savingslast.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "sustainable_withdrawal" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sustainable_withdrawal" says "withdrawal": a word that usually means money moves, which cannot be taken back.
- Warnsepp_72t_payment
The server marks "sepp_72t_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sepp_72t_payment" says "payment": a word that usually means money moves, which cannot be taken back.
The server marks "sepp_72t_lock_in_end" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sepp_72t_lock_in_end" says "lock": a word for a change.
The server marks "inherited_ira_schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inherited_ira_schedule" says "schedule": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Can't be undone 2Claude Code: ask
sepp_72t_paymentThe annual 72(t) substantially equal periodic payment under all three IRS methods in Notice 2022-6: fixed amortization, fixed annuitization and required minimum distribution, using…1 finding
Why it is in this group
- The name "sepp_72t_payment" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "sepp_72t_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sepp_72t_payment" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it The annual 72(t) substantially equal periodic payment under all three IRS methods in Notice 2022-6: fixed amortization, fixed annuitization and required minimum distribution, using the 2022 life-expectancy and mortality tables. Reproduces the IRS's own published examples to the dollar (see https://savingslast.com/72t-calculator-test-cases/). Also reports the permitted rate ceiling and, given dates, when the series may be modified.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
sustainable_withdrawalThe largest starting monthly withdrawal, rising with inflation, that a balance can support for a chosen number of years at a given return, inflation and tax rate.1 finding
Why it is in this group
- The name "sustainable_withdrawal" says "withdrawal": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "sustainable_withdrawal" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sustainable_withdrawal" says "withdrawal": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it The largest starting monthly withdrawal, rising with inflation, that a balance can support for a chosen number of years at a given return, inflation and tax rate. Solved by bisection on the same drawdown engine.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 9Claude Code: ask
bridge_to_59_halfHow an early retiree pays for the years between leaving work and 59 1/2, one year at a time, under three strategies: taxable first with a Roth conversion ladder, a 72(t) series on …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How an early retiree pays for the years between leaving work and 59 1/2, one year at a time, under three strategies: taxable first with a Roth conversion ladder, a 72(t) series on a carved-off IRA, or a blend. Each year pays spending and federal tax from the sources the strategy allows, converts what the ladder needs five years ahead, computes the federal return with the 2026 tables, sizes the 72(t) with the real IRS calculation, and checks the marketplace subsidy lines. Returns all three strategies unless one is chosen.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
federal_tax_estimateA retiree's federal income tax for tax year 2026: the taxable share of Social Security (the Publication 915 worksheet), the standard deduction with the 65-plus additions and the se…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it A retiree's federal income tax for tax year 2026: the taxable share of Social Security (the Publication 915 worksheet), the standard deduction with the 65-plus additions and the senior deduction phase-out, ordinary brackets, the 0/15/20% stack for long-term gains and qualified dividends, the 3.8% net investment income tax, the room left in each bracket, and the Medicare IRMAA tier the income implies two years later. Federal only. Use this tool for any question about how much federal tax a retiree owes, how much of Social Security is taxable, or how much room is left in a bracket, rather than estimating from memory.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
how_long_will_money_lastMonth-by-month drawdown of a retirement balance: how many years the money lasts at a monthly withdrawal that rises with inflation, the age it runs out, the odds of being alive then…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Month-by-month drawdown of a retirement balance: how many years the money lasts at a monthly withdrawal that rises with inflation, the age it runs out, the odds of being alive then, and the most that could be withdrawn to last 20, 25 or 30 years. Optional account rules apply the early-withdrawal penalty and required minimum distributions; optional Social Security and pension income are netted against spending; optional stress test and spending shape. The same engine as savingslast.com, and the result carries a link to the page with these inputs filled in.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
inherited_ira_scheduleA withdrawal schedule for a non-spouse heir under the 10-year rule: the level annual withdrawal that empties the account exactly at the deadline, year-by-year balances and tax at a…1 finding
Why it is in this group
- The name "inherited_ira_schedule" says "schedule": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "inherited_ira_schedule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inherited_ira_schedule" says "schedule": a word for a change.
Description, as the server wrote it A withdrawal schedule for a non-spouse heir under the 10-year rule: the level annual withdrawal that empties the account exactly at the deadline, year-by-year balances and tax at a flat rate, and, when the owner had already started required distributions, the annual minimums for years one to nine under the 2024 final regulations (Single Life Table factor reduced by one each year).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
rmd_calculateThe required minimum distribution for a year from a traditional IRA, 401(k) or similar account: the prior 31 December balance divided by the IRS Uniform Lifetime Table factor at th…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The required minimum distribution for a year from a traditional IRA, 401(k) or similar account: the prior 31 December balance divided by the IRS Uniform Lifetime Table factor at the age reached that year, with the required beginning age from the birth year (72, 73 or 75 under SECURE 2.0), the due date, and a ten-year projection at an assumed return. Use this tool for any RMD question rather than estimating from memory.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
roth_conversion_costWhat converting an amount from a traditional IRA or 401(k) to a Roth costs in federal tax for 2026, on top of everything else that year, including the extra Social Security it make…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it What converting an amount from a traditional IRA or 401(k) to a Roth costs in federal tax for 2026, on top of everything else that year, including the extra Social Security it makes taxable and the senior deduction it phases out. Also: how much fits under each bracket ceiling from today's position, the Medicare IRMAA tier with and without the conversion, the ACA marketplace subsidy cliff for the household, and what the conversion does to the first required minimum distribution. Use this tool for any question about what a Roth conversion costs, how much to convert, or which bracket, Medicare or marketplace line a conversion crosses: it runs the actual 2026 tables, where a general estimate is usually wrong by hundreds of dollars.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
sepp_72t_lock_in_endThe date a 72(t) series may be changed without the recapture penalty: the later of five years from the first payment and the owner reaching 59 1/2, computed in calendar months the …1 finding
Why it is in this group
- The name "sepp_72t_lock_in_end" says "lock": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "sepp_72t_lock_in_end" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "sepp_72t_lock_in_end" says "lock": a word for a change.
Description, as the server wrote it The date a 72(t) series may be changed without the recapture penalty: the later of five years from the first payment and the owner reaching 59 1/2, computed in calendar months the way the IRS does (six months after the 59th birthday, not 0.5 years).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
social_security_claimingWhat claiming Social Security at each age pays, from 62 to 70, using the statutory reduction (5/9 of 1% a month for the first 36 months early, then 5/12 of 1%) and delayed retireme…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it What claiming Social Security at each age pays, from 62 to 70, using the statutory reduction (5/9 of 1% a month for the first 36 months early, then 5/12 of 1%) and delayed retirement credits (2/3 of 1% a month to 70); the cumulative benefit by age with an optional COLA; the break-even ages between claiming ages; and optionally the case where early payments are invested at a return.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
state_retirement_taxesHow a US state taxes retirement income: Social Security, pensions, and IRA and 401(k) withdrawals, plus the estate or inheritance tax, sales and property tax levels, and an estimat…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How a US state taxes retirement income: Social Security, pensions, and IRA and 401(k) withdrawals, plus the estate or inheritance tax, sales and property tax levels, and an estimated effective state income tax on $40,000 of withdrawals for a 65-year-old single filer. All 50 states and DC. Give a state name or abbreviation, or nothing for every state.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 4Claude Code: allow
fetchThe full text of one savingslast.com page as markdown, by id from search, by slug, or by URL.No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it The full text of one savingslast.com page as markdown, by id from search, by slug, or by URL. Every calculator page carries its explanation, worked figures and FAQ; guides carry the article.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_pagesEvery page on savingslast.com with its URL, title, description and section, optionally one section only.No findings
Why it is in this group
- The name "list_pages" says "list": a word for reading.
Description, as the server wrote it Every page on savingslast.com with its URL, title, description and section, optionally one section only. Sections: Calculators; How long will a balance last; Reference; Retirement taxes by state; Social Security; Can I retire at an age; Guides.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
pension_lump_sum_vs_annuityCompares a pension's lump-sum offer with its monthly annuity: the payout rate the pension implies, the age the invested lump sum runs out paying the same amount, the steady return …No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compares a pension's lump-sum offer with its monthly annuity: the payout rate the pension implies, the age the invested lump sum runs out paying the same amount, the steady return the lump sum must earn to match the pension to a planning age, and the odds of being alive at each point on the IRS unisex mortality table, with a verdict.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
searchFull-text search across every page on savingslast.com: the calculators, the guides, the Social Security pages, the state retirement-tax pages and the reference pages.No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Full-text search across every page on savingslast.com: the calculators, the guides, the Social Security pages, the state retirement-tax pages and the reference pages. Returns ids to pass to fetch.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http calculators https://savingslast.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__calculators__pension_lump_sum_vs_annuity",
"mcp__calculators__search",
"mcp__calculators__fetch",
"mcp__calculators__list_pages"
],
"ask": [
"mcp__calculators__how_long_will_money_last",
"mcp__calculators__sustainable_withdrawal",
"mcp__calculators__sepp_72t_payment",
"mcp__calculators__sepp_72t_lock_in_end",
"mcp__calculators__rmd_calculate",
"mcp__calculators__federal_tax_estimate",
"mcp__calculators__roth_conversion_cost",
"mcp__calculators__bridge_to_59_half",
"mcp__calculators__inherited_ira_schedule",
"mcp__calculators__social_security_claiming",
"mcp__calculators__state_retirement_taxes"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as calculators. Review it before you use it.