MCPサーバー

QuantCalc Retirement Engine

app.quantcalc/retirement-engine
金融・投資 公開・接続可能 MCP 2026-07-28

このMCPでできること

Runs Monte Carlo retirement projections and compares outcomes under published investment-return assumptions.

compare_return_assumptions
Compare published return assumptions
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['current_age', 'current_savings', 'annual_spending'], 'properties': {'pension': {'type': 'number', 'description': 'Yearly pension income. Default 0.'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Source ids to compare. Defaults to all.'}, 'allocations': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 5, 'minItems': 5, 'description': 'Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0].'}, 'current_age': {'type': 'integer', 'description': 'Current age of the primary person.'}, 'ss_start_age': {'type': 'integer', 'description': 'Age Social Security starts. Default 67.'}, 'inflation_rate': {'type': 'number', 'description': 'Annual inflation as a percent, e.g. 2.5. Default 2.5.'}, 'retirement_age': {'type': 'integer', 'description': 'Age work income stops. Defaults to current age.'}, 'returns_source': {'type': 'string', 'description': 'Which published return set to use (see list_return_assumption_sources). Default jpmorgan.'}, '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)."}, 'current_savings': {'type': 'number', 'description': 'Total invested portfolio today, in dollars.'}, 'life_expectancy': {'type': 'integer', 'description': 'Age the plan must last until. Default 92.'}, 'social_security': {'type': 'number', 'description': "Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."}, 'pension_start_age': {'type': 'integer', 'description': 'Age the pension starts. Default 65.'}, 'monthly_contribution': {'type': 'number', 'description': 'Monthly savings until retirement. Default 0.'}}}
explain_methodology
What the engine models, and what it does not
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'properties': {}}
list_return_assumption_sources
List available return assumption sets
Returns the published capital market assumption sets the engine carries and which components each publisher provides (returns, volatilities, correlations).
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'properties': {}}
run_retirement_projection
Run a retirement projection
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['current_age', 'current_savings', 'annual_spending'], 'properties': {'pension': {'type': 'number', 'description': 'Yearly pension income. Default 0.'}, 'allocations': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 5, 'minItems': 5, 'description': 'Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0].'}, 'current_age': {'type': 'integer', 'description': 'Current age of the primary person.'}, 'ss_start_age': {'type': 'integer', 'description': 'Age Social Security starts. Default 67.'}, 'inflation_rate': {'type': 'number', 'description': 'Annual inflation as a percent, e.g. 2.5. Default 2.5.'}, 'retirement_age': {'type': 'integer', 'description': 'Age work income stops. Defaults to current age.'}, 'returns_source': {'type': 'string', 'description': 'Which published return set to use (see list_return_assumption_sources). Default jpmorgan.'}, '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)."}, 'current_savings': {'type': 'number', 'description': 'Total invested portfolio today, in dollars.'}, 'life_expectancy': {'type': 'integer', 'description': 'Age the plan must last until. Default 92.'}, 'social_security': {'type': 'number', 'description': "Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."}, 'pension_start_age': {'type': 'integer', 'description': 'Age the pension starts. Default 65.'}, 'monthly_contribution': {'type': 'number', 'description': 'Monthly savings until retirement. Default 0.'}}}
run_tax_aware_projection
Tax-aware projection with the recommended withdrawal order
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['current_age', 'annual_spending', 'traditional_balance', 'roth_balance', 'taxable_balance', 'filing_status'], 'properties': {'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."}, 'pension': {'type': 'number', 'description': 'Yearly pension income. Default 0.'}, 'annual_qcd': {'type': 'number', 'description': "Yearly qualified charitable distribution from the traditional account, in today's dollars, counted against required minimum distributions. Default 0."}, '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."}, '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."}, 'allocations': {'type': 'array', 'items': {'type': 'number'}, 'maxItems': 5, 'minItems': 5, 'description': 'Percentages summing to 100: [US stocks, international stocks, bonds, real estate, cash]. Default [60,10,25,5,0].'}, '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.'}, 'current_age': {'type': 'integer', 'description': 'Current age of the primary person.'}, 'roth_balance': {'type': 'number', 'description': 'Roth IRA and Roth 401(k) balance today, in dollars. 0 if none.'}, 'ss_start_age': {'type': 'integer', 'description': 'Age Social Security starts. Default 67.'}, 'filing_status': {'enum': ['single', 'mfj', 'mfs', 'hoh'], 'type': 'string', 'description': 'Federal filing status: single, married filing jointly (mfj), married filing separately (mfs) or head of household (hoh).'}, 'inflation_rate': {'type': 'number', 'description': 'Annual inflation as a percent, e.g. 2.5. Default 2.5.'}, 'retirement_age': {'type': 'integer', 'description': 'Age work income stops. Defaults to current age.'}, 'returns_source': {'type': 'string', 'description': 'Which published return set to use (see list_return_assumption_sources). Default jpmorgan.'}, '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."}, 'life_expectancy': {'type': 'integer', 'description': 'Age the plan must last until. Default 92.'}, 'roth_conversion': {'type': 'object', 'required': ['annual_amount', 'start_age', 'end_age'], 'properties': {'end_age': {'type': 'integer'}, 'start_age': {'type': 'integer'}, 'annual_amount': {'type': 'number', 'description': "Dollars converted per year, today's dollars."}}, '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."}, 'social_security': {'type': 'number', 'description': "Yearly Social Security in today's dollars. Default 0 — and 0 is reported as an explicit assumption, not hidden."}, 'taxable_balance': {'type': 'number', 'description': 'Taxable brokerage and savings today, in dollars. 0 if none. The three balances together are the portfolio.'}, '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.'}, 'pension_start_age': {'type': 'integer', 'description': 'Age the pension starts. Default 65.'}, '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.'}, '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.'}, 'traditional_balance': {'type': 'number', 'description': 'Pre-tax retirement accounts today (traditional IRA, 401(k), 403(b)), in dollars. 0 if none.'}, 'monthly_contribution': {'type': 'number', 'description': 'Monthly savings until retirement. Default 0.'}}}
変更
run_tax_aware_projection
2026年9月29日3:00
追加
run_tax_aware_projection
2026年9月23日2:52
変更
run_retirement_projection
2026年9月23日2:52
変更
compare_return_assumptions
2026年9月21日2:58
変更
run_retirement_projection
2026年9月21日2:58
追加
explain_methodology
2026年9月17日7:57
追加
list_return_assumption_sources
2026年9月17日7:57
追加
compare_return_assumptions
2026年9月17日7:57
追加
run_retirement_projection
2026年9月17日7:57