{"id":"3951bdb2-e607-4e9b-b43d-06f6147d2b35","slug":"pain001-mcp","kind":"mcp","name":"pain001-mcp","summary":"Generate & validate ISO 20022 pain.001 payment files from Claude Desktop, Cursor & other MCP clients — pain.001 v03-v12, pain.008, SEPA SCT/SDD/INST, cross-border rulebook checks. Part of the ISO 2002","owner":"sebastienrousseau","repoUrl":"https://github.com/sebastienrousseau/pain001-mcp","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-06-18T10:56:58.000Z","addedAt":"2026-10-14T06:04:01.762Z","logoUrl":"https://avatars.githubusercontent.com/u/1394998?u=704a77b5f2ddd076bf5a9e976e6f0a81f198498e&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["files-documents","cloud-infra","memory-knowledge"],"tags":["agent-tools","anthropic","banking","bic","claude","fastmcp","fintech","iban"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T18:49:50.045Z","sample":false,"url":"https://conduits.dev/tools/pain001-mcp","language":"Python","transports":["stdio"],"install":{"pypi":"pain001-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<!-- SPDX-License-Identifier: Apache-2.0 OR MIT -->\n\n<p align=\"center\">\n  <img src=\"https://cloudcdn.pro/pain001/v1/logos/pain001.svg\" alt=\"pain001-mcp logo\" width=\"128\" />\n</p>\n\n<h1 align=\"center\">pain001-mcp</h1>\n\n<p align=\"center\">\n  Expose pain001 validation, generation and inspection as MCP tools.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/sebastienrousseau/pain001-mcp/actions\"><img src=\"https://github.com/sebastienrousseau/pain001-mcp/workflows/ci/badge.svg?style=for-the-badge&logo=github\" alt=\"Build\" /></a>\n  <a href=\"https://pypi.org/project/pain001-mcp/\"><img src=\"https://img.shields.io/pypi/v/pain001-mcp?style=for-the-badge&color=fc8d62&logo=python\" alt=\"Registry\" /></a>\n  <a href=\"docs/index.md\"><img src=\"https://img.shields.io/badge/docs-source?style=for-the-badge&labelColor=555555&logo=readthedocs\" alt=\"Docs\" /></a>\n  <a href=\"https://scorecard.dev/viewer/?uri=github.com/sebastienrousseau/pain001-mcp\"><img src=\"https://img.shields.io/ossf-scorecard/github.com/sebastienrousseau/pain001-mcp?style=for-the-badge&label=OpenSSF%20Scorecard&logo=openssf\" alt=\"OpenSSF Scorecard\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache--2.0%20OR%20MIT-blue.svg?style=for-the-badge\" alt=\"License: Apache-2.0 OR MIT\" /></a>\n  <a href=\"https://github.com/sebastienrousseau/pain001-mcp/blob/main/docs/POLICIES.md\"><img src=\"https://img.shields.io/badge/Python-3.10%2B-93450a.svg?style=for-the-badge&logo=python\" alt=\"Python 3.10 or newer\" /></a>\n</p>\n\n<p align=\"center\">\n  <img src=\".github/demo.gif\" alt=\"pain001-mcp Demo\" width=\"100%\" />\n</p>\n\n---\n\n\n## Contents\n\n**Getting started**\n\n- [Install](#install) — PyPI and source\n- [Requirements](#requirements) — toolchain floor, platforms\n- [Quick Start](#quick-start) — use the installed companion\n\n**The pain001-mcp ecosystem**\n\n- [The pain001-mcp ecosystem](#the-pain001-mcp-ecosystem) — core and this companion\n\n**Library reference**\n\n- [Capabilities at a glance](#capabilities-at-a-glance) — the current surface by theme\n- [Ecosystem comparison](#ecosystem-comparison) — short matrix; full table at [`docs/COMPARISON.md`](docs/COMPARISON.md)\n- [Benchmarks](#benchmarks) — headline numbers; full table at [`docs/BENCHMARKS.md`](docs/BENCHMARKS.md)\n- [Features](#features) — module-level capability list\n- [Configuration](#configuration) — core options\n- [Examples](#examples) — runnable example index\n\n**Operational**\n\n- [When not to use pain001-mcp](#when-not-to-use-pain001-mcp) — limitations\n- [Development](#development) — make targets, fuzzing, CI\n- [Security](#security) — guarantees and compliance\n- [Documentation](#documentation) — all reference docs\n- [Stability guarantees](#stability-guarantees) — SemVer axis, output stability, minimum toolchain discipline\n- [License](#license)\n\n---\n\n## Install\n\n### As a Python library\n\n```bash\npython -m pip install pain001-mcp\n```\n\nPublished packages and development branches are distinct. Test unreleased\nchanges on this companion's `feat/v0.0.71` branch against the matching core\nbranch. No PyPI release or version bump is part of this work.\n\n---\n\n## Requirements\n\nPython 3.10 or newer. CI tests 3.10–3.14 on Linux. See\n[toolchain policy](docs/POLICIES.md); no distro-system-Python claim is made.\n\n---\n\n## Quick Start\n\n```bash\npain001-mcp --help\npain001-mcp\n```\n\nThe second command starts the stdio MCP server and waits for a client.\nConfigure your client to launch `pain001-mcp`. Use generated help for optional\nHTTP/SSE transports; secure network access before exposing any listener.\n\n---\n\n## The pain001-mcp ecosystem\n\nThis independently installed companion delegates payment behavior to core.\nCoordinated versioning does not imply branch changes have been released.\n\n| Component | Purpose | Use case |\n| :--- | :--- | :--- |\n| [pain001](https://github.com/sebastienrousseau/pain001) | Generation and validation | Shared contracts and XML engine |\n\n---\n\n## Capabilities at a glance\n\n| Area | Capability | Status |\n| :--- | :--- | :--- |\n| Integration | Payment validation and generation tools | Test-gated; new branch work is unreleased |\n\n---\n\n## Ecosystem comparison\n\nThis matrix describes the repository's scope, not an independently benchmarked\ncomparison with competitors.\n\n| Project | Generate payment XML | Real settlement | Synthetic bank replies |\n| :--- | :---: | :---: | :---: |\n| **pain001-mcp** | Delegates to core | No | Not a bank service |\n\nSee [`docs/COMPARISON.md`](docs/COMPARISON.md) for the evidence and complete matrix.\n\n---\n\n## Benchmarks\n\nCI smoke-runs benchmarks. No hardware-independent throughput or latency promise\nis made; use the generated run report for measurements.\n\n| Scenario | Result | Environment |\n| :--- | ---: | :--- |\n| Adapter operations | Run-specific | Python, hardware and dependency versions recorded per run |\n\nSee [`docs/BENCHMARKS.md`](docs/BENCHMARKS.md) for methodology and full results.\n\n---\n\n## Features\n\nThe authoritative [tool catalogue](docs/tools.md) is generated from the server.\nIt covers validation, identifiers, generation, migration, bank-report parsing,\ncorpus access and the unreleased `suggest_record_fix` tool. Suggestions require\nreview; financial fields are refused, never guessed. Test unreleased tools with\nthe matching core feature branch. In-tree core MCP is a separate smaller surface.\n\n---\n\n## Configuration\n\nRun `pain001-mcp --help` for transport, host and port options. Stdio is default.\nSee the [tool catalogue](docs/tools.md) for request shapes rather than a copied\ntool count.\n\n---\n\n## Examples\n\nRun the self-checking scripts under [examples/](https://github.com/sebastienrousseau/pain001-mcp/tree/main/examples). Tests cover valid\nand malformed inputs and integration with the core contract.\n\n---\n\n## When not to use pain001-mcp\n\nNot a bank, settlement engine or autonomous payment approver. Review outputs\nbefore use. Transport support is not bank certification.\n\n---\n\n## Development\n\n```bash\npoetry install\npoetry run make check\npoetry run make security\npoetry run python scripts/tool_catalogue.py --check\npoetry run python scripts/render_readme.py --check\n```\n\nCoverage is gated at 100% line and branch. See [CONTRIBUTING.md](CONTRIBUTING.md)\nand [DEVELOPMENT.md](DEVELOPMENT.md). README is generated from the canonical\nlayout and `docs/readme-values.json`; CI rejects drift.\n\n---\n\n## Security\n\nTreat requests as untrusted. Protect HTTP listeners and avoid real secrets in\nlogs. Tools may read authorized input paths. Corrections never patch IBANs,\nBICs, amounts or currencies.\n\nReport vulnerabilities according to [`SECURITY.md`](SECURITY.md).\n\n---\n\n## Documentation\n\n[What is pain.001?](https://pain001.com/pain-001/) · [User manual](docs/index.md) · [API reference](docs/index.md) ·\n[Developer guide](DEVELOPMENT.md) ·\n[Family map](https://github.com/sebastienrousseau/pain001#the-pain001-ecosystem)\n\n---\n\n## Stability guarantees\n\nVersions advance in coordinated `0.0.1` steps with core. The maintainer opens\nreleases; this branch does not bump versions. Contract and output changes need\ncompatibility review. No stronger platform or stability guarantee is implied.\n\n---\n\n## MCP Registry\n\n`mcp-name: io.github.sebastienrousseau/pain001-mcp`\n\n---\n\n## License\n\nDual-licensed under [Apache-2.0](LICENSE-APACHE) OR [MIT](LICENSE-MIT), at your\noption. See [LICENSE](LICENSE). Dependencies retain their own licences.\n\n"}