Home · Comparisons

MCP Expense Tracker vs Expense Budget Tracker and Expense by Labnotes: which MCP server to pick

The two closest alternatives are both real applications with a database behind them. Expense Budget Tracker is a self-hostable Postgres app with a hosted MCP endpoint that exposes a restricted SQL surface. Expense by Labnotes is a hosted receipt tracker where you forward receipts by email and an assistant does the data entry. Ours is a plain local ledger built to feed a freelancer's invoice.

The facts, read from each project

FactOursExpense Budget TrackerExpense by Labnotes
Tools12 plus license_status and license_activate4 (list_workspaces, get_schema, sql_query, sql_execute)Not enumerated in the README; capabilities listed as five workflows
Transportstdio, plus a hosted streamable HTTP endpointHosted streamable HTTP with OAuth and PKCEHosted HTTP with OAuth 2.1 and PKCE
Account neededNoYes, or self-host Docker plus PostgresYes
Where the data livesLocal JSON in ~/.local/share/mcp-servers/expense-tracker/Postgres, theirs or yoursPostgres with receipt images in BYTEA, on their deployment
Receipt image handlingAttach a file path to an expense recordAgents parse screenshots, CSV and PDF statements into SQL insertsOCR and extraction on upload, plus receipts forwarded by email
LicenceMITMITNot stated on the repository
Latest release read0.2.3 on the MCP registryv1.3.0, 2026-08-23No releases; last commit 2026-09-02
MileageYes, per km or per mile ratesNot a listed featureYes, mapped routes at the IRS rate for the year

When to pick Expense Budget Tracker

Pick it if you want budgets, balances, transfers between accounts and multi-currency reporting with a web interface, and you are comfortable running Docker and Postgres, or using their hosted version. Its MCP surface is deliberately small and general: four tools, of which sql_query and sql_execute give an agent a restricted SQL view of a flat schema, with write access gated behind an OAuth scope. That design covers questions our fixed tools cannot phrase.

When to pick Expense by Labnotes

Pick it if the painful part is the receipts themselves. Forwarding a receipt to an email address and having it filed, with OCR, merchant history categorisation, mapped mileage routes priced at the IRS rate, report PDFs with the images attached and bank statement reconciliation, is a workflow we do not have. Ours stores a path to a receipt file; it does not read the image.

When to pick ours

Pick ours when the expense only matters because it ends up on an invoice, and you do not want an account or a database. Twelve tools cover logging with auto categorisation, category rules, mileage, foreign currency with a rate, receipt attachment, a summary, CSV and xlsx export, and expense_to_invoice, which turns billable spend into invoice lines for the invoice server, with a markup on Pro. Everything is JSON under your home directory, written atomically, and the server makes no network calls. Free covers unlimited logging, the last 30 days, 3 projects, 5 rules and CSV up to 200 rows.

What we measured

The expense-tracker package carries 36 automated tests, all passing, including an adversarial suite, foreign exchange handling, money arithmetic and two concurrent writers. The validate.mjs probe suite is at 121 of 121; one bug found in round 5 was in the probe itself, where a UTC date slice excluded rows the probe had just written, and it is fixed. In user value round 5, two expense scenarios were driven through the real Claude CLI with no tool names mentioned, covering a foreign-currency expense with a metric mileage claim and a no-receipt audit, and both scored full marks, 6 of 6.

Install lines

Ours, Claude Code:

claude mcp add expense-tracker -- npx -y @theluckystrike/mcp-expense-tracker

Expense Budget Tracker:

claude mcp add --transport http expense-budget https://mcp.expense-budget-tracker.com/mcp

Expense by Labnotes:

claude mcp add --transport http expense https://expense.labnotes.org/mcp

Both hosted options open a browser for OAuth on first use. Per client config paths for ours are on the setup pages, the product page is MCP Expense Tracker, and the guides cover the expense to invoice path.

Questions

Can your expense tracker read a photo of a receipt?

No. receipt_attach stores the path to the file alongside the expense record so the audit trail is complete, but there is no OCR. Expense by Labnotes does OCR and extraction, and Expense Budget Tracker expects the agent to parse the image and write the row.

Do the hosted alternatives need a credit card?

Both need an account. Expense Budget Tracker is MIT licensed and can be self-hosted with Docker and Postgres instead, which is the way to use it with no third party holding the data.

How does an expense become an invoice line?

expense_to_invoice selects the billable, unrebilled expenses for a project and returns invoice lines. Pro adds a markup percentage. The invoice server takes those lines directly.

What happens after the free 30 day window?

Nothing is deleted. Logging stays unlimited and older records stay on disk; listings, summaries and exports cover the last 30 days until a Pro key opens the full history.

Is mileage handled in kilometres?

Yes. mileage_add takes a distance and a rate in either unit, and the round 5 scenario that scored full marks included a metric mileage claim alongside a foreign-currency expense.

Related

Product page · Setup per client · Guides · All comparisons