invoicexml avatar

InvoiceXML

invoicexml/invoicexml-mcp

Exposes the InvoiceXML API to create, validate, convert, and extract compliant e-invoices across European standards like Factur-X, ZUGFeRD, XRechnung, UBL, and Peppol BIS Billing 3.0. The same .NET codebase runs in two modes: self-hosted with a single API key or as a hosted service with OAuth 2.1 and dynamic client registration. You get typed tools for invoice operations without handling the XML schema complexity yourself. Reach for this when you need AI agents to generate or process e-invoices that meet regulatory requirements in France, Germany, or across PEPPOL networks. The architecture keeps auth cleanly separated so switching between deployment modes is just a config change.

GitHub stars
2
tools
7
transport
HTTP
last updated
May 29, 2026

Tools

7 tools

Public tool metadata for what this MCP can expose to an agent.

create_invoiceGenerate a compliant e-invoice from a structured invoice document. Choose the format that matches the buyer's jurisdiction: 'ubl' for Peppol / international Peppol BIS Billing 3.0, 'cii' for generic UN/CEFACT CII XML, 'xrechnung' for German public sector, 'facturx' for French...3 params

Generate a compliant e-invoice from a structured invoice document. Choose the format that matches the buyer's jurisdiction: 'ubl' for Peppol / international Peppol BIS Billing 3.0, 'cii' for generic UN/CEFACT CII XML, 'xrechnung' for German public sector, 'facturx' for French...

Parameters* required
formatstring
Target e-invoicing format. Must be one of: ubl, cii, xrechnung, facturx, zugferd.one of ubl · cii · xrechnung · facturx · zugferd
invoiceobject
The invoice document. EN 16931 BT-first model: at minimum supply invoiceNumber, currency, seller, buyer, lines, totals and vatBreakdowns.
optionsobject
Optional PDF render settings. Ignored for XML formats. Defaults to English face with no brand colour.
render_invoiceRender a plain-XML e-invoice into a human-readable PDF preview. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung. The output is a VISUAL PDF only; it does NOT embed the XML. To produce a hybrid Factur-X /...4 params

Render a plain-XML e-invoice into a human-readable PDF preview. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung. The output is a VISUAL PDF only; it does NOT embed the XML. To produce a hybrid Factur-X /...

Parameters* required
formatstring
Source XML profile. Must be one of: ubl, cii, xrechnung.one of ubl · cii · xrechnung
languagestring
Language of the human-readable PDF face: EN, DE, or FR. Defaults to EN.one of EN · DE · FRdefault: EN
xmlstring
The invoice XML as plain text. Provide exactly one of xml / xmlUrl.
xmlUrlstring
A public https:// URL to the XML; the server fetches it. Provide exactly one of xml / xmlUrl.
embed_invoiceCombine an existing PDF and an EN 16931 CII XML into a hybrid PDF/A-3 e-invoice. Pick 'format' = 'facturx' or 'zugferd' for the output branding. The XML MUST be a UN/CEFACT Cross Industry Invoice (CII) document; UBL is not accepted here (convert it first with 'convert_invoice'...5 params

Combine an existing PDF and an EN 16931 CII XML into a hybrid PDF/A-3 e-invoice. Pick 'format' = 'facturx' or 'zugferd' for the output branding. The XML MUST be a UN/CEFACT Cross Industry Invoice (CII) document; UBL is not accepted here (convert it first with 'convert_invoice'...

Parameters* required
formatstring
Output hybrid format. Must be one of: facturx, zugferd.one of facturx · zugferd
pdfBase64string
The PDF as base64 (small files only). Provide exactly one of pdfUrl / pdfBase64.
pdfUrlstring
A public https:// URL to the PDF. Provide exactly one of pdfUrl / pdfBase64.
xmlstring
The CII invoice XML as plain text. Provide exactly one of xml / xmlUrl.
xmlUrlstring
A public https:// URL to the CII XML. Provide exactly one of xml / xmlUrl.
extract_invoiceExtract content from a hybrid PDF/A-3 e-invoice (Factur-X or ZUGFeRD). Choose 'target': 'json' for a structured invoice document (fields like seller, buyer, lines, totals), or 'xml' for the raw embedded EN 16931 CII XML. The PDF must contain an embedded XML attachment; if it d...3 params

Extract content from a hybrid PDF/A-3 e-invoice (Factur-X or ZUGFeRD). Choose 'target': 'json' for a structured invoice document (fields like seller, buyer, lines, totals), or 'xml' for the raw embedded EN 16931 CII XML. The PDF must contain an embedded XML attachment; if it d...

Parameters* required
pdfBase64string
The PDF as base64 (small files only). Provide exactly one of pdfUrl / pdfBase64.
pdfUrlstring
A public https:// URL to the PDF; the server fetches it. Provide exactly one of pdfUrl / pdfBase64.
targetstring
What to extract: 'json' for a structured invoice document, 'xml' for the embedded CII XML.one of json · xml
validate_pdf_invoiceValidate a hybrid PDF/A-3 e-invoice that has an EN 16931 CII XML embedded inside: Factur-X or ZUGFeRD. Pick 'format' = 'facturx' or 'zugferd' (both run the same validation pipeline; pick the one the user named). Use THIS tool for PDF invoices; for plain XML (UBL / CII / XRechn...3 params

Validate a hybrid PDF/A-3 e-invoice that has an EN 16931 CII XML embedded inside: Factur-X or ZUGFeRD. Pick 'format' = 'facturx' or 'zugferd' (both run the same validation pipeline; pick the one the user named). Use THIS tool for PDF invoices; for plain XML (UBL / CII / XRechn...

Parameters* required
formatstring
Validation profile. Must be one of: facturx, zugferd.one of facturx · zugferd
pdfBase64string
The PDF as base64 (small files only). Provide exactly one of pdfUrl / pdfBase64.
pdfUrlstring
A public https:// URL to the PDF; the server fetches it. Provide exactly one of pdfUrl / pdfBase64.
convert_invoiceConvert an e-invoice from one format to another (a deterministic syntax transform, no AI). Set 'sourceFormat' and 'targetFormat', each one of: ubl, cii, xrechnung, facturx, zugferd. Supported conversions: ubl<->cii, xrechnung->ubl/cii, ubl/cii->xrechnung, facturx/zugferd->ubl/...6 params

Convert an e-invoice from one format to another (a deterministic syntax transform, no AI). Set 'sourceFormat' and 'targetFormat', each one of: ubl, cii, xrechnung, facturx, zugferd. Supported conversions: ubl<->cii, xrechnung->ubl/cii, ubl/cii->xrechnung, facturx/zugferd->ubl/...

Parameters* required
pdfBase64string
For a hybrid-PDF source (facturx/zugferd): the source PDF as base64 (small files only).
pdfUrlstring
For a hybrid-PDF source (facturx/zugferd): a public https:// URL to the PDF.
sourceFormatstring
Source format. One of: ubl, cii, xrechnung, facturx, zugferd.one of ubl · cii · xrechnung · facturx · zugferd
targetFormatstring
Target format. One of: ubl, cii, xrechnung, facturx, zugferd.one of ubl · cii · xrechnung · facturx · zugferd
xmlstring
For an XML source (ubl/cii/xrechnung): the source XML as text.
xmlUrlstring
For an XML source (ubl/cii/xrechnung): a public https:// URL to the XML.
validate_xml_invoiceValidate a plain-XML e-invoice against the EN 16931 XSD and Schematron rules. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung (CIUS-XR). Use THIS tool for plain XML; for Factur-X / ZUGFeRD hybrid PDFs us...3 params

Validate a plain-XML e-invoice against the EN 16931 XSD and Schematron rules. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung (CIUS-XR). Use THIS tool for plain XML; for Factur-X / ZUGFeRD hybrid PDFs us...

Parameters* required
formatstring
Validation profile. Must be one of: ubl, cii, xrechnung.one of ubl · cii · xrechnung
xmlstring
The invoice XML as plain text. Provide exactly one of xml / xmlUrl.
xmlUrlstring
A public https:// URL to the XML; the server fetches it. Provide exactly one of xml / xmlUrl.

Sponsors

Readme

InvoiceXML MCP Server

A Model Context Protocol server that exposes the InvoiceXML API to AI agents. Covers Factur-X, ZUGFeRD, XRechnung, UBL / CII, and Peppol BIS Billing 3.0.

The same codebase runs in two deployment shapes, selected at startup by one environment variable:

ModeWho runs itAuth
Self-hostedYou, on your own machine or serverA single API key in env or appsettings.json
HostedInvoiceXML, on its own infrastructureOAuth 2.1 + Dynamic Client Registration against invoicexml.com

Both run the same binary; only the configuration differs. The repository is platform-independent — it knows nothing about where or how you host it.

Architecture

+----------------------+   ProjectReference   +----------------------+
|  InvoiceXml.Mcp.Core | -------------------> |  InvoiceXml.Mcp.Host |
|  (SDK: client+tools) |                      |  (the deployable)    |
+----------------------+                      +----------------------+

InvoiceXml.Mcp.Core is a small, transport-agnostic SDK:


View the full README on GitHub

Details

Repository
github.com/invoicexml/invoicexml-mcp
Website
www.invoicexml.com/mcp-server
Category
Search & Web Crawling
Transport
HTTP
Registry
MCP registry, active

Related Search & Web Crawling MCP servers

View all
1curlymolelabs avatarSupericonscurlymolelabs/supericonsMultilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.2stars
2cyanheads avatarAnime Mcp Servercyanheads/anime-mcp-serverSearch anime/manga, franchise relations, schedule, characters, rankings, studio filmography.2stars
3cyanheads avatarBluesky Mcp Servercyanheads/bluesky-mcp-serverSearch Bluesky posts and feeds; read profiles, threads, and trends. STDIO or Streamable HTTP.2stars
4cyanheads avatarEpa Mcp Servercyanheads/epa-mcp-serverSearch EPA compliance, TRI, Superfund, drinking-water, EJScreen, and AirNow data.2stars
5cyanheads avatarFbi Crime Mcp Servercyanheads/fbi-crime-mcp-serverFBI Crime Data Explorer — offense rates, hate crime, arrests, NIBRS, LEOKA stats, agency search.2stars
6cyanheads avatarFederal Regulations Mcp Servercyanheads/federal-regulations-mcp-serverSearch and trace US federal rules across the Federal Register, eCFR, and Regulations.gov.2stars