{"name":"app.quantcalc/retirement-engine","slug":"quantcalc-retirement-engine","title":"QuantCalc Retirement Engine","description":"Retirement Monte Carlo, tax-aware withdrawals, 2026 tax calculators, RMD, IRMAA, every-state tax.","url":"https://mcp.market/server/quantcalc-retirement-engine","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-11-02T12:25:57.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T03:00:41.871Z","last_ok_at":"2026-11-04T03:00:41.871Z","latency_ms":509},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/quantcalc-app/quantcalc-mcp-plugin","website":"https://quantcalc.app/advisors/mcp/","version":"1.8.0","remotes":[{"type":"streamable-http","url":"https://mcp.quantcalc.app"}],"packages":[],"tools":[{"name":"aca_premium_tax_credit","description":"Figures a household's ACA marketplace premium tax credit position from its state, the ages on the plan, household size and income. For 2026 coverage: the credit (Form 8962 line 24, computed by QuantCalc's federal tax API) at the state-level or a given benchmark premium, the poverty line and percentage, the expected contribution, the Medicaid and coverage-gap regimes, the 400% cliff income, the headroom below it, and the credit lost by being $1 over it; needs a connected QuantCalc PRO licence or Tax Season Pass. For 2027 coverage: the county's benchmark premium from CMS's plan-year-2027 files (or a given one), the poverty line (2026 HHS guidelines), the 400% cliff and the headroom, and with a connected licence the 2027 credit (Form 8962 for coverage year 2027 from the federal tax API, Rev. Proc. 2026-26's percentages) and the credit lost by being $1 over the cliff; without a licence the 2027 credit is not figured and the free page that figures it is named. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coverage_year":{"type":"integer","enum":[2026,2027],"description":"The coverage year: 2026 (the premium tax credit from QuantCalc's federal tax API, Form 8962; needs a licence) or 2027 (open enrollment now: the CMS county benchmark, the poverty line, the 400% cliff and the headroom from published data, and with a licence the 2027 credit from the API)."},"state":{"type":"string","description":"Two-letter state of residence, or DC."},"county":{"type":"string","description":"2027 only: the county (name, e.g. Miami-Dade, or 5-digit FIPS code) whose CMS plan-year-2027 benchmark premium is read; published for the HealthCare.gov states. Default: none, stated in the result."},"ages":{"type":"array","items":{"type":"integer"},"minItems":1,"maxItems":12,"description":"The ages of the people on the marketplace plan. Ages 21-64 are priced; 65 and over (Medicare) and under 21 are not."},"household_size":{"type":"integer","description":"Tax family size for the poverty line (the filer, a spouse on a joint return, dependents). Default: the number of ages given, stated in the result."},"income":{"type":"number","description":"The household's modified AGI for the credit: AGI plus tax-exempt interest plus the Social Security not taxed, for the coverage year."},"benchmark_monthly":{"type":"number","description":"The household's own monthly benchmark (second-lowest-cost silver) premium for the people on the plan, from healthcare.gov or the state's marketplace. Default: 2026, the state-level benchmark at each age; 2027, the county's CMS figure; stated in the result."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 only: the filing status of the return the credit is claimed on (married filing separately generally gets no credit). Default: single for a household of 1, else married filing jointly, stated in the result."}},"required":["coverage_year","state","ages","income"]}},{"name":"business_deduction_tax_savings","description":"Figures what a business deduction saves a self-employed person in 2026: business miles split at July 1 (72.5 and 76 cents a mile) or a dollar expense, off the Schedule C profit, and the income tax, self-employment tax, earned income credit and state tax saved, from the federal return and the state return at the profit and at the profit less the deduction (the half-SE-tax and qualified business income deductions move with it). Ohio and Pennsylvania state tax are not computed. Returns each saving, the total and every default assumed. Computed by QuantCalc's federal and state tax APIs, the engines the website's IRS mileage rate page is checked against to the cent. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free web calculator. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"net_profit":{"type":"number","description":"The Schedule C net profit for 2026 BEFORE this deduction (more than 0)."},"business_miles_before_july":{"type":"number","description":"Business miles driven January 1 to June 30, 2026 (72.5 cents a mile). Give miles or deduction_amount, not both."},"business_miles_after_july":{"type":"number","description":"Business miles driven July 1 to December 31, 2026 (76 cents a mile)."},"deduction_amount":{"type":"number","description":"The business deduction in dollars, instead of miles (any Schedule C expense)."},"state":{"type":"string","description":"Optional two-letter state of residence for 2026, or DC: adds the state tax saving. Ohio and Pennsylvania are not computed (their own rules for business income)."},"other_wages":{"type":"number","description":"Other household income as W-2 wages: the filer's own, on a joint return the spouse's. Default 0."},"age":{"type":"integer","description":"The filer's age in 2026 (16-110). Default 40 (under 65), as the website's calculator takes it."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age in 2026. Default: the same as age."}},"required":["filing_status","net_profit"]}},{"name":"calculate_2026_income_tax","description":"Figures a household's 2026 federal income tax (Form 1040 line 24) and, given a state, its state income tax, from wages (with the Schedule 1-A overtime and tips deductions), children and other dependents, and other common income; and returns the Social Security and Medicare tax on the wages, the effective and marginal rates, the take-home pay, and, given withholding, the federal and state refund or amount owed, with the main lines of the return and every default assumed. Computed by QuantCalc's federal and state tax APIs, the engines the website's federal income tax, tax refund and salary-after-tax calculators are checked against to the cent. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free web calculator. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age the filer reaches in 2026 (16-110)."},"spouse_age":{"type":"integer","description":"Joint return only: the age the spouse reaches in 2026. Default: the same as age, stated in the result."},"state":{"type":"string","description":"Optional two-letter state of residence for 2026, or DC: adds the state income tax. Without it no state tax is figured."},"wages":{"type":"number","description":"The filer's 2026 W-2 wages (box 1), including any overtime and tips. Default 0."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's own 2026 W-2 wages. Default 0."},"qualified_overtime":{"type":"number","description":"Qualified overtime compensation included in the W-2 wages (the FLSA overtime premium only), deducted on Schedule 1-A. Not more than the wages. Default 0."},"qualified_tips":{"type":"number","description":"Qualified tips included in the W-2 wages, deducted on Schedule 1-A. Not more than the wages. Default 0."},"children_under_17":{"type":"integer","description":"Qualifying children under 17 at the end of 2026: the child tax credit and the earned income credit. Default 0."},"older_dependent_children":{"type":"integer","description":"Dependent children aged 17 or 18, or full-time students under 24: the credit for other dependents and the earned income credit. Default 0."},"other_dependents":{"type":"integer","description":"Other dependents (a parent or relative): the credit for other dependents only. Default 0."},"taxable_interest":{"type":"number","description":"Taxable interest. Default 0."},"ordinary_dividends":{"type":"number","description":"Ordinary dividends (Form 1099-DIV box 1a), including the qualified part. Default 0."},"qualified_dividends":{"type":"number","description":"The qualified part of ordinary_dividends; not more than it. Default 0."},"long_term_gains":{"type":"number","description":"2026 net long-term capital gain (0 or more). Default 0."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits; the engine figures the taxable part. Default 0."},"ira_distributions":{"type":"number","description":"Taxable 2026 IRA and 401(k) distributions. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income (a private pension for the state's rules). Default 0."},"state_local_income_tax_paid":{"type":"number","description":"Itemized deduction input: state and local income tax paid in 2026. Default 0."},"real_estate_tax_paid":{"type":"number","description":"Itemized deduction input: real estate tax paid in 2026. Default 0."},"mortgage_interest":{"type":"number","description":"Itemized deduction input: home mortgage interest paid in 2026. Default 0."},"charitable_cash":{"type":"number","description":"Cash gifts to charity in 2026. The engine keeps the lower tax of the standard and the itemized deduction. Default 0."},"federal_withholding":{"type":"number","description":"Federal income tax withheld in 2026 (W-2 box 2, 1099s). With it (or estimated_payments) the result gives the federal refund or amount owed."},"estimated_payments":{"type":"number","description":"Total 2026 federal estimated tax payments. With it (or federal_withholding) the result gives the federal refund or amount owed."},"state_withholding":{"type":"number","description":"State income tax withheld in 2026 (needs state). With it the result gives the state refund or amount owed."}},"required":["filing_status","age"]}},{"name":"calculate_rmd","description":"Computes the required minimum distribution for 2026 or 2027 from the prior year-end balance and the age or birth year, on the IRS Uniform Lifetime Table, or the Joint and Last Survivor Table when the spouse is the sole beneficiary and more than 10 years younger; returns the divisor, the deadline, the SECURE 2.0 start age (73, or 75 for those born 1960 or later), the first-year April 1 option and the two RMDs it stacks into one year, and a multi-year projection with growth. With filing_status and the year's other income (Social Security, pension, other IRA money) it adds the 2026 federal and state tax the RMD adds, the Social Security it makes taxable, the IRMAA effect, and what a QCD would take off: those tax figures come from QuantCalc's federal and state tax APIs and need a connected QuantCalc PRO licence or Tax Season Pass (the RMD itself does not). The same figures as the website's RMD calculator.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"balance_prior_year_end":{"type":"number","description":"The traditional IRA (or plan) balance on December 31 of the year before the distribution year."},"year":{"type":"integer","description":"The distribution year: 2026 or 2027 (the same Uniform Lifetime Table). Default 2026."},"age":{"type":"integer","description":"The age the owner reaches by December 31 of the distribution year. Give this or birth_year."},"birth_year":{"type":"integer","description":"The owner's birth year; used instead of age when given."},"spouse_sole_beneficiary":{"type":"boolean","description":"The spouse is the sole beneficiary all year: when the spouse is more than 10 years younger the Joint and Last Survivor Table applies. Needs spouse_age. Default false."},"spouse_age":{"type":"integer","description":"The spouse's age reached in the distribution year: for the Joint and Last Survivor Table, and on a joint return for the tax. On a joint return default the owner's age, stated."},"growth_rate_percent":{"type":"number","description":"Annual growth of the balance for the projection and the delayed-first-RMD figure, in percent (5 = 5%). Default 0."},"projection_years":{"type":"integer","description":"Years in the projection, 1-30. Default 10."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status (single, mfj, mfs, hoh). With it, and for 2026 only, the result adds the federal and state tax the RMD adds (licence needed)."},"state":{"type":"string","description":"Optional: two-letter code of the state (or DC) for the state tax line. Absent: federal only."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household, for the tax. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income, for the tax. Default 0."},"other_ira_distributions":{"type":"number","description":"Other 2026 IRA withdrawals or Roth conversions beyond this RMD, for the tax. Default 0."},"qcd":{"type":"number","description":"The part of the RMD sent straight to charity as a qualified charitable distribution (capped at the $111,000 2026 limit and the balance). Default 0."},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Joint return only: whose the other IRA withdrawals and pension are on the state return (even, filer or spouse); the RMD is the owner's. Default even, stated."}},"required":["balance_prior_year_end"]}},{"name":"capital_gains_tax","description":"Figures the 2026 federal and state income tax on a household's short-term and long-term capital gains or losses given its other income: the tax the capital items add (ordinary-rate, long-term rate, net investment income tax and AMT parts), the long-term gain that still fits in the 0% band, the room before the net investment income tax, the capital loss deducted against other income and the carryover to 2027, and, given harvest_loss, the federal and state tax a harvested loss saves this year. Every figure is the difference of returns computed by QuantCalc's federal and state tax APIs, the engines the website's tax-loss harvesting calculator is checked against. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free calculator. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age the filer reaches in 2026 (0-120). At 65 or more the age-65 standard deduction and the senior deduction apply. Default: under 65, stated in the result."},"spouse_age":{"type":"integer","description":"Joint return only: the age the spouse reaches in 2026. Default: the same as age, stated in the result."},"other_income":{"type":"number","description":"2026 AGI without any capital gain or loss: wages, pensions, IRA withdrawals and other ordinary income, before the deduction. Taken as ordinary income that is not investment income. Default 0."},"short_term_gain":{"type":"number","description":"2026 net short-term capital gain (assets held one year or less), negative for a net loss. Default 0."},"long_term_gain":{"type":"number","description":"2026 net long-term capital gain (assets held more than one year), negative for a net loss. Default 0."},"short_term_loss_carryover":{"type":"number","description":"Short-term capital loss carried over from 2025, as a positive amount. Default 0."},"long_term_loss_carryover":{"type":"number","description":"Long-term capital loss carried over from 2025, as a positive amount. Default 0."},"itemized_deductions":{"type":"number","description":"Total 2026 itemized deductions (Schedule A), when itemizing; the senior deduction is still added at 65 or more. Default: the standard deduction, stated in the result."},"state":{"type":"string","description":"Two-letter state of residence for all of 2026, or DC: adds the state tax on the capital items. Default: no state tax, stated in the result."},"harvest_loss":{"type":"number","description":"A capital loss to realize in 2026 (tax-loss harvesting), as a positive amount: the result gives the federal and state tax it saves this year, the part deducted against other income and the carryover to 2027. Default: none."},"harvest_loss_type":{"type":"string","enum":["long_term","short_term"],"description":"Whether harvest_loss is long_term (held more than one year) or short_term. Default long_term."}},"required":["filing_status"]}},{"name":"compare_return_assumptions","description":"Runs the same plan against several published capital market assumption sets and returns the success rate and median outcome under each, showing how far the answer moves with the return forecast used. Every input is optional: omitted plan inputs use an illustrative plan (age 65, $1,000,000 saved, $40,000 a year spending) which the reply states in its first line.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"current_age":{"type":"integer","description":"Current age of the primary person."},"retirement_age":{"type":"integer","description":"Age work income stops. Defaults to current age."},"life_expectancy":{"type":"integer","description":"Age the plan must last until. Default 92."},"current_savings":{"type":"number","description":"Total invested portfolio today, in dollars."},"annual_spending":{"type":"number","description":"Planned yearly spending in today's dollars, before income tax (this tool runs the standard engine, which does not model tax)."},"monthly_contribution":{"type":"number","description":"Monthly savings until retirement. Default 0."},"social_security":{"type":"number","description":"Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."},"ss_start_age":{"type":"integer","description":"Age Social Security starts. Default 67."},"pension":{"type":"number","description":"Yearly pension income. Default 0."},"pension_start_age":{"type":"integer","description":"Age the pension starts. Default 65."},"inflation_rate":{"type":"number","description":"Annual inflation as a percent, e.g. 2.5. Default 2.5."},"allocations":{"type":"array","items":{"type":"number"},"minItems":5,"maxItems":5,"description":"Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0]."},"returns_source":{"type":"string","description":"Which published return set to use (see list_return_assumption_sources). Default jpmorgan."},"return_model":{"type":"string","enum":["parametric","bootstrap","historical"],"description":"How returns are generated. parametric (default): the forward-looking published assumptions. bootstrap: stationary block bootstrap of historical months. historical: replays real months from 1926 in order. The last two need a PRO licence; without one the engine runs parametric and the result says so."},"withdrawal_strategy":{"type":"string","enum":["fixed","guyton-klinger","vpw","bucket"],"description":"Spending rule. fixed (default): the planned amount, inflation-adjusted, every year. guyton-klinger: guardrails that cut or raise spending as the portfolio moves. vpw: variable percentage withdrawal. bucket: a cash reserve of bucket_years of spending."},"bucket_years":{"type":"integer","description":"Only with withdrawal_strategy bucket: years of spending held in the cash bucket, 1-10."},"spending_confidence":{"type":"integer","enum":[75,80,85,90,95],"description":"The success rate the 'sustainable spending' answer is solved at: the most this plan can spend each year and still succeed on at least this percentage of paths, with the same answer if every balance were 20% lower or higher today. One of 75, 80, 85, 90, 95. Default 90."},"sources":{"type":"array","items":{"type":"string"},"description":"Source ids to compare. Defaults to all."}},"required":[]}},{"name":"estimate_2026_tax_return","description":"Estimates a household's 2026 federal and state income tax return from its 2026 income (wages, Social Security, IRA and 401(k) distributions, pensions, Roth conversions, interest, dividends, capital gains and losses, self-employment (Schedule C) profit), deductions, withholding and estimated payments, and returns the federal refund or amount owed, the state refund or amount owed, and both together; the main Form 1040 lines (total income, AGI, deduction, taxable income, tax, total tax) and the state's taxable income and tax; and every default assumed, the facts the state engine assumed, and what is not modelled. Computed by QuantCalc's federal and state tax APIs, the engines the website's 2026 Return Preview is checked against to the cent. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free web calculator. An estimate, not a filed return and not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age the filer reaches in 2026 (18-110)."},"state":{"type":"string","description":"Two-letter state of residence for all of 2026, or DC. States with no income tax (e.g. TX, FL) return a state tax of 0."},"birth_month":{"type":"integer","description":"Filer's birth month, 1-12, optional. With it the 10% early-withdrawal tax applies only to the part of the year before 59 and a half; without it, through the year the filer reaches 59."},"spouse_age":{"type":"integer","description":"Joint return only: the age the spouse reaches in 2026. Default: the same as age, stated in the result."},"spouse_birth_month":{"type":"integer","description":"Joint return only: the spouse's birth month, 1-12, optional."},"wages":{"type":"number","description":"The filer's 2026 wages (Form W-2 box 1). Default 0."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's 2026 wages. Default 0."},"qualified_overtime":{"type":"number","description":"Qualified overtime compensation included in the wages: the FLSA overtime premium only (the half in time-and-a-half), deducted on Schedule 1-A (IRC 225, up to $12,500, $25,000 joint, phased out above $150,000 / $300,000 MAGI; none married filing separately). Not more than the wages. Default 0."},"qualified_tips":{"type":"number","description":"Qualified tips included in the wages, deducted on Schedule 1-A (IRC 224, up to $25,000, phased out above $150,000 / $300,000 MAGI; none married filing separately). Not more than the wages. Default 0."},"self_employment_income":{"type":"number","description":"The filer's 2026 net self-employment profit (Schedule C line 31, after business expenses; 0 or more). The engine figures Schedule SE, the deduction for half of the self-employment tax and the qualified business income deduction. In Ohio and Pennsylvania the state line is then not figured; in Colorado, Iowa, Montana and North Dakota it is the state API's computeFederal evaluation. Default 0."},"spouse_self_employment_income":{"type":"number","description":"Joint return only: the spouse's own 2026 net self-employment profit (Schedule C line 31; 0 or more). Default 0."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household (Form SSA-1099 box 5); the engine figures the taxable part. Default 0."},"ira_distributions":{"type":"number","description":"Taxable 2026 IRA, 401(k) and 403(b) distributions (not Roth conversions), the household's total. Default 0."},"roth_conversion":{"type":"number","description":"Taxable amount converted to Roth in 2026, the household's total. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income, the household's total. Default 0."},"pension_type":{"type":"string","enum":["private","public"],"description":"Whether the pension is a private pension or a government (public) pension, for the state's retirement-income rules. Default private, stated in the result when a pension is given."},"spouse_split":{"type":"string","enum":["even","filer","spouse","custom"],"description":"Joint return only: whose the IRA distributions, pension and Roth conversion are on the state return: even (half each), filer, spouse, or custom (the spouse's own amounts in spouse_ira_distributions, spouse_pension and spouse_roth_conversion, the rest the filer's). Arkansas, Delaware, Maryland, Minnesota, Missouri, North Dakota, Ohio and Virginia tax a couple by each spouse's own income, so there it can change the state tax; federal tax does not depend on it. Default even, stated in the result."},"spouse_ira_distributions":{"type":"number","description":"spouse_split custom only: the spouse's part of ira_distributions."},"spouse_pension":{"type":"number","description":"spouse_split custom only: the spouse's part of pension."},"spouse_roth_conversion":{"type":"number","description":"spouse_split custom only: the spouse's part of roth_conversion."},"taxable_interest":{"type":"number","description":"Taxable interest (Form 1040 line 2b). Default 0."},"tax_exempt_interest":{"type":"number","description":"Tax-exempt (municipal bond) interest (line 2a): not taxed, but counts toward the taxable part of Social Security. Default 0."},"ordinary_dividends":{"type":"number","description":"Ordinary dividends, Form 1099-DIV box 1a (line 3b), including the qualified part. Default 0."},"qualified_dividends":{"type":"number","description":"The qualified part of ordinary_dividends (box 1b, line 3a), taxed at the capital-gains rates; not more than ordinary_dividends. Default 0."},"capital_gain_distributions":{"type":"number","description":"Capital gain distributions from funds (Form 1099-DIV box 2a). Default 0."},"short_term_gains":{"type":"number","description":"2026 net short-term capital gain; negative for a net loss. Default 0."},"long_term_gains":{"type":"number","description":"2026 net long-term capital gain; negative for a net loss. Default 0."},"capital_loss_carryover_short_term":{"type":"number","description":"Short-term capital loss carried over from 2025, as a positive number. Default 0."},"capital_loss_carryover_long_term":{"type":"number","description":"Long-term capital loss carried over from 2025, as a positive number. Default 0."},"other_ordinary_income":{"type":"number","description":"Other ordinary income that is not investment income (Schedule 1). Default 0."},"state_local_income_tax_paid":{"type":"number","description":"Itemized deduction input: state and local income tax paid in 2026 (Schedule A line 5a). Default 0."},"real_estate_tax_paid":{"type":"number","description":"Itemized deduction input: real estate tax paid in 2026. Default 0."},"mortgage_interest":{"type":"number","description":"Itemized deduction input: home mortgage interest paid in 2026. Default 0."},"medical_expenses":{"type":"number","description":"Itemized deduction input: medical and dental expenses paid in 2026, before the AGI floor. Default 0."},"charitable_cash":{"type":"number","description":"Cash gifts to charity in 2026. The engine figures the return with the standard deduction (with the 2026 deduction for non-itemizers' cash gifts) and with the itemized deductions given, and keeps the lower tax. Default 0."},"federal_withholding":{"type":"number","description":"Federal income tax withheld in 2026 from wages, pensions, IRA distributions and Social Security. Default 0, stated in the result."},"estimated_payments":{"type":"array","items":{"type":"number"},"maxItems":4,"description":"The 2026 federal estimated tax payments, up to four installments in order (April, June, September, January). Default none."},"prior_year_tax":{"type":"number","description":"Total tax on the 2025 return. With it the underpayment penalty (Form 2210) is figured and subtracted; without it the penalty is not figured, stated in the result."},"prior_year_agi":{"type":"number","description":"2025 adjusted gross income, used with prior_year_tax: above $150,000 ($75,000 married filing separately) the prior-year safe harbor is 110%."},"state_withholding":{"type":"number","description":"State income tax withheld in 2026. Default 0."},"state_estimated_payments":{"type":"number","description":"State estimated tax paid for 2026, the total. Default 0."},"marketplace_coverage":{"type":"boolean","description":"True if the household had Marketplace (ACA) health coverage in 2026: the premium tax credit is not reconciled by this estimate and the result says so."}},"required":["filing_status","age","state"]}},{"name":"estimated_tax_payments_2026","description":"Figures a household's 2026 estimated tax position from its expected 2026 income, its 2025 tax and what it has withheld and paid: the 2026 tax Form 2210 uses, the safe-harbor required annual payment (the smaller of 90% of the 2026 tax and 100% or 110% of the 2025 tax) and the required amount per installment, the four 2026 due dates, the underpayment and penalty by installment for the payments as given (with their payment dates), and, when the January installment is still open, the amount still due and the penalty if it is paid as the January 15 estimate, withheld in December instead, or not paid. Computed by QuantCalc's federal tax API (Form 2210), the engine the website's estimated tax and underpayment penalty calculators are checked against. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free calculator. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age the filer reaches in 2026 (18-120)."},"spouse_age":{"type":"integer","description":"Joint return only: the age the spouse reaches in 2026. Default: the same as age, stated in the result."},"wages":{"type":"number","description":"Expected 2026 wages (Form W-2 box 1), the household's total. Default 0."},"pension":{"type":"number","description":"Expected taxable 2026 pension and annuity income. Default 0."},"ira_distributions":{"type":"number","description":"Expected taxable 2026 IRA and 401(k) withdrawals. Default 0."},"social_security":{"type":"number","description":"Expected gross 2026 Social Security benefits; the engine figures the taxable part. Default 0."},"taxable_interest":{"type":"number","description":"Expected 2026 taxable interest. Default 0."},"ordinary_dividends":{"type":"number","description":"Expected 2026 ordinary dividends (Form 1099-DIV box 1a), including the qualified part. Default: the qualified dividends given, else 0."},"qualified_dividends":{"type":"number","description":"The qualified part of the dividends, taxed at the capital-gains rates. Default 0."},"short_term_gains":{"type":"number","description":"Expected 2026 net short-term capital gain, negative for a loss. Default 0."},"long_term_gains":{"type":"number","description":"Expected 2026 net long-term capital gain, negative for a loss. Default 0."},"prior_year_tax":{"type":"number","description":"The total tax on the 2025 return (Form 1040 line 24): sets the prior-year safe harbor."},"prior_year_agi":{"type":"number","description":"2025 adjusted gross income: above $150,000 ($75,000 married filing separately) the prior-year safe harbor is 110% of the 2025 tax. Default: not above it, stated in the result."},"federal_withholding":{"type":"number","description":"Federal income tax withheld for all of 2026, including withholding still to come (counted as paid in four equal parts on the due dates). Default 0."},"estimated_payments":{"type":"array","items":{"type":"number"},"maxItems":4,"description":"The 2026 estimated payments in installment order (April 15, June 15, September 15, January 15). With fewer than four, the January installment is the open one: the result gives what is still due and the penalty three ways (paid as the January estimate, withheld in December instead, nothing more). Default: none."},"estimated_payment_dates":{"type":"array","items":{"type":["string","null"]},"maxItems":4,"description":"The date each estimated payment was made (YYYY-MM-DD), in the same order; null for one paid on its due date. A late payment accrues the penalty to the day. Default: every payment on its due date."}},"required":["filing_status","age","prior_year_tax"]}},{"name":"explain_methodology","description":"Returns what the QuantCalc engine models and what it deliberately leaves out, including the tax provisions that are out of scope, and links to the published methodology.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"ira_deduction_and_roth_limit","description":"Runs IRS Publication 590-A Worksheet 1-2 (the deductible part of a traditional IRA contribution when you or your spouse is covered by a plan at work) and Worksheet 2-2 (the reduced Roth IRA contribution limit) for 2026 or 2027 on a modified AGI, line by line, with the spousal IRA rule and the $10 rounding and $200 floor: free when the MAGI is given. With a connected QuantCalc PRO licence or Tax Season Pass it also figures the MAGI from wages and other income and the federal and state tax the deduction saves (New Jersey, Pennsylvania and Massachusetts allow no IRA deduction). The limits and ranges are the website's IRA and Roth income-limit pages' own figures (2027 projected until the IRS publishes them). Not tax advice.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","hoh","mfs","mfs_apart"],"description":"single, mfj, hoh, mfs (lived with the spouse at some time in the year) or mfs_apart (married filing separately, lived apart all year: treated as unmarried)."},"age":{"type":"integer","description":"Your age on December 31 of the tax year (18-110): 50 or older adds the catch-up."},"covered":{"type":"boolean","description":"You are covered by a retirement plan at work (the W-2 'Retirement plan' box). Default false."},"spouse_covered":{"type":"boolean","description":"mfj or mfs: your spouse is covered by a plan at work. Default false."},"magi":{"type":"number","description":"Modified AGI. With it the worksheets run without a licence. Without it the engine's AGI for the income given is used (licence needed)."},"wages":{"type":"number","description":"Your wages (W-2 box 1): your compensation. Default 0."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's wages. Default 0."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age. Default: the same as age."},"other_income":{"type":"number","description":"Other taxable income (interest, other ordinary income). Default 0."},"contribution_type":{"type":"string","enum":["traditional","roth"],"description":"traditional (default): the deductible part and the tax it saves. roth: your Roth IRA limit at this MAGI."},"amount":{"type":"number","description":"The contribution for the year. Default: your full limit."},"spouse_ira_contributions":{"type":"number","description":"Joint return only: the spouse's own IRA contributions (the spousal IRA rule). Default 0."},"state":{"type":"string","description":"Optional two-letter state of residence, or DC: adds the state tax saving (licence needed). Without it no state saving is figured."},"tax_year":{"type":"integer","description":"2026 (default) or 2027. 2027 uses the 2027 pages' figures (projected until the IRS publishes them) and the engine's projected federal return; stated in the result."}},"required":["filing_status","age"]}},{"name":"irmaa_check","description":"Returns the Medicare IRMAA tier a MAGI sets: the official 2026 tier (from 2024 MAGI) and the 2027 and 2028 tiers (from 2025 and 2026 MAGI) on the tables as QuantCalc projects them, labelled projected; with each the monthly Part B and Part D surcharge per person, the annual total for the people on Medicare, and the distance to the next tier. Reads the same CMS tables as the website's IRMAA calculator. Free: no licence needed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"magi":{"type":"number","description":"Modified AGI (AGI plus tax-exempt interest) of the 2024 return, which sets the 2026 premiums; also used for 2025 and 2026 unless they are given."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"magi_2025":{"type":"number","description":"2025 MAGI, which sets the 2027 premiums. Default: magi."},"magi_2026":{"type":"number","description":"2026 MAGI, which sets the 2028 premiums. Default: magi."},"both_spouses_on_medicare":{"type":"boolean","description":"Joint return only: both spouses are on Medicare (the surcharge is per person). Default true, stated."},"cpi_assumption_percent":{"type":"number","enum":[2,2.5,3],"description":"The CPI-U assumption of the projected 2027 and 2028 tables: 2.0, 2.5 (the central case, default) or 3.0, the band /irmaa-brackets-2027/ prints."}},"required":["magi","filing_status"]}},{"name":"list_return_assumption_sources","description":"Returns the published capital market assumption sets the engine carries and which components each publisher provides (returns, volatilities, correlations).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"optimize_social_security_claiming","description":"Searches every Social Security claiming age from 62 (or today's age) to 70 for the household's tax-aware plan: each age's benefit is the given benefit restated by the SSA reduction and delayed-retirement-credit rules, and each age runs the full tax-aware plan on the same simulated markets as the plan's own age. The score of a path is the after-tax estate minus unfunded spending (today's dollars); the result gives each age's success rate and median paired difference against the plan, the best age, and the 10th-90th percentile range. Requires a connected QuantCalc PRO licence. Long searches return a job_id: call again with only job_id to fetch the result.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"current_age":{"type":"integer","description":"Current age of the primary person."},"retirement_age":{"type":"integer","description":"Age work income stops. Defaults to current age."},"life_expectancy":{"type":"integer","description":"Age the plan must last until. Default 92."},"annual_spending":{"type":"number","description":"Planned yearly spending in today's dollars, after tax: what the household keeps. The engine withdraws enough each year to fund this plus that year's federal, state, Medicare-surcharge and penalty tax."},"monthly_contribution":{"type":"number","description":"Monthly savings until retirement. Default 0."},"social_security":{"type":"number","description":"Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."},"ss_start_age":{"type":"integer","description":"Age Social Security starts. Default 67."},"pension":{"type":"number","description":"Yearly pension income. Default 0."},"pension_start_age":{"type":"integer","description":"Age the pension starts. Default 65."},"inflation_rate":{"type":"number","description":"Annual inflation as a percent, e.g. 2.5. Default 2.5."},"allocations":{"type":"array","items":{"type":"number"},"minItems":5,"maxItems":5,"description":"Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0]."},"returns_source":{"type":"string","description":"Which published return set to use (see list_return_assumption_sources). Default jpmorgan."},"return_model":{"type":"string","enum":["parametric","bootstrap","historical"],"description":"How returns are generated. parametric (default): the forward-looking published assumptions. bootstrap: stationary block bootstrap of historical months. historical: replays real months from 1926 in order. The last two need a PRO licence; without one the engine runs parametric and the result says so."},"withdrawal_strategy":{"type":"string","enum":["fixed","guyton-klinger","vpw","bucket"],"description":"Spending rule. fixed (default): the planned amount, inflation-adjusted, every year. guyton-klinger: guardrails that cut or raise spending as the portfolio moves. vpw: variable percentage withdrawal. bucket: a cash reserve of bucket_years of spending."},"bucket_years":{"type":"integer","description":"Only with withdrawal_strategy bucket: years of spending held in the cash bucket, 1-10."},"spending_confidence":{"type":"integer","enum":[75,80,85,90,95],"description":"The success rate the 'sustainable spending' answer is solved at: the most this plan can spend each year and still succeed on at least this percentage of paths, with the same answer if every balance were 20% lower or higher today. One of 75, 80, 85, 90, 95. Default 90."},"pension_type":{"type":"string","enum":["private","public"],"description":"Whether the pension is private or a government (public) pension, which several states exempt from state income tax. Only affects the tax-aware tool. Default private, and the tax-aware result states it."},"traditional_balance":{"type":"number","description":"Pre-tax retirement accounts today (traditional IRA, 401(k), 403(b)), in dollars. 0 if none."},"roth_balance":{"type":"number","description":"Roth IRA and Roth 401(k) balance today, in dollars. 0 if none."},"taxable_balance":{"type":"number","description":"Taxable brokerage and savings today, in dollars. 0 if none. The three balances together are the portfolio."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"Federal filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"state":{"type":"string","description":"Two-letter state of residence (or DC) for state income tax with that state's retirement-income rules. When absent the result states that no state tax was modelled."},"move_state":{"type":"object","description":"A planned move to another state: the household lives in `state` until the first day of `month` of `year`, then in move_state.state. The plan uses the old state's income tax before the move year, the new state's after it, and a part-year return in each in the move year (each state's own part-year rules, the year's income split by days). The result compares the lifetime state tax with the move against staying and against moving now. Needs `state`.","properties":{"state":{"type":"string","description":"Two-letter state moved to (or DC); not Washington."},"year":{"type":"integer","description":"Calendar year of the move, 2026 to the plan's last year."},"month":{"type":"integer","description":"Month of the move, 1-12 (the move on the 1st). Default 7. 1 = the whole move year in the new state."}},"required":["state","year"]},"cost_basis_ratio":{"type":"number","description":"Percentage of the taxable account that is cost basis, 0-100. Default 40, and the result says so when it is assumed."},"spouse_age":{"type":"integer","description":"Spouse's current age, for married filing jointly: sets the second aged deduction and Medicare surcharge. Default: the same as current_age, stated in the result."},"medicare_start_age":{"type":"integer","description":"Age Medicare (and its IRMAA income surcharges) begins. Default 65. The year it begins is charged only for the months from the birthday month."},"birth_year":{"type":"integer","description":"Year of birth, optional. Must match current_age: 2026 minus current_age, or 2025 minus current_age when this year's birthday is still to come (then every tax rule uses the age reached in each calendar year). Sets the RMD start age (73 if born 1951-1959, 75 if born 1960 or later). Default: 2026 minus current_age, stated in the result."},"birth_month":{"type":"integer","description":"Month of birth, 1-12, optional. Times the half-year rules: the early-withdrawal penalty ends at 59 and a half, charitable distributions start at 70 and a half, Medicare starts in the birthday month. Default: not given, stated in the result."},"annual_qcd":{"type":"number","description":"Yearly qualified charitable distribution from the traditional account, in today's dollars, counted against required minimum distributions. Default 0."},"roth_conversion":{"type":"object","description":"The household's own Roth-conversion plan: a fixed amount per year between two ages. When given, the engine applies it on every path and searches withdrawal orders around it instead of searching its own conversion programmes.","properties":{"annual_amount":{"type":"number","description":"Dollars converted per year, today's dollars."},"start_age":{"type":"integer"},"end_age":{"type":"integer"}},"required":["annual_amount","start_age","end_age"]},"tax_exempt_interest":{"type":"number","description":"Yearly municipal-bond interest, which counts toward Social Security taxability and IRMAA income but is not itself taxed. Default 0."},"aca_marketplace":{"type":"object","description":"Optional: the household buys marketplace (ACA) health coverage in the retirement years before Medicare. Each path's premium tax credit is figured each year by the federal engine's Form 8962 at that path's own income (no credit above 400% of the poverty line; Medicaid below 138% in expansion states), and the premium after the credit is funded each year and counted by the withdrawal-order search. Needs state.","properties":{"spending_includes_premium":{"type":"boolean","description":"Required. true: annual_spending already includes the full, unsubsidized benchmark premium (it is taken out and the premium after the credit paid instead); false: the premium after the credit is paid on top of annual_spending."},"benchmark_premium":{"type":"number","description":"The household's 2026 annual benchmark (second-lowest-cost silver) premium at its 2026 ages, from healthcare.gov or the state's marketplace. Default: the state-average model, stated in the result."},"household_size":{"type":"integer","description":"Tax family size for the poverty line (you, a spouse on a joint return, dependents). Default 2 on a joint return, else 1."},"cover_spouse":{"type":"boolean","description":"Joint return: the spouse is on the plan too. Default true."}},"required":["spending_includes_premium"]},"itemized_deductions":{"type":"object","description":"Optional Schedule A amounts, in today's dollars a year: each year the engine adds that year's own state and local income tax (capped with the property tax by the SALT limit), takes gifts over 0.5% of AGI and medical costs over 7.5% of AGI, and itemizes when that gives the lower tax; otherwise the standard deduction. They are deductions only, assumed to be inside annual_spending already. Mortgage interest stays fixed in dollars until its end year, property tax rises 3.5% a year, giving with inflation, medical costs with inflation. Do not include QCDs in charitable_giving. Default: none, stated in the result.","properties":{"mortgage_interest":{"type":"number","description":"Deductible home mortgage interest per year."},"mortgage_interest_end_year":{"type":"integer","description":"Last calendar year with mortgage interest. Default: every year."},"property_tax":{"type":"number","description":"Real estate tax on the home per year."},"charitable_giving":{"type":"number","description":"Cash gifts to charity per year, not counting QCDs."},"medical_expenses":{"type":"number","description":"Unreimbursed medical and dental costs per year, before the 7.5% floor."}}},"roth_contribution_basis":{"type":"number","description":"Optional: the part of roth_balance that is your own regular Roth IRA contributions (withdrawn first, tax-free). Giving it, roth_first_contribution_year or ira_basis turns on the Roth ordering and 5-year rules on Roth withdrawals (earnings before 59 1/2 or inside the 5-year clock are taxed, with the 10% additional tax before 59 1/2) and the Form 8606 pro-rata rule on traditional withdrawals and conversions. Default: all of roth_balance."},"roth_first_contribution_year":{"type":"integer","description":"Optional: the first year you contributed to or converted into any Roth IRA (the 5-year clock), 1998-2026. Default: 2021 when roth_balance > 0."},"ira_basis":{"type":"number","description":"Optional: your Form 8606 basis (nondeductible traditional IRA contributions not yet recovered); that share of each traditional withdrawal and conversion is tax-free. Not with a per-owner traditional balance."},"dependents":{"type":"array","description":"Optional: up to 8 people you claim, each {age (at the end of 2026; negative = born later), student, disabled}. Each retirement year counts the qualifying children that year for the child tax credit (under 17), the credit for other dependents and the earned income credit, and gives them to the state return.","items":{"type":"object","properties":{"age":{"type":"integer"},"student":{"type":"boolean"},"disabled":{"type":"boolean"}},"required":["age"]}},"lifespan":{"type":"string","enum":["fixed","stochastic"],"description":"fixed (default): the plan runs to its end age. stochastic: each path draws your death year from the SSA period life table and ends after it (the estate is held at its value at death; success = the money lasted while you were alive). Not on a joint return."},"annuity":{"type":"object","description":"Optional: a single-life immediate annuity bought at purchase_age with premium (today's dollars) from the traditional IRA (a qualified annuity: payments fully taxable) or the taxable account (non-qualified: each payment is tax-free up to the premium over the IRS Table V multiple until the premium is recovered). Payments start in the purchase year and stop at death.","properties":{"purchase_age":{"type":"integer","description":"Age at purchase, in retirement."},"premium":{"type":"number","description":"Single premium in today's dollars."},"source":{"type":"string","enum":["traditional","taxable"]},"payout_rate":{"type":"number","description":"First year's payments as a percent of the premium (from a quote)."},"cola":{"type":"number","description":"Fixed yearly increase of the payment in percent. Default 0."}},"required":["purchase_age","premium","source","payout_rate"]},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Married filing jointly with a state: whose IRA withdrawals, pension and Roth conversions they are on the state return: even (half each), filer (all the filer's) or spouse (all the spouse's). Arkansas, Delaware, Maryland, Minnesota, Missouri, North Dakota, Ohio and Virginia tax a couple by each spouse's own income, so there it can change the state tax; federal tax does not depend on it. Default on a joint return with a state: even (the spouse's age is then needed; when spouse_age is not given it is current_age), stated in the result. Not used off a joint return or without a state."},"job_id":{"type":"string","description":"Only to fetch a search a previous call started: the job_id it returned. With it, no other input is read."}}}},{"name":"pretax_contribution_savings","description":"Figures what a 2026 (or projected 2027) health FSA or HSA contribution saves in federal income tax, Social Security and Medicare tax and state income tax: the same return with and without the contribution, a payroll contribution taken out of W-2 boxes 1, 3 and 5, a direct HSA contribution out of the income tax only (no FICA saving); California (HSA) and New Jersey (HSA and FSA), which tax the contribution, show no state saving. Returns each saving, the total, the after-tax cost, an optional FSA forfeiture estimate and every default assumed. Computed by QuantCalc's federal and state tax APIs, the engines the website's FSA and HSA limit pages are checked against to the cent. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free web calculator. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account":{"type":"string","enum":["fsa","hsa"],"description":"fsa: a health flexible spending account (always a payroll salary reduction). hsa: a health savings account."},"amount":{"type":"number","description":"The 2026 contribution in dollars (more than 0; a payroll contribution is at most the filer's wages)."},"wages":{"type":"number","description":"The filer's 2026 W-2 wages (box 1) before the contribution: the paycheck it comes out of."},"route":{"type":"string","enum":["payroll","direct"],"description":"hsa only: payroll (through the employer's cafeteria plan: saves income tax and Social Security and Medicare tax) or direct (made outside payroll and deducted on the return: no FICA saving). Default payroll, stated in the result."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's own 2026 W-2 wages. Default 0."},"state":{"type":"string","description":"Optional two-letter state of residence for 2026, or DC: adds the state tax saving. California (HSA) and New Jersey (HSA and FSA) tax the contribution, so they show no state saving."},"tax_year":{"type":"integer","description":"2026 (default) or 2027. 2027 is projected: the engine's law-as-written projection of the federal tax, FICA on SSA's published 2027 wage base, the state's 2026 rules; stated in the result."},"age":{"type":"integer","description":"The age the filer reaches in the tax year (16-110). Default 40, stated in the result."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age in the tax year. Default: the same as age."},"expected_spend":{"type":"number","description":"fsa only: the eligible expenses expected in the plan year; with it the result estimates the unspent amount the plan forfeits."},"plan_carryover":{"type":"number","description":"fsa only, with expected_spend: the most the employer's plan carries into the next plan year (0 if the plan has no carryover). Default 0."}},"required":["account","amount","wages","filing_status"]}},{"name":"qcd_tax_savings","description":"Compares a 2026 charitable gift made as a qualified charitable distribution from an IRA with the same gift in cash: the federal and state tax saved and the IRMAA surcharge saved, with the cash gift deducted the way the return allows (itemizing, or the standard deduction with the non-itemizer charitable deduction, whichever gives the lower tax). Computed by QuantCalc's federal and state tax APIs, as the website's QCD calculator; requires a connected QuantCalc PRO licence or Tax Season Pass, and without one returns no figures and names the free page. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The IRA owner's age reached in 2026 (a QCD needs 70½ on the day of the gift)."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age reached in 2026. Default the same as age, stated."},"gift":{"type":"number","description":"The charitable gift planned for 2026."},"ira_withdrawal":{"type":"number","description":"The 2026 IRA withdrawal (RMD included) before the gift: with a cash gift all of it is income, with a QCD the QCD part is not. Default 0."},"ira_balance":{"type":"number","description":"The IRA balance, which caps the QCD. Default: large enough, stated."},"state":{"type":"string","description":"Optional: two-letter code of the state (or DC) for the state tax line. Absent: federal only."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income. Default 0."},"state_local_income_tax":{"type":"number","description":"State and local income tax paid in 2026 (Schedule A), for the itemize-or-standard comparison. Default 0."},"mortgage_interest":{"type":"number","description":"Mortgage interest paid in 2026 (Schedule A). Default 0."},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Joint return only: whose the IRA withdrawal and pension are on the state return (even, filer or spouse). Default even, stated."}},"required":["filing_status","age","gift"]}},{"name":"retirement_plan_deferral_savings","description":"Returns the 2026 or 2027 elective-deferral limit for a 401(k), 403(b), governmental 457(b), the TSP or a SIMPLE IRA at an age (the age-50 and ages 60-63 catch-ups, the SIMPLE higher limit, the Roth catch-up wage rule), free; and what the pre-tax deferral saves in federal income tax (with the 2026 Saver's Credit) and state income tax, with $0 Social Security and Medicare tax saved and no state saving in Pennsylvania (and New Jersey for all but the 401(k)): the same return with and without the deferral. The limits are the website's contribution-limit pages' own figures (2027 projected until the IRS publishes them); the tax figures come from QuantCalc's federal and state tax APIs and need a connected QuantCalc PRO licence or Tax Season Pass. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"plan":{"type":"string","enum":["401k","403b","457b","tsp","simple"],"description":"The workplace plan: 401(k), 403(b), governmental 457(b), the TSP, or a SIMPLE IRA."},"age":{"type":"integer","description":"Your age on December 31 of the tax year (18-110): sets the catch-up (50+, and the higher catch-up in the years you turn 60 to 63)."},"wages":{"type":"number","description":"Your wages before the contribution (more than 0): the deferral comes out of them."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"amount":{"type":"number","description":"The pre-tax deferral for the year. Default: your full limit at your age. Over the limit or over your wages it is figured on the lower."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's own wages. Default 0."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age. Default: the same as age."},"state":{"type":"string","description":"Optional two-letter state of residence, or DC: adds the state tax saving (licence needed). Without it no state saving is figured."},"tax_year":{"type":"integer","description":"2026 (default) or 2027. 2027 uses the 2027 pages' figures (projected until the IRS publishes them) and the engine's projected federal return; stated in the result."},"roth_catchup":{"type":"boolean","description":"Not for simple: true when your prior-year Social Security wages from this employer were over the year's threshold, so the catch-up must go in as Roth (no tax saved now). Default: whether wages are over the threshold, stated in the result."},"higher_limit_simple":{"type":"boolean","description":"simple only: the employer uses the SECURE 2.0 higher-limit SIMPLE."},"non_governmental_457":{"type":"boolean","description":"457b only: a tax-exempt (non-governmental) employer's 457(b), which has no catch-up."}},"required":["plan","age","wages","filing_status"]}},{"name":"roth_conversion_tax_cost","description":"Figures the federal and state tax a 2026 Roth conversion adds to the household's year, its share of the amount converted and the cost of the next $1,000; the room left in the current federal bracket and below the next IRMAA tier; and flags an IRMAA tier crossing (with the 2028 surcharge), Social Security the conversion makes taxable (the tax torpedo) and a senior-deduction phase-out. Computed by QuantCalc's federal and state tax APIs, as the website's Roth conversion cost calculator; requires a connected QuantCalc PRO licence or Tax Season Pass, and without one returns no figures and names the free page. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age reached in 2026 (18-110)."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age reached in 2026. Default the same as age, stated."},"conversion":{"type":"number","description":"The amount to convert from a traditional IRA to a Roth IRA in 2026."},"state":{"type":"string","description":"Optional: two-letter code of the state (or DC) for the state tax line. Absent: federal only."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income. Default 0."},"ira_distributions":{"type":"number","description":"Other taxable 2026 IRA or 401(k) withdrawals (RMDs included). Default 0."},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Joint return only: whose the IRA money, pension and conversion are on the state return: even (half each), filer or spouse. It can change the tax in the states that tax each spouse's own income; federal tax does not depend on it. Default even, stated in the result."}},"required":["filing_status","age","conversion"]}},{"name":"run_retirement_projection","description":"Runs a Monte Carlo retirement projection on the QuantCalc engine and returns the success rate, the ending-portfolio distribution, and the assumptions that produced them. The result states the return model that ran, the number of paths, and the income assumptions it used, including when there are none. Income tax is not modelled by this tool; run_tax_aware_projection models it.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"current_age":{"type":"integer","description":"Current age of the primary person."},"retirement_age":{"type":"integer","description":"Age work income stops. Defaults to current age."},"life_expectancy":{"type":"integer","description":"Age the plan must last until. Default 92."},"current_savings":{"type":"number","description":"Total invested portfolio today, in dollars."},"annual_spending":{"type":"number","description":"Planned yearly spending in today's dollars, before income tax (this tool runs the standard engine, which does not model tax)."},"monthly_contribution":{"type":"number","description":"Monthly savings until retirement. Default 0."},"social_security":{"type":"number","description":"Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."},"ss_start_age":{"type":"integer","description":"Age Social Security starts. Default 67."},"pension":{"type":"number","description":"Yearly pension income. Default 0."},"pension_start_age":{"type":"integer","description":"Age the pension starts. Default 65."},"inflation_rate":{"type":"number","description":"Annual inflation as a percent, e.g. 2.5. Default 2.5."},"allocations":{"type":"array","items":{"type":"number"},"minItems":5,"maxItems":5,"description":"Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0]."},"returns_source":{"type":"string","description":"Which published return set to use (see list_return_assumption_sources). Default jpmorgan."},"return_model":{"type":"string","enum":["parametric","bootstrap","historical"],"description":"How returns are generated. parametric (default): the forward-looking published assumptions. bootstrap: stationary block bootstrap of historical months. historical: replays real months from 1926 in order. The last two need a PRO licence; without one the engine runs parametric and the result says so."},"withdrawal_strategy":{"type":"string","enum":["fixed","guyton-klinger","vpw","bucket"],"description":"Spending rule. fixed (default): the planned amount, inflation-adjusted, every year. guyton-klinger: guardrails that cut or raise spending as the portfolio moves. vpw: variable percentage withdrawal. bucket: a cash reserve of bucket_years of spending."},"bucket_years":{"type":"integer","description":"Only with withdrawal_strategy bucket: years of spending held in the cash bucket, 1-10."},"spending_confidence":{"type":"integer","enum":[75,80,85,90,95],"description":"The success rate the 'sustainable spending' answer is solved at: the most this plan can spend each year and still succeed on at least this percentage of paths, with the same answer if every balance were 20% lower or higher today. One of 75, 80, 85, 90, 95. Default 90."}},"required":["current_age","current_savings","annual_spending"]}},{"name":"run_tax_aware_projection","description":"Runs the retirement projection with the household's accounts split by tax type and returns the withdrawal order and Roth-conversion programme the engine selected, its present-value advantage and range against drawing traditional first, and the after-tax success rate. Federal and state income tax (50 states and DC), Social Security taxability, required minimum distributions, Medicare IRMAA surcharges and the early-withdrawal penalty are paid from the portfolio year by year; spending is what the household keeps after tax. The result states every assumption it used, including the defaults for inputs that were not given, and what the engine does not model.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"current_age":{"type":"integer","description":"Current age of the primary person."},"retirement_age":{"type":"integer","description":"Age work income stops. Defaults to current age."},"life_expectancy":{"type":"integer","description":"Age the plan must last until. Default 92."},"annual_spending":{"type":"number","description":"Planned yearly spending in today's dollars, after tax: what the household keeps. The engine withdraws enough each year to fund this plus that year's federal, state, Medicare-surcharge and penalty tax."},"monthly_contribution":{"type":"number","description":"Monthly savings until retirement. Default 0."},"social_security":{"type":"number","description":"Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."},"ss_start_age":{"type":"integer","description":"Age Social Security starts. Default 67."},"pension":{"type":"number","description":"Yearly pension income. Default 0."},"pension_start_age":{"type":"integer","description":"Age the pension starts. Default 65."},"inflation_rate":{"type":"number","description":"Annual inflation as a percent, e.g. 2.5. Default 2.5."},"allocations":{"type":"array","items":{"type":"number"},"minItems":5,"maxItems":5,"description":"Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0]."},"returns_source":{"type":"string","description":"Which published return set to use (see list_return_assumption_sources). Default jpmorgan."},"return_model":{"type":"string","enum":["parametric","bootstrap","historical"],"description":"How returns are generated. parametric (default): the forward-looking published assumptions. bootstrap: stationary block bootstrap of historical months. historical: replays real months from 1926 in order. The last two need a PRO licence; without one the engine runs parametric and the result says so."},"withdrawal_strategy":{"type":"string","enum":["fixed","guyton-klinger","vpw","bucket"],"description":"Spending rule. fixed (default): the planned amount, inflation-adjusted, every year. guyton-klinger: guardrails that cut or raise spending as the portfolio moves. vpw: variable percentage withdrawal. bucket: a cash reserve of bucket_years of spending."},"bucket_years":{"type":"integer","description":"Only with withdrawal_strategy bucket: years of spending held in the cash bucket, 1-10."},"spending_confidence":{"type":"integer","enum":[75,80,85,90,95],"description":"The success rate the 'sustainable spending' answer is solved at: the most this plan can spend each year and still succeed on at least this percentage of paths, with the same answer if every balance were 20% lower or higher today. One of 75, 80, 85, 90, 95. Default 90."},"pension_type":{"type":"string","enum":["private","public"],"description":"Whether the pension is private or a government (public) pension, which several states exempt from state income tax. Only affects the tax-aware tool. Default private, and the tax-aware result states it."},"traditional_balance":{"type":"number","description":"Pre-tax retirement accounts today (traditional IRA, 401(k), 403(b)), in dollars. 0 if none."},"roth_balance":{"type":"number","description":"Roth IRA and Roth 401(k) balance today, in dollars. 0 if none."},"taxable_balance":{"type":"number","description":"Taxable brokerage and savings today, in dollars. 0 if none. The three balances together are the portfolio."},"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"Federal filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"state":{"type":"string","description":"Two-letter state of residence (or DC) for state income tax with that state's retirement-income rules. When absent the result states that no state tax was modelled."},"move_state":{"type":"object","description":"A planned move to another state: the household lives in `state` until the first day of `month` of `year`, then in move_state.state. The plan uses the old state's income tax before the move year, the new state's after it, and a part-year return in each in the move year (each state's own part-year rules, the year's income split by days). The result compares the lifetime state tax with the move against staying and against moving now. Needs `state`.","properties":{"state":{"type":"string","description":"Two-letter state moved to (or DC); not Washington."},"year":{"type":"integer","description":"Calendar year of the move, 2026 to the plan's last year."},"month":{"type":"integer","description":"Month of the move, 1-12 (the move on the 1st). Default 7. 1 = the whole move year in the new state."}},"required":["state","year"]},"cost_basis_ratio":{"type":"number","description":"Percentage of the taxable account that is cost basis, 0-100. Default 40, and the result says so when it is assumed."},"spouse_age":{"type":"integer","description":"Spouse's current age, for married filing jointly: sets the second aged deduction and Medicare surcharge. Default: the same as current_age, stated in the result."},"medicare_start_age":{"type":"integer","description":"Age Medicare (and its IRMAA income surcharges) begins. Default 65. The year it begins is charged only for the months from the birthday month."},"birth_year":{"type":"integer","description":"Year of birth, optional. Must match current_age: 2026 minus current_age, or 2025 minus current_age when this year's birthday is still to come (then every tax rule uses the age reached in each calendar year). Sets the RMD start age (73 if born 1951-1959, 75 if born 1960 or later). Default: 2026 minus current_age, stated in the result."},"birth_month":{"type":"integer","description":"Month of birth, 1-12, optional. Times the half-year rules: the early-withdrawal penalty ends at 59 and a half, charitable distributions start at 70 and a half, Medicare starts in the birthday month. Default: not given, stated in the result."},"annual_qcd":{"type":"number","description":"Yearly qualified charitable distribution from the traditional account, in today's dollars, counted against required minimum distributions. Default 0."},"roth_conversion":{"type":"object","description":"The household's own Roth-conversion plan: a fixed amount per year between two ages. When given, the engine applies it on every path and searches withdrawal orders around it instead of searching its own conversion programmes.","properties":{"annual_amount":{"type":"number","description":"Dollars converted per year, today's dollars."},"start_age":{"type":"integer"},"end_age":{"type":"integer"}},"required":["annual_amount","start_age","end_age"]},"tax_exempt_interest":{"type":"number","description":"Yearly municipal-bond interest, which counts toward Social Security taxability and IRMAA income but is not itself taxed. Default 0."},"aca_marketplace":{"type":"object","description":"Optional: the household buys marketplace (ACA) health coverage in the retirement years before Medicare. Each path's premium tax credit is figured each year by the federal engine's Form 8962 at that path's own income (no credit above 400% of the poverty line; Medicaid below 138% in expansion states), and the premium after the credit is funded each year and counted by the withdrawal-order search. Needs state.","properties":{"spending_includes_premium":{"type":"boolean","description":"Required. true: annual_spending already includes the full, unsubsidized benchmark premium (it is taken out and the premium after the credit paid instead); false: the premium after the credit is paid on top of annual_spending."},"benchmark_premium":{"type":"number","description":"The household's 2026 annual benchmark (second-lowest-cost silver) premium at its 2026 ages, from healthcare.gov or the state's marketplace. Default: the state-average model, stated in the result."},"household_size":{"type":"integer","description":"Tax family size for the poverty line (you, a spouse on a joint return, dependents). Default 2 on a joint return, else 1."},"cover_spouse":{"type":"boolean","description":"Joint return: the spouse is on the plan too. Default true."}},"required":["spending_includes_premium"]},"itemized_deductions":{"type":"object","description":"Optional Schedule A amounts, in today's dollars a year: each year the engine adds that year's own state and local income tax (capped with the property tax by the SALT limit), takes gifts over 0.5% of AGI and medical costs over 7.5% of AGI, and itemizes when that gives the lower tax; otherwise the standard deduction. They are deductions only, assumed to be inside annual_spending already. Mortgage interest stays fixed in dollars until its end year, property tax rises 3.5% a year, giving with inflation, medical costs with inflation. Do not include QCDs in charitable_giving. Default: none, stated in the result.","properties":{"mortgage_interest":{"type":"number","description":"Deductible home mortgage interest per year."},"mortgage_interest_end_year":{"type":"integer","description":"Last calendar year with mortgage interest. Default: every year."},"property_tax":{"type":"number","description":"Real estate tax on the home per year."},"charitable_giving":{"type":"number","description":"Cash gifts to charity per year, not counting QCDs."},"medical_expenses":{"type":"number","description":"Unreimbursed medical and dental costs per year, before the 7.5% floor."}}},"roth_contribution_basis":{"type":"number","description":"Optional: the part of roth_balance that is your own regular Roth IRA contributions (withdrawn first, tax-free). Giving it, roth_first_contribution_year or ira_basis turns on the Roth ordering and 5-year rules on Roth withdrawals (earnings before 59 1/2 or inside the 5-year clock are taxed, with the 10% additional tax before 59 1/2) and the Form 8606 pro-rata rule on traditional withdrawals and conversions. Default: all of roth_balance."},"roth_first_contribution_year":{"type":"integer","description":"Optional: the first year you contributed to or converted into any Roth IRA (the 5-year clock), 1998-2026. Default: 2021 when roth_balance > 0."},"ira_basis":{"type":"number","description":"Optional: your Form 8606 basis (nondeductible traditional IRA contributions not yet recovered); that share of each traditional withdrawal and conversion is tax-free. Not with a per-owner traditional balance."},"dependents":{"type":"array","description":"Optional: up to 8 people you claim, each {age (at the end of 2026; negative = born later), student, disabled}. Each retirement year counts the qualifying children that year for the child tax credit (under 17), the credit for other dependents and the earned income credit, and gives them to the state return.","items":{"type":"object","properties":{"age":{"type":"integer"},"student":{"type":"boolean"},"disabled":{"type":"boolean"}},"required":["age"]}},"lifespan":{"type":"string","enum":["fixed","stochastic"],"description":"fixed (default): the plan runs to its end age. stochastic: each path draws your death year from the SSA period life table and ends after it (the estate is held at its value at death; success = the money lasted while you were alive). Not on a joint return."},"annuity":{"type":"object","description":"Optional: a single-life immediate annuity bought at purchase_age with premium (today's dollars) from the traditional IRA (a qualified annuity: payments fully taxable) or the taxable account (non-qualified: each payment is tax-free up to the premium over the IRS Table V multiple until the premium is recovered). Payments start in the purchase year and stop at death.","properties":{"purchase_age":{"type":"integer","description":"Age at purchase, in retirement."},"premium":{"type":"number","description":"Single premium in today's dollars."},"source":{"type":"string","enum":["traditional","taxable"]},"payout_rate":{"type":"number","description":"First year's payments as a percent of the premium (from a quote)."},"cola":{"type":"number","description":"Fixed yearly increase of the payment in percent. Default 0."}},"required":["purchase_age","premium","source","payout_rate"]},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Married filing jointly with a state: whose IRA withdrawals, pension and Roth conversions they are on the state return: even (half each), filer (all the filer's) or spouse (all the spouse's). Arkansas, Delaware, Maryland, Minnesota, Missouri, North Dakota, Ohio and Virginia tax a couple by each spouse's own income, so there it can change the state tax; federal tax does not depend on it. Default on a joint return with a state: even (the spouse's age is then needed; when spouse_age is not given it is current_age), stated in the result. Not used off a joint return or without a state."}},"required":["current_age","annual_spending","traditional_balance","roth_balance","taxable_balance","filing_status"]}},{"name":"social_security_taxable_amount","description":"Figures how much of a household's 2026 Social Security benefits is taxable, the federal income tax and the part of it the benefits cost, the effective marginal rate on the next dollar of other income, how many cents of benefits each extra dollar makes taxable, and which part of the torpedo the household is in. Computed by QuantCalc's federal tax API, as the website's tax torpedo calculator; requires a connected QuantCalc PRO licence or Tax Season Pass, and without one returns no figures and names the free page. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age reached in 2026 (18-110): the age-65 deductions depend on it."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age reached in 2026. Default the same as age, stated."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household."},"pension":{"type":"number","description":"Taxable 2026 pension income. Default 0."},"ira_withdrawals":{"type":"number","description":"Taxable 2026 IRA withdrawals. Default 0."},"investment_income":{"type":"number","description":"Other 2026 investment income (interest, dividends), taxed as ordinary income here, as on the free page. Default 0."},"tax_exempt_interest":{"type":"number","description":"Tax-exempt interest: not taxed, but it counts in provisional income. Default 0."}},"required":["filing_status","age","social_security"]}},{"name":"standard_deduction_vs_itemizing","description":"Returns the 2026 or 2027 standard deduction piece by piece — the basic amount, the additional amount for 65 or older and blind, a dependent's limit, the married-filing-separately rule — free; and, with a connected QuantCalc PRO licence or Tax Season Pass, the senior deduction after its phase-out, the itemized total (SALT cap, mortgage interest, charity and medical floors, the IRC 68 limit), the non-itemizer charitable deduction, the federal tax both ways and which is lower, from QuantCalc's federal tax API run twice. The amounts are the website's standard deduction pages' own figures (2027 projected until the IRS publishes them). Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"Your age on December 31 of the tax year (0-120): 65 or older adds the additional amount and the senior deduction."},"spouse_age":{"type":"integer","description":"Joint return only: the spouse's age. Default: the same as age."},"blind":{"type":"boolean","description":"You are blind. Default false."},"spouse_blind":{"type":"boolean","description":"Joint return only: the spouse is blind. Default false."},"dependent":{"type":"boolean","description":"Not on a joint return: someone else can claim you as a dependent (the basic amount is limited, IRC 63(c)(5)). Default false."},"spouse_itemizes":{"type":"boolean","description":"mfs only: your spouse itemizes on a separate return, so you must too."},"wages":{"type":"number","description":"Your wages (a dependent's earned income). Default 0."},"spouse_wages":{"type":"number","description":"Joint return only: the spouse's wages. Default 0."},"retirement_income":{"type":"number","description":"Taxable pension, annuity and IRA income. Default 0."},"social_security":{"type":"number","description":"Gross Social Security benefits. Default 0."},"state_local_income_tax_paid":{"type":"number","description":"State and local income tax paid. Default 0."},"real_estate_tax_paid":{"type":"number","description":"Property tax paid. Default 0."},"mortgage_interest":{"type":"number","description":"Home mortgage interest. Default 0."},"charitable_cash":{"type":"number","description":"Cash gifts to charity. Default 0."},"medical_expenses":{"type":"number","description":"Medical and dental expenses. Default 0."},"tax_year":{"type":"integer","description":"2026 (default) or 2027. 2027 uses the 2027 pages' figures (projected until the IRS publishes them) and the engine's projected federal return; stated in the result."}},"required":["filing_status","age"]}},{"name":"state_tax_in_every_state","description":"Figures one household's 2026 state income tax in all 50 states and DC from its income (Social Security, IRA and 401(k) withdrawals, a private or government pension, military retirement pay, wages, interest, dividends, long-term gains) and returns every jurisdiction ranked from the lowest tax to the highest, with each state's tax, its share of total income and, given current_state, the difference from the state the household lives in now; the federal tax, which is the same in every state; the lowest and highest states and how many charge $0; the county taxes included; and every default assumed and what is not modelled. Computed by QuantCalc's federal and state tax APIs (POST /api/state-tax/every-state), the engines the website's 'Your retirement tax in every state' page is checked against to the cent. Requires a connected QuantCalc PRO licence or Tax Season Pass; without one it returns no figures and names the free web page. Not tax advice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string","enum":["single","mfj","mfs","hoh"],"description":"2026 filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh)."},"age":{"type":"integer","description":"The age the filer reaches in 2026 (18-110)."},"spouse_age":{"type":"integer","description":"Joint return only: the age the spouse reaches in 2026. Default: the same as age, stated in the result."},"spouse_split":{"type":"string","enum":["even","filer","spouse"],"description":"Joint return only: whose the IRA withdrawals, pension and wages are on the state return: even (half each), filer or spouse. Arkansas, Delaware, Maryland, Minnesota, Missouri, North Dakota, Ohio and Virginia tax a couple by each spouse's own income, so there it can change the state tax; federal tax does not depend on it. Default even, stated in the result."},"social_security":{"type":"number","description":"Gross 2026 Social Security benefits of the household; the engine figures the taxable part. Default 0."},"ira_distributions":{"type":"number","description":"Taxable 2026 IRA, 401(k) and 403(b) withdrawals, the household's total. Default 0."},"pension":{"type":"number","description":"Taxable 2026 pension and annuity income, the household's total. Default 0."},"pension_type":{"type":"string","enum":["private","public"],"description":"Whether the pension is a private pension or a government (federal, state or local) pension, which many states tax differently. Default private, stated in the result when a pension is given."},"military_pension":{"type":"number","description":"Taxable 2026 military retirement pay, the household's total (not in pension). Federally a taxable pension; each state applies its own military retirement rule (exempt, capped, age-tested or credited). On a joint return it follows spouse_split like the pension. Default 0."},"wages":{"type":"number","description":"2026 wages of the household. Default 0."},"taxable_interest":{"type":"number","description":"Taxable interest. Default 0."},"ordinary_dividends":{"type":"number","description":"Ordinary dividends (Form 1099-DIV box 1a), including the qualified part. Default 0."},"qualified_dividends":{"type":"number","description":"The qualified part of ordinary_dividends; not more than ordinary_dividends. Default 0."},"long_term_gains":{"type":"number","description":"2026 net long-term capital gain (0 or more). Default 0."},"current_state":{"type":"string","description":"Optional: two-letter code of the state the household lives in now (or DC). Adds each state's difference from it and its rank."}},"required":["filing_status","age"]}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-11-03T07:00:20.003Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T07:00:19.971Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1430ms"]},"poisoning":{"score":15,"max":15,"notes":["22 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 4 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.quantcalc.app","reachable":true,"authRequired":false,"latencyMs":1430,"serverInfo":{"name":"quantcalc","version":"1.8.0"}}],"packages":[],"repo":{"found":true,"owner":"quantcalc-app","repo":"quantcalc-mcp-plugin","archived":false,"pushedAt":"2026-11-02T12:25:57Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/331059078?v=4","ownerCreatedAt":"2026-09-18T21:35:55Z","license":"MIT"},"icon":{"url":"https://quantcalc.app/icons/icon.svg","source":"registry"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-11-02T12:25:57.000Z","score":23}}}},"grade_history":[],"reviews":[]}