
FatturaPA / SDI
io.github.MaurizioLisanti由 GitHub 账号 MaurizioLisanti 发布v0.3.2更新于 Oct 24, 2026
Italian e-invoicing (FatturaPA/SDI): parse invoices, detect anomalies, VAT checks via VIES, reports.
概览
本地 MCP 服务器,为助手提供七个工具,用于解析、校验和汇总意大利 FatturaPA 电子发票及 SDI 错误码。
- 可以做什么
- 校验并提取 FatturaPA XML 发票数据,包括供应商、客户、金额和明细行,并检测单张发票中的总额不一致、税额错误、P.IVA 无效等异常。将多张发票汇总为一份报告,包含统计、供应商/客户分类和异常摘要。使用官方校验算法离线检查意大利增值税号,并通过 VIES 实时服务核验欧盟增值税号。离线查询 SDI 错误码的描述和解决提示。
- 适用场景
- 适合从事意大利电子发票业务的 Python 开发者和团队,希望让助手检查收到的 FatturaPA 文件、核对总额与税额,或汇总一批发票,而无需自行重写解析逻辑。不能替代官方 SDI 校验。
- 运行要求
- 以 Python 包形式通过 uvx 或 pip 在本地运行,需要 Python 环境。需设置 FATTURAPA_ALLOWED_ROOTS 指定可读取的文件夹;未设置时拒绝读取文件,XML 必须以文本传入。VIES 核验需要访问欧盟服务的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 FatturaPA / SDI,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
fatturapa-mcp-server
[CI] [Coverage gate] [Python] [License: MIT]
English
The problem
Every project integrating FatturaPA reimplements the same validation, parsing and SDI error handling from scratch. The result: weeks of repeated work, hidden bugs and no standardization.
The solution
Seven AI tools installable in one line — document parsing, anomaly detection on received invoices, multi-invoice reporting, Italian and EU VAT verification via VIES, structural XML checks and offline SDI error lookup.
Status: beta. See Known limitations before relying on validation results.
Who is it for
Python developers and AI teams working on Italian electronic invoicing systems who want to integrate Claude without reimplementing FatturaPA compliance from scratch on every project.
What is this?
An MCP (Model Context Protocol) server that gives AI assistants seven ready-to-use tools for working with Italian electronic invoices (FatturaPA) and the SDI (Sistema di Interscambio) system — no plumbing required.
Tools
Quick start
Option A — uvx (no install required)
Option B — pip
Claude Desktop configuration
Add the following block to your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
FATTURAPA_ALLOWED_ROOTS lists the only folders the server may read (: separated
on macOS/Linux, ; on Windows). Without it every file_path read is refused and
documents must be passed as xml_content. This is deliberate: the server is driven
by an AI agent reading untrusted documents.
After restarting Claude Desktop you will see seven new tools in the tool panel.
Known limitations (v0.3.2)
An audit against the official AdE schema (FatturaPA v1.2.3) with synthetic invoices found the following. They are being fixed in the next releases; until then:
validate_invoiceis structural only. The bundled XSD files are stubs: an invoice with an unknown document type (TD99), an invalid currency (EURO) or missing mandatory blocks is reported asvalid: true. Do not use it as a substitute for SDI validation.lookup_sdi_error: several codes have descriptions that differ from the official list (e.g.00001is "invalid file name"), and some codes are missing.- Batches (lots): when a file contains more than one invoice, only the first one is fully analysed.
- Encoding: XML declared as ISO-8859-1 / windows-1252 may be decoded incorrectly.
.p7msigned files are not supported yet: extract the XML first.- Report: credit notes (TD04) are added instead of subtracted; totals across different currencies are summed.
- Amounts are returned as floats.
What is solid today: coherence checks (totals, VAT, P.IVA checksum, dates), fail-closed file access, XXE protection, VIES degradation when the service is down.
Changelog / Release history
v0.3.2 stats: 7 tools · 181 tests · 95% coverage, including server startup
What it demonstrates
- MCP server with strict mypy typing, tested on Python 3.11, 3.12 and 3.13
- Automated security audit — bandit + pip-audit
- Guaranteed 80% minimum coverage (currently 95% across 181 tests)
- Fail-closed file-system access: reads are refused unless explicitly configured
- Published on PyPI — installable anywhere in one line
- Bilingual IT/EN — built for Italian and international market
Auditable by design
Every feature in this repository was built through a governed multi-agent pipeline — planner, executor and reviewer as separate roles, each with declared authority and hard quality gates between them.
The coord/ directory is the audit trail. One handoff per task, recording the
files changed and why, the commands run with their PASS/FAIL output, the
assumptions made and how they were verified, and the risks left open. Fifteen
handoffs cover the four development waves listed above.
For regulated work — e-invoicing, tax data, compliance — being able to show how a system was built matters as much as showing that it works. The methodology is documented separately in agentic-dev-pipeline.
Project status
Beta. Tested with synthetic FatturaPA documents checked against the official schema; not yet used in production. See Known limitations. Part of a broader ecosystem: fatturapa-mcp-server → sdi-ops-monitor
Development setup
Individual targets:
MCP Inspector
MCP Inspector lets you call tools interactively from a local web UI — useful during development:
Related projects
-
sdi-ops-monitor — AWS-based pipeline that receives, stores and routes FatturaPA files from/to SDI. Use together with this MCP server to give Claude end-to-end visibility into your Italian e-invoicing operations.
-
agentic-dev-pipeline — The governed multi-agent development pipeline this project was built with. The handoffs in
coord/are its output.
Italiano
Il problema
Ogni progetto che integra FatturaPA reimplementa da zero la stessa logica di validazione, parsing e gestione errori SDI. Il risultato: settimane di lavoro ripetuto, bug nascosti e nessuna standardizzazione.
La soluzione
Sette tool AI installabili in una riga — parsing del documento, rilevamento anomalie sulle fatture ricevute, report multi-fattura, verifica P.IVA italiana ed europea via VIES, controlli strutturali dell'XML e lookup errori SDI offline.
Stato: beta. Leggere i Limiti noti prima di fare affidamento sui risultati della validazione.
Per chi è
Developer Python e team AI che lavorano su sistemi di fatturazione elettronica italiana e vogliono integrare Claude senza reimplementare la compliance FatturaPA da zero ad ogni progetto.
Cos'è questo progetto?
Un server MCP (Model Context Protocol) che fornisce agli assistenti AI sette strumenti pronti all'uso per lavorare con le fatture elettroniche italiane (FatturaPA) e il Sistema di Interscambio (SDI).
Strumenti disponibili
Avvio rapido
Opzione A — uvx (nessuna installazione necessaria)
Opzione B — pip
Configurazione Claude Desktop
Aggiungere il seguente blocco al file di configurazione di Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
FATTURAPA_ALLOWED_ROOTS indica le sole cartelle che il server può leggere (separate
da ; su Windows, da : su macOS/Linux). Senza questa variabile ogni lettura da
file_path viene rifiutata e le fatture vanno passate come xml_content. È una
scelta voluta: il server è pilotato da un agente AI che legge documenti non fidati.
Dopo il riavvio di Claude Desktop, i sette strumenti compariranno nel pannello degli strumenti.
Limiti noti (v0.3.2)
Un audit contro lo schema ufficiale AdE (FatturaPA v1.2.3) con fatture sintetiche ha evidenziato i punti seguenti, in correzione nelle prossime release:
validate_invoiceè solo strutturale. Gli XSD inclusi sono stub: una fattura con tipo documento inesistente (TD99), divisa non valida (EURO) o blocchi obbligatori mancanti risultavalid: true. Non sostituisce la validazione dello SDI.lookup_sdi_error: alcune descrizioni non corrispondono all'elenco ufficiale (es.00001è "nome file non valido") e alcuni codici mancano.- Lotti: se un file contiene più fatture, solo la prima viene analizzata del tutto.
- Encoding: XML dichiarati ISO-8859-1 / windows-1252 possono essere decodificati male.
.p7m: i file firmati non sono ancora supportati; estrarre prima l'XML.- Report: le note di credito (TD04) vengono sommate invece che sottratte; totali in valute diverse vengono sommati.
- Gli importi sono restituiti come float.
Già solido oggi: controlli di coerenza (totali, IVA, checksum P.IVA, date), accesso ai file fail-closed, protezione XXE, gestione di VIES quando il servizio non risponde.
Changelog / Storico release
Statistiche v0.3.2: 7 tool · 181 test · 95% di coverage, avvio del server incluso
Cosa dimostra tecnicamente
- MCP server con strict typing mypy, testato su Python 3.11, 3.12 e 3.13
- Security audit automatico — bandit + pip-audit
- Coverage minima garantita all'80% (attualmente 95% su 181 test)
- Accesso al filesystem fail-closed: le letture sono negate salvo configurazione esplicita
- Pubblicato su PyPI — installabile ovunque con una riga
- Bilingue IT/EN — pensato per mercato italiano e internazionale
Tracciabilita by design
Ogni funzionalita di questo repository e stata costruita con una pipeline multi-agente governata — planner, executor e reviewer come ruoli distinti, ciascuno con autorita dichiarata e quality gate obbligatori tra una fase e l'altra.
La cartella coord/ e la pista di controllo. Un handoff per task, con i file
modificati e il motivo, i comandi eseguiti con esito PASS/FAIL, le assunzioni
fatte e come sono state verificate, i rischi lasciati aperti. Quindici handoff
coprono le quattro wave di sviluppo elencate sopra.
Nel lavoro su ambiti regolati — fatturazione elettronica, dati fiscali, compliance — poter mostrare come un sistema e stato costruito conta quanto mostrare che funziona. La metodologia e documentata separatamente in agentic-dev-pipeline.
Stato del progetto
Beta. Testato con fatture FatturaPA sintetiche verificate contro lo schema ufficiale; non ancora usato in produzione. Vedi Limiti noti. Parte di un ecosistema più ampio: fatturapa-mcp-server → sdi-ops-monitor
Setup per lo sviluppo
Target individuali:
MCP Inspector
MCP Inspector permette di invocare gli strumenti in modo interattivo da una web UI locale — utile durante lo sviluppo:
Progetti correlati
-
sdi-ops-monitor — Pipeline AWS per ricevere, archiviare e instradare i file FatturaPA da/verso il SDI. Da usare insieme a questo server MCP per dare a Claude visibilità end-to-end sulle operazioni di fatturazione elettronica italiana.
-
agentic-dev-pipeline — La pipeline di sviluppo multi-agente governata con cui questo progetto è stato costruito. Gli handoff in
coord/ne sono l'output.
License / Licenza
来源:README.md,提交 7961d53
工具
0版本历史
1- v0.3.2最新Oct 1, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分