Home · Guides

A tax year pack, assembled from chat

An accountant asks a sole trader for roughly six things. Here is which server holds each, and the one prompt that produces it.

What they ask forServerTool
Sales, invoice by invoiceinvoiceinvoice_list
Purchases with VAT split outexpense-trackerexpense_export
The bank, categorisedbank-statementstatement_export
Mileage and travelexpense-tracker, per-diemmileage_add, trip_export
Fixed assets and depreciationasset-registerasset_schedule
What clients still owe at year endstatement-of-accountstatement_aging

The order that saves you a second pass

Import the bank first, because it is the only record that is complete. Everything else is a record of what you remembered to write down.

Import this bank CSV export and categorise it, then reconcile it against my logged expenses for the year.

Paste this into Claude with the server connected.

statement_import, then reconcile_expenses. That second call is the useful one: it names the bank debits with no receipt behind them, which is your list of missing paperwork. In the recorded run in docs/USER_VALUE_R27.md a 41-transaction Revolut export produced 33 August debits and EUR 1,283.73 unreceipted. On the free tier reconciliation runs 31 days at a time, so a year is twelve calls rather than one.

Then fill the gaps and export

Log these two: 12.30 EUR at Adobe, software, and 48.00 EUR at the print shop, billable to Acme.

Paste this into Claude with the server connected.

expense_add. A stored vat_rate splits the gross on the receipt into net and VAT by rounding the VAT rather than the net, so net plus VAT equals the gross exactly. An expense with no rate holds a gross amount and is flagged as VAT unknown rather than silently taxed at a default, which is the behaviour that stops a rate you set in March from rewriting what a receipt in January meant.

Export every expense for the year to CSV, then show me the aging on unpaid invoices as at 31 December.

Paste this into Claude with the server connected.

Hand it over as one file

Zip everything in my exports folder into accounts-2026.zip.

Paste this into Claude with the server connected.

The zip server packs a folder with a glob and refuses nothing quietly. Free is 20 archives a calendar month at up to 25 MB and 200 entries each, and reading an archive is never metered on any tier. If the accountant sends one back, zip_list tells you what is inside before you unpack it, including the absolute paths, the dot-dot entries and the symlinks that a careless archive can carry.

What this does not do

It does not file anything, compute your tax, or know your allowances. There is no tax engine in this repository and there is not going to be a claim that there is. What it gives you is the six exports in a shape a human accountant can read, produced from records you kept as you went rather than reconstructed in April.

Questions

Which free tiers run out first over a whole year?

The read windows. The time tracker clamps reads to 7 days on free, the expense tracker to 30, and bank reconciliation runs 31 days at a time. Creating records is unlimited on both trackers, so a year of data accumulates fine on free; it is pulling the year back out in one call that needs Pro. Per-server figures are in data/facts.json.

Does the asset register know my country's depreciation rates?

It ships rate tables the tax authorities published, and every answer names the rate, the instrument and its effective date. Schedules are free and unlimited on every tier, deliberately, because the rates are public regulation. The free cap is on the size of the register, 10 assets.

Can it produce a profit and loss?

The cash-book server builds a double-entry ledger from the books the other servers already keep, and trial_balance and ledger_lines are free and unlimited. It writes into none of those books and there is no way to type an entry into it, so it can only tell you whether what you recorded adds up. That is a different thing from a filed set of accounts.

How do I make sure the mileage figures are right?

Pass your own rate. The bundled table holds one flat approximation per region, PL 1.15 PLN per km, UK 0.45 GBP per mile, US 0.70 USD per mile, EU 0.30 EUR per km, each with the assumption it makes written next to it, and every reply repeats that it is an approximation. rate_per_km overrides it with your exact scheme.

Related

All MCP servers and prices · All guides · Buy the bundle $39