mcp-einvoicing-core
mcp-einvoicing-core
Temas: mcp mcp-server e-invoicing electronic-invoicing european-invoicing python fastmcp peppol en16931 ubl fatturapa xp-z12-013 xml base-library
Paquete base para servidores MCP de facturación electrónica europea.
Proporciona clases base abstractas, modelos Pydantic compartidos, utilidades XML y un cliente HTTP
para que los paquetes específicos de cada país (mcp-facture-electronique-fr, mcp-fattura-elettronica-it, …)
compartan una base común sin duplicar código.
Qué proporciona este paquete
Módulo | Contenido | Utilizado por |
|
| IT (generación de facturas estructuradas), futuros BE/PL/DE/ES |
|
| Todos los adaptadores de país |
|
| IT (extraído literalmente), futuros formatos basados en XML |
|
| FR (extraído literalmente), futuros países basados en API |
|
| Todos los adaptadores de país |
|
| Todos los adaptadores de país |
Related MCP server: mcp-facture-electronique-fr
Instalación
pip install mcp-einvoicing-coreEste paquete no tiene dependencias específicas de ningún país. lxml (necesario para la validación XSD
en IT y futuros países) es declarado por cada paquete de país individualmente.
Arquitectura
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 xpathPatrón de registro de plugins
Los paquetes de país registran sus herramientas en una instancia de FastMCP compartida o independiente:
# 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()Compatibilidad con Claude Desktop / Cursor / Kiro
Las configuraciones existentes para mcp-facture-electronique-fr y mcp-fattura-elettronica-it
no requieren cambios: los nombres de las herramientas, firmas, variables de entorno y puntos de entrada
(server:main) se conservan totalmente.
Compatibilidad con la hoja de ruta
País | Estado | Estándar | Transporte | Hereda | Sobrescribe | Brechas conocidas |
✅ Hecho | XP Z12-013 | Híbrido / Hub PPF |
|
| Ninguna | |
✅ Hecho | FatturaPA v1.6.1 | Directo / SDI |
| todos los métodos abstractos |
| |
✅ Hecho | Peppol BIS 3.0 | AS4 / Peppol | todas las clases base |
| Ninguna | |
🇵🇱 PL | 🔄 En progreso | KSeF FA(2) | API directa |
| Flujo de autenticación de sesión KSeF | Modo de autenticación |
🇩🇪 DE | 🔄 En progreso | ZUGFeRD / XRechnung | AS4 / Peppol | todas las clases base |
| Ambigüedad en el tipo de retorno de |
🇪🇸 ES | 🔄 En progreso | FACeB2B / FacturaE | API directa | todas las clases base | Autenticación mTLS | Modo de autenticación |
🇷🇴 RO | 📋 Pendiente | RO-UBL (EN 16931) | API directa / clearance |
| Flujo de clearance ANAF | Se necesita variante |
🇬🇷 GR | 📋 Pendiente | myDATA XML | API directa / reporting |
| Flujo de autenticación + reporting myDATA | Cliente API myDATA aún no diseñado |
🇳🇱🇸🇪🇩🇰🇳🇴 Nórdicos/NL | 📋 Pendiente | Peppol BIS 3.0 / UBL | AS4 / Peppol | todas las clases base |
| Reutiliza la capa de transporte AS4 de BE |
🇵🇹 PT | 📋 Pendiente | CIUS-PT + Código QR | Firma / directo |
| Firma cualificada + inyección QR | Integración de firma cualificada no diseñada |
Notas arquitectónicas
Interfaz de transporte
A medida que aumenta el número de adaptadores, una abstracción TransportInterface en el núcleo evitará la duplicación entre países que comparten la misma capa de transporte:
Transporte | Países |
API directa (clearance / reporting) | FR, RO, GR, HU |
Red AS4 / Peppol | BE, DE, Nórdicos/NL |
Híbrido / hub | FR (ruta dual PPF/PDP) |
Alemania: 80% de reutilización de FR
El mandato de Alemania (activo desde enero de 2025 para recepción B2B) favorece fuertemente ZUGFeRD/Factur-X, el mismo modelo XML incrustado en PDF que el perfil francés Factur-X. La lógica de generación y validación XML de mcp-facture-electronique-fr puede reutilizarse con cambios mínimos, convirtiendo a DE en el siguiente adaptador de menor esfuerzo después de BE.
ViDA / DRR (2030)
Para julio de 2030, todos los sistemas nacionales deben alinearse con el Requisito de Reporte Digital de la UE para transacciones transfronterizas. El uso de EN 16931 como modelo de datos interno InvoiceDocument en este paquete central ya prepara el proyecto para el futuro: los adaptadores de país traducen EN 16931 → formato local, no al revés.
Licencia
Apache 2.0 — ver LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.6562MIT
- AlicenseAqualityCmaintenanceModel 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.34Apache 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.271Apache 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.7Apache 2.0
Related MCP Connectors
Brazilian fiscal MCP server - issue NF-e, NFC-e, NFS-e, CT-e, MDF-e and DC-e via SEFAZ.
Create, validate, convert & extract compliant e-invoices (UBL, Factur-X, ZUGFeRD, XRechnung)
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cmendezs/mcp-einvoicing-core'
If you have feedback or need assistance with the MCP directory API, please join our Discord server