
InvoiceXML
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 toolsPublic 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...
formatstringubl · cii · xrechnung · facturx · zugferdinvoiceobjectoptionsobjectrender_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 /...
formatstringubl · cii · xrechnunglanguagestringEN · DE · FRdefault: ENxmlstringxmlUrlstringembed_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'...
formatstringfacturx · zugferdpdfBase64stringpdfUrlstringxmlstringxmlUrlstringextract_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...
pdfBase64stringpdfUrlstringtargetstringjson · xmlvalidate_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...
formatstringfacturx · zugferdpdfBase64stringpdfUrlstringconvert_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/...
pdfBase64stringpdfUrlstringsourceFormatstringubl · cii · xrechnung · facturx · zugferdtargetFormatstringubl · cii · xrechnung · facturx · zugferdxmlstringxmlUrlstringvalidate_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...
formatstringubl · cii · xrechnungxmlstringxmlUrlstringSponsors
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:
| Mode | Who runs it | Auth |
|---|---|---|
| Self-hosted | You, on your own machine or server | A single API key in env or appsettings.json |
| Hosted | InvoiceXML, on its own infrastructure | OAuth 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:
Details
- Repository
- github.com/invoicexml/invoicexml-mcp
- Website
- www.invoicexml.com/mcp-server
- Category
- Search & Web Crawling
- Transport
- HTTP
- Registry
- MCP registry, active