Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Work with your Crunch Accounting books: expenses, receipts, invoices, clients, suppliers and banking
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MCP_TRANSPORT, CRUNCH_CLIENT_ID, CRUNCH_CLIENT_SECRET, CRUNCH_REDIRECT_URI, CRUNCH_REFRESH_TOKEN, CRUNCH_ALLOW_WRITES, CRUNCH_ALLOW_DELETES, CRUNCH_ALLOW_EMAIL, CRUNCH_TOOLSETS, CRUNCH_FILES_DIR, CRUNCH_AUDIT_LOGValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add crunch --env MCP_TRANSPORT=your-value --env CRUNCH_CLIENT_ID=your-value --env CRUNCH_CLIENT_SECRET=your-value --env CRUNCH_REDIRECT_URI=your-value --env CRUNCH_REFRESH_TOKEN=your-value --env CRUNCH_ALLOW_WRITES=your-value --env CRUNCH_ALLOW_DELETES=your-value --env CRUNCH_ALLOW_EMAIL=your-value --env CRUNCH_TOOLSETS=your-value --env CRUNCH_FILES_DIR=your-value --env CRUNCH_AUDIT_LOG=your-value -- docker run -i --rm -e MCP_TRANSPORT -e CRUNCH_CLIENT_ID -e CRUNCH_CLIENT_SECRET -e CRUNCH_REDIRECT_URI -e CRUNCH_REFRESH_TOKEN -e CRUNCH_ALLOW_WRITES -e CRUNCH_ALLOW_DELETES -e CRUNCH_ALLOW_EMAIL -e CRUNCH_TOOLSETS -e CRUNCH_FILES_DIR -e CRUNCH_AUDIT_LOG ghcr.io/mattoddie/crunch-mcp:0.4.1Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"crunch": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"CRUNCH_CLIENT_ID",
"-e",
"CRUNCH_CLIENT_SECRET",
"-e",
"CRUNCH_REDIRECT_URI",
"-e",
"CRUNCH_REFRESH_TOKEN",
"-e",
"CRUNCH_ALLOW_WRITES",
"-e",
"CRUNCH_ALLOW_DELETES",
"-e",
"CRUNCH_ALLOW_EMAIL",
"-e",
"CRUNCH_TOOLSETS",
"-e",
"CRUNCH_FILES_DIR",
"-e",
"CRUNCH_AUDIT_LOG",
"ghcr.io/mattoddie/crunch-mcp:0.4.1"
],
"env": {
"MCP_TRANSPORT": "your-value",
"CRUNCH_CLIENT_ID": "your-value",
"CRUNCH_CLIENT_SECRET": "your-value",
"CRUNCH_REDIRECT_URI": "your-value",
"CRUNCH_REFRESH_TOKEN": "your-value",
"CRUNCH_ALLOW_WRITES": "your-value",
"CRUNCH_ALLOW_DELETES": "your-value",
"CRUNCH_ALLOW_EMAIL": "your-value",
"CRUNCH_TOOLSETS": "your-value",
"CRUNCH_FILES_DIR": "your-value",
"CRUNCH_AUDIT_LOG": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"crunch": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"CRUNCH_CLIENT_ID",
"-e",
"CRUNCH_CLIENT_SECRET",
"-e",
"CRUNCH_REDIRECT_URI",
"-e",
"CRUNCH_REFRESH_TOKEN",
"-e",
"CRUNCH_ALLOW_WRITES",
"-e",
"CRUNCH_ALLOW_DELETES",
"-e",
"CRUNCH_ALLOW_EMAIL",
"-e",
"CRUNCH_TOOLSETS",
"-e",
"CRUNCH_FILES_DIR",
"-e",
"CRUNCH_AUDIT_LOG",
"ghcr.io/mattoddie/crunch-mcp:0.4.1"
],
"env": {
"MCP_TRANSPORT": "your-value",
"CRUNCH_CLIENT_ID": "your-value",
"CRUNCH_CLIENT_SECRET": "your-value",
"CRUNCH_REDIRECT_URI": "your-value",
"CRUNCH_REFRESH_TOKEN": "your-value",
"CRUNCH_ALLOW_WRITES": "your-value",
"CRUNCH_ALLOW_DELETES": "your-value",
"CRUNCH_ALLOW_EMAIL": "your-value",
"CRUNCH_TOOLSETS": "your-value",
"CRUNCH_FILES_DIR": "your-value",
"CRUNCH_AUDIT_LOG": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
MCP_TRANSPORT envCRUNCH_REDIRECT_URI envCRUNCH_ALLOW_WRITES envCRUNCH_ALLOW_DELETES envCRUNCH_ALLOW_EMAIL envCRUNCH_TOOLSETS envCRUNCH_FILES_DIR envCRUNCH_AUDIT_LOG envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account mattoddie, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: CRUNCH_CLIENT_ID, CRUNCH_CLIENT_SECRET, CRUNCH_REFRESH_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.4.1) reached the registry 17 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker, MCPB on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Talk to your books.
An open-source Model Context Protocol server for Crunch Accounting, the UK online accounting service. It lets Claude and other AI assistants read and, if you allow it, update your expenses, receipts, invoices, clients, suppliers and bank accounts, all from one small Docker container.
[crunch-mcp.mattoddie.dev](https://crunch-mcp.mattoddie.dev)
Quick start · Documentation · Tool reference · Contributing
"How's the business looking this month?"
*You have £18,240 across your two bank accounts and £312 on the company credit card. Three sales invoices are unpaid, £7,800 in total. INV-0042 to Example Client Ltd (£2,400) is 12 days overdue; the other two aren't due yet. On the spending side, four September expenses have no receipt attached and one bill from Example Hosting Ltd (£96) is still unpaid. Want me to draft a polite chaser for INV-0042, or list the expenses that are missing receipts?*
Ask about your business in plain English. The assistant picks from 70 tools to look things up and, if you allow it, make changes. Some examples:
ghcr.io/mattoddie/crunch-mcp) for linux/amd64 and linux/arm64, about 21 MB. It's a single static Go binary on a distroless base, with no shell or package manager, running as a non-root user. It serves Streamable HTTP for a long-running service, or stdio for docker run -i. You can also run the binary on its own.dry_run: true to show the request it would send, with a field-by-field diff for updates, without changing anything. CRUNCH_AUDIT_LOG records each change in a JSON Lines audit log..mcpb) for macOS, Windows and Linux, with a settings form and no Docker needed.search, fields and limit to fetch only what's needed.Using Claude Desktop? Download the extension bundle for your computer from the latest release, open it, enter your Crunch client ID and ask Claude to *"log in to Crunch"*. See Claude Desktop. The steps below set up the Docker server for every other client.
You need Docker, a Crunch account, Crunch API access and an MCP client such as Claude Code.
1. Get API access. Apply for access to Crunch's public API through the application form linked from Crunch's developer documentation. Crunch sends you a client ID, and a client secret if you're set up as a confidential client. There's no sandbox, so a free Crunch account is a good place to try things. Getting started has the details.
2. Set up the server.
mkdir crunch-mcp && cd crunch-mcp
curl -fsSLO https://raw.githubusercontent.com/mattoddie/crunch-mcp/main/compose.yaml curl -fsSL https://raw.githubusercontent.com/mattoddie/crunch-mcp/main/example.env -o .env
openssl rand -hex 32)
3. Log in to Crunch and start the server.
docker compose run --rm -p 127.0.0.1:8976:8976 crunch-mcp login # open the URL it prints and click Allow
docker compose up -d
If your browser isn't on the Docker host, the page after Allow won't load. That's fine: copy the URL from the address bar and paste it into the terminal.
4. Connect your assistant.
claude mcp add --transport http crunch http://<docker-host>:8080/mcp \
--header "Authorization: Bearer "
Now ask *"How's my business doing?"* in Claude Code.
Using Claude Desktop, VS Code, Cursor or Codex? See Connecting MCP clients. Prefer not to run a service? Use stdio mode with docker run -i or the local binary.
crunch-mcp is listed in the official MCP Registry as io.github.mattoddie/crunch-mcp, so clients that install servers from the registry can set it up for you, with the Docker image in stdio mode or an extension bundle.
Out of the box the assistant can look but not touch. To let it make changes, add these to .env:
CRUNCH_ALLOW_WRITES=true # create and update expenses, invoices, clients, suppliers, payments, attachments…
CRUNCH_ALLOW_DELETES=true # also allow deleting records and removing payments (needs writes) CRUNCH_ALLOW_EMAIL=true # also allow emailing invoices and payment reminders to customers (needs writes) CRUNCH_TOOLSETS=account,reference,expenses,invoices,clients,suppliers # optional: expose fewer tools CRUNCH_AUDIT_LOG=stderr # optional: log every change (or an absolute file path; see docs/configuration.md)
The login needs matching scopes, so log in again after turning on writes or deletes:
docker compose stop
docker compose run --rm -p 127.0.0.1:8976:8976 crunch-mcp login docker compose up -d
Ask for a dry run first when it matters: *"Record that receipt, but show me a dry run first."*
Read Security before turning on writes for your real books.
| Toolset | What's covered |
|---|---|
account | Login status and the OAuth login flow, the logged-in user, company details (VAT number and scheme, addresses) and a one-call business overview |
reference | The values Crunch expects: expense types, VAT types, payment methods, countries, open accounting periods, directors and employees |
banking | Bank accounts and credit cards: balances, details, payments recorded against them, opening balances, default accounts, archiving |
clients | Clients (the customers you invoice): list, look up, create, update and delete |
suppliers | Suppliers: list, look up, create, update, archive and delete |
expenses | Expenses: list and filter, totals, create with lines, payments and receipts, update, record and remove payments, attach and download receipts, delete |
recurring | Recurring expenses that Crunch creates on a schedule: list, create, pause or change, delete |
invoices | Sales invoices: list and filter, totals, create drafts, update, issue, email to the customer, record and remove payments, attachments, PDF download, delete |
raw | An escape hatch that calls any Crunch public API endpoint |
See the [tool reference](docs/tools.md) for every tool and argument. Ready-made prompts like business_health_check, record_receipt and chase_overdue_invoices chain the tools together for common jobs.
The docs are also published at [crunch-mcp.mattoddie.dev/docs](https://crunch-mcp.mattoddie.dev/docs/), with search.
| 🚀 Getting started | Step-by-step setup, from API access to first question |
| 🔌 Connecting MCP clients | Claude Code, Claude Desktop, VS Code, Cursor, Codex, stdio mode |
| ⚙️ Configuration | Every environment variable, how login and tokens work, Docker secrets, toolsets |
| 🐳 Deployment | Compose, image tags, upgrades, TLS reverse proxy, hardening, running without Docker |
| 💬 Using crunch-mcp | Example conversations, prompts, how changes, receipts and PDFs work |
| 🧰 Tool reference | Every tool and prompt, generated from the code |
| 🛡️ Security | Threat model, least privilege, token storage, safe write setups |
| 📡 Compatibility | The Crunch API, its limits, and known gaps |
| 🩹 Troubleshooting | Common errors and how to fix them |
| 🛠️ Development | Architecture, adding a tool, testing |
Contributions are very welcome, whether that's bug reports, docs or new tools. Read the contributing guide to get started, and please follow the code of conduct. To report a vulnerability, see the security policy. Please don't open a public issue for one.
MIT © Matt Oddie
*crunch-mcp is an independent community project. It is not affiliated with, endorsed by or sponsored by Crunch (E-Crunch Ltd). "Crunch" is a trademark of E-Crunch Ltd.*