bankstatementparser-mcp について
bankstatementparser-mcp は、銀行明細を会話内で読み取り、検証するエージェント向けに bankstatementparser ライブラリを MCP サーバーとして提供します。複数の標準・一般形式に対応し、明細内容を入力として受け取ります。
主な機能
- 01明細形式の判定
- 02取引と概要の解析
- 03明細内容の検証
- 04CAMT、MT940、OFX、CSV に対応
- 05形式リソースと分析プロンプト
活用シーン
- 01複数の形式の銀行明細を解析
- 02明細を正常に解析できるか確認
- 03取引と明細概要の抽出
- 04明細分析をエージェントに段階的に案内
MCP 対応
MCP クライアント向けに、明細処理ツール5つ、対応形式リソース、分析プロンプトを公開します。ツールは明細内容を入力として受け取り、stdio、Streamable HTTP、SSE 経由でシリアライズ可能なデータを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
bankstatementparser-mcp
銀行取引明細を読み取るための、bankstatementparser ライブラリを第一級のエージェントツールとして提供する Model Context Protocol サーバーです。
目次
はじめに
- bankstatementparser-mcp とは? — 解決する問題
- ISO 20022 MCP Suite — 連携する 4 つのサーバーとそれぞれの使い分け
- インストール — PyPI、仮想環境、Docker
- クイックスタート — 30 秒で Claude Desktop に登録
- トランスポート — 1 つのコマンドラインから利用できる stdio、ストリーミング可能 HTTP(2026-07-28 と 2025-11-25)、SSE
ライブラリリファレンス
運用
- bankstatementparser-mcp を使うべきでない場合 — 適用範囲についての率直な説明
- 開発 — ゲート、make ターゲット
- セキュリティ — サンドボックス化の方針
- ドキュメント — 例、ガイド
- 貢献 — 変更を取り込んでもらう方法
- ライセンス — Apache-2.0
bankstatementparser-mcp とは?
Model Context Protocol(MCP)は、AI エージェントが外部ツールを一貫した方法で検出し、呼び出せるようにするオープンな標準です。bankstatementparser-mcp は、bankstatementparser ライブラリをエージェントのファーストクラスツールに変換する MCP サーバーです。これにより、アシスタントは会話から直接、ISO 20022 CAMT.053、SWIFT MT940、OFX/QFX、CSV などの形式の銀行取引明細書を読み取り、検証し、要約できます。
各ツールは bankstatementparser パーサーのコア(create_parser、detect_statement_format)を薄くラップしたものなので、結果は CLI と同じように動作します。MCP クライアントはサーバーのファイルシステムを共有しないため、ツールはインラインの明細書コンテンツ(およびファイル名のヒント)を受け取り、1 回の呼び出しの間だけプライベートな一時ファイルに書き込みます。ツールは JSON にシリアライズ可能なデータを返します。
| 項目 | bankstatementparser-mcp での対応 |
|---|---|
| トランスポート | デフォルトでは stdio。HTTP では --transport streamable-http(1 つのエンドポイントで 2026-07-28 と 2025-11-25 に対応)または --transport sse |
| 入力モデル | インラインコンテンツとファイル名のヒントを使用。ファイルシステムの共有は不要 |
| 形式の忠実性 | ツールは bankstatementparser の create_parser パイプラインに処理を委任 |
| 形式の検出 | detect_format はライブラリの detect_statement_format を踏襲 |
| 検証 | validate_statement はドライランを実行し、構造化された結果を返す |
| 分離 | 各呼び出しでプライベートな一時ファイルに書き込み、終了時に削除 |
ISO 20022 MCP スイート
bankstatementparser-mcp は、ベンダー中立な 8 つの連携 MCP サーバーから成るスイートの取り込みレイヤーです。これらを組み合わせることで、ISO 20022 銀行取引明細書のワークフローと 2026 年 11 月の構造化住所への移行において、明細書の詳細、カタログ全体のルーティング、照合、複数形式の取り込み、住所の修正を網羅します。依存関係の範囲はスイート全体で揃えてあるため、単一の Python 環境に各サーバーを問題なくまとめてインストールできます。まず 1 つから始め、ワークフローの拡大に合わせて残りを追加してください。
| サーバー | 対象範囲 | 提供内容 | インストール | こんなときに |
|---|---|---|---|---|
camt053-mcp | ISO 20022 の camt.053/camt.052 銀行取引明細:解析、検証、フィルタリング、逆変換;MT940/MT942 の移行;CBPR+ 対応状況の確認;仕訳エクスポート | MCP ツール 24 個 · プロンプト 4 個 · リソース 3 個 | pip install camt053-mcp | 銀行から顧客への取引明細を一貫して扱う場合 — スイートの主力製品です |
iso20022-mcp | 統合ゲートウェイ:pain · pacs · camt · acmt ファミリー全体に振り分ける search/describe/validate/generate/parse メタツール | メタツール 7 個 | pip install "iso20022-mcp[all]" | すべてのメッセージファミリーに対する単一のエントリーポイントが必要な場合 |
reconcile-mcp | 予定された pain.001 支払いと、観測された camt.053 明細を照合します — 完全一致、一部一致、一対多、多対一に対応し、すべての照合結果にスコアと説明を付与します | MCP ツール 7 個 | pip install reconcile-mcp | 説明可能な取引明細/支払い照合が必要な場合 |
bankstatementparser-mcp | 複数形式の取引明細取り込み:ISO 20022 CAMT.053 と pain.001、SWIFT MT940、OFX/QFX、CSV | MCP ツール 5 個 · プロンプト 1 個 · リソース 1 個 | pip install bankstatementparser-mcp | 取引明細が複数の形式やレガシー形式で届く場合 — このパッケージ |
structured-address-fix-mcp | 2026 年 11 月の構造化住所への切り替えに向けた ISO 20022 の郵便住所分類、評価、修正に加え、準備状況のスコアリング、決済プロファイルのリント、監査証跡(pacs.008/pain.001 の債務者および債権者住所)を提供する高レベルのオーケストレーションレイヤー | MCP ツール 9 個 | pip install structured-address-fix-mcp | 2026 年 11 月 14 日を前に、債務者/債権者住所を期限に間に合うよう準備する必要がある場合 |
iso20022-readiness-suite-mcp | オーケストレーションゲートウェイ:検出 → 構造検証 → 決済プロファイルのリント → 準備状況のスコアリングに加え、自動修正と pacs.002 銀行応答シミュレーションを提供します — 基盤となるサーバー群を横断するメタクライアントです | MCP ツール 4 個 | pip install iso20022-readiness-suite-mcp | スイート全体を対象とする高レベルの準備状況確認/オーケストレーション用エントリーポイントが必要な場合 |
iso20022-bank-profile-mcp | 銀行固有の決済プロファイル/ルールパック(CBPR+、SEPA_Instant、FedNow、Generic)を管理、検証、提供します;プレミアムルールパックの利用権限を管理します | MCP ツール 4 個 | pip install iso20022-bank-profile-mcp | 自社の市場慣行に照らして支払いをリントする場合 |
iso20022-evidence-pack-mcp | 準備状況の検出結果、修正差分、シミュレーション応答を、封印された Ed25519 署名可能な監査証跡パックにまとめます | MCP ツール 6 個 | pip install iso20022-evidence-pack-mcp | 改ざんを検知できる監査/認証用成果物が必要な場合 |
一言で言うと、camt053-mcp は銀行取引明細分野の主力製品
(最も充実した camt.05x の提供内容、stdio + 認証付きストリーミング可能な HTTP)、
iso20022-mcp は汎用メッセージツールキット(カタログ全体を対象とする少数の動詞)、
reconcile-mcp は照合ワークフロー(予定した入金は実際に届いたか?)、
bankstatementparser-mcp は取り込みレイヤー(多様な形式を入力し、単一の取引形式で出力)、
そして structured-address-fix-mcp は郵便住所の専門ツール(2026 年 11 月の切り替えに向け、債務者/債権者住所を期限に間に合うよう準備)です。
インストール
| チャネル | コマンド | 備考 |
|---|---|---|
| PyPI | pip install bankstatementparser-mcp | bankstatementparser >= 0.0.28 と MCP SDK をインストールします |
| ソース | git clone https://github.com/sebastienrousseau/bankstatementparser-mcp && cd bankstatementparser-mcp && poetry install | 開発向けです |
| Docker (GHCR) | docker pull ghcr.io/sebastienrousseau/bankstatementparser-mcp:latest | マルチアーキテクチャ(linux/amd64、linux/arm64)に対応しています。bankstatementparser-mcp を stdio 経由で実行します。HTTP を使用する場合は --transport streamable-http --host 0.0.0.0 を渡し、ポート 8000 を公開してください |
Python 3.10 以降が必要です。macOS、Linux、Windows で動作します。
分離された仮想環境を使用する(推奨)
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
python -m pip install -U bankstatementparser-mcp
クイックスタート
任意の MCP クライアントにサーバーを登録します(ここでは Claude Desktop を例に示します)。
{
"mcpServers": {
"bankstatementparser": { "command": "bankstatementparser-mcp" }
}
}
これで完了です。クライアントを再起動すると、エージェントからツールを利用できるようになります。
デフォルトでは、サーバーは stdin/stdout 経由で JSON-RPC を使用します。対話的に使うのではなく、MCP クライアントから起動することを想定しています。共有環境へのデプロイについては、トランスポートを参照してください。
トランスポート
1 つのコマンドラインで、3 種類のトランスポートを使用できます。
| コマンド | トランスポート | エンドポイント | プロトコルのリビジョン |
|---|---|---|---|
bankstatementparser-mcp | stdio | クライアントがプロセスを起動します | 2026-07-28、2025-11-25 |
bankstatementparser-mcp --transport streamable-http | Streamable HTTP | http://127.0.0.1:8000/mcp | 同じエンドポイントで、2026-07-28(ステートレス、server/discover)と 2025-11-25(initialize、Mcp-Session-Id)に対応します。レスポンスはサーバー送信イベントとしてストリーミングされ、GET でサーバーからクライアントへのストリームを開きます |
bankstatementparser-mcp --transport sse | HTTP+SSE (2024-11-05) | http://127.0.0.1:8000/sse および /messages/ | 古いトランスポートを引き続き想定しているクライアント向けです |
--host と --port でバインドアドレスを変更できます(デフォルトは 127.0.0.1 と 8000 です)。HTTP トランスポート自体には認証機能がありません。ループバックにバインドするか、ルーティング可能なアドレスにバインドする前に、信頼できるゲートウェイの背後にサーバーを配置してください。すべてのリリースは、両方のプロトコル世代で passmcp を使用した Streamable HTTP、および MCP SDK クライアントを使用した SSE で検証されています。詳細はADR 0001を参照してください。
{
"mcpServers": {
"bankstatementparser": { "url": "http://127.0.0.1:8000/mcp" }
}
}
ツール
すべてのツールは bankstatementparser パーサーコアに処理を委譲するため、ライブラリと同じ動作をします。
list_supported_formats— パーサーが読み取れるすべての銀行取引明細書形式を一覧表示しますdetect_format— インラインペイロードの取引明細書形式を検出しますparse_statement— 取引明細書を構造化された取引データと要約に変換しますvalidate_statement— 取引明細書を問題なく解析できるか、ドライランで確認しますsummarize_statement— 取引明細書の要約のみを返します(取引ごとの行は含みません)
さらに、リソースが 1 つ、プロンプトが 1 つあります。
- リソース
bankstatementparser://formats— 対応形式とファイル拡張子の読み取り専用カタログです - プロンプト
analyze_statement— エージェントが取引明細書の読み取りと照合を行うための、ガイド付きの複数ステッププロンプトです
対応形式:camt(ISO 20022 CAMT.053、.xml)、pain001(ISO 20022 pain.001、.xml)、csv(.csv)、ofx(.ofx)、qfx(.qfx)、mt940(SWIFT MT940、.mt940 / .sta)。
ツールの使用
ツールは bankstatementparser_mcp.server モジュールの通常の関数なので、プロセス内で呼び出せます。
from bankstatementparser_mcp.server import (
detect_format,
parse_statement,
summarize_statement,
)
csv = (
"date,description,amount,currency,balance\n"
"2023-01-02,Salary,500.00,EUR,1500.00\n"
"2023-01-03,Groceries,-40.50,EUR,1459.50\n"
)
# 1. Detect the format from the filename hint + content.
print(detect_format(csv, "statement.csv"))
# -> csv
# 2. Parse the statement into structured rows + a summary.
parsed = parse_statement(csv, "statement.csv")
print(parsed["transaction_count"], parsed["columns"])
# 3. Read just the opening/closing balances.
print(summarize_statement(csv, "statement.csv"))
リソースとプロンプトも通常の関数です。formats_resource は bankstatementparser://formats を提供し、analyze_statement はガイド付きの複数ステッププロンプトを返します。
from bankstatementparser_mcp.server import (
analyze_statement,
formats_resource,
)
print(formats_resource()) # the supported-formats catalogue
print(analyze_statement("statement.csv")) # the guided analysis prompt
実行可能な手順の例については、examples/ フォルダーを参照してください。例には 04_resource_and_prompt.py が含まれます。
bankstatementparser-mcpを使用しない場合
- MCP 対応エージェントを使用していない場合。
bankstatementparserの CLI またはライブラリを直接使用してください。同じ機能を、より少ない仲介で利用できます。 - ディスク上のファイルを一括解析する必要がある場合。 ライブラリの CLI はパスを直接読み取るため、MCP ツールが使用するインラインコンテンツの往復処理を回避できます。
開発
bankstatementparser-mcp は Poetry と
mise を使用します。
git clone https://github.com/sebastienrousseau/bankstatementparser-mcp.git
cd bankstatementparser-mcp
mise install
poetry install
品質チェック(CI と同期して管理)を統括する Makefile があります。
| ターゲット | 実行内容 |
|---|---|
make check | すべてのチェック(コミット前に必須) |
make test | pytest --cov=bankstatementparser_mcp --cov-branch --cov-fail-under=100 |
make lint | ruff check + black --check |
make type-check | mypy --strict |
make docs | interrogate --fail-under=100(docstring のカバレッジ) |
現在の状態(v0.0.28):100% の下限を適用した状態で、行カバレッジと分岐カバレッジはともに 100%、mypy --strict は問題なく、interrogate は 100% です。
セキュリティ
- ツールによる永続的なファイルシステムへの書き込みはありません。 各呼び出しでは、インラインコンテンツをプライベートな一時ファイルに書き込み、呼び出しが戻るとすぐに削除します。
validate_statementによる 検証エラー は、スタックトレースではなく、構造化された{"is_valid": false, "error": ...}ペイロードとして返されます。- 依存関係 は
poetry.lockで固定され、CI でpip-auditと Bandit による監査を受けています。
脆弱性を報告する場合は、公開の issue ではなく GitHub の非公開脆弱性報告を利用してください。
ドキュメント
- 実行可能なサンプル:
examples/ - リリース履歴: CHANGELOG.md
- MCP 仕様: modelcontextprotocol.io
貢献
貢献を歓迎します。貢献ガイドをご覧ください。
bankstatementparser-mcp の開発に協力してくださったすべてのコントリビューターに感謝します。
関連する MCP サーバー
ISO 20022 MCP Suite の中核となる 4 つのサーバーは、上記の The ISO 20022 MCP Suite で比較しています。より広範なファミリーには、銀行業務および金融サービス向け AI エージェント用のオープンソース、Apache-2.0 ライセンスの MCP サーバーも含まれており、次のものがあります。
| サーバー | 目的 |
|---|---|
pain001-mcp | ISO 20022 pain.001 支払ファイル(v03–v12、pain.008、SEPA)をルールブックに基づいて生成・検証 |
pacs008-mcp | ISO 20022 pacs.008 の金融機関間クレジットトランスファーを生成、検証、解析、スキームチェックし、2026 年 11 月対応の住所リントも実行 |
acmt001-mcp | ISO 20022 acmt アカウント管理メッセージを生成・検証 |
noyalib-mcp | ロスレスな YAML 1.2 の解析、フォーマット、検証(Rust、仕様への準拠率 100%) |
MCP Registry
mcp-name: io.github.sebastienrousseau/bankstatementparser-mcp
エコシステム
bankstatementparser は、モジュール型の金融エコシステムの一部です。オプションの関連パッケージにより、専門的なローダー、ライター、AI エージェント、言語サーバー、トランスポートプロトコルアダプターを利用できます。
| パッケージ | GitHub リポジトリ | PyPI | 役割 | 説明 |
|---|---|---|---|---|
bankstatementparser | sebastienrousseau/bankstatementparser | コアエンジン | CAMT(052/053)、PAIN.001、CSV、OFX、QFX、MT940、PDF の取引明細書に対応する統合パーサー | |
bankstatementparser-mcp | sebastienrousseau/bankstatementparser-mcp | AI プロトコル | LLM と AI エージェントに取引明細書ツールを提供する Model Context Protocol(MCP)サーバー | |
bankstatementparser-lsp | sebastienrousseau/bankstatementparser-lsp | 開発者向けツール | SWIFT MT940 取引明細書のリアルタイム検証と診断に対応する Language Server Protocol(LSP) | |
bankstatementparser-transport-ebics | sebastienrousseau/bankstatementparser-transport-ebics | 転送 | EBICS 3.0(H005)および 2.5(H004)プロトコルによる銀行取引明細書の自動取得 | |
bankstatementparser-writer-xlsx | sebastienrousseau/bankstatementparser-writer-xlsx | 出力ライター | 解析した銀行取引をスタイル設定済みの Microsoft Excel(.xlsx)ブックに整形してエクスポート | |
bankstatementparser-writer-qif | sebastienrousseau/bankstatementparser-writer-qif | 出力ライター | 取引を標準の Quicken Interchange Format(.qif)交換ファイルにシリアライズ | |
bankstatementparser-writer-ofx | sebastienrousseau/bankstatementparser-writer-ofx | 出力ライター | 取引を標準の Open Financial Exchange(.ofx)XML/SGML ファイルにシリアライズ | |
bankstatementparser-writer-swift | sebastienrousseau/bankstatementparser-writer-swift | 出力ライター | 取引を SWIFT MT940 顧客取引明細書および MT942 中間レポートとしてエクスポート | |
bankstatementparser-loader-bai2 | sebastienrousseau/bankstatementparser-loader-bai2 | 入力ローダー | BAI2 の資金管理および口座残高の取引明細書を解析 | |
bankstatementparser-loader-mt942 | sebastienrousseau/bankstatementparser-loader-mt942 | 入力ローダー | 貸方/借方サマリーとの照合に対応した SWIFT MT942 中間取引レポートを解析 | |
bankstatementparser-loader-cfonb | sebastienrousseau/bankstatementparser-loader-cfonb | 入力ローダー | フランスの CFONB 120/AFB120 の 120 バイト固定幅銀行取引明細書ファイルを解析 | |
bankstatementparser-loader-camt054 | sebastienrousseau/bankstatementparser-loader-camt054 | 入力ローダー | ISO 20022 CAMT.054 のリアルタイム貸方/借方通知ストリーム XML を取り込み | |
bankstatementparser-loader-sepa | sebastienrousseau/bankstatementparser-loader-sepa | 入力ローダー | ISO 20022 SEPA PAIN.002 決済ステータスレポートおよび PAIN.008 口座振替委任情報を取り込み | |
bankstatementparser-loader-bacs | sebastienrousseau/bankstatementparser-loader-bacs | 入力ローダー | 英国 BACS Standard 18/Faster Payments の 106 バイト固定幅伝送ファイルを解析 |
ライセンス
Apache License, Version 2.0に基づいてライセンスされています。 採用のために提出されたすべての貢献は、追加の条件なしに、 上記のライセンスが適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。