ValidateFin

Official registry Other

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

What can you do with ValidateFin?

  • 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, contro...
  • 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-...
  • 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. Return...
  • 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 (ca...
  • 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...
  • 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 ...
  • validate_iban — IBAN (mod-97 checksum, country & length).
  • generate_camt_test — generate a camt.053 test statement from a pain.001 / pain.008 file.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @validatefin/mcp
Claude Code
claude mcp add validatefin -- npx -y @validatefin/mcp@1.2.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "validatefin": {
            "command": "npx",
            "args": [
                "-y",
                "@validatefin/mcp@1.2.1"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. @validatefin/mcp
  2. Tools
  3. Install
  4. Privacy
  5. License

@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.

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.):

{
  "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 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.

Frequently asked questions

What is ValidateFin?

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

How do I install ValidateFin?

It runs on your machine. In Claude Code: claude mcp add validatefin -- npx -y @validatefin/mcp@1.2.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does ValidateFin need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is ValidateFin open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains ValidateFin?

It is published by elnicaise. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.