run_projectionLABSCO SUMMARY
Retirement questions answered with real tax math instead of rules of thumb.
The claiming-age and clawback questions are where general advice fails hardest, and these run the actual provincial and state rules rather than a national average. simulate_purchase is the one people do not expect: it prices a large expense in years of retirement rather than dollars, which is the form the decision is actually made in.
What it is
A retirement planning MCP server with real tax engines behind it: every Canadian province and US state, CPP, OAS, GIS and Social Security. It runs year-by-year projections, answers claiming-age questions with breakeven maths, and simulates what a purchase or a windfall does to the rest of the plan.
What you get
- run_projection and run_full_analysis — a year-by-year retirement projection for one person, or the projection, score and insights in one call
- calculate_score and generate_insights — a 0–100 readiness score, and personalized optimization recommendations
- calculate_tax and estimate_benefit — income tax for any province or state, and CPP, OAS or Social Security at a chosen claiming age
- calculate_cpp_timing and calculate_ss_timing — breakeven analysis across CPP ages 60 to 70, and Social Security 62 to 70 against full retirement age
- calculate_gis and calculate_meltdown — GIS eligibility, clawback and provincial supplement, and an RRSP meltdown or Roth conversion strategy
- simulate_purchase and simulate_windfall — what a one-time or recurring expense costs the plan, and where an inheritance or bonus is best allocated
- compare_spending_strategies and map_financial_data — fixed, Guyton-Klinger and VPW withdrawal rules compared, and YNAB or bank exports converted into inputs
- run_monte_carlo, run_backtest and compare_scenarios — probabilistic success with percentile bands, every historical window since 1871 on Shiller data, and one to four scenarios side by side
- optimize_withdrawal_order and optimize_pension_split — the best claiming and withdrawal sequence, and pension income splitting to minimise combined tax
Requirements
A free API key from cinder.fi/mcp, then connect to https://mcp.cinder.fi/mcp over Streamable HTTP or SSE with Authorization: Bearer. Clients without remote support can bridge with npx -y mcp-remote. In Claude Code the plugin installs the server plus a skill that sequences the tools, and reads the key from CINDERFI_MCP_KEY. The free tier allows 5 calls a day and the 14 single-person tools; Monte Carlo, the optimizers, backtesting, scenario comparison and couples projections are on the paid tier.
Setup effort
One command plus a key — claude mcp add cinderfi --transport http https://mcp.cinder.fi/mcp -H "Authorization: Bearer <YOUR_API_KEY>", then supply credentials
USE CASES
Seeing whether the plan holds
Run the year-by-year projection with real tax math, then get the readiness score and the recommendations behind it.
Deciding when to claim
Run the breakeven across every claiming age and check what it does to GIS eligibility.
Pricing a big purchase
Simulate the one-time or recurring expense and read what it costs the plan.
Testing the plan against bad decades
Run the probabilistic simulation and backtest it against every historical window.
Drawing down in the right order
Optimize the withdrawal sequence, then check whether splitting pension income lowers the combined tax.
19 tools
Listed in project docs. Your client may show a different list.
run_full_analysiscalculate_scoregenerate_insightscalculate_taxestimate_benefitcalculate_cpp_timingcalculate_ss_timingcalculate_giscalculate_meltdownsimulate_purchasesimulate_windfallcompare_spending_strategiesmap_financial_datarun_monte_carlooptimize_withdrawal_orderrun_backtestcompare_scenariosoptimize_pension_splitBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
- A client that can reach a remote MCP server over HTTP
- A free CinderFi API key from https://cinder.fi/mcp, sent as Authorization: Bearer (the Claude Code plugin reads it from CINDERFI_MCP_KEY)
INSTALLATION
Connect your client
Server setup
claude mcp add
claude mcp add cinderfi --transport http https://mcp.cinder.fi/mcp -H "Authorization: Bearer <YOUR_API_KEY>"Hosted endpoint
https://mcp.cinder.fi/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Claude Desktop
Get a free API key at https://cinder.fi/mcp and put it after Bearer. mcp-remote sends the key as a header only when it is passed with --header; it does not read an AUTHORIZATION variable.
{
"mcpServers": {
"cinderfi": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.cinder.fi/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <YOUR_API_KEY>"
}
}
}
}Claude Code
{
"mcpServers": {
"cinderfi": {
"type": "http",
"url": "https://mcp.cinder.fi/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}Claude Code — plugin
Add the marketplace in Claude Code: /plugin marketplace add cinderfi/cinderfi-mcp
Install the plugin: /plugin install cinderfi@cinderfi
Set your key so the server authenticates (get one at https://cinder.fi/mcp): export CINDERFI_MCP_KEY=<YOUR_CINDERFI_MCP_KEY>
Cursor
{
"mcpServers": {
"cinderfi": {
"url": "https://mcp.cinder.fi/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}Windsurf
{
"mcpServers": {
"cinderfi": {
"serverUrl": "https://mcp.cinder.fi/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}OpenClaw
{
"mcp": {
"servers": {
"cinderfi": {
"url": "https://mcp.cinder.fi/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
}