bank-statement-csv-categorize-reconcile-ledger について
bank-statementは、個人や企業の財務管理向けに、銀行のCSVをローカル台帳へ変換するMCPサーバーです。多様なCSV形式を処理し、取引の分類や通貨別集計、定期支出の検出、領収書との照合を行います。
主な機能
- 01銀行CSVの取り込みと重複排除
- 02ルールによる取引分類
- 03通貨別の収支集計
- 04定期支出の検出
- 05引き落としと領収書の照合
- 06JSON形式でのローカル保存
活用シーン
- 01月ごとの収入と支出の確認
- 02サブスクリプションと年間費用の把握
- 03領収書の不足や未入金の特定
- 04対応銀行の明細の取り込み
MCP 対応
取引の取り込み、検索、分類、集計、エクスポート、照合のツールに加え、月次サマリーのリソースと月末確認用プロンプトを提供します。MCPクライアントからローカルの銀行台帳を管理できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.zovo.one/mcp/bank-statementclaude mcp add --transport http theluckystrike-bank-statement-csv-categorize-reconcile-ledger https://mcp.zovo.one/mcp/bank-statement{"mcpServers":{"theluckystrike-bank-statement-csv-categorize-reconcile-ledger":{"type":"http","url":"https://mcp.zovo.one/mcp/bank-statement"}}}Cursor で開く{"servers":{"theluckystrike-bank-statement-csv-categorize-reconcile-ledger":{"type":"http","url":"https://mcp.zovo.one/mcp/bank-statement"}}}VS Code で開く{"mcpServers":{"theluckystrike-bank-statement-csv-categorize-reconcile-ledger":{"type":"http","url":"https://mcp.zovo.one/mcp/bank-statement"}}}{"mcpServers":{"theluckystrike-bank-statement-csv-categorize-reconcile-ledger":{"serverUrl":"https://mcp.zovo.one/mcp/bank-statement"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.zovo.one/mcp/bank-statement認証が必要ツール
15| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| bank | enum | いいえ | 銀行プロファイル。デフォルトは "auto":ヘッダーに基づいて決定します。"generic" はプロファイルの検出をスキップし、ヘッダーのヒューリスティックのみを使用しますauto | revolut | wise | mbank | pko | ing | n26 | generic |
| path | string | はい | bank_upload でアップロードした明細書の名前 |
| account | string | いいえ | この口座の名前。例:"business EUR"。デフォルト:拡張子を除いたファイル名。同じ口座への以後のインポートでは、この口座のデータと重複排除されます |
| currency | string | いいえ | ファイルで指定されていない行に適用する通貨。デフォルトでは共有ビジネスプロファイルの default_currency を使用し、なければ EUR を使用します。使用した通貨はレスポンスに記載されます |
| overwrite | boolean | いいえ | マージせずに、インポート前にこの口座に保存済みのすべての取引を削除します。銀行が修正版のエクスポートを再発行した場合に使用します |
詳細
mcp-bank-statement
公式 MCP Registry(io.github.theluckystrike/bank-statement-csv-categorize-reconcile-ledger)に登録されています。

銀行から CSV をエクスポートして、「これをインポートして」と伝えるだけで、その月の取引を確認できます。この MCP サーバーは、銀行のエクスポートデータをローカルの台帳に変換します。銀行がヘッダーより上に出力する前置きの内容にかかわらずヘッダー行を見つけ、日付、金額、入出金の方向を示す列を特定します。また、ファイル固有のロケールに合わせて金額を読み取るため、mBank の 1 234,56 も米国の銀行の 1,234.56 も同じ数値になります。借方はインポート時に一度だけ負の値、貸方は正の値として保存されるため、後続の処理で推測する必要はありません。同じデータを再インポートしても、追加されるものはありません。各行には日付、金額、通貨、説明のハッシュと出現インデックスが付与されるため、同じ日に同じコーヒーを2杯買った場合も2件の取引として記録され、同じファイルを2回目にインポートすると取引は追加されません。ルールに基づいて取引を受信時に分類し、通貨ごとに入金、出金、純額を報告するため、異なる通貨が混在することはありません。recurring_detect はサブスクリプションと年間費用を特定します。また、reconcile_expenses は銀行の借方を mcp-expense-tracker の領収書と照合し、領収書のない借方と銀行に記録されていない領収書を確認できるようにします。すべてお使いのマシン上の通常の JSON ファイルとして保存され、どこにもアップロードされません。
会計 SaaS は不要です。チャットで銀行の CSV を、分類と照合が済んだ月次データに変換できます。
銀行プロファイル:Revolut、Wise、mBank、PKO BP、ING、N26、およびヘッダーだけを使って動作する汎用リーダー。
指示なしで読み取れるファイル形式:UTF-8 と UTF-16(いずれのバイト順にも対応。Windows 版 Excel の保存形式)、
CRLF、LF、CR のみの改行、カンマ、引用符、改行を含む引用フィールド、1.234,56 と 1,234.56、
会計形式の括弧 (12.50) と末尾のマイナス記号 12.50-(どちらも負の値)、および1つのファイル内に混在する通貨。- または空欄のセルはゼロとして読み取らず、skipped_lines に記録します。日付列の形式が曖昧な場合(値に12を超える数字がなく、03/04/2026 のように表記されている場合)、形式を黙って決めるのではなく、どちらの順序を想定したかを応答で明示します。
60秒でインストール
@theluckystrike/mcp-bank-statement の npm 公開は保留中です。それまでは、ワンクリックの .mcpb バンドル、またはクローンしてビルドする方法が利用できます。どちらも以下で検証済みです。
ワンクリック(.mcpb):最新リリースから bank-statement.mcpb をダウンロードし、Claude Desktop でダブルクリックします。
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"bank-statement": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-bank-statement"]
}
}
}
Claude Code:
claude mcp add bank-statement -- npx -y @theluckystrike/mcp-bank-statement
(.cursor/mcp.json):
{
"mcpServers": {
"bank-statement": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-bank-statement"]
}
}
}
上記の npx 形式は、パッケージが公開され次第使えるようになります。それまでは、上記の .mcpb バンドルを使用するか、
以下の3つのコマンドだけでソースからビルドしてください。
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/spreadsheet -w servers/bank-statement
次に、クライアントの command を node に設定し、引数として servers/bank-statement/dist/index.js の絶対パスを1つ指定します。
Pro モードで実行するには、同じ設定ブロックで MCP_LICENSE_KEY を設定するか、キーを指定して license_activate を一度呼び出してください。
ツール
| ツール | 内容 |
|---|---|
statement_import | 銀行の CSV を台帳に読み込みます。前置きの有無にかかわらずヘッダー行を検出し、日付、摘要、金額(または借方と貸方)、通貨の各列、日付の順序、数値のロケールを判定します。検出した内容、保存した内容、既存の行と重複していた行の数、スキップしたすべての行とその理由を報告します |
transactions_list | 日付範囲を指定し、口座、カテゴリ、または uncategorized で絞り込んで、通貨ごとの合計とともに取引を一覧表示します |
transactions_search | 摘要、取引先、カテゴリ、または口座に検索語が含まれる取引を検索します。部分文字列のみで、正規表現は使用しません |
category_rules | 取引を分類するルールを設定または一覧表示します。空の一致条件は、台帳全体に一つのカテゴリが付与されてしまうため拒否されます。通常の一致条件は大文字と小文字を区別しない部分文字列です。regex: true の場合は、指数関数的なバックトラックが発生しないパターンのみコンパイルします。(a+)+ は拒否され、部分文字列として扱われます。ルールを設定すると、保存済みの取引に再適用されます |
transaction_categorize | ID を指定して取引のカテゴリを設定します。すべての ID が存在しない限り、変更は適用されません |
statement_summary | 期間内の入金、出金、純額を、カテゴリ、月、口座、または取引先ごとに、常に通貨別で集計します |
reconcile_expenses | 銀行の借方記入と mcp-expense-tracker の領収書を照合します。同じ通貨、同じ金額、指定期間内の日付が条件です。一致した項目、対応する領収書がない銀行明細、銀行に記録されていない領収書を報告します。経費台帳は読み取り専用です |
recurring_detect | サブスクリプションや定期的な請求を検出します。同じ取引先、ほとんど変動しない金額、一定の周期が条件です。周期、標準的な金額、次回の予想日、年換算コストを報告します。2 回の請求では周期は 1 回分しか確認できないため、3 回目の請求で確認されるまで年換算コストは提示されません(cadence_confirmed: false) |
statement_export | 指定期間のデータを csv または json に書き出し、パスを返します。アトミックに書き込むため、失敗しても不完全なファイルは残りません。既存ファイルの置き換えは可能で、その旨が報告されます(overwrote_existing_file) |
accounts_list | インポート済みの口座と、銀行、通貨、取引件数、日付範囲、最新の残高を表示します |
license_status | Free モードか Pro モードかを表示します |
license_activate | Pro キーを有効化します(オフラインで検証) |
リソース bank://month は、今月の入金、出金、純額を通貨別、カテゴリ別に返します。
プロンプト monthly_review は、月末の一連の確認作業(合計、未分類の明細、サブスクリプション、照合)を実行します。
Free と Pro の違い
| Free | Pro | |
|---|---|---|
| 口座数 | 2 | 無制限 |
| 読み戻せる履歴 | 過去 12 か月分 | 全履歴 |
| カテゴリルール | 5 | 無制限 |
| インポート、一覧表示、検索、集計 | はい | はい |
reconcile_expenses | はい、1 回につき 31 日間 | 任意の日付範囲 |
recurring_detect | はい、過去 3 か月分、請求 5 件 | 全履歴、すべての請求 |
statement_export | いいえ | はい |
インポートでは、プランにかかわらず常にすべての行が保存されます。取り込み時に行を黙って破棄すると、台帳と銀行の記録が一致しなくなるためです。Free の制限は、読み戻せる範囲に適用されます。
Pro を購入:https://mcp.zovo.one/buy/bank-statement、 このサーバーのみなら一度限りの $19、すべてのサーバーなら $39、いずれも永久ライセンスです。 キーはオフラインで検証され、情報が外部に送信されることはありません。
連携先
- mcp-expense-tracker。領収書と走行距離を記録できます。
reconcile_expensesはこの台帳を読み取り、領収書のない銀行の借方記入を知らせます。 - mcp-spreadsheet。このサーバーは、スプレッドシートサーバー独自の RFC 4180 リーダーとロケール対応の数値パーサーで銀行の CSV を解析するため、
1 234,56はどちらでも同じ値を意味します。書き出した範囲の分析に利用できます。 - mcp-invoice。収入側の連携先です。請求書を発行し、
statement_summaryで取引先別に集計して、支払いが入金されるのを確認できます。
プライバシー
すべてのデータはお使いのマシン内に保管されます。明細書はローカルで解析され、${XDG_DATA_HOME:-~/.local/share}/mcp-servers/bank-statement/ 内のプレーンな JSON ファイルに保存されます。このサーバーは、ライセンス認証や解析など、いかなる目的でもネットワークに接続しません。このディレクトリを削除すると、データがリセットされます。
theluckystrike が開発しました。サポート:[email protected]
これらのドキュメントを MCP サーバーとして使用する
Claude、Cursor、Windsurf、VS Code などの MCP クライアントは、GitMCP を介してこのリポジトリのドキュメントを直接読み込めます。インストールは不要です。
- ドキュメントの MCP URL:https://gitmcp.io/theluckystrike/mcp-bank-statement
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。