# ValidateFin [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/elnicaise/validatefin-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/validatefin

## Description
Validate SEPA, UBL/Peppol, XRechnung, camt, ACH & IBAN files locally — no data leaves your machine.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "validatefin": {
    "command": "npx",
    "args": ["-y","@validatefin/mcp"]
  }
}
```

## Documentation & README

# @validatefin/mcp

MCP server to validate SEPA, UBL/Peppol, camt.052/053/054 and ACH/NACHA e-invoice / payment files —
**100% locally, no data leaves your machine.** Powered by [ValidateFin](https://validatefin.com).

## Tools

- `validate_sepa` — SEPA Credit Transfer (pain.001) & Direct Debit (pain.008): validates against the **official ISO 20022 XSD schemas** and the **EPC Rulebook** business rules (IBAN mod-97, BIC, SEPA character set, mandates, Creditor Scheme Identifier, control sums).
- `validate_ubl` — UBL / Peppol BIS Billing 3.0: runs the **official EN 16931 + Peppol BIS 3.0 Schematron** — the same rule sets used by the official European e-invoicing validators — and returns the failed business rules with their official IDs (BR-*, BR-CO-*, Peppol rules). Accepts both the **UBL and CII** syntaxes (auto-detected).
- `validate_xrechnung` — German **XRechnung** (the German CIUS of EN 16931, mandatory for B2G): runs the **official EN 16931 core Schematron + the KoSIT XRechnung BR-DE rules** — the same rule sets as the official German validator. Accepts UBL and CII. Returns failed rules with their IDs (BR-*, BR-DE-*).
- `validate_camt` — ISO 20022 camt cash-management file — **camt.053** (bank-to-customer statement), **camt.052** (account report / intraday) or **camt.054** (debit/credit notification), versions .02/.06/.08/.10/.11: extracts account, balances and entries (camt.053 also validated against the **official ISO 20022 XSD schema**).
- `convert_mt940` — convert a legacy SWIFT **MT940** bank statement (Customer Statement Message) to an ISO 20022 **camt.053.001.02** XML statement: parses the balances and transactions, checks that opening balance + turnover = closing balance (RC/RD reversals handled), and returns the camt.053 XML.
- `validate_ach` — US **ACH / NACHA** file (fixed-width Nacha format): validates the 94-character record structure (File Header, Batch Header, Entry Detail, Addenda, Batch/File Control), the **ABA routing-number check digit (3-7-1)**, the **entry hash**, and all batch & file control totals (debits, credits, entry/addenda count, block count).
- `validate_iban` — IBAN (mod-97 checksum, country & length).
- `generate_camt_test` — generate a camt.053 test statement from a pain.001 / pain.008 file.

The XML validation tools take the file content as `xml` (a string) and return the
result (valid/invalid, errors, summary) as JSON. `validate_ach` and `convert_mt940`
take the raw file as `content`, `validate_iban` takes an `iban` string, and
`generate_camt_test` and `convert_mt940` return the generated camt.053 XML.

## Install

Add this to your MCP client configuration (Claude Desktop, Cursor, etc.):

```json
{
  "mcpServers": {
    "validatefin": { "command": "npx", "args": ["-y", "@validatefin/mcp"] }
  }
}
```

Then ask your assistant to validate a SEPA, UBL/Peppol, camt.052/053/054 or ACH/NACHA file.

## Privacy

Validation runs entirely on your machine. No file or data is ever uploaded to a
server — the same privacy guarantee as the [ValidateFin](https://validatefin.com) website.

## License

The MCP server code is MIT. It bundles third-party components under their own
licenses:

- **SaxonJS** (© Saxonica) — runs the official Schematron; redistributed under
  the SaxonJS license (free, used unmodified).
- **EN 16931 validation rules** (© European Union / ConnectingEurope) — Apache-2.0.
- **Peppol BIS 3.0 validation rules** (© OpenPEPPOL).
- **libxml2** (libxml2-wasm) — MIT.

ValidateFin is an independent tool and is **not** certified or endorsed by
OpenPEPPOL, the European Commission, or any Peppol Authority. "Official" refers
to the rule sets/schemas used, not to any accreditation of this tool.

