原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Crunch Accounting (crunch-mcp)

作者:mattoddie版本 0.4.1i★ –i在你的电脑上运行
注册名称io.github.mattoddie/crunch-mcp

安装

概览

作者提供的说明(英文原文)

Work with your Crunch Accounting books: expenses, receipts, invoices, clients, suppliers and banking

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 会计、财务与税务
  • 你需要填写:CRUNCH_CLIENT_ID, CRUNCH_CLIENT_SECRET, CRUNCH_REFRESH_TOKEN

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: 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_LOG

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

下载作者的 .mcpb 文件

链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。

在终端中运行这条命令

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.1

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.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"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "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"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • MCP_TRANSPORT env
    Serve MCP over stdio. The image serves HTTP by default.
  • CRUNCH_CLIENT_ID 必填 env
    The client ID Crunch gave you when it approved your API application.
  • CRUNCH_CLIENT_SECRET 机密 env
    Only for confidential clients, which Crunch issues a secret. Leave empty for a public client.
  • CRUNCH_REDIRECT_URI env
    Only if your API account has a redirect URI registered with Crunch. Empty means http://127.0.0.1:8976/callback.
  • CRUNCH_REFRESH_TOKEN 机密 env
    Optional refresh token to start from instead of logging in. Don't use it anywhere else afterwards.
  • CRUNCH_ALLOW_WRITES env
    Allow creating and changing records, including issuing invoices. Off means read-only.
  • CRUNCH_ALLOW_DELETES env
    Also allow deleting records and removing payments. Needs CRUNCH_ALLOW_WRITES.
  • CRUNCH_ALLOW_EMAIL env
    Also allow emailing invoices and turning on payment reminders. Needs CRUNCH_ALLOW_WRITES.
  • CRUNCH_TOOLSETS env
    Optional comma-separated toolsets to expose fewer tools, e.g. account,reference,expenses. Empty means all.
  • CRUNCH_FILES_DIR env
    Optional folder, inside the container, for receipts to attach and files to save. Mount it too. Empty turns it off.
  • CRUNCH_AUDIT_LOG env
    Optional audit log of every change: stderr, or a file path inside the container. Empty turns it off.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 mattoddie 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“会计、财务与税务”中的其他服务器比较i

  • 星标数多于此分类中其他 2938 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 2938 个服务器的 65% 更新
  • 基础检查结果等于或优于此分类中其他 2938 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Crunch Accounting (crunch-mcp) 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:CRUNCH_CLIENT_ID, CRUNCH_CLIENT_SECRET, CRUNCH_REFRESH_TOKEN

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.4.1)于17天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker, MCPB。

有什么可以替代它?

同一分类中有:Finance Toolkit, SolidInvoice, Korea Tax Calculator

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Finance Toolkit

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

作者:JerBouma广泛使用↓ 1.6万/周★ 5496前天更新

电脑或云端

SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

作者:SolidInvoice正在增长★ 9819天前更新

在云端运行✓ solidinvoice.co

Korea Tax Calculator

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

作者:UpstageAI正在增长↓ 3172/周★ 97今天更新

在你的电脑上运行

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

crunch-mcp

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:

  • 🩺 *"Give me a health check of the business."*
  • 🧾 *"Here's a receipt for a train ticket to Leeds. Record it as an expense paid from the business account."*
  • 📬 *"Which invoices are overdue? Draft a chasing email for each customer."*
  • 📊 *"Summarise income and spending for the last quarter, with an estimate of the VAT."*
  • 🔍 *"Which expenses this year have no receipt attached?"*
  • 📝 *"Invoice Example Client Ltd for 5 days of consulting at £450 a day, on 30-day terms."*

Highlights

  • 🐳 Docker-first and tiny. One image (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.
  • 🛡️ Safe by default. The server is read-only unless you turn on writes. Deleting needs a second switch, and emailing invoices or payment reminders to customers needs a third. The switches also hold inside request bodies and the raw API tool, and the HTTP server requires a bearer token. Tools that aren't allowed aren't registered at all, and destructive tools, such as deletes and issuing an invoice, are labelled so your MCP client asks before running them.
  • 🔑 Least-privilege login. It logs in with Crunch's own OAuth 2.0 flow (with PKCE) and asks only for the scopes your settings need. Tokens never appear in tool output.
  • 🔄 Stays logged in. Crunch rotates refresh tokens, and reusing an old one revokes your login. crunch-mcp saves each new token before using it and never refreshes twice at once, so it keeps working across restarts.
  • ✏️ Careful updates. Changing an expense or invoice fetches the current record and changes only what you asked, so payments and attachments are never dropped by accident.
  • 🔍 Preview and audit. Every tool that changes something takes 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.
  • 🖥️ One-click Claude Desktop install. Each release has an extension bundle (.mcpb) for macOS, Windows and Linux, with a settings form and no Docker needed.
  • 📎 Receipts and PDFs. Attach receipts and timesheets, download receipts as images the assistant can read, and fetch invoice PDFs.
  • 🎛️ Tunable. Expose only the toolsets you need, which keeps the model's context small and focused. List tools take search, fields and limit to fetch only what's needed.
  • 🧪 Tested. The test suite runs against a mock Crunch API and OAuth server on every build.

Quick start

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

Edit .env: set CRUNCH_CLIENT_ID (and CRUNCH_CLIENT_SECRET if you have one)

and a random MCP_AUTH_TOKEN, which the HTTP server requires (e.g. 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.

Turning on changes

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.

What it can do

ToolsetWhat's covered
accountLogin status and the OAuth login flow, the logged-in user, company details (VAT number and scheme, addresses) and a one-call business overview
referenceThe values Crunch expects: expense types, VAT types, payment methods, countries, open accounting periods, directors and employees
bankingBank accounts and credit cards: balances, details, payments recorded against them, opening balances, default accounts, archiving
clientsClients (the customers you invoice): list, look up, create, update and delete
suppliersSuppliers: list, look up, create, update, archive and delete
expensesExpenses: list and filter, totals, create with lines, payments and receipts, update, record and remove payments, attach and download receipts, delete
recurringRecurring expenses that Crunch creates on a schedule: list, create, pause or change, delete
invoicesSales invoices: list and filter, totals, create drafts, update, issue, email to the customer, record and remove payments, attachments, PDF download, delete
rawAn 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.

Documentation

The docs are also published at [crunch-mcp.mattoddie.dev/docs](https://crunch-mcp.mattoddie.dev/docs/), with search.

🚀 Getting startedStep-by-step setup, from API access to first question
🔌 Connecting MCP clientsClaude Code, Claude Desktop, VS Code, Cursor, Codex, stdio mode
⚙️ ConfigurationEvery environment variable, how login and tokens work, Docker secrets, toolsets
🐳 DeploymentCompose, image tags, upgrades, TLS reverse proxy, hardening, running without Docker
💬 Using crunch-mcpExample conversations, prompts, how changes, receipts and PDFs work
🧰 Tool referenceEvery tool and prompt, generated from the code
🛡️ SecurityThreat model, least privilege, token storage, safe write setups
📡 CompatibilityThe Crunch API, its limits, and known gaps
🩹 TroubleshootingCommon errors and how to fix them
🛠️ DevelopmentArchitecture, adding a tool, testing

Contributing

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.

License

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.*

问 PopNx