Using an AI assistant with your retirement plan
People are already pasting their account balances into chatbots and asking whether they can retire. The instinct is sound: retirement rules are genuinely hard to read, and a good model explains them better than most documentation. The arithmetic is the problem.
A language model asked to project thirty years of withdrawals, taxes, and Medicare premiums is doing that arithmetic token by token. It has no ledger, no fixed point to solve for, and no way to check its own work. It will produce a confident number. Ask again in a fresh conversation and you may get a different confident number.
What an unaided model gets wrong
The failures are specific, and they cluster:
It cannot hold a ledger. Retirement math is sequential. This year’s Roth conversion raises this year’s taxable income, which changes the Medicare premium two years later, which changes the withdrawal needed then, which changes the balance that RMDs are computed from after that. Each year depends on the last. A model narrating thirty of those in prose drops interactions it stated correctly three paragraphs earlier.
It changes units silently. A 5% return and a 0.05 return are the same thing until one becomes the other mid-answer. The failure is invisible in a well-written explanation: the prose reads fine, the number is off by two orders of magnitude.
It approximates thresholds from memory. Models recall the shape of a rule better than its current values, and the cost of that depends entirely on which rule. Crossing an ordinary income-tax bracket edge is marginal: only the income above the edge is taxed at the higher rate, so being slightly wrong about where the edge sits changes the answer slightly. The Medicare surcharge thresholds behave differently. One dollar over raises premiums for a full year, two years later (Medicare.gov), so the same small misremembering changes the answer discontinuously. An unaided model gives no signal about which of those two situations you are in.
It is not reproducible. Two runs of the same question can disagree. For an explanation, that is tolerable. For a number you are going to act on, it is disqualifying: you cannot audit an answer you cannot reproduce.
What changes when the model can call a calculator
The fix is not a better prompt. It is to stop asking the model to do the arithmetic at all.
The Model Context Protocol (MCP) is an open standard
that lets an AI client call external tools. RetireGolden publishes an MCP server that
exposes the same calculation engine the web planner runs on:
@retiregolden/mcp, open source under
AGPL. The model stops computing and starts calling: build a plan, run the projection, run
a Monte Carlo, ask the optimizer, compare two scenarios.
That redraws the division of labor along the line each side is actually good at. The engine owns the ledger, the tax passes, and the year-by-year sequence. It is deterministic, so the same plan returns the same numbers every time. The model owns what it is genuinely better at than a form: understanding a question phrased in your own words, deciding which scenarios are worth running, and explaining the result in context.
A question like “we’re 62 and 60, retiring next year. Does converting to Roth before Social Security starts actually help?” becomes a sequence of tool calls: build the household, project the baseline, evaluate a grid of conversion amounts, compare the lifetime tax and ending balance of each. Every number in the answer came out of the same engine that produced it in the browser, and you can re-run it.
Setting it up
The server runs locally, launched by your AI client as a subprocess over stdio. No account, no API key, nothing hosted:
npx -y @retiregolden/mcp
Per-client configuration is documented and kept current in the package’s client setup guide. Claude Desktop, Claude Code, Cursor, and Codex each keep their config in a different place.
Install the accompanying agent skill as well, not just the server. The skill (MIT, shipped in the same package) teaches the model the tool contract: which fields are fractions and which are percents, that Social Security is entered as a monthly amount, how to read the caveats a result carries back. It exists because the unit error described above is the one a connected model still makes: a calculator does not help if you hand it the wrong number.
To model your own household, describe it to the assistant (ages, balances by account type, spending, when Social Security starts) and it builds the plan through the tools. For a plan detailed enough to act on, you can also hand it your account statements and have it assemble the plan document field by field, validating as it goes.
One limit worth being clear about: the server computes fresh, in memory. It cannot see plans you saved in the browser planner. There is no connection between the two, by design, since the planner keeps your data on your device and nothing hosted joins them.
If you have already built a plan there, you carry it across yourself, in one click. The planner’s results page has a Copy plan for your AI button that puts that plan on your clipboard as JSON, stamped with the year the projection ran from and the engine version that produced it. What you get is the plan document itself, the same one the tools read, not a summary of it. Paste it into the assistant and ask it to load the plan. With the server connected, the tools take it directly. Without one, the model at least has your actual inputs to reason about instead of a table of results it can only describe.
Copying is a local action; pasting is not. That payload is your whole plan in the clear (balances, ages, income, spending), and whatever you paste it into receives all of it, under your own account and that provider’s terms.
What leaves your device
Worth being exact about, because “runs locally” is easy to over-read.
The MCP server runs on your machine and RetireGolden’s servers are never in the path. There is nothing to phone home to. But your AI client is a separate question. If that client is a cloud model, everything you send it goes to that provider under your own account and their terms, including any plan detail the model passes into a tool call. That is exactly what would happen if you typed it into their chat window. If you run a local model, the whole loop stays on the machine.
Neither is wrong. They are different trades, and the choice is yours to make knowingly.
What still needs checking
A connected model computes correctly and can still describe the result incorrectly. The number came from the engine; the sentence around it came from the model.
So treat the prose as a summary to verify, not as the output. Ask for the tool’s own result when a number matters. Results report which engine and server version produced them, so a figure can be traced to a specific build rather than to a conversation. And the model’s reasoning about your situation is not something a projection can settle, however precise its ledger: whether a strategy suits your risk tolerance, your health, your family.
The useful mental model: the engine tells you what a set of assumptions implies, the model helps you decide which assumptions to ask about, and the judgement stays yours.
You can try the same math without any of this setup. The RetireGolden planner runs the identical engine in your browser, with the year-by-year ledger visible and nothing leaving the device.
RetireGolden guides are educational, not financial, tax, legal, or investment advice.
Tool behavior described here reflects @retiregolden/mcp as of July 2026; tax and
Medicare rules change, and AI clients change their configuration formats. Confirm both
against the linked documentation, and your own numbers with a qualified professional who
knows your full situation.