Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "parse_einvoice" (13 tools before, 14 now)
Read an incoming EU e-invoice into one JSON shape: seller, buyer, dates, references, totals, VAT breakdown, payment/IBAN, lines and attachments. Accepts UBL 2.1 Invoice/CreditNote or UN/CEFACT CII XML (XRechnung, Peppol BIS 3, Factur-X XML) in xml, or a ZUGFeRD/Factur-X PDF as base64 in pdf_base64. Use when asked to read, extract or book a received e-invoice. Values are returned as written in the invoice; this does NOT validate it (use validate_einvoice for that).
Certificate recorded, valid to 2027-01-15
Authorization not required
Changed the definition of "einvoice_route", "verify_batch" and "verify_vat"
⟨16 unchanged words⟩ :0403170701'). Returns VIES VAT status, PeppolDirectoryregistration (Peppol Directory, then SML/SMP; BIS 3 invoice support), the country's B2B ⟨18 unchanged words⟩
⟨22 unchanged words⟩ as verify_vat; items with member_state_unavailable should be retriedlater.later (GB items stay member_state_unavailable until HMRC live access is granted; they are not charged).
Added "check_fr_pa_registry"; changed the definition of "validate_einvoice" (12 tools before, 13 now)
⟨63 unchanged words⟩ SR transposition v1.12, warnings with ruleset SK-FS).; Norwegian sellers get NO-LAW field checks. Peppol-specific rules are not checked yet. For PDFs ⟨6 unchanged words⟩
Is this e-invoicing platform on France's official list of Plateformes Agréées (PA)? name = platform or company name (e.g. 'Pennylane'), website = its site (e.g. 'https://www.acubeapi.com/'); give at least one. Checks the DGFiP lists on impots.gouv.fr: registered PAs (with registration date) and operators awaiting interoperability tests. Returns on_official_list, status (approved | awaiting_interop_tests | possible_match | not_found), scored matches, list date and the official source. Use for supplier due diligence before the French reform (receive from 1 Sep 2026, SMEs issue from 1 Sep 2027).…
Changed the definition of "create_einvoice" and "validate_einvoice"
⟨13 unchanged words⟩ en16931|xrechnung|peppol-bis3, invoice_number, issue_date (YYYY-MM-DD), due_date?, tax_point_date?, delivery_date?, currency (EUR), buyer_reference?, seller: {name, vat_id, street, city,postal_code, country, email,phone, contact_name, company_id?, company_id_scheme?, legal_form?}, buyer: {...}, lines: [{ ⟨24 unchanged words⟩
⟨48 unchanged words⟩ Changed the definition of "send_einvoice_sandbox"
SANDBOX ONLY -transmitsnevernothing.reaches a real buyer. Runs the full send flow on an invoice (same JSON as create_einvoice): VIES checkof thebuyer VAT, sanctions screen of the buyer name, EN 16931 create + validate, route lookup (Peppol/mandate),a simulated (mock)transporthand-off and an Ed25519-signed evidence receipt (JWS). transport: "mock" (simulated, default), "recommand" or "e-invoice-be" (the UBL is really submitted to that Peppol access point's sandbox, addressed to W System's own sandbox company; the partner document id is returned). Use it to build and test an ⟨5 unchanged words⟩
Added "create_einvoice", "due_diligence_report", "einvoice_route" and 2 more (7 tools before, 12 now)
Create a validated EU e-invoice (UBL 2.1) from simple JSON. invoice = {format: en16931|xrechnung|peppol-bis3, invoice_number, issue_date (YYYY-MM-DD), due_date?, currency (EUR), buyer_reference?, seller: {name, vat_id, street, city, postal_code, country, email, phone, contact_name}, buyer: {...}, lines: [{description, quantity, unit_price, unit?, vat_category (S|Z|E|AE|K|G|O), vat_rate}], payment: {iban, bic?, terms?}}. Totals and VAT breakdown are computed; returns {valid, xml, totals, errors}.
Counterparty due-diligence report in one call: VIES VAT, official business register, EU/UN/OFAC/UK sanctions, EC EORI, GLEIF LEI and Peppol e-invoice route, with deterministic risk flags, 0-100 risk score, pass/review/fail verdict, sources and UTC timestamp. company: VAT ID (best), registry number or name; country: ISO code for names.
'Can I e-invoice this company?' id = EU VAT number (e.g. 'BE0403170701') or Peppol id ('0208:0403170701'). Returns VIES VAT status, Peppol Directory registration (BIS 3 invoice support), the country's B2B e-invoice mandate (dates, format, source) and the recommended format for create_einvoice. France's PPF directory is not included yet.
Unknown → Live
First tool surface recorded: 7 tools (server version 1.30.0)
https://api.wsystem.dev/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 11 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨87 unchanged words⟩ consultation_number (audit proof) when requester is set.ForUK (GB) VATnumberschecksuseare coming soon: until HMRCinstead;liveforaccess is granted, GB numbers return status member_state_unavailable, valid=null, error HMRC_LIVE_ACCESS_PENDING (not charged). For >1 number use verify_batch.
⟨4 unchanged words⟩ "title":"Invoice","type":"object"},"transport":{"default":"mock","title":"Transport","type":"string"}},"required":["invoice"],"title": ⟨3 unchanged words⟩
SANDBOX ONLY - transmits nothing. Runs the full send flow on an invoice (same JSON as create_einvoice): VIES check of the buyer VAT, sanctions screen of the buyer name, EN 16931 create + validate, route lookup (Peppol/mandate), a simulated (mock) transport hand-off and an Ed25519-signed evidence receipt (JWS). Use it to build and test an integration before live sending exists.
Validate an EU e-invoice XML (UBL 2.1 Invoice/CreditNote or UN/CEFACT CII, e.g. XRechnung, Factur-X/ZUGFeRD XML) against the official CEN EN 16931 rules and, for XRechnung, the KoSIT XRechnung 3.0 rules. Returns valid, and every error with its rule ID (e.g. BR-CO-10), a plain-English message, XPath and a fix hint. rules: auto | en16931 | xrechnung. Peppol-specific rules are not checked yet. For PDFs use the REST endpoint POST /einvoice/validate.