Crunch Accounting (crunch-mcp) について
crunch-mcpは、Crunch Accountingの利用者がAIアシスタントで事業記録を確認し、必要に応じて更新するためのオープンソースMCPサーバーです。権限設定、変更の事前確認、監査ログにより、会計データの変更を制御できます。
主な機能
- 01経費、請求書、口座の読み取り
- 02有効化時のレコード作成と更新
- 03領収書と請求書PDFの処理
- 04変更プレビューと項目差分
- 05ツールセット設定と監査ログ
活用シーン
- 01期限超過の請求書や未払い請求の確認
- 02領収書から経費を記録
- 03残高と事業活動の確認
- 04ドライランで請求書変更を事前確認
MCP 対応
Streamable HTTPまたはstdioでMCPクライアントをCrunch Accountingに接続し、会計記録を扱うツールを提供します。書き込み、削除、顧客へのメール送信は個別の設定で制御されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ghcr.io/mattoddie/crunch-mcp:0.4.1stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
crunch-mcp
本について話しましょう。
英国のオンライン会計サービス Crunch Accounting 向けのオープンソース Model Context Protocol サーバーです。Claude やその他の AI アシスタントが、1つの小さな Docker コンテナから、経費、領収書、請求書、クライアント、サプライヤー、銀行口座を読み取り、許可すれば更新できるようにします。
クイックスタート · ドキュメント · ツールリファレンス · コントリビューション
「今月の事業の状況はどうですか?」 2つの銀行口座に合計 £18,240、会社のクレジットカードに £312 あります。未払いの売上請求書が3件あり、合計 £7,800 です。Example Client Ltd 宛ての INV-0042(£2,400)は支払期限を12日過ぎていますが、ほかの2件はまだ期限前です。支出については、9月分の経費4件に領収書が添付されておらず、Example Hosting Ltd からの請求書1件(£96)も未払いです。INV-0042 の丁寧な督促メールを作成しますか?それとも、領収書がない経費を一覧表示しますか?
事業について、自然な言葉で質問できます。アシスタントは 70個のツールから選んで情報を確認し、許可すれば変更を加えます。例をいくつか紹介します。
- 🩺 「事業の健全性をチェックしてください。」
- 🧾 「リーズ行きの列車の領収書です。事業用口座から支払った経費として記録してください。」
- 📬 「支払期限を過ぎた請求書はどれですか?顧客ごとに督促メールを作成してください。」
- 📊 「前四半期の収入と支出を、VAT の概算とあわせて要約してください。」
- 🔍 「今年、領収書が添付されていない経費はどれですか?」
- 📝 「Example Client Ltd に、コンサルティング5日分を1日 £450、支払い条件30日で請求してください。」
主な特長
- 🐳 Docker 優先で軽量。
linux/amd64とlinux/arm64に対応した単一のイメージ(ghcr.io/mattoddie/crunch-mcp)で、サイズは約 21 MB です。distroless ベース上で動作する単一の静的 Go バイナリで、シェルやパッケージマネージャーは含まず、非 root ユーザーとして実行されます。長時間稼働するサービス向けの Streamable HTTP、またはdocker run -i向けの stdio で動作します。バイナリ単体で実行することもできます。 - 🛡️ デフォルトで安全。 書き込みを有効にしない限り、サーバーは読み取り専用です。削除には 2 つ目のスイッチが必要で、請求書や支払いのリマインダーを顧客にメールで送るには 3 つ目のスイッチが必要です。これらのスイッチはリクエスト本文や raw API ツール内でも有効です。また、HTTP サーバーにはベアラートークンが必要です。許可されていないツールは登録されず、削除や請求書の発行などの破壊的なツールにはラベルが付けられるため、MCP クライアントは実行前に確認を求めます。
- 🔑 最小権限でのログイン。 Crunch 独自の OAuth 2.0 フロー(PKCE 対応)でログインし、設定で必要なスコープのみを要求します。トークンがツールの出力に表示されることはありません。
- 🔄 ログイン状態を維持。 Crunch はリフレッシュトークンをローテーションするため、古いトークンを再利用するとログインが無効になります。crunch-mcp は新しいトークンを使用前に保存し、同時に複数回リフレッシュすることもないため、再起動後も動作し続けます。
- ✏️ 慎重な更新。 経費や請求書を変更するときは、現在のレコードを取得して、指定された内容だけを変更します。そのため、支払いや添付ファイルが誤って削除されることはありません。
- 🔍 プレビューと監査。 何かを変更するすべてのツールで
dry_run: trueを指定すると、変更を加えずに送信予定のリクエストを表示できます。更新の場合は、フィールドごとの差分も表示されます。CRUNCH_AUDIT_LOGは各変更を JSON Lines 形式の監査ログに記録します。 - 🖥️ ワンクリックで Claude Desktop にインストール。 各リリースには、macOS、Windows、Linux 向けの拡張バンドル(
.mcpb)が含まれます。設定フォームを備え、Docker は不要です。 - 📎 領収書と PDF。 領収書やタイムシートを添付できるほか、アシスタントが読み取れる画像形式で領収書をダウンロードしたり、請求書の PDF を取得したりできます。
- 🎛️ 調整可能。 必要なツールセットだけを公開できるため、モデルのコンテキストを小さく、目的に沿った状態に保てます。リスト取得ツールでは
search、fields、limitを指定して、必要な情報だけを取得できます。 - 🧪 テスト済み。 テストスイートは、すべてのビルドでモックの Crunch API と OAuth サーバーに対して実行されます。
クイックスタート
Claude Desktop をお使いですか? 最新リリースからお使いのコンピューター用の拡張バンドルをダウンロードして開き、Crunch のクライアント ID を入力し、Claude に *「Crunch にログインして」*と頼みます。Claude Desktopをご覧ください。以下の手順では、それ以外のすべてのクライアント向けに Docker サーバーをセットアップします。
Docker、Crunch アカウント、Crunch API へのアクセス権、およびClaude Codeなどの MCP クライアントが必要です。
1. API へのアクセス権を取得します。 Crunch の開発者向けドキュメントからリンクされている申請フォームを使って、Crunch の公開 API へのアクセスを申請します。Crunch からクライアント IDが発行されます。機密クライアントとして設定されている場合は、クライアントシークレットも発行されます。サンドボックスはないため、試すには無料の Crunch アカウントが適しています。詳しくははじめにをご覧ください。
2. サーバーをセットアップします。
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. Crunch にログインして、サーバーを起動します。
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
ブラウザーを Docker ホストで実行していない場合、Allowの後に表示されるページは読み込まれません。問題ありません。アドレスバーの URL をコピーして、ターミナルに貼り付けてください。
4. アシスタントを接続します。
claude mcp add --transport http crunch http://<docker-host>:8080/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"
Claude Code で *「事業の状況はどうですか?」*と聞いてみましょう。
Claude Desktop、VS Code、Cursor、または Codexをお使いですか?MCP クライアントの接続をご覧ください。サービスを実行したくない場合は、docker run -iまたはローカルバイナリを使ったstdio モードをご利用ください。
crunch-mcp は、公式のMCP レジストリにio.github.mattoddie/crunch-mcpとして掲載されています。そのため、レジストリからサーバーをインストールするクライアントなら、stdio モードの Docker イメージまたは拡張バンドルを使って自動でセットアップできます。
変更を有効にする
初期状態では、アシスタントは情報を参照できますが、変更はできません。変更を許可するには、.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)
ログインには一致するスコープが必要です。そのため、書き込みや削除を有効にした後はもう一度ログインしてください。
docker compose stop
docker compose run --rm -p 127.0.0.1:8976:8976 crunch-mcp login
docker compose up -d
重要な操作では、まずドライランを依頼しましょう。「この領収書を記録してください。ただし、まずドライランを表示してください。」
実際の帳簿への書き込みを有効にする前に、セキュリティをお読みください。
できること
| ツールセット | 対応内容 |
|---|---|
account | ログイン状態と OAuth ログインフロー、ログイン中のユーザー、会社情報(VAT 番号と制度、住所)、および一度の呼び出しで取得できる事業概要 |
reference | Crunch が受け付ける値:経費の種類、VAT の種類、支払方法、国、会計期間、取締役、従業員 |
banking | 銀行口座とクレジットカード:残高、詳細情報、口座やカードに対して記録された支払い、開始残高、デフォルト口座、アーカイブ |
clients | クライアント(請求書を送る顧客):一覧表示、検索、作成、更新、削除 |
suppliers | サプライヤー:一覧表示、検索、作成、更新、アーカイブ、削除 |
expenses | 経費:一覧表示とフィルタリング、合計、明細付きの作成、支払いと領収書、更新、支払いの記録と削除、領収書の添付とダウンロード、削除 |
recurring | Crunch がスケジュールに従って作成する定期経費:一覧表示、作成、一時停止または変更、削除 |
invoices | 売上請求書:一覧表示とフィルタリング、合計、下書きの作成、更新、発行、顧客へのメール送信、支払いの記録と削除、添付ファイル、PDF のダウンロード、削除 |
raw | 任意の Crunch 公開 API エンドポイントを呼び出すための特別な手段 |
各ツールと引数については**ツールリファレンス**をご覧ください。business_health_check、record_receipt、chase_overdue_invoicesなどのすぐに使えるプロンプトでは、よくある作業のために複数のツールを連携させています。
ドキュメント
ドキュメントは検索機能付きで、crunch-mcp.mattoddie.dev/docs にも公開されています。
| 🚀 はじめに | API アクセスから最初の質問まで、手順を追ったセットアップ |
| 🔌 MCP クライアントの接続 | Claude Code、Claude Desktop、VS Code、Cursor、Codex、stdio モード |
| ⚙️ 設定 | すべての環境変数、ログインとトークンの仕組み、Docker シークレット、ツールセット |
| 🐳 デプロイ | Compose、イメージタグ、アップグレード、TLS リバースプロキシ、セキュリティ強化、Docker を使わない実行 |
| 💬 crunch-mcp の使用方法 | 会話例、プロンプト、変更、領収書、PDF の仕組み |
| 🧰 ツールリファレンス | すべてのツールとプロンプト。コードから自動生成 |
| 🛡️ セキュリティ | 脅威モデル、最小権限、トークンの保存、安全な書き込み設定 |
| 📡 互換性 | Crunch API、その制限、既知の未対応事項 |
| 🩹 トラブルシューティング | よくあるエラーとその解決方法 |
| 🛠️ 開発 | アーキテクチャ、ツールの追加、テスト |
コントリビューション
バグ報告、ドキュメント、新しいツールなど、あらゆるコントリビューションを歓迎します。始めるにはコントリビューションガイドをお読みください。また、行動規範に従ってください。脆弱性の報告については、セキュリティポリシーをご覧ください。脆弱性について、公開の Issue は作成しないでください。
ライセンス
MIT © Matt Oddie
crunch-mcp は独立したコミュニティプロジェクトです。Crunch(E-Crunch Ltd)との提携、同社による推奨、または同社からの支援を受けていません。「Crunch」は E-Crunch Ltd の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。