malagodia avatar

Calculators

malagodia/fire

You'd reach for this when you're building retirement planning features or FIRE (Financial Independence, Retire Early) calculators and want Monte Carlo simulations without rolling your own statistical models. It exposes calculators for wealth projections under uncertainty, Coast FIRE scenarios where you stop contributing but let investments grow, plus Switzerland-specific tools for pension estimates and property tax calculations. The streamable HTTP transport means you can call it from Claude or any client that speaks MCP remotely. Saves you from implementing complex financial math and lets you focus on the user experience around retirement planning scenarios.

tools
8
transport
HTTP
last updated
Oct 5, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.retirecrunch.com/mcp --name calculators

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http calculators https://mcp.retirecrunch.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 8 tools

Verified live against the running server on Nov 6, 2026.

calculate_fire_targetEstimate the savings target needed for Financial Independence / Early Retirement. Runs Monte Carlo simulation and returns the probability the portfolio survives the planning horizon.8 params

Estimate the savings target needed for Financial Independence / Early Retirement. Runs Monte Carlo simulation and returns the probability the portfolio survives the planning horizon.

Parameters* required
annual_expense*number
Projected annual spending in retirement (in selected currency).
apply_inflationboolean
default: true
currencystring
one of USD · EUR · GBP · CHF · JPY · CADdefault: USD
current_savingsnumber
Current liquid + invested assets.default: 0
inflation_ratenumber
default: 3
portfolio_return_ratenumber
Expected real annual return %.default: 5
portfolio_volatilitynumber
Annual return standard deviation %.default: 12
years*integer
Planning horizon in years.
calculate_coast_fireCompute the Coast FIRE milestone — the capital required today such that, with no further contributions, a portfolio compounds to the user's retirement target by their target age.10 params

Compute the Coast FIRE milestone — the capital required today such that, with no further contributions, a portfolio compounds to the user's retirement target by their target age.

Parameters* required
annual_expenses_in_retirement*number
currencystring
one of USD · EUR · GBP · CHF · JPY · CADdefault: USD
current_age*integer
current_savings*number
expected_return_ratenumber
default: 7
inflation_ratenumber
default: 3
monthly_savingsnumber
default: 0
portfolio_volatilitynumber
default: 0
safe_withdrawal_ratenumber
default: 4
target_retirement_age*integer
compute_swiss_property_taxEstimate the Swiss cantonal real-estate capital gains tax (Grundstückgewinnsteuer) for a property sale. Covers all 26 cantons with holding-period adjustments and Ersatzbeschaffung (replacement-residence) deferral. Educational estimate; commune surcharges and value-enhancing-im...6 params

Estimate the Swiss cantonal real-estate capital gains tax (Grundstückgewinnsteuer) for a property sale. Covers all 26 cantons with holding-period adjustments and Ersatzbeschaffung (replacement-residence) deferral. Educational estimate; commune surcharges and value-enhancing-im...

Parameters* required
canton*string
Canton code (ZH, BE, ..., JU).one of ZH · BE · LU · UR · SZ · OW
ersatzbeschaffungboolean
Reinvest proceeds into a replacement primary residence.default: false
ersatzbeschaffung_amountnumber
Amount reinvested (caps the tax deferral).default: 0
purchase_price*number
sale_price*number
years_held*number
project_wealth_planRun RetireCrunch's full year-by-year Wealth Plan projection for a household. Models earned income, pensions, expenses, portfolio growth (accumulating, distributing, or accumulating until a switch year), mortgage amortization, optional property sale, and region-aware tax (US us...29 params

Run RetireCrunch's full year-by-year Wealth Plan projection for a household. Models earned income, pensions, expenses, portfolio growth (accumulating, distributing, or accumulating until a switch year), mortgage amortization, optional property sale, and region-aware tax (US us...

Parameters* required
currencystring
one of USD · EUR · GBP · CHF · JPY · CADdefault: USD
current_earned_incomenumber
Annual gross earned income today.default: 0
current_housing_expensesnumber
Annual housing expenses today.default: 0
current_investment_portfolionumber
default: 0
current_liquiditynumber
default: 0
current_living_costsnumber
Annual general living expenses today.default: 0
current_mortgagenumber
default: 0
current_other_expensesnumber
Annual other expenses today.default: 0
current_propertynumber
default: 0
estimated_tax_ratenumber
Pre-retirement effective tax rate (%).default: 20
household_typestring
one of single · coupledefault: single
income_yield_ratenumber
Annual payout % of the portfolio while distributing.default: 3.5
inflation_ratenumber
Annual inflation %.default: 2
partner_early_death_years_before_endinteger
default: 5
partner_survivor_expense_factornumber
default: 0.7
plan_horizon_yearsinteger
Total years to project from start_year.default: 50
portfolio_return_modestring
What the portfolio does with its return. 'accumulating': everything stays invested and compounds, nothing is paid out (shortfalls are drawn from cash, then the portfolio). 'distributing': pays out...one of accumulating · distributing · switch
portfolio_return_ratenumber
Annual real portfolio return %.default: 5
portfolio_switch_enabledboolean
Legacy: prefer portfolio_return_mode. Only read when portfolio_return_mode is omitted.default: true
portfolio_switch_yearinteger
'switch' mode: first year the portfolio pays out. Defaults to retirement_year if omitted.

+9 more parameters. See the server's own documentation for the full schema.

get_portfolio_returnsReturn RetireCrunch's historical portfolio return profiles for a currency. Each profile is a (return %, volatility %) pair derived from real index data — useful for grounding the assumptions in calculate_fire_target / project_wealth_plan in something defensible rather than gue...1 params

Return RetireCrunch's historical portfolio return profiles for a currency. Each profile is a (return %, volatility %) pair derived from real index data — useful for grounding the assumptions in calculate_fire_target / project_wealth_plan in something defensible rather than gue...

Parameters* required
currency*string
Currency code; the historical return profiles are denominated in this currency.one of USD · EUR · GBP · CHF · JPY · CAD
rebalance_portfolioRebalance a multi-currency portfolio: given holdings, per-holding (or per-asset-class) target weights, cash and FX rates, return the exact BUY/SELL trades to reach the targets, the per-currency cash movements (flagging foreign-cash overdrafts), and a summary. Planning math onl...5 params

Rebalance a multi-currency portfolio: given holdings, per-holding (or per-asset-class) target weights, cash and FX rates, return the exact BUY/SELL trades to reach the targets, the per-currency cash movements (flagging foreign-cash overdrafts), and a summary. Planning math onl...

Parameters* required
available_cashobject
Cash held per currency, keyed by ISO code.
base_currencystring
Base currency the portfolio is valued in.default: USD
class_targetsobject
Optional per-asset-class goal % (incl. "Cash"). When given, unlocked holdings are retargeted to hit each class goal before computing trades.
fx_ratesobject
Value of 1 unit of each currency in the base currency (base currency itself is 1).
holdings*array
The portfolio holdings to rebalance.
load_portfolioOpen the user's Interactive Brokers portfolio in the RetireCrunch Portfolio Rebalancer. First call the IBKR connector's get_account_positions, get_account_balances and get_account_summary, then pass their results here UNCHANGED (do not re-type or round numbers). Returns a priv...4 params

Open the user's Interactive Brokers portfolio in the RetireCrunch Portfolio Rebalancer. First call the IBKR connector's get_account_positions, get_account_balances and get_account_summary, then pass their results here UNCHANGED (do not re-type or round numbers). Returns a priv...

Parameters* required
balancesarray
The `balances` array from IBKR get_account_balances, unchanged (gives per-currency cash).
languagestring
Site language for the link, matching the user's language when possible.one of en · es · fr · pt-BR · de · jadefault: en
positions*array
The `positions` array from IBKR get_account_positions, unchanged.
summaryobject
The result of IBKR get_account_summary, unchanged (base currency + net liquidation, used to check the numbers add up).
get_rebalance_planFetch the rebalancing trades the user decided on in the RetireCrunch Rebalancer, from the plan code they copied ("Send plan to my AI"). Codes work once, for 15 minutes. Returns the trades with IBKR contract ids where known. To act on them, create one IBKR order instruction per...1 params

Fetch the rebalancing trades the user decided on in the RetireCrunch Rebalancer, from the plan code they copied ("Send plan to my AI"). Codes work once, for 15 minutes. Returns the trades with IBKR contract ids where known. To act on them, create one IBKR order instruction per...

Parameters* required
code*string
The plan code the user copied from the RetireCrunch Rebalancer ("Send plan to my AI").

Sponsors

Readme

Details

Repository
github.com/malagodia/fire
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026