The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Pain001 MCP listing page.
A Makefile orchestrates the quality gates (kept in lockstep with CI):
| Target | What it runs |
|---|---|
make check | All gates (REQUIRED before commit) |
make test | pytest --cov=pain001_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 coverage) |
Current state (v0.0.57): 71 tests passing, 100% line + branch
coverage against a 100% enforced floor, mypy --strict clean,
interrogate 100%.
generate_message and
generate_message_from_file return the XML as a string; no tool
writes to disk.camt.053 and pain.002 is routed through
defusedxml (via the core pain001 library); XXE and entity
expansion are rejected.{"error": ...}
payloads — never as stack traces — so the agent never sees an
internal path leak.poetry.lock and audited by
pip-audit and Bandit in CI.To report a vulnerability, please use GitHub private vulnerability reporting rather than a public issue.
examples/Contributions are welcome — see the
contributing instructions.
Thanks to all the
contributors
who have helped build pain001-mcp.
Part of the ISO 20022 MCP Suite — open-source, Apache-2.0 licensed MCP servers for banking and financial-services AI agents:
| Server | Purpose |
|---|---|
pacs008-mcp | Generate, validate, parse & scheme-check ISO 20022 pacs.008 FI-to-FI credit transfers + Nov-2026 address linting |
camt053-mcp | Parse & reconcile ISO 20022 camt.053 bank-to-customer statements — CBPR+/HVPS+ ready |
acmt001-mcp | Generate & validate ISO 20022 acmt account-management messages |
bankstatementparser-mcp | Parse bank statements (BAI2, MT940/MT942, CAMT.053, OFX, CSV) into structured transactions |
noyalib-mcp | Lossless YAML 1.2 parsing, formatting & validation (Rust, 100% spec compliance) |
mcp-name: io.github.sebastienrousseau/pain001-mcp
Licensed under the Apache License, Version 2.0. Any contribution submitted for inclusion shall be licensed as above, without additional terms.
pain001.com · PyPI · GitHub