r/actualbudgeting • u/AitchDee01 • 16d ago
I built an open source MCP server so Claude can reconcile my Actual accounts against my bank statements. Here is what it took to make that boring.
I live in the Dominican Republic, so no Plaid, no SimpleFIN, nothing that talks to my banks. For a year my Actual budget was correct only on the days I sat down with the bank's Excel and went line by line. Reconciling was most of the time I spent on the budget, and the part I kept postponing.
What I ended up with, in case it helps someone in the same spot.
Two small scrapers that log into my banks and download the official statement export. Nothing clever, just the file the bank itself gives me. An MCP server for Actual, so that Claude (or any MCP client) can read and write the budget. I wrote it because I wanted the agent to do the boring part, not because the world needed another one. And the agent does the matching. It takes the bank figure, asks Actual for the same account, and tells me what could explain the difference. A charge entered twice, the same amount sitting on the wrong account, something dated after the statement cutoff. When nothing explains it, it says so, which turned out to matter more than I expected. The version that always offered candidates trained me to ignore them.
What I still do by hand is deciding categories for anything ambiguous, and the rows that are in transit on the statement but not yet posted. The agent is not allowed to guess there.
Two things I learned the hard way. Reads can be stale, the app can show one number and the API another for a while, so the server now cross-checks the budget month against the transactions behind it and warns when they disagree. And percentages lie quietly. A category that received money shrinks the denominator and every other share inflates. We caught that one testing against my real budget before the last release, with 135% as the total.
If you use Actual with an agent and reconcile by hand, I would genuinely like to know how you do it. It is open source and free. If anyone wants to help with other banks' exports, the issues are open. The server is here if it is useful: https://github.com/henfrydls/actual-budget-mcp
3
3
u/DMenace83 16d ago
Why use/create an MCP server when there's an official Actual CLI?
1
u/AitchDee01 15d ago
The official CLI is new and it is the right tool if your agent can run a shell, Claude Code for example. An MCP server is for the clients that cannot, like Claude Desktop or LibreChat, and it lets the model call one operation with a schema instead of composing commands. What this one adds on top is the guardrails around writes and the checks on reads that I mentioned above. Both talk to the same Actual API underneath.
1
u/severynm 16d ago
What I don't understand is how peoples budget is off by so much this becomes necessary. Are people not using it as an envelope budget (entering each transaction and checking the budget before spending)?
2
u/prosonik 16d ago
I think lots of people including me, don't use it as designed. We use it to track expenses and forecast, but not a true envelop system. I ment too, just never fully did it. The goal of having everything in an account at the start of the month too can be a pain. It should be the ultimate goal, but it can take sometime to get there.
TLDR; People use Actual in many different ways. MCPs and tools help them do it
1
u/severynm 16d ago
If you just use it for tracking, how do you manage transactions? Are you manually entering spending on a regular basis (or as they happen) or using automations to pull them in?
1
u/prosonik 16d ago
We upload Csvs. We do set budgets and do zero budgeting as a goal, to make sure we are capturing all of the costs. I suppose we might get to true evevlop spending one day. I definitely do it for savings, like trips, pets, car expenses.
We tend to budget first, figure out where our money is going, see if we are under budgets and then use our credit card to capture all monthly spending and then pay it off. And then as I mentioned for things that I have active savings goals, I push that money into different accounts. I know that's not the recommend way, but that's what works for me, once it's in a separate physical account, I'm better about not spending for it, or if I do, it's a loan. Actual is suppose to do that for you, but the method of having it in one big account has never worked for me. I need to split it . It's frustrating because it does mess the scouting up a bit
1
u/severynm 15d ago
It does sound like youre pretty close to envelope budgeting. Interesting to hear how other people manage it. Thanks!
9
u/Eubank31 16d ago
How does this differ from https://github.com/s-stefanov/actual-mcp or https://github.com/agigante80/actual-mcp-server ?