mcpField
B
bankstatementparser-mcp

bankstatementparser-mcp

本地服务
github.com/sebastienrousseau金融数据22 天前更新

关于 bankstatementparser-mcp

bankstatementparser-mcp 将 bankstatementparser 库封装为读取银行对账单的 MCP 服务,适用于需要在对话中解析和核验账单的 Agent。它支持多种标准及常见格式,并以行内内容作为输入。

主要功能

  1. 01检测账单格式
  2. 02解析交易并生成摘要
  3. 03验证账单内容
  4. 04支持 CAMT、MT940、OFX、CSV
  5. 05提供格式资源和分析提示词

适用场景

  1. 01解析不同来源的银行账单
  2. 02检查账单是否可正常解析
  3. 03提取交易及账单摘要
  4. 04引导 Agent 分步骤分析账单

MCP 相关

该 MCP 服务向客户端开放五种账单处理工具、一个支持格式资源和一个分析提示词。工具接收行内账单内容并返回可序列化的数据,可通过 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

一个 Model Context Protocol 服务,将 bankstatementparser 库作为一流的 Agent 工具开放,用于读取银行对账单。

测试 覆盖率 PyPI 版本 Python 版本 PyPI 下载量 OpenSSF 安全评分卡 许可证:Apache-2.0 OR MIT Glama MCP 服务评分

bankstatementparser-mcp 演示


目录

快速入门

库参考

  • 工具 — 五个工具、一个资源、一个提示词
  • 使用工具 — 在 Python 进程中调用它们

运维


什么是 bankstatementparser-mcp?

模型上下文协议(MCP)是一项开放标准,可让 AI Agent 以统一的方式发现并调用外部工具。bankstatementparser-mcp 是一款 MCP 服务,可将 bankstatementparser 库转化为原生 Agent 工具,让助手能够直接在对话中读取、验证和汇总 银行对账单,支持 ISO 20022 CAMT.053、SWIFT MT940、OFX/QFX 和 CSV 等格式。

每个工具都是对 bankstatementparser 解析器核心(create_parser、detect_statement_format)的轻量封装,因此其结果与 CLI 完全一致。由于 MCP 客户端无法访问服务端的文件系统,这些工具接收 内联对账单内容(以及文件名提示),并在单次调用期间将其写入私有临时文件。工具会返回可序列化为 JSON 的数据。

关注点bankstatementparser-mcp 的处理方式
传输方式默认使用 stdio;HTTP 可使用 --transport streamable-http(在同一端点支持 2026-07-28 和 2025-11-25)或 --transport sse
输入模型内联内容 + 文件名提示;无需共享文件系统
格式保真度工具将处理委托给 bankstatementparser 的 create_parser 流程
格式检测detect_format 与库的 detect_statement_format 保持一致
验证validate_statement 是一次试运行,会返回结构化结果
隔离每次调用都会将内容写入私有临时文件,并在退出时删除

ISO 20022 MCP 套件

bankstatementparser-mcp 是由八个相互协作、与供应商无关的 MCP 服务组成的套件中的 数据接入层。这些服务共同覆盖 ISO 20022 银行对账单工作流和 2026 年 11 月的结构化地址切换,包括对账单深度解析、全目录路由、对账、多格式接入和地址修复。套件中的依赖版本范围保持一致,因此这些服务可以在同一个 Python 环境中顺利共同安装:先从一个服务开始,再根据工作流的需要逐步添加其他服务。

服务端范围功能面安装适用场景
camt053-mcpISO 20022 camt.053/camt.052 银行对账单:解析、验证、筛选、反转;MT940/MT942 迁移;CBPR+ 就绪情况;日记账导出24 个 MCP 工具 · 4 个提示词 · 3 个资源pip install camt053-mcp你需要端到端处理银行对客户的对账单——这是该套件的旗舰产品
iso20022-mcp统一网关:search / describe / validate / generate / parse 元工具,可路由至 pain · pacs · camt · acmt 系列7 个元工具pip install "iso20022-mcp[all]"你希望通过一个入口访问所有消息系列
reconcile-mcp将预期的 pain.001 付款与实际收到的 camt.053 记录进行匹配——支持精确匹配、部分匹配、一对多、多对一,并为每个匹配评分和说明7 个 MCP 工具pip install reconcile-mcp你需要可解释的对账单/付款核对
bankstatementparser-mcp多格式对账单导入:ISO 20022 CAMT.053 和 pain.001、SWIFT MT940、OFX/QFX、CSV5 个 MCP 工具 · 1 个提示词 · 1 个资源pip install bankstatementparser-mcp你的对账单格式混杂或较旧——这个软件包
structured-address-fix-mcpISO 20022 邮政地址分类、评估和修复,助力满足 2026 年 11 月结构化地址切换要求;另含高层编排层——就绪度评分、清算配置检查,以及审计证据(pacs.008 / pain.001 中的债务人和债权人地址)9 个 MCP 工具pip install structured-address-fix-mcp你需要确保债务人/债权人地址在 2026 年 11 月 14 日切换前就绪
iso20022-readiness-suite-mcp编排网关:检测 → 结构验证 → 清算配置检查 → 就绪度评分;另含自动修复和 pacs.002 银行响应模拟——一个基于基础服务端构建的元客户端4 个 MCP 工具pip install iso20022-readiness-suite-mcp你希望通过一个高层入口访问整个套件的就绪度检查/编排功能
iso20022-bank-profile-mcp管理、验证并提供银行专属清算配置/规则包(CBPR+、SEPA_Instant、FedNow、Generic);管理高级规则包的使用权限4 个 MCP 工具pip install iso20022-bank-profile-mcp你需要根据本机构的市场惯例检查付款
iso20022-evidence-pack-mcp将就绪度检查结果、修复差异和模拟响应汇编成密封的审计证据包,可使用 Ed25519 签名6 个 MCP 工具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-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);通过 stdio 运行 bankstatementparser-mcp;使用 --transport streamable-http --host 0.0.0.0 并发布端口 8000 即可启用 HTTP

需要 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" }
  }
}

就这样。重启客户端后,Agent 即可使用这些工具。

默认情况下,服务通过 stdin/stdout 使用 JSON-RPC — 它旨在由 MCP 客户端启动,而非用于交互式操作。如需共享部署,请参阅传输方式。


传输方式

一条命令行,三种传输方式:

命令传输方式端点协议版本
bankstatementparser-mcpstdio客户端启动该进程2026-07-28、2025-11-25
bankstatementparser-mcp --transport streamable-httpStreamable HTTPhttp://127.0.0.1:8000/mcp2026-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 传输方式本身不提供身份验证:请绑定到 loopback 地址,或在绑定到可路由地址之前,将服务置于可信网关之后。每个版本都会通过 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 — 仅返回对账单摘要(不含逐笔交易记录)

此外还提供一个资源和一个提示词:

  • 资源 bankstatementparser://formats — 受支持格式及其文件扩展名的只读目录
  • 提示词 analyze_statement — 引导式多步骤提示词,指导 Agent 读取并核对对账单

支持的格式: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 的 Agent。 请直接使用 bankstatementparser CLI 或库——它提供相同的功能,调用链更简单。
  • 你需要批量解析磁盘上已有的文件。 该库的 CLI 可直接读取路径,避免 MCP 工具使用的内联内容往返传输。

开发

bankstatementparser-mcp 使用 Poetry 和 mise。

git clone https://github.com/sebastienrousseau/bankstatementparser-mcp.git
cd bankstatementparser-mcp
mise install
poetry install

Makefile 用于协调质量检查关卡(与 CI 保持同步):

目标执行内容
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(文档字符串覆盖率)

当前状态(v0.0.28):行覆盖率和分支覆盖率均为 100%,强制覆盖率下限为 100%;mypy --strict 检查通过,interrogate 覆盖率为 100%。


安全

  • 工具不会持久写入文件系统。 每次调用都会将内联内容写入私有临时文件,并在调用返回后立即删除。
  • validate_statement 的验证失败会以结构化的 {"is_valid": false, "error": ...} 负载形式返回,而不会返回堆栈跟踪。
  • 依赖项通过 poetry.lock 固定版本,并在 CI 中使用 pip-audit 和 Bandit 进行审计。

如需报告漏洞,请使用 GitHub 私密漏洞报告, 而非公开议题。


文档


贡献

欢迎贡献——请参阅 贡献指南。 感谢所有帮助构建 bankstatementparser-mcp 的 贡献者。


相关 MCP 服务

ISO 20022 MCP Suite 的四个核心服务已在上文 ISO 20022 MCP Suite 中进行比较。更广泛的 服务系列——面向银行和金融服务 AI Agent 的开源、Apache-2.0 许可 MCP 服务——还包括:

服务用途
pain001-mcp生成和验证 ISO 20022 pain.001 支付文件(v03–v12、pain.008、SEPA),并进行规则手册检查
pacs008-mcp生成、验证、解析并进行方案检查的 ISO 20022 pacs.008 FI-to-FI 信用转账,以及 2026 年 11 月地址检查
acmt001-mcp生成和验证 ISO 20022 acmt 账户管理消息
noyalib-mcp无损 YAML 1.2 解析、格式化和验证(Rust,100% 符合规范)

MCP 注册表

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


生态系统

bankstatementparser 是模块化金融生态系统的一部分。可选的配套包提供专用加载器、写入器、AI Agent、语言服务器和传输协议适配器:

PackageGitHub 仓库PyPI角色描述
bankstatementparsersebastienrousseau/bankstatementparserPyPI核心引擎统一解析 CAMT(052/053)、PAIN.001、CSV、OFX、QFX、MT940 和 PDF 对账单
bankstatementparser-mcpsebastienrousseau/bankstatementparser-mcpPyPIAI 协议Model Context Protocol(MCP)服务,向大模型和 AI Agent 提供对账单工具
bankstatementparser-lspsebastienrousseau/bankstatementparser-lspPyPI开发者工具Language Server Protocol(LSP),提供实时 SWIFT MT940 对账单验证和诊断
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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。