Developers · MCP server

MIT-licensed MCP server — ISO 20022 inside Cursor & Claude Desktop.

@iso-compliant/mcp-server is the distribution wedge: five free pure-local tools that run with no key and no network, plus eight gated tools that proxy to api.iso-compliant.com under your bearer token. It resolves the moment a developer prompts "Swiss QR-bill" or "SEPA pain.008" in their IDE.

MIT licensednpx -y @iso-compliant/mcp-server

Install

Paste one config. Restart the IDE.

Claude Desktop and Cursor over local stdio (via npx), or Cursor against the hosted remote SSE endpoint. Free tools work immediately; set ISOCOMPLIANT_API_KEY to unlock the gated tools.

Node 18+, pure ESM. Override the API host with ISOCOMPLIANT_API_BASE; set locale with ISOCOMPLIANT_MCP_LOCALE (en / de / fr / it); disable anonymous counters with ISOCOMPLIANT_MCP_TELEMETRY=0.

Tool catalog

Thirteen tools. Five free, eight gated.

Free tools are pure-local — payload content never leaves your process. Gated tools transmit only to api.iso-compliant.com under your bearer token, under a zero-retention contract.

Free — no key, pure-local

  • isocompliant.validate_ibanISO 13616 mod-97 IBAN checksum
  • isocompliant.qrr_checksumSwiss QRR mod-10 (Lührmann)
  • isocompliant.scor_checksumISO-11649 RF mod-97-10
  • isocompliant.structured_address_lintSWIFT 2026 hybrid/structured-address check
  • isocompliant.iso20022_schema_docspain.001 / .008 / camt.053 / .002 field reference

Gated — ISOCOMPLIANT_API_KEY (bearer)

  • isocompliant.qrbill.generatePOST /v1/qr-bill — PDF / PNG / SVG / payload
  • isocompliant.sepa.credit_transferPOST /v1/iso20022/pain.001 — XSD-valid XML
  • isocompliant.sepa.direct_debitPOST /v1/iso20022/pain.008 — CORE / B2B
  • isocompliant.camt053.parsePOST /v1/iso20022/camt.053/parse — reconciled JSON
  • isocompliant.camt054.parsePOST /v1/iso20022/camt.054/parse — intraday D/C notification
  • isocompliant.pain002.parsePOST /v1/iso20022/pain.002/parse — classified rejections
  • isocompliant.address.restructurePOST /v1/address/restructure — deterministic stub (DistilBERT Phase 2)
  • isocompliant.reconcilePOST /v1/reconcile — the durable moat: file → statement → invoice ID

The conversion moment

A gated tool with no key prompts "get one free."

When a gated tool is invoked without ISOCOMPLIANT_API_KEY, the server returns a locale-aware isError result carrying the sign-up URL — so the call to action lands right inside the chat.

isError · isocompliant.sepa.credit_transfer
This tool requires an iso-compliant API key.
Set ISOCOMPLIANT_API_KEY (iso_live_… or iso_test_…)
in your MCP server config.

Get one free: https://iso-compliant.com/signup

Same funnel as the REST 401

The MCP error mirrors the REST API's { "error": "INVALID_API_KEY", "signup_url": … } 401 response — an unkeyed developer is always one click from a free key, whether they came through HTTP or through the IDE.

Get one free

Prompts & workflows

Four slash-command workflows, ready to run.

The server ships MCP prompts that wire the tools and resources into end-to-end flows. The host surfaces them as slash commands (Claude Desktop), palette entries (Cursor), or chips (Continue / Cline).

/generate-sepa-payroll

args: debtor_iban, payments_csv_path

Validate IBANs → lint addresses → emit a pain.001 payroll batch with CtgyPurp=SALA.

/reconcile-bank-statement

args: camt053_path, expected_invoices_csv

Parse a camt.053 → join entries against expected invoices via isocompliant.reconcile → classify matched / partial / unmatched.

/audit-structured-address-readiness

args: sample_addresses_csv

Lint a sample for the SWIFT 2026-11-14 cut-over → bucket compliant / hybrid / structurable / incomplete → 90-day remediation plan.

/qr-bill-from-invoice

args: invoice_json

Validate the IBAN → choose reference type (QRR / SCOR) → compose and emit the Swiss QR-bill via isocompliant.qrbill.generate.

Free tools work today — gated tools need a key

Install the MCP server. Unlock the gated tools with a free key.

100 documents/month free, no card. Paste your iso_live_ key into the config and pain.001, camt.053, and the Swiss QR-bill light up inside your IDE.