ValidateFin

io.github.elnicaisePublished by GitHub account elnicaisev1.2.1Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyFinanceDeveloper Tools

Overview

AI-generated overview

Local MCP server that lets an assistant validate SEPA, UBL/Peppol, XRechnung, camt, ACH and IBAN payment and e-invoice files without uploading them.

What you can do
Validate SEPA credit transfer and direct debit files against ISO 20022 schemas and EPC rulebook checks, including IBAN and BIC checksums and mandates, and check IBAN strings directly for checksum, country and length. Validate UBL, Peppol BIS Billing 3.0 and German XRechnung invoices in UBL or CII syntax against official EN 16931 and KoSIT rule sets, returning failed rule IDs. Validate camt.052, camt.053 and camt.054 cash-management files and extract accounts, balances and entries. Validate US ACH/NACHA files for record structure, routing-number check digits, entry hash and control totals. Convert legacy SWIFT MT940 statements to camt.053 XML and generate camt.053 test statements from pain.00
When to use it
Useful when you work with European or US payment and e-invoicing files and want an assistant to check them for schema and business-rule errors, inspect camt statements, or convert MT940 statements, without sending financial data to an external service.
Requirements
Runs as a local process via npx from the npm package @validatefin/mcp, so Node.js and network access for the package download are needed. No authentication, environment variables or headers are declared.
Before you install
The tools read file contents you pass in, which may contain account numbers, IBANs, names and transaction details; validation is stated to run entirely on the machine with nothing uploaded. Conversion and test-generation tools produce new camt.053 XML output that should be reviewed before use.

Installation

In SourceWeft

  1. Open ValidateFin in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

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

Source: README.md at commit 6827002

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.2.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts