AI assistants
Connect your AI assistant.
Expense speaks the Model Context Protocol (MCP) at https://expense.labnotes.org/mcp: connect any MCP client — Claude Code, Claude Desktop, Cursor, or another assistant — and approve the connection by signing in with your account (OAuth; no API keys to manage). The assistant can capture receipts from photos and PDFs through the same OCR pipeline as the web app, log mileage at the IRS rate, answer spending questions from your actual data, build and export reports, and reconcile bank statements against logged expenses.
What your assistant can do
Capture receipts
Drop a receipt photo or PDF into the chat and it's OCR'd and categorized from your own merchant history — the same pipeline as the web app, no typing.
Log drives in plain English
“Log the drive home from the office on Tuesday.” The assistant geocodes, routes, and prices the trip at the year's IRS mileage rate.
Answer spending questions
“How much did I spend on flights last quarter?” gets the exact total, straight from your data — not a guess.
Build and export reports
Create or close reports, move expenses into them, and export a report PDF — one sentence instead of a form.
Reconcile statements
Paste a bank statement CSV and it finds every charge with no matching receipt. Read-only — nothing is written or dismissed.
Tax-season answers
Categories come from the IRS Schedule C lines, so “what's my meals and entertainment total?” maps straight onto your return.
How to connect
- 1
Point your assistant at the endpoint
Tell it to connect to https://expense.labnotes.org/mcp (or add it to your MCP config).
- 2
Sign in and approve
Your browser opens, you sign in with your normal account, and click Allow on the consent page.
- 3
Done — manage it anytime
Settings → Agents & API (MCP) shows every connected app; delete individual tokens or disconnect entirely.
{
"mcpServers": {
"expense": {
"type": "http",
"url": "https://expense.labnotes.org/mcp"
}
}
}No headers or keys — the client discovers the sign-in flow itself. Claude Desktop and Cursor connect the same way.
Try asking
- “Here's my receipt — log it under Q3.”
- “How much did I spend on meals and entertainment last quarter?”
- “Move all unreported June expenses into the Q2 report and export the PDF.”
- “Reconcile this statement.” (paste the CSV)
Security
Connecting is OAuth 2.1 with PKCE: the assistant never sees your password, access tokens live one hour, refresh tokens rotate, and only hashes are stored. A connection only ever reaches your own account. Revoke it anytime in Settings → Agents & API (MCP) — delete a single token or disconnect the whole app.
Your expenses, on speaking terms with your assistant.
Accounts are free and start empty. Add your first receipt in under a minute, then connect your assistant whenever you're ready.