Get the app
AI assistant access

Ask your own expense data a question.

Snap Receipt runs a Model Context Protocol server. Connect the AI assistant you already use — Claude, Claude Code, Codex — and ask about job costs, supplier prices and quarter-end figures in plain language. Read-only, on Plus and Pro.

Read-only20 toolsPlus and Pro
You

What has the Oakfield framing phase cost me so far?

Assistant, reading Snap Receipt

Oakfield House — Framing has $18,400 recorded across 34 receipts.

Materials$14,120
Equipment rental$2,890
Delivery & freight$1,390

That is 84% of the $22,000 budget you set.

get_job_cost · read-only

Why it is worth connecting

The reports answer the questions you expected.

This answers the ones you did not. A report has a shape decided in advance; a conversation does not, so the awkward one-off question finally has somewhere to go.

Ask in your own words

No filters, no report builder, no query language. Ask the question the way you would ask a bookkeeper, and the assistant works out which figures it needs.

Read-only by construction

There is no write tool to call. The server registers an explicit list and nothing else exists — an assistant cannot edit a receipt, reassign a job or delete anything, however it is prompted.

It knows what it cannot answer

A coverage tool hands the assistant an explicit list of unanswerable questions — revenue, mileage, per-vehicle costs. It declines those instead of inventing a plausible number.

Answers built on line items

Because every line of every receipt is stored, questions reach material level: what a specific fitting has cost across a build, and which supplier was cheapest on it.

Aware of more than one business

Run several accounts and the assistant names which one it is reading before it reports a number, rather than quietly answering about the wrong business.

Your accountant’s questions, in seconds

The back-and-forth at quarter-end is a series of lookups. Point the assistant at the data and answer them in one sitting instead of over a week of emails.

Setup

Three steps, about two minutes

You never leave the app to get the token, and the app shows the exact snippet for your client so nothing has to be typed by hand.

  1. 01

    Open Settings → MCP Access

    In the app, on Plus or Pro. This is where tokens are created, listed and revoked.

  2. 02

    Create a token

    Give it a name so you can tell your laptop from your desktop later. It is shown once — copy it then, because only a hash of it is stored.

  3. 03

    Paste it into your assistant

    The app shows the exact snippet for your client. Then ask your first question — start with what your data looks like.

Connecting a client

Replace pat_live_… with the token shown when you created it. Any MCP client that speaks streamable HTTP works — these three are the ones the app gives you copy-paste setup for.

Claude Desktop

Settings → Connectors → Add custom connector

URL
https://api-prod-expense-tracker.appsvanta.com/mcp/expense-tracker?token=pat_live_…

Custom connectors take a URL and no auth header, so the token rides in the query string.

Claude Code

Run in your terminal

shell
claude mcp add --transport http expense-tracker \
  https://api-prod-expense-tracker.appsvanta.com/mcp/expense-tracker \
  --header "Authorization: Bearer pat_live_…"

Header-capable clients should send the token as a bearer header rather than in the URL.

Codex CLI

Add to ~/.codex/config.toml

toml
[mcp_servers.expense_tracker]
url = "https://api-prod-expense-tracker.appsvanta.com/mcp/expense-tracker"
bearer_token_env_var = "EXPENSE_TRACKER_PAT"

Reads the token from an environment variable, so it stays out of your config file.

Endpoint

https://api-prod-expense-tracker.appsvanta.com/mcp/expense-tracker

Streamable HTTP. Authenticate with Authorization: Bearer <token>, or with ?token= on clients that take only a URL.

Things to ask

Questions it can actually answer.

Every one of these is served by a tool that ships today. Ask them in your own words — these are phrasings, not commands.

At quarter-end

When the accountant is waiting

  • “Pull my expenses for Q2 and break them down by category.”

    Tax-ready totals for the quarter, per-category amounts, sales tax paid, and the count of receipts with no photo attached.

  • “Which receipts am I missing a photo for? Biggest first.”

    The audit-trail gap, largest amount first, with the total for the period beside it so you can state it as a proportion.

  • “How much did I spend on tools and equipment this year versus last?”

    A category breakdown for the period with deltas against the baseline you name.

  • “What did I pay in sales tax across the year?”

    The roll-up from the tax report, taken from what was printed on the receipts.

On a job

When a client asks what it cost

  • “What has the Oakfield framing phase cost me so far?”

    The full breakdown for that job — per category, per supplier, against the budget you set.

  • “Which jobs are closest to going over budget?”

    Jobs with their rolled-up cost and budget, so the ones running hot are obvious.

  • “Total everything I have spent for the Ellis job across all four phases.”

    Client-level cost rolled up across every job attached to them.

  • “Which receipts still are not costed to a job?”

    The unassigned pile with up to three suggested jobs each, and the reason for each suggestion.

Buying and suppliers

Before the next quote goes out

  • “Is copper pipe getting more expensive, and who is cheapest on it now?”

    Unit price over time from your own receipts, broken out by supplier for a like-for-like comparison.

  • “Compare Winsupply and Ferguson on the items I buy from both.”

    A head-to-head on shared items only — the comparison that actually means something.

  • “Which suppliers did I use only once last year?”

    Supplier spend filtered to a single visit, with the raw spellings each record folds together.

  • “What are the ten materials I spend the most on?”

    Top items across every receipt, ranked by spend, frequency or quantity.

Keeping it straight

The Sunday sweep

  • “What does my data look like — how far back does it go, and what is missing?”

    Receipt count, date span, jobs, clients and suppliers, plus what the product cannot answer at all.

  • “How many scans have I used this month?”

    Plan, feature access and current usage against your limits.

  • “Show me every receipt over $500 from the last three months.”

    Structured search with the filters combined, and a true total rather than a sum of one visible page.

  • “Read me the whole Winsupply receipt from 4 August.”

    That receipt in full — every line item, quantity and unit price.

The honest part

It refuses rather than guesses.

A coverage tool hands the assistant an explicit list of what this product has no data for, and instructs it to decline those instead of estimating. That list is published to the model, not buried in a disclaimer.

  • Revenue and income. The app records expenses only, so profit, margin and estimated tax bills are not computable.
  • Mileage. No trip or odometer data, so a standard-mileage deduction cannot be calculated.
  • Per-vehicle costs. There is no vehicle entity, so costs cannot be separated by truck.
  • Line-item job splits. A receipt is assigned to one job whole; it cannot be split across two.
  • Labour payees. No payee field, so payments to individual helpers cannot be totalled.
  • Extraction confidence. No anomaly flag, so “find the receipt with the mistake” is not answerable.
  • Inventory. No stock levels, so restock suggestions are not possible.
You

Did I make money on that job?

Assistant, reading Snap Receipt

I cannot answer that. Snap Receipt records expenses only — there is no revenue, contract value or draw schedule in it, so profit and margin are not computable.

What I can tell you is what it has cost: $18,400 against the $22,000 budget you set, with 34 receipts on file.

get_data_coverage · declined

The surface

20 tools. All of them read.

The server registers this list and nothing else — there is no auto-discovery and no write tool anywhere in it. That is what makes read-only a property of the build rather than a promise.

Orientation

Which account the answers are coming from — asked before anything is reported.

  • whoamiWho you are, the active account, and the plan it is on.
  • list_accountsEvery account you can reach, and your role in each.
  • switch_accountPins one account for the conversation. Survives a client restart.
  • get_active_accountWhich account is being read, and whether you chose it.

Coverage

What is on file — and, deliberately, what the product cannot answer.

  • get_data_coverageReceipts, date span, jobs, clients, suppliers, plus the list of unanswerable questions.
  • get_account_statusPlan, feature access, and this month’s usage against your limits.

Receipts

The pile itself, searchable in whatever shape the question needs.

  • find_receiptsStructured search across every receipt. Filters combine.
  • get_receiptOne receipt in full, with every line item, quantity and unit price.
  • list_unassigned_receiptsReceipts not yet costed to a job, each with up to three suggested jobs and a reason.
  • list_receipts_missing_imageThe audit-trail gap: receipts with no photo on file, largest first.

Items and prices

Built from line items, so it answers at material level rather than category level.

  • find_item_price_historyWhat one material has cost over time, broken out by supplier for like-for-like comparison.
  • list_top_itemsWhat you buy most, by spend, frequency or quantity.

Jobs and clients

Cost against the work it was bought for.

  • list_jobsJobs with their rolled-up cost and budget.
  • get_job_costFull breakdown for one job, per category and per supplier.
  • list_clientsCustomers, with cost rolled up across all their jobs.

Suppliers

One canonical record per supplier, with every raw spelling folded in.

  • get_spend_by_merchantTop suppliers for a period, with visits, average ticket and folded aliases.
  • get_merchant_profileDeep dive on one supplier, optionally head-to-head with a second.

Spend and tax

The aggregate views, and the figures a quarter-end conversation needs.

  • get_spend_by_categoryCategory breakdown for a period, with deltas against a baseline.
  • get_spend_summaryHeadline spend with trend, peak period and a period-over-period comparison.
  • get_tax_reportTax-ready figures for a quarter, year, month or custom range.
Tokens

What you are handing over, exactly

Shown once, stored hashed

A token is displayed a single time on creation. Only a SHA-256 hash is persisted, alongside a non-secret prefix so you can tell tokens apart in the list.

Revocable, individually

Hold as many tokens as you have machines. Revoking one kills that connection immediately and leaves the others working.

No images leave the app

The assistant can see that a receipt has a photo attached. It cannot see, fetch or forward the photo itself.

Rate limited per token

The MCP entry point carries its own limiter, separate from the API, keyed on the hashed token.

Questions

About AI assistant access

Which plans include this?

Plus and Pro. It is not on the free plan. Entitlement resolves against the account owner’s plan, so a team member on a Pro owner’s account gets it too.

Can the assistant change my data?

No. The server exposes a fixed list of read tools and registers nothing else — there is no write tool to call, so no prompt can make it edit a receipt, reassign a job or delete anything. Where you ask it to assign receipts to jobs, it returns suggestions for you to apply in the app.

Does it send my receipt photos to the assistant?

No. Image data and URLs never leave the app. The assistant can see that a receipt has a photo attached, not the photo itself — for that it sends you to the app.

What happens to the token if I lose it?

It is shown once when you create it and is not recoverable — only a hash of it is stored. If you lose it, revoke it and create another. You can hold several tokens and revoke any one of them without touching the rest.

Which AI assistants work with it?

Any client that speaks the Model Context Protocol over streamable HTTP. The app gives you copy-paste setup for Claude Desktop, Claude Code and Codex CLI; other MCP clients take the same endpoint and bearer token.

I have more than one business on one login. What does it read?

One account at a time. The assistant is told to name the active account before reporting figures, and switching is an explicit step that persists across client restarts.

Will it give me tax advice?

No, and it is instructed not to try. It hands back figures from your receipts and refers deductibility questions to your accountant, because that depends on your situation rather than on what is on the receipt.

Get the app

Connect your assistant.

AI assistant access is on Plus and Pro. Tokens are created in the app under Settings → MCP Access.

No bank linking · No manual entry · No spreadsheets

Snap ReceiptFree to start · no account needed

iPhoneAndroid