MCP Server

SavingsLast retirement calculators

com.savingslast/calculators
Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Calculates retirement drawdown plans, tax estimates, RMDs, Roth conversions, Social Security strategies, pensions, and 72(t) payments.

bridge_to_59_half
Bridge to 59½ planner
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['age', 'annual_spending'], 'properties': {'age': {'type': 'integer', 'description': 'Current age. Must be under 60.'}, 'cash': {'type': 'number', 'description': 'Cash in dollars. Default 0.'}, 'cap_aca': {'type': 'boolean', 'description': 'Cap Roth conversions so marketplace income stays under 400% of the poverty line. Default false.'}, 'strategy': {'enum': ['all', 'ladder', 'sepp', 'blend'], 'type': 'string', 'description': 'all (default) compares the three; or ladder, sepp, blend for one.'}, 'inflation': {'type': 'number', 'description': 'Spending growth in percent a year. Default 2.5.'}, 'other_income': {'type': 'number', 'description': 'Other income in dollars a year: pension, rent, part-time work. Default 0.'}, 'roth_balance': {'type': 'number', 'description': 'Roth IRA balance in dollars. Default 0.'}, 'filing_status': {'enum': ['single', 'mfj', 'hoh'], 'type': 'string', 'description': 'Federal filing status: single, mfj (married filing jointly) or hoh (head of household). Default single.'}, 'household_size': {'type': 'integer', 'description': 'Household size for the marketplace lines. Default 1.'}, 'pretax_balance': {'type': 'number', 'description': 'Pre-tax IRA and 401(k) balance in dollars. Default 0.'}, 'annual_spending': {'type': 'number', 'description': 'Spending this year in dollars, before tax, all in.'}, 'expected_return': {'type': 'number', 'description': 'Annual return in percent. Default 5.'}, 'taxable_brokerage': {'type': 'number', 'description': 'Taxable brokerage balance in dollars. Default 0.'}, 'cost_basis_percent': {'type': 'number', 'description': 'Share of the taxable account that is cost basis, in percent. Default 50.'}, 'sepp_share_percent': {'type': 'number', 'description': 'Blend only: share of spending the 72(t) covers, in percent. Default 50.'}, 'roth_contribution_basis': {'type': 'number', 'description': 'Roth contribution basis in dollars, withdrawable any time. Default 0.'}}}
federal_tax_estimate
Federal income tax estimate
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'ages': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Age of each filer at year end, one or two entries. Drives the 65-plus additions and the senior deduction.'}, 'capital_gains': {'type': 'number', 'description': 'Long-term capital gains and qualified dividends in dollars. Default 0.'}, 'filing_status': {'enum': ['single', 'mfj', 'hoh'], 'type': 'string', 'description': 'Federal filing status: single, mfj (married filing jointly) or hoh (head of household). Default single.'}, 'ordinary_income': {'type': 'number', 'description': 'Ordinary income in dollars: wages, pension, IRA and 401(k) withdrawals, interest, short-term gains. Default 0.'}, 'social_security': {'type': 'number', 'description': 'Gross Social Security benefits for the year in dollars, both spouses. Default 0.'}, 'tax_exempt_interest': {'type': 'number', 'description': 'Tax-exempt interest in dollars. Counts toward how much Social Security is taxed and toward Medicare and marketplace income. Default 0.'}}}
fetch
Fetch a page
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Page id from search, a slug like 72t-distribution-calculator, or a savingslast.com URL.'}}}
how_long_will_money_last
How long will my money last
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['balance', 'monthly_withdrawal'], 'properties': {'age': {'type': 'integer', 'description': 'Current age. Optional; enables the run-out age, the survival odds, the account rules (penalty before 59 1/2, RMDs from 73) and the Social Security start age.'}, 'account': {'enum': ['none', '401k-distribution-calculator', '403b-calculator', 'tsp-withdrawal-calculator', 'ira-withdrawal-calculator', 'sep-ira-withdrawal-calculator', 'simple-ira-withdrawal-calculator', '457b-calculator', 'rule-of-55-calculator', 'early-withdrawal-penalty-calculator', 'roth-ira-withdrawal-calculator', 'hsa-retirement-calculator'], 'type': 'string', 'description': "Apply an account type's withdrawal rules: the 10% early-withdrawal penalty before 59 1/2 for a 401(k), 403(b), TSP, IRA, SEP or SIMPLE IRA; none for a governmental 457(b) or under the rule of 55; tax-free withdrawals for a Roth IRA; the 20% non-medical penalty before 65 for an HSA; required minimum distributions from 73 where they apply. Default none."}, 'balance': {'type': 'number', 'description': 'Starting balance in dollars.'}, 'tax_rate': {'type': 'number', 'description': 'Tax on withdrawals in percent, 0 to 50. Withdrawals are grossed up so the after-tax amount matches. Default 0. Ignored for Roth and HSA accounts.'}, 'inflation': {'type': 'number', 'description': 'Annual inflation in percent, -5 to 15. Default 2.5. The withdrawal rises at this rate so spending power stays level.'}, 'stress_test': {'type': 'boolean', 'description': 'Apply a bad start: -20%, -10% and 0% returns in the first three years, then the average. Default false.'}, 'annual_return': {'type': 'number', 'description': 'Expected annual return in percent, -10 to 20. Default 5.'}, 'spending_shape': {'enum': ['inflation', 'level', 'decline'], 'type': 'string', 'description': 'inflation: spending rises with inflation (default). level: fixed dollars. decline: rises with inflation until 75, then one point a year slower.'}, 'pension_monthly': {'type': 'number', 'description': 'Pension or annuity in dollars a month, netted against spending. Default 0.'}, 'monthly_withdrawal': {'type': 'number', 'description': 'Amount taken out each month today, in dollars, after tax. Enter what savings must cover, or enter total spending and give the Social Security and pension separately.'}, 'social_security_monthly': {'type': 'number', 'description': 'Social Security benefit in dollars a month, netted against spending. Rises with inflation. Default 0.'}, 'social_security_from_age': {'type': 'integer', 'description': 'Age the Social Security benefit starts. Needs age. Default: from now.'}, 'pension_rises_with_inflation': {'type': 'boolean', 'description': 'Whether the pension has a cost-of-living increase. Default false.'}}}
inherited_ira_schedule
Inherited IRA 10-year schedule
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).
Read only Idempotent
Input schema
{'type': 'object', 'required': ['balance'], 'properties': {'balance': {'type': 'number', 'description': 'Inherited account balance in dollars.'}, 'tax_rate': {'type': 'number', 'description': 'Flat marginal tax rate on withdrawals in percent. Default 0.'}, 'your_age': {'type': 'integer', 'description': "Heir's age in the year after the owner's death. Default 50."}, 'expected_return': {'type': 'number', 'description': 'Annual return in percent. Default 5.'}, 'years_remaining': {'type': 'integer', 'description': 'Years left before the account must be empty, 1 to 10. Default 10.'}, 'owner_had_started_rmds': {'type': 'boolean', 'description': 'True if the owner died on or after their required beginning date, which makes annual minimums apply in years one to nine. Default true.'}}}
list_pages
List pages
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'section': {'type': 'string', 'description': 'Optional section name to filter by, or a type: calculator, guide, reference.'}}}
pension_lump_sum_vs_annuity
Pension lump sum vs annuity
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['lump_sum', 'monthly_pension', 'age'], 'properties': {'age': {'type': 'integer', 'description': 'Age when payments would start.'}, 'cola': {'type': 'number', 'description': 'Pension cost-of-living increase in percent a year. Default 0.'}, 'lump_sum': {'type': 'number', 'description': 'The lump-sum offer in dollars.'}, 'planning_age': {'type': 'integer', 'description': 'Age to plan to. Default 90.'}, 'expected_return': {'type': 'number', 'description': 'Return the lump sum would earn, in percent. Default 5.'}, 'monthly_pension': {'type': 'number', 'description': 'The monthly pension it replaces, in dollars. For a joint-and-survivor option enter that lower figure.'}}}
rmd_calculate
Required minimum distribution
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['balance', 'birth_year'], 'properties': {'balance': {'type': 'number', 'description': 'Account balance on 31 December of the year before the distribution year, in dollars.'}, 'birth_year': {'type': 'integer', 'description': "Owner's year of birth."}, 'expected_return': {'type': 'number', 'description': 'Annual return in percent for the projection only. Default 5.'}, 'distribution_year': {'type': 'integer', 'description': 'The year the distribution is for. Default: the current year.'}, 'spouse_sole_beneficiary_more_than_10_years_younger': {'type': 'boolean', 'description': 'If true, the Joint and Last Survivor Table applies and the true RMD is smaller than the figure returned; noted in the result.'}}}
roth_conversion_cost
Roth conversion cost
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['conversion_amount'], 'properties': {'ages': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Age of each filer at year end, one or two entries. Drives the 65-plus additions and the senior deduction.'}, 'capital_gains': {'type': 'number', 'description': 'Long-term capital gains and qualified dividends in dollars. Default 0.'}, 'filing_status': {'enum': ['single', 'mfj', 'hoh'], 'type': 'string', 'description': 'Federal filing status: single, mfj (married filing jointly) or hoh (head of household). Default single.'}, 'household_size': {'type': 'integer', 'description': 'Household size for the marketplace poverty-line figures. Default 1.'}, 'pretax_balance': {'type': 'number', 'description': 'Optional: total pre-tax balance today in dollars, for the RMD projection.'}, 'aca_marketplace': {'type': 'boolean', 'description': 'True if health insurance is bought on the ACA marketplace (the 400% of poverty subsidy cliff matters). Default false.'}, 'expected_return': {'type': 'number', 'description': 'Annual return in percent for the RMD projection. Default 5.'}, 'ordinary_income': {'type': 'number', 'description': 'Ordinary income in dollars: wages, pension, IRA and 401(k) withdrawals, interest, short-term gains. Default 0.'}, 'social_security': {'type': 'number', 'description': 'Gross Social Security benefits for the year in dollars, both spouses. Default 0.'}, 'conversion_amount': {'type': 'number', 'description': 'Amount to convert in dollars.'}, 'tax_exempt_interest': {'type': 'number', 'description': 'Tax-exempt interest in dollars. Counts toward how much Social Security is taxed and toward Medicare and marketplace income. Default 0.'}}}
search
Search savingslast.com
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Maximum results, 1 to 25. Default 10.'}, 'query': {'type': 'string', 'description': 'What to look for, in plain words.'}}}
sepp_72t_lock_in_end
72(t) modification date
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).
Read only Idempotent
Input schema
{'type': 'object', 'required': ['birth_date', 'first_payment_date'], 'properties': {'birth_date': {'type': 'string', 'description': "Owner's birth date, YYYY-MM-DD."}, 'first_payment_date': {'type': 'string', 'description': 'Date of the first distribution, YYYY-MM-DD.'}}}
sepp_72t_payment
72(t) SEPP payment
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['balance', 'age'], 'properties': {'age': {'type': 'integer', 'description': "Owner's age on their birthday in the year of the first payment."}, 'table': {'enum': ['single', 'uniform', 'joint'], 'type': 'string', 'description': 'Life expectancy table: single (Single Life, the largest payment), uniform (Uniform Lifetime) or joint (Joint and Last Survivor, needs beneficiary_age). Default single.'}, 'method': {'enum': ['amortization', 'annuitization', 'rmd'], 'type': 'string', 'description': 'Which of the three Notice 2022-6 methods to headline. All three are returned. Default amortization.'}, 'balance': {'type': 'number', 'description': 'Account balance in dollars on the statement date used for the series.'}, 'birth_date': {'type': 'string', 'description': 'Optional, YYYY-MM-DD. With first_payment_date, gives the date the series may be modified without penalty.'}, 'joint_factor': {'type': 'number', 'description': 'Optional: the Joint and Last Survivor Table entry for the two ages, from 26 CFR 1.401(a)(9)-9(d), if you have it.'}, 'interest_rate': {'type': 'number', 'description': 'Interest rate in percent for the fixed amortization and annuitization methods. 5% is always permitted; a higher rate needs federal_midterm_120. Default 5.'}, 'beneficiary_age': {'type': 'integer', 'description': "Designated beneficiary's age on their birthday in the distribution year. Required for the joint table."}, 'first_payment_date': {'type': 'string', 'description': 'Optional, YYYY-MM-DD. Date of the first distribution in the series.'}, 'federal_midterm_120': {'type': 'number', 'description': 'Optional: 120% of the federal mid-term rate, in percent, for one of the two months before the first payment. Raises the permitted rate ceiling above 5%.'}}}
social_security_claiming
Social Security claiming ages
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['benefit_at_full_retirement_age'], 'properties': {'cola': {'type': 'number', 'description': 'Annual cost-of-living increase in percent. Default 2.5.'}, 'claim_ages': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Claiming ages to compare, 62 to 70. Default 62, full retirement age and 70.'}, 'invest_return': {'type': 'number', 'description': 'Return in percent if early payments not needed for spending are invested. Default 0.'}, 'full_retirement_age': {'type': 'number', 'description': 'Full retirement age, 66 to 67 for most people. Default 67.'}, 'benefit_at_full_retirement_age': {'type': 'number', 'description': 'Monthly benefit at full retirement age (the PIA on the ssa.gov statement), in dollars.'}}}
state_retirement_taxes
State retirement taxes
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'state': {'type': 'string', 'description': 'State name or two-letter abbreviation. Omit for all states.'}}}
sustainable_withdrawal
Sustainable monthly withdrawal
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['balance'], 'properties': {'age': {'type': 'integer', 'description': 'Current age. Optional; enables the run-out age, the survival odds, the account rules (penalty before 59 1/2, RMDs from 73) and the Social Security start age.'}, 'years': {'type': 'number', 'description': 'How long the money must last, in years. Default 30.'}, 'account': {'enum': ['none', '401k-distribution-calculator', '403b-calculator', 'tsp-withdrawal-calculator', 'ira-withdrawal-calculator', 'sep-ira-withdrawal-calculator', 'simple-ira-withdrawal-calculator', '457b-calculator', 'rule-of-55-calculator', 'early-withdrawal-penalty-calculator', 'roth-ira-withdrawal-calculator', 'hsa-retirement-calculator'], 'type': 'string', 'description': "Apply an account type's withdrawal rules: the 10% early-withdrawal penalty before 59 1/2 for a 401(k), 403(b), TSP, IRA, SEP or SIMPLE IRA; none for a governmental 457(b) or under the rule of 55; tax-free withdrawals for a Roth IRA; the 20% non-medical penalty before 65 for an HSA; required minimum distributions from 73 where they apply. Default none."}, 'balance': {'type': 'number', 'description': 'Starting balance in dollars.'}, 'tax_rate': {'type': 'number', 'description': 'Tax on withdrawals in percent, 0 to 50. Withdrawals are grossed up so the after-tax amount matches. Default 0. Ignored for Roth and HSA accounts.'}, 'inflation': {'type': 'number', 'description': 'Annual inflation in percent, -5 to 15. Default 2.5. The withdrawal rises at this rate so spending power stays level.'}, 'stress_test': {'type': 'boolean', 'description': 'Apply a bad start: -20%, -10% and 0% returns in the first three years, then the average. Default false.'}, 'annual_return': {'type': 'number', 'description': 'Expected annual return in percent, -10 to 20. Default 5.'}, 'spending_shape': {'enum': ['inflation', 'level', 'decline'], 'type': 'string', 'description': 'inflation: spending rises with inflation (default). level: fixed dollars. decline: rises with inflation until 75, then one point a year slower.'}, 'pension_monthly': {'type': 'number', 'description': 'Pension or annuity in dollars a month, netted against spending. Default 0.'}, 'social_security_monthly': {'type': 'number', 'description': 'Social Security benefit in dollars a month, netted against spending. Rises with inflation. Default 0.'}, 'social_security_from_age': {'type': 'integer', 'description': 'Age the Social Security benefit starts. Needs age. Default: from now.'}, 'pension_rises_with_inflation': {'type': 'boolean', 'description': 'Whether the pension has a cost-of-living increase. Default false.'}}}
Added
list_pages
Sept. 17, 2026, 12:37 p.m.
Added
fetch
Sept. 17, 2026, 12:37 p.m.
Added
search
Sept. 17, 2026, 12:37 p.m.
Added
state_retirement_taxes
Sept. 17, 2026, 12:37 p.m.
Added
social_security_claiming
Sept. 17, 2026, 12:37 p.m.
Added
inherited_ira_schedule
Sept. 17, 2026, 12:37 p.m.
Added
pension_lump_sum_vs_annuity
Sept. 17, 2026, 12:37 p.m.
Added
bridge_to_59_half
Sept. 17, 2026, 12:37 p.m.
Added
roth_conversion_cost
Sept. 17, 2026, 12:37 p.m.
Added
federal_tax_estimate
Sept. 17, 2026, 12:37 p.m.
Added
rmd_calculate
Sept. 17, 2026, 12:37 p.m.
Added
sepp_72t_lock_in_end
Sept. 17, 2026, 12:37 p.m.
Added
sepp_72t_payment
Sept. 17, 2026, 12:37 p.m.
Added
sustainable_withdrawal
Sept. 17, 2026, 12:37 p.m.
Added
how_long_will_money_last
Sept. 17, 2026, 12:37 p.m.