EN 16931: validate invoice data, UBL/CII or PDF; emit XRechnung/Peppol XML, never a PDF.
Connect Remote server
claude mcp add --transport http en16931 https://api.attestwire.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"en16931": {
"url": "https://api.attestwire.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"en16931": {
"type": "http",
"url": "https://api.attestwire.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://api.attestwire.com/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 14 found in our last check
diagnose_invoiceExplain local validation and supplied provider rejection/SVRL findings. Send exactly one of invoice (the JSON model) or xml (UBL/CII text, not a PDF). Revalidate caller-reviewed JSON edits or revised XML using the original hash and confirmed:true. Never invent business values or…
lookup_peppol_participantRead-only production lookup through OpenPeppol. Check advertised BIS Billing invoice or credit-note support and an optional invoice identifier mismatch. Does not send, verify delivery, or validate endpoint certificates. 1 document per conclusive result; unavailable is uncharged.…
verify_vat_viesLive VAT-number verification with dated evidence. Distinguishes valid, invalid, and unavailable; one bounded retry, no Attestwire cache. Sends the VAT number to the European Commission VIES service. 1 document per valid/invalid result; unavailable is uncharged. Not a tax determi…
get_recipient_profileFrom the buyer's country and one identifier (VAT ID, Leitweg-ID, SIREN/SIRET, KBO number, GLN or Peppol ID): the identifier checked; name and address from VIES or the French register when they give them; Peppol registration (SML/SMP, and the Directory card when there is one); an…
validate_invoiceValidate an invoice, given as a JSON object, against EN 16931 and its national CIUS rule sets (XRechnung UBL/CII, Peppol BIS 3.0, Factur-X). Returns every failure as a "teaching error": the official rule id, the business term (BT-/BG-) it constrains, what the regulation actually…
validate_invoice_xmlValidate an e-invoice FILE the user already has: a UBL 2.1 Invoice, a UBL 2.1 CreditNote, a UN/CEFACT CII CrossIndustryInvoice (invoices and credit notes alike), or a Factur-X or ZUGFeRD PDF. The file is read into the invoice model and EN 16931 plus the CIUS rules (XRechnung UBL…
generate_invoiceGenerate compliant e-invoice XML from a JSON invoice, in either EN 16931 syntax. Profiles: en16931, xrechnung-ubl, peppol-bis-3, xrechnung-cii, facturx-en16931 — the profile chooses the syntax, and xrechnung-cii and facturx-en16931 come back as CII. The invoice is validated firs…
explain_ruleExplain one EN 16931 / XRechnung / Peppol BIS rule in plain English: what it requires, why, the business term it constrains, a concrete fix and an example. 321 rules explained — BR-*, BR-CO-*, BR-<category>-*, BR-DE-*, PEPPOL-EN16931-* and this library's own ATW-*. That is every…
check_vies_statusCurrent availability of VIES, the European Commission service that validates EU VAT numbers. Per-member-state status, latency and 24h/7d uptime, from a monitor that polls all member states every 5 minutes. Use this when EU VAT number validation is failing, to tell "their VAT num…
check_french_readinessLook up a French company by SIREN, SIRET or name in INSEE SIRENE open data, for the 2026-2027 French e-invoicing mandate. Confirms the company exists and is active. It CANNOT confirm whether the company has registered with an approved platform — that lives only in the CAPTCHA-pr…
list_approved_platformsThe official list of Plateformes Agréées (PA, formerly PDP) that DGFiP has approved to transmit invoices under the French e-invoicing mandate, from the published open dataset. Optionally filtered by name or SIREN. FREE and needs no API key.
issue_api_keyMint a free Attestwire API key (100 documents/month, no signup flow, no card) for the tools that need one. THE KEY IS RETURNED ONCE AND CANNOT BE RECOVERED — only its SHA-256 hash is stored — so show it to the user verbatim and tell them to save it before doing anything else. MI…
get_upgrade_linkReturn a hosted checkout URL for upgrading an Attestwire key to a paid plan (Solo: 1,000 documents/month for €9/month; Starter: 5,000 for €29/month; Scale: 50,000 for €99/month (EUR, plus VAT where due)). THIS DOES NOT BUY ANYTHING. It creates a checkout link and charges nothing…
send_feedbackTell the people who build this server what the user was trying to do. CALL IT when the user wanted something none of these tools does, when a result looked wrong or was confusing, or when you had to work around a tool. Describe the GOAL in your own words ("check a German public-…
Headers
| Name | Description |
|---|---|
AuthorizationOptional, secret | Optional. `Bearer <your Attestwire API key>`. Six of the fourteen tools work without it; validate_invoice, validate_invoice_xml, generate_invoice, diagnose_invoice, lookup_peppol_participant, verify_vat_vies, get_recipient_profile and get_upgrade_link require one. The issue_api_key tool mints a fre… |
Details
| Endpoint | https://api.attestwire.com/mcp (Streamable HTTP) |
| Package | @attestwire/[email protected] (NPM, stdio) |
| First published | 27 Sep 2026 |
| Last updated | 27 Sep 2026 |
| Registry name | com.attestwire/en16931 |
More finance and crypto servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
