mcp-einvoicing-core
mcp-einvoicing-core
Themen: mcp mcp-server e-invoicing electronic-invoicing european-invoicing python fastmcp peppol en16931 ubl fatturapa xp-z12-013 xml base-library
Basispaket für europäische elektronische Rechnungsstellungs-MCP-Server.
Stellt abstrakte Basisklassen, gemeinsame Pydantic-Modelle, XML-Dienstprogramme und einen HTTP-Client bereit,
damit länderspezifische Pakete (mcp-facture-electronique-fr, mcp-fattura-elettronica-it, …)
eine gemeinsame Grundlage nutzen können, ohne Code zu duplizieren.
Was dieses Paket bietet
Modul | Inhalt | Verwendet von |
|
| IT (strukturierte Rechnungserstellung), zukünftig BE/PL/DE/ES |
|
| Alle Länder-Adapter |
|
| IT (wortwörtlich übernommen), zukünftige XML-basierte Formate |
|
| FR (wortwörtlich übernommen), zukünftige API-basierte Länder |
|
| Alle Länder-Adapter |
|
| Alle Länder-Adapter |
Related MCP server: mcp-facture-electronique-fr
Installation
pip install mcp-einvoicing-coreDieses Paket hat keine länderspezifischen Abhängigkeiten. lxml (benötigt für XSD-Validierung
in IT und zukünftigen Ländern) wird von jedem Länderpaket individuell deklariert.
Architektur
mcp-einvoicing-core ← this package
├── BaseDocumentGenerator ← abstract: generate(InvoiceDocument) → str
├── BaseDocumentValidator ← abstract: validate(xml) → DocumentValidationResult
├── BaseDocumentParser ← abstract: parse(xml) → dict
├── BaseLifecycleManager ← abstract: submit/search/get_status (async HTTP)
├── BasePartyValidator ← abstract: validate_seller/buyer/tax_id
├── BaseEInvoicingClient ← concrete: async HTTP + OAuth2/no-auth/token
├── InvoiceDocument (Pydantic) ← shared data model
└── EInvoicingMCPServer ← plugin registry wrapping FastMCP
mcp-facture-electronique-fr ← country adapter (FR)
├── PAConfig(OAuthConfig)
├── FlowClient(BaseEInvoicingClient) ← OAuth2, XP Z12-013 Annex A
├── DirectoryClient(BaseEInvoicingClient) ← OAuth2, XP Z12-013 Annex B
└── FrLifecycleManager(BaseLifecycleManager)
mcp-fattura-elettronica-it ← country adapter (IT)
├── ItalyPartyValidator(BasePartyValidator) ← Partita IVA modulo-10
├── FatturaGenerator(BaseDocumentGenerator) ← FatturaPA XML v1.6.1
├── FatturaValidator(BaseDocumentValidator) ← lxml XSD v1.6.1
└── FatturaParser(BaseDocumentParser) ← lxml xpathPlugin-Registrierungsmuster
Länderpakete registrieren ihre Tools auf einer gemeinsamen oder eigenständigen FastMCP-Instanz:
# Standalone (existing server.py — no changes required)
from fastmcp import FastMCP
mcp = FastMCP(name="mcp-fattura-elettronica-it", instructions="…")
register_header_tools(mcp)
register_body_tools(mcp)
register_global_tools(mcp)
# Multi-country (optional EInvoicingMCPServer)
from mcp_einvoicing_core import EInvoicingMCPServer
server = EInvoicingMCPServer(name="mcp-einvoicing-eu", instructions="…")
server.register_plugin(register_header_tools, "it-header")
server.register_plugin(register_flow_tools, "fr-flow")
server.run()Kompatibilität mit Claude Desktop / Cursor / Kiro
Bestehende Konfigurationen für mcp-facture-electronique-fr und mcp-fattura-elettronica-it
erfordern keine Änderungen: Tool-Namen, Signaturen, Umgebungsvariablen und Einstiegspunkte
(server:main) bleiben vollständig erhalten.
Roadmap-Kompatibilität
Land | Status | Standard | Transport | Erbt von | Überschreibt | Bekannte Lücken |
✅ Erledigt | XP Z12-013 | Hybrid / PPF-Hub |
|
| Keine | |
✅ Erledigt | FatturaPA v1.6.1 | Direkt / SDI |
| alle abstrakten Methoden |
| |
✅ Erledigt | Peppol BIS 3.0 | AS4 / Peppol | alle Basisklassen |
| Keine | |
🇵🇱 PL | 🔄 In Arbeit | KSeF FA(2) | Direkt-API |
| KSeF-Sitzungs-Auth-Flow |
|
🇩🇪 DE | 🔄 In Arbeit | ZUGFeRD / XRechnung | AS4 / Peppol | alle Basisklassen |
|
|
🇪🇸 ES | 🔄 In Arbeit | FACeB2B / FacturaE | Direkt-API | alle Basisklassen | mTLS-Auth |
|
🇷🇴 RO | 📋 Backlog | RO-UBL (EN 16931) | Direkt-API / Clearance |
| ANAF-Clearance-Flow |
|
🇬🇷 GR | 📋 Backlog | myDATA XML | Direkt-API / Reporting |
| myDATA-Auth + Reporting-Flow | myDATA-API-Client noch nicht entworfen |
🇳🇱🇸🇪🇩🇰🇳🇴 Nordics/NL | 📋 Backlog | Peppol BIS 3.0 / UBL | AS4 / Peppol | alle Basisklassen |
| Nutzt BE AS4-Transportschicht wieder |
🇵🇹 PT | 📋 Backlog | CIUS-PT + QR-Code | Signatur / direkt |
| Qualifizierte Signatur + QR-Injektion | Integration qualifizierter Signaturen nicht entworfen |
Architektonische Hinweise
Transport-Schnittstelle
Da die Anzahl der Adapter wächst, wird eine TransportInterface-Abstraktion im Core Duplikate über Länder hinweg verhindern, die dieselbe Transportschicht nutzen:
Transport | Länder |
Direkt-API (Clearance / Reporting) | FR, RO, GR, HU |
AS4 / Peppol-Netzwerk | BE, DE, Nordics/NL |
Hybrid / Hub | FR (PPF/PDP dualer Pfad) |
Deutschland: 80% Wiederverwendung von FR
Das deutsche Mandat (aktiv seit Jan 2025 für B2B-Empfang) bevorzugt stark ZUGFeRD/Factur-X — dasselbe in PDF eingebettete XML-Modell wie das französische Factur-X-Profil. Die XML-Generierungs- und Validierungslogik von mcp-facture-electronique-fr kann mit minimalen Änderungen wiederverwendet werden, was DE zum nächsten Adapter mit dem geringsten Aufwand nach BE macht.
ViDA / DRR (2030)
Bis Juli 2030 müssen sich alle nationalen Systeme an die EU-Vorgaben zur digitalen Berichterstattung (Digital Reporting Requirement) für grenzüberschreitende Transaktionen anpassen. Die Verwendung von EN 16931 als internes InvoiceDocument-Datenmodell in diesem Kernpaket macht das Projekt bereits zukunftssicher: Länder-Adapter übersetzen EN 16931 → lokales Format, nicht umgekehrt.
Lizenz
Apache 2.0 — siehe LICENSE.
Maintenance
Related MCP Connectors
Generate, validate and read EN 16931 and Peppol BIS 3.0 e-invoices, in UBL and CII.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Generate & validate EN 16931 e-invoices (Factur-X, ZUGFeRD, XRechnung); verification certificates
XRechnung and ZUGFeRD e-invoicing (EN 16931): create, validate, check Leitweg-IDs, German VAT.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for DACH e-invoicing. Create XRechnung (UBL) and ZUGFeRD 2.3 (Factur-X CII) invoices, validate against EN 16931 rules, extract data from XML, and convert between UBL, CII and JSON formats.649 npm2MIT
- AlicenseAqualityAmaintenanceModel Context Protocol (MCP) server for French Electronic Invoicing (NF XP Z12-013). Provide tools to validate, generate, and explore API specifications for PDP/OD interoperability.234Apache 2.0
- AlicenseAqualityAmaintenanceModel Context Protocol (MCP) server for Italian Electronic Invoicing (FatturaPA / SDI). Provide tools to validate, generate, and explore API specifications for Sistema di Interscambio (SDI) interoperability.43110 PyPI1Apache 2.0
- AlicenseAqualityAmaintenanceModel Context Protocol (MCP) server for Belgian Electronic Invoicing (Peppol BIS 3.0 / PINT-BE / Mercurius). Provides tools to validate, generate, and transform UBL 2.1 e-invoices, and look up BCE/KBO enterprise data and Peppol participants.50Apache 2.0