
Fattura Elettronica IT
io.github.cmendezsPublished by GitHub account cmendezsv0.9.1Updated Oct 27, 2026
Italian e-invoicing: FatturaPA XML/SDI, XSD v1.2.3, Specs 1.9.1, 43 tools. Signing, SDI, archiving.
Overview
Italian FatturaPA e-invoicing MCP server: builds, validates, signs, submits and archives SDI-compliant electronic invoices.
- What you can do
- Build invoice headers and bodies: transmission data, seller/buyer validation, VAT number checks, document type and Natura codes, line items, VAT totals, payment terms, attachments
- Generate, validate and parse FatturaPA XML against the official XSD, export to JSON, produce SDI filenames, compute withholding tax
- Create and validate simplified invoices (VFSM10) and compute ritenuta d'acconto
- Sign documents with XAdES-BES or CAdES-BES using a PKCS#12 certificate
- Submit signed invoices to SDI over SDICoop, check status, parse notifications and send acceptance or rejection
- Archive invoices with SHA-256 integrity checks and build a PdV package for an accredited conservator
- When to use it
- Useful when an assistant has to draft, check or file Italian B2B, B2G or cross-border invoices in FatturaPA format, or when you already have SDI accreditation and want the whole flow from XML generation to submission and archiving handled locally.
- Requirements
- Runs locally as a Python package (pip or uvx). Optional environment variables: FATTURA_XSD_PATH for a local XSD copy, LOG_LEVEL, CONSERVAZIONE_STORAGE_PATH. SDI submission and signing need SDI_CERT_PATH (PKCS#12), SDI_CERT_PASSWORD, SDI_CHANNEL_ID, SDI_ENVIRONMENT and optionally SDI_ENDPOINT_URL; the signer microservice uses EINVOICING_SIGNER_SOCKET and EINVOICING_SIGNER_TOKEN. Production SDI use requires Agenzia delle Entrate accreditation.
Installation
In SourceWeft
- Open Fattura Elettronica IT in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-fattura-elettronica-it 🇮🇹
[License] [PyPI version] [Python] [mcp-fattura-elettronica-it MCP server] [Listed in italia-mcp-servers]
Introduction
A Python MCP server for Italian electronic invoicing in FatturaPA XML format (SDI / Agenzia delle Entrate standard, XSD v1.2.3, Specifiche Tecniche 1.9.1). It enables AI agents (Claude, IDEs) to generate, validate, and analyze B2B, B2G, and cross-border electronic invoices that are directly compliant with the technical specifications of the Sistema di Interscambio (SDI). It is built on mcp-einvoicing-core, the shared base library for e-invoicing MCP servers.
Note: "Specifiche Tecniche" (the AdE Allegato A controls/codifiche document) and the XSD schema are two separate artefacts with independent version numbers. Specifiche Tecniche 1.9.1 (in force 2026-05-15) does not change the XSD — the bundled schema remains v1.2.3.
This is a Model Context Protocol (MCP) server exposing 43 tools covering the full lifecycle of a FatturaPA XML document: transmission header construction, seller/buyer validation (including Gruppo IVA / VAT-group CodiceFiscale), document type codes (TD01-TD28), line items with AltriDatiGestionali support, VAT summary computation, payment terms, XSD validation against the official Agenzia delle Entrate schema (v1.2.3), XML generation, parsing, JSON export, SDI filename generation, withholding tax (ritenuta d'acconto) calculation, digital signatures (XAdES-BES and CAdES-BES), direct SDI transmission via SDICoop SOAP, SDI notification parsing, and conservazione sostitutiva (legally compliant archiving per AgID). Licensed under Apache 2.0.
Installation
Via PyPI (recommended)
mcp-einvoicing-core is installed automatically as a dependency.
lxml is also required and included, so no extra steps are needed.
Without prior installation, using uvx:
From source
Configuration
The available environment variables are:
Claude Desktop integration
Add the following to your claude_desktop_config.json file:
Cursor integration
Cursor supports MCP servers via stdio. Add the configuration in:
- Global (all projects):
~/.cursor/mcp.json - Project (this repository only):
.cursor/mcp.json
Reload the Cursor window (Ctrl+Shift+P then Reload Window) to apply the changes.
Kiro integration
Kiro supports MCP servers via its dedicated configuration file. Two levels are available:
- Global (all projects):
~/.kiro/settings/mcp.json - Workspace (this repository only):
.kiro/settings/mcp.json
The file is automatically reloaded on save. You can also open the config via the command palette (Cmd+Shift+P / Ctrl+Shift+P) then MCP.
Kiro security tip: rather than writing secrets in plain text, use the syntax
"SDI_CERT_PASSWORD": "${SDI_CERT_PASSWORD}", Kiro resolves shell environment variables at startup.
Available tools
Header: FatturaElettronicaHeader (7 tools)
Body: FatturaElettronicaBody (8 tools)
Global: generation and validation (7 tools)
Simplified invoices: FatturaSemplificata VFSM10 (3 tools)
Simplified invoices (art. 21-bis DPR 633/72) are valid for transactions up to EUR 400
(tax-inclusive). They use a flatter structure than ordinary FatturaPA: no per-line VAT
breakdown, no DatiRiepilogo. Each DatiBeniServizi entry carries its own Descrizione,
Importo, and DatiIVA. The VFSM10 format uses namespace v1.0 and is separate from
the EN 16931 CIUS used by ordinary invoices.
Digital signatures (2 tools)
Both signature formats are accepted by SDI (Specifiche tecniche SDI v1.8.4, section 2.1).
Supports dual mode: signer microservice (keeps keys out of the MCP process) or direct PKCS#12 loading.
Requires cryptography>=42.0.0 (installed via the [xml-sign] extra on mcp-einvoicing-core).
SDI integration (5 tools)
Requires AdE accreditation for production use. Configure via SDI_CERT_PATH, SDI_CERT_PASSWORD,
SDI_ENVIRONMENT (test/production), and SDI_ENDPOINT_URL (override) environment variables.
Conservazione sostitutiva / archiving (5 tools)
Per AgID circolare 65/2014 and DM 17/06/2014, electronic invoices must be archived for a minimum of 10 years. The local filesystem backend is for development only; production requires integration with an AgID-accredited conservazione provider.
Usage examples
Example 1: Generate a complete B2B invoice
Example 2: Professional invoice with withholding tax
Example 3: Look up VAT exemption codes
Architecture
Vendor neutrality
This server implements the standard itself: it builds, validates, and signs the document locally. It is not a client for a commercial invoicing platform, and your signing keys and credentials never leave your own infrastructure.
Invoices go directly to SdI over SDICoop with your own accreditation; no intermediary is involved.
Supported standards
Tests
Contributing
Contributions are welcome — see CONTRIBUTING.md for guidelines.
Other e-invoicing MCP servers
License
This project is distributed under the Apache 2.0 license. See the LICENSE file for full details. For the full version history, see CHANGELOG.md.
Source: README.md at commit 82bb563
Tools
0Version history
1- v0.9.1LatestSep 16, 2026
Score
50% 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.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts