About pain001-mcp
pain001-mcp is an MCP server for finance teams and agents working with ISO 20022 payment files. It exposes validation, generation and inspection through tools delegated to the pain001 core library.
Key features
- 01Validate and generate payment files
- 02Inspect payment data
- 03Support payment identifiers and migration
- 04Parse bank reports and access corpus
Use cases
- 01Validate a pain.001 file before review
- 02Generate payment XML through an agent
- 03Inspect payment records and bank reports
MCP support
It exposes payment-related tools to MCP clients and starts over stdio by default. Optional HTTP/SSE transports are available.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
26Saved tool list · updated 1d ago
This tool takes no parameters.
Details
From the project README
pain001-mcp
Expose pain001 validation, generation and inspection as MCP tools.
Contents
Getting started
- Install — PyPI and source
- Requirements — toolchain floor, platforms
- Quick Start — use the installed companion
The pain001-mcp ecosystem
- The pain001-mcp ecosystem — core and this companion
Library reference
- Capabilities at a glance — the current surface by theme
- Ecosystem comparison — short matrix; full table at
docs/COMPARISON.md - Benchmarks — headline numbers; full table at
docs/BENCHMARKS.md - Features — module-level capability list
- Configuration — core options
- Examples — runnable example index
Operational
- When not to use pain001-mcp — limitations
- Development — make targets, fuzzing, CI
- Security — guarantees and compliance
- Documentation — all reference docs
- Stability guarantees — SemVer axis, output stability, minimum toolchain discipline
- License
Install
As a Python library
python -m pip install pain001-mcp
Published packages and development branches are distinct. Test unreleased
changes on this companion's feat/v0.0.71 branch against the matching core
branch. No PyPI release or version bump is part of this work.
Requirements
Python 3.10 or newer. CI tests 3.10–3.14 on Linux. See toolchain policy; no distro-system-Python claim is made.
Quick Start
pain001-mcp --help
pain001-mcp
The second command starts the stdio MCP server and waits for a client.
Configure your client to launch pain001-mcp. Use generated help for optional
HTTP/SSE transports; secure network access before exposing any listener.
The pain001-mcp ecosystem
This independently installed companion delegates payment behavior to core. Coordinated versioning does not imply branch changes have been released.
| Component | Purpose | Use case |
|---|---|---|
| pain001 | Generation and validation | Shared contracts and XML engine |
Capabilities at a glance
| Area | Capability | Status |
|---|---|---|
| Integration | Payment validation and generation tools | Test-gated; new branch work is unreleased |
Ecosystem comparison
This matrix describes the repository's scope, not an independently benchmarked comparison with competitors.
| Project | Generate payment XML | Real settlement | Synthetic bank replies |
|---|---|---|---|
| pain001-mcp | Delegates to core | No | Not a bank service |
See docs/COMPARISON.md for the evidence and complete matrix.
Benchmarks
CI smoke-runs benchmarks. No hardware-independent throughput or latency promise is made; use the generated run report for measurements.
| Scenario | Result | Environment |
|---|---|---|
| Adapter operations | Run-specific | Python, hardware and dependency versions recorded per run |
See docs/BENCHMARKS.md for methodology and full results.
Features
The authoritative tool catalogue is generated from the server.
It covers validation, identifiers, generation, migration, bank-report parsing,
corpus access and the unreleased suggest_record_fix tool. Suggestions require
review; financial fields are refused, never guessed. Test unreleased tools with
the matching core feature branch. In-tree core MCP is a separate smaller surface.
Configuration
Run pain001-mcp --help for transport, host and port options. Stdio is default.
See the tool catalogue for request shapes rather than a copied
tool count.
Examples
Run the self-checking scripts under examples/. Tests cover valid and malformed inputs and integration with the core contract.
When not to use pain001-mcp
Not a bank, settlement engine or autonomous payment approver. Review outputs before use. Transport support is not bank certification.
Development
poetry install
poetry run make check
poetry run make security
poetry run python scripts/tool_catalogue.py --check
poetry run python scripts/render_readme.py --check
Coverage is gated at 100% line and branch. See CONTRIBUTING.md
and DEVELOPMENT.md. README is generated from the canonical
layout and docs/readme-values.json; CI rejects drift.
Security
Treat requests as untrusted. Protect HTTP listeners and avoid real secrets in logs. Tools may read authorized input paths. Corrections never patch IBANs, BICs, amounts or currencies.
Report vulnerabilities according to SECURITY.md.
Documentation
What is pain.001? · User manual · API reference · Developer guide · Family map
Stability guarantees
Versions advance in coordinated 0.0.1 steps with core. The maintainer opens
releases; this branch does not bump versions. Contract and output changes need
compatibility review. No stronger platform or stability guarantee is implied.
MCP Registry
mcp-name: io.github.sebastienrousseau/pain001-mcp
License
Dual-licensed under Apache-2.0 OR MIT, at your option. See LICENSE. Dependencies retain their own licences.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.