list_supported_formats
Supported e-invoice formats
Which formats, profiles and rule sets this service supports, and what each tool costs.
Takes no parameters.

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026
Validate, parse, fix and render EU e-invoices: XRechnung, ZUGFeRD, Factur-X, Peppol, KSeF.
Local bridge that forwards e-invoice tools to a hosted service, letting an assistant detect, parse, validate, fix and render European e-invoices.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
invoiceproof is a thin local bridge to the eInvoiceChecker hosted MCP server, a service for working with European electronic invoices. It can tell you which formats are supported, identify an invoice you hand it, extract its contents as normalised JSON, check it against the official rule set for its format, repair the deterministic errors it finds, and render the document as HTML or PDF.
The bridge holds no invoice logic and validates nothing itself. It serves the upstream server's tool list locally — exactly as captured from the live endpoint — and forwards each tool call upstream, returning the result untouched. Coverage spans XRechnung, ZUGFeRD and Factur-X, Peppol BIS, KSeF, and the other formats and national rule sets the upstream supports.
No tool declares a required field; the invoice goes
in as content (XML text) or content_base64 (a
ZUGFeRD / Factur-X PDF or other file), both optional
in the captured schemas.
list_supported_formats — which formats, profiles
and rule sets the service supports, and what each
tool costs. No arguments.detect_invoice — identify the format, syntax,
profile/customisation and country standard of an
invoice file. The cheap first step before
validating.parse_invoice — extract the invoice as normalised
JSON: number, dates, seller, buyer, lines, VAT
breakdown, totals and payment details.fix_invoice — deterministically repair validation
errors of an EN 16931 invoice: empty elements,
decimals, date and code formats, specification ids;
with totals: true it also recalculates totals and
the VAT breakdown from the lines. Data missing from
the file can be supplied under values; anything
still missing is listed in needs_input. dry_run
reports changes without applying them. Counts as 2
requests upstream.validate_invoice — run the official rule set for
the detected format and return every failed rule
with id, severity, message and XPath. kosit: false
skips the full KoSIT schematron for a faster,
schema-and-core-only check.render_invoice_html — a human-readable invoice
document in HTML (A4 print layout), with label
language selectable via lang (en, de, fr,
pl, nl, hr, es).render_invoice_pdf — the same document as a PDF,
returned as a base64 resource, with the same lang
choices. Counts as 2 requests upstream.my_usage — the plan, monthly quota, usage this
month and subscription state of the API key used
for the connection. Free. No arguments.EINVOICECHECKER_API_KEY (optional) — when set,
every upstream request carries
Authorization: Bearer <key>. When it is not set,
no auth header is sent and the upstream's anonymous
rate limit applies. The key is never required by
this client.EINVOICECHECKER_MCP_URL (optional) — override the
upstream endpoint. Defaults to
https://einvoicechecker.com/v1/mcp.
(The override hook is this rebuild's own labelled
reconstruction.)On the first tool call the client opens a streamable
HTTP session with the upstream: a JSON-RPC
initialize request (protocolVersion 2025-03-26,
clientInfo name invoiceproof), then a
notifications/initialized notification, then the
tools/call request carrying the caller's arguments
unchanged. When the upstream answers initialize
with an Mcp-Session-Id header, that value rides on
every later request of the session, which is reused
for the life of the process. Replies may arrive as
plain JSON or as server-sent events; both are read.
Successful upstream results pass through verbatim,
including any isError flag the upstream sets.
Failures — a JSON-RPC error, a non-2xx status, an
unreadable response, or a request that cannot be
completed — come back as an isError result whose
text starts with invoiceproof error: (this
rendering is this rebuild's own labelled
reconstruction).
Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):
Exit codes: 0 on success, 1 on an isError
result, 2 on a usage error.
MCP client config:
To run the MCP server with an API key, add
EINVOICECHECKER_API_KEY to the client's env
block for this server.
The container's default command is mcp, so the first
form is a stdio MCP server; any other arguments reach
the CLI normally.
The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.
MIT — see LICENSE.
Source: README.md at commit 735fed2
Supported e-invoice formats
Which formats, profiles and rule sets this service supports, and what each tool costs.
Takes no parameters.
Detect e-invoice format
Identify the format, syntax, profile/customization and country standard of an e-invoice file. Cheap first step before validating.
contentcontent_base64Parse e-invoice to JSON
Extract the invoice as normalised JSON: number, dates, seller, buyer, lines, VAT breakdown, totals, payment details. Works for every supported format.
contentcontent_base64Auto-fix e-invoice
Fix validation errors of an EN 16931 invoice (XRechnung, Peppol BIS, ZUGFeRD/Factur-X XML, UBL, CII) deterministically: empty elements, decimals, date and code formats, specification ids; with totals=true also recalculates totals and the VAT breakdown from the lines. Data that is not in the file (Leitweg-ID, seller contact, endpoint ids, payment terms) is taken from "values"; missing ones are listed in needs_input. Returns the change list, the remaining errors and the corrected XML. Counts as 2 requests.
totalsvaluescontentdry_runcontent_base64Validate e-invoice
Run the official rule set for the detected format (KoSIT for XRechnung/ZUGFeRD/Factur-X, OpenPeppol for Peppol BIS, FA(3) schema for KSeF, Porezna uprava HR-CIUS schematron for Croatian eRačun, Facturae XSD + calculation/NIF/DIR3 rules for Spain, LHDN SDK rules for MyInvois). Returns valid/invalid with every failed rule: id, severity, message, XPath.
kositcontentcontent_base64Render e-invoice as HTML
Human-readable invoice document (HTML, A4 print layout) from the XML, in the requested language.
langcontentcontent_base64Render e-invoice as PDF
Human-readable PDF of the invoice (counts as 2 requests). Returned as a base64 resource.
langcontentcontent_base64My plan and usage
Plan, monthly quota, usage this month and subscription state of the API key used for this connection. Free.
Takes no parameters.
90% 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.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx @reneturcios/invoiceproof list_supported_formatsnpx @reneturcios/invoiceproof validate_invoice '{"content":"<Invoice>...</Invoice>"}'npx @reneturcios/invoiceproof render_invoice_html '{"content":"<Invoice>...</Invoice>","lang":"de"}'npx @reneturcios/invoiceproof --versionnpx -y @reneturcios/invoiceproof mcp{ "mcpServers": { "invoiceproof": { "command": "npx", "args": ["-y", "@reneturcios/invoiceproof", "mcp"] } }}docker run -i ghcr.io/cloudcorprecords/invoiceproofdocker run --rm ghcr.io/cloudcorprecords/invoiceproof --versionnpm installnpm run buildnpm testnpm run dev