Server data from the Official MCP Registry
Italy FatturaPA invoices for AI agents: build FPR12 XML, transmit to the SdI, query status.
Italy FatturaPA invoices for AI agents: build FPR12 XML, transmit to the SdI, query status.
Remote endpoints: streamable-http: https://inv-it.wishpool.app/mcp
Italy Invoice MCP is a well-architected stateless translation layer for FatturaPA invoice issuance with strong security fundamentals. The server properly implements bring-your-own-credential (BYOC) architecture, comprehensive input validation, and policy enforcement. Minor code quality findings around error handling and logging do not materially impact security. Permissions are appropriate for a finance/invoice service requiring HTTP API access.
7 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Remote MCP server that lets any AI agent issue Italy FatturaPA electronic invoices (fattura elettronica) and transmit them to the national SdI (Sistema di Interscambio) via Invoicetronic. It builds FatturaPA FPR12 XML (Agenzia delle Entrate v1.2 schema) and sends it under the merchant's own Invoicetronic API key. Stateless, bring-your-own credentials, never stores anything.
Live endpoint: https://inv-it.wishpool.app/mcp · Registry: app.wishpool/italy-invoice-mcp
{
"mcpServers": {
"italy-invoice": {
"type": "http",
"url": "https://inv-it.wishpool.app/mcp",
"headers": {
"x-invoicetronic-key": "ik_test_<your Invoicetronic key>"
}
}
}
}
Sign up at invoicetronic.com for a free ik_test_ sandbox key (no fiscal effect). An ik_live_ key transmits real invoices to the SdI — the base URL is the same, the key prefix selects the environment. Authentication is HTTP Basic with the key as the username (empty password). Your key stays with you and travels per-request; this server never stores it.
| Tool | What it does |
|---|---|
create_invoice | Build a FatturaPA FPR12 invoice from seller + buyer (P.IVA / Codice Fiscale, address) and line items (description, net unit price, IVA rate 22/10/5/4, quantity), then transmit to the SdI via Invoicetronic. Returns send_id + computed IVA totals (imponibile, imposta, totale). |
query_invoice | Poll SdI status by send_id: SENT (Inviato), DELIVERED (Consegnato), REJECTED (Scartato), NOT_DELIVERED (ImpossibilitaDiRecapito), or PROCESSING (no notification yet). |
Amounts are in EUR. Italian IVA rates: 22 (ordinaria), 10, 5, 4 (ridotte). Seller/buyer identified by Partita IVA and/or Codice Fiscale.
No cancel at the SdI level — to reverse an invoice you issue a credit note (nota di credito, TipoDocumento TD04) as a new invoice. Zero-rated / exempt IVA (needs a Natura code) is out of scope in v1.
Owner policy guardrails ride optional headers (x-agentpay-max-amount, x-agentpay-approval-above, x-agentpay-allowed-tools) — set by the human owner in client config; the agent cannot relax them.
Per line PrezzoTotale = round2(quantity × unit_price); grouped by rate into DatiRiepilogo (ImponibileImporto, Imposta = round2(imponibile × rate / 100)); document total ImportoTotaleDocumento = imponibile + imposta. Examples:
100 + 50 both @22% → imponibile 150.00 / imposta 33.00 / totale 183.00200 @22% + 100 @10% → imponibile 300.00 / imposta 54.00 (44 + 10) / totale 354.002×50 @22% + 3×10 @10% + 1×25 @4% → imponibile 155.00 / imposta 26.00 (22 + 3 + 1) / totale 181.00https://api.invoicetronic.com/v1 (single base URL; auth = HTTP Basic, username = API key, empty password)POST /send — JSON { file_name, payload (base64 FatturaPA XML), encoding: "base64", meta_data } → { id, ... }GET /update?send_id={id} — SdI notification history (state: Inviato / Consegnato / Scartato / ImpossibilitaDiRecapito)POST /send may reply 422 Unprocessable Entity for a FatturaPA rule violationGET /receive exists for received invoices; not wrapped as a tool in v1.)node test/serve.js # local server on :3234
node test/e2e.js # IVA math + FatturaPA XML structure + protocol + validation + policy + fake-key live probe
Pure stateless translation layer over the Invoicetronic REST API (which wraps the national SdI). The API key travels per-request in a header, nothing is stored, and funds are never touched — this issues tax invoices, it does not move money. Privacy policy.
Local invoices, one family: Mexico CFDI (inv-mx) · Romania e-Factura (inv-ro) · Brazil NF-e (inv-br) · Chile DTE (inv-cl) · India GST (inv-in). Local payments in 81 countries: mcp.wishpool.app.
MIT licensed.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally