{
  "markdown": "# @validatefin/mcp\n\nMCP server to validate SEPA, UBL/Peppol, camt.052/053/054 and ACH/NACHA e-invoice / payment files —\n**100% locally, no data leaves your machine.** Powered by [ValidateFin](https://validatefin.com).\n\n## Tools\n\n- `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).\n- `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).\n- `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-*).\n- `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**).\n- `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.\n- `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).\n- `validate_iban` — IBAN (mod-97 checksum, country & length).\n- `generate_camt_test` — generate a camt.053 test statement from a pain.001 / pain.008 file.\n\nThe XML validation tools take the file content as `xml` (a string) and return the\nresult (valid/invalid, errors, summary) as JSON. `validate_ach` and `convert_mt940`\ntake the raw file as `content`, `validate_iban` takes an `iban` string, and\n`generate_camt_test` and `convert_mt940` return the generated camt.053 XML.\n\n## Install\n\nAdd this to your MCP client configuration (Claude Desktop, Cursor, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"validatefin\": { \"command\": \"npx\", \"args\": [\"-y\", \"@validatefin/mcp\"] }\n  }\n}\n```\n\nThen ask your assistant to validate a SEPA, UBL/Peppol, camt.052/053/054 or ACH/NACHA file.\n\n## Privacy\n\nValidation runs entirely on your machine. No file or data is ever uploaded to a\nserver — the same privacy guarantee as the [ValidateFin](https://validatefin.com) website.\n\n## License\n\nThe MCP server code is MIT. It bundles third-party components under their own\nlicenses:\n\n- **SaxonJS** (© Saxonica) — runs the official Schematron; redistributed under\n  the SaxonJS license (free, used unmodified).\n- **EN 16931 validation rules** (© European Union / ConnectingEurope) — Apache-2.0.\n- **Peppol BIS 3.0 validation rules** (© OpenPEPPOL).\n- **libxml2** (libxml2-wasm) — MIT.\n\nValidateFin is an independent tool and is **not** certified or endorsed by\nOpenPEPPOL, the European Commission, or any Peppol Authority. \"Official\" refers\nto the rule sets/schemas used, not to any accreditation of this tool.\n",
  "bytes": 3693,
  "sha": "dab3bcc51ba3ad72a3109b2d3f0f541b2f5cf5786bc4c0b0506e3ef9434d1d33",
  "repo_slug": "elnicaise/validatefin-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_elnicaise_validatefin_15c98521/readme"
}