mcpField
B
bankstatementparser-mcp

bankstatementparser-mcp

ローカル
github.com/sebastienrousseau金融データ22 日前に更新

bankstatementparser-mcp について

bankstatementparser-mcp は、銀行明細を会話内で読み取り、検証するエージェント向けに bankstatementparser ライブラリを MCP サーバーとして提供します。複数の標準・一般形式に対応し、明細内容を入力として受け取ります。

主な機能

  1. 01明細形式の判定
  2. 02取引と概要の解析
  3. 03明細内容の検証
  4. 04CAMT、MT940、OFX、CSV に対応
  5. 05形式リソースと分析プロンプト

活用シーン

  1. 01複数の形式の銀行明細を解析
  2. 02明細を正常に解析できるか確認
  3. 03取引と明細概要の抽出
  4. 04明細分析をエージェントに段階的に案内

MCP 対応

MCP クライアント向けに、明細処理ツール5つ、対応形式リソース、分析プロンプトを公開します。ツールは明細内容を入力として受け取り、stdio、Streamable HTTP、SSE 経由でシリアライズ可能なデータを返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sebastienrousseau-bankstatementparser": {
"command": "uvx",
"args": [
"bankstatementparser-mcp"
]
}
}
}
起動コマンドuvx bankstatementparser-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibankstatementparser-mcp0.0.19

ツール

5

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

bankstatementparser-mcp ロゴ

bankstatementparser-mcp

銀行取引明細を読み取るための、bankstatementparser ライブラリを第一級のエージェントツールとして提供する Model Context Protocol サーバーです。

テスト カバレッジ PyPI バージョン Python バージョン PyPI ダウンロード数 OpenSSF Scorecard ライセンス:Apache-2.0 OR MIT Glama MCP サーバースコア

bankstatementparser-mcp のデモ


目次

はじめに

ライブラリリファレンス

  • ツール — 5 つのツール、1 つのリソース、1 つのプロンプト
  • ツールの使用 — Python からプロセス内で呼び出す

運用


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-mcpISO 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、CSVMCP ツール 5 個 · プロンプト 1 個 · リソース 1 個pip install bankstatementparser-mcp取引明細が複数の形式やレガシー形式で届く場合 — このパッケージ
structured-address-fix-mcp2026 年 11 月の構造化住所への切り替えに向けた ISO 20022 の郵便住所分類、評価、修正に加え、準備状況のスコアリング、決済プロファイルのリント、監査証跡(pacs.008/pain.001 の債務者および債権者住所)を提供する高レベルのオーケストレーションレイヤーMCP ツール 9 個pip install structured-address-fix-mcp2026 年 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 月の切り替えに向け、債務者/債権者住所を期限に間に合うよう準備)です。


インストール

チャネルコマンド備考
PyPIpip install bankstatementparser-mcpbankstatementparser >= 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-mcpstdioクライアントがプロセスを起動します2026-07-28、2025-11-25
bankstatementparser-mcp --transport streamable-httpStreamable HTTPhttp://127.0.0.1:8000/mcp同じエンドポイントで、2026-07-28(ステートレス、server/discover)と 2025-11-25(initialize、Mcp-Session-Id)に対応します。レスポンスはサーバー送信イベントとしてストリーミングされ、GET でサーバーからクライアントへのストリームを開きます
bankstatementparser-mcp --transport sseHTTP+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 testpytest --cov=bankstatementparser_mcp --cov-branch --cov-fail-under=100
make lintruff check + black --check
make type-checkmypy --strict
make docsinterrogate --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 の非公開脆弱性報告を利用してください。


ドキュメント


貢献

貢献を歓迎します。貢献ガイドをご覧ください。 bankstatementparser-mcp の開発に協力してくださったすべてのコントリビューターに感謝します。


関連する MCP サーバー

ISO 20022 MCP Suite の中核となる 4 つのサーバーは、上記の The ISO 20022 MCP Suite で比較しています。より広範なファミリーには、銀行業務および金融サービス向け AI エージェント用のオープンソース、Apache-2.0 ライセンスの MCP サーバーも含まれており、次のものがあります。

サーバー目的
pain001-mcpISO 20022 pain.001 支払ファイル(v03–v12、pain.008、SEPA)をルールブックに基づいて生成・検証
pacs008-mcpISO 20022 pacs.008 の金融機関間クレジットトランスファーを生成、検証、解析、スキームチェックし、2026 年 11 月対応の住所リントも実行
acmt001-mcpISO 20022 acmt アカウント管理メッセージを生成・検証
noyalib-mcpロスレスな YAML 1.2 の解析、フォーマット、検証(Rust、仕様への準拠率 100%)

MCP Registry

mcp-name: io.github.sebastienrousseau/bankstatementparser-mcp


エコシステム

bankstatementparser は、モジュール型の金融エコシステムの一部です。オプションの関連パッケージにより、専門的なローダー、ライター、AI エージェント、言語サーバー、トランスポートプロトコルアダプターを利用できます。

パッケージGitHub リポジトリPyPI役割説明
bankstatementparsersebastienrousseau/bankstatementparserPyPIコアエンジンCAMT(052/053)、PAIN.001、CSV、OFX、QFX、MT940、PDF の取引明細書に対応する統合パーサー
bankstatementparser-mcpsebastienrousseau/bankstatementparser-mcpPyPIAI プロトコルLLM と AI エージェントに取引明細書ツールを提供する Model Context Protocol(MCP)サーバー
bankstatementparser-lspsebastienrousseau/bankstatementparser-lspPyPI開発者向けツールSWIFT MT940 取引明細書のリアルタイム検証と診断に対応する Language Server Protocol(LSP)
bankstatementparser-transport-ebicssebastienrousseau/bankstatementparser-transport-ebicsPyPI転送EBICS 3.0(H005)および 2.5(H004)プロトコルによる銀行取引明細書の自動取得
bankstatementparser-writer-xlsxsebastienrousseau/bankstatementparser-writer-xlsxPyPI出力ライター解析した銀行取引をスタイル設定済みの Microsoft Excel(.xlsx)ブックに整形してエクスポート
bankstatementparser-writer-qifsebastienrousseau/bankstatementparser-writer-qifPyPI出力ライター取引を標準の Quicken Interchange Format(.qif)交換ファイルにシリアライズ
bankstatementparser-writer-ofxsebastienrousseau/bankstatementparser-writer-ofxPyPI出力ライター取引を標準の Open Financial Exchange(.ofx)XML/SGML ファイルにシリアライズ
bankstatementparser-writer-swiftsebastienrousseau/bankstatementparser-writer-swiftPyPI出力ライター取引を SWIFT MT940 顧客取引明細書および MT942 中間レポートとしてエクスポート
bankstatementparser-loader-bai2sebastienrousseau/bankstatementparser-loader-bai2PyPI入力ローダーBAI2 の資金管理および口座残高の取引明細書を解析
bankstatementparser-loader-mt942sebastienrousseau/bankstatementparser-loader-mt942PyPI入力ローダー貸方/借方サマリーとの照合に対応した SWIFT MT942 中間取引レポートを解析
bankstatementparser-loader-cfonbsebastienrousseau/bankstatementparser-loader-cfonbPyPI入力ローダーフランスの CFONB 120/AFB120 の 120 バイト固定幅銀行取引明細書ファイルを解析
bankstatementparser-loader-camt054sebastienrousseau/bankstatementparser-loader-camt054PyPI入力ローダーISO 20022 CAMT.054 のリアルタイム貸方/借方通知ストリーム XML を取り込み
bankstatementparser-loader-sepasebastienrousseau/bankstatementparser-loader-sepaPyPI入力ローダーISO 20022 SEPA PAIN.002 決済ステータスレポートおよび PAIN.008 口座振替委任情報を取り込み
bankstatementparser-loader-bacssebastienrousseau/bankstatementparser-loader-bacsPyPI入力ローダー英国 BACS Standard 18/Faster Payments の 106 バイト固定幅伝送ファイルを解析

ライセンス

Apache License, Version 2.0に基づいてライセンスされています。 採用のために提出されたすべての貢献は、追加の条件なしに、 上記のライセンスが適用されます。


bankstatementparser.com · PyPI · GitHub

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。