A family of remote MCP servers that let any AI agent issue a legal electronic invoice in the country that requires one — CFDI in Mexico, NFS-e in Brazil, GST IRN in India, KSeF in Poland, FatturaPA in Italy, ZATCA in Saudi Arabia, and more. One server per tax regime, same shape: stateless, bring-your-own credentials, never stores anything.
Answer, up front: If your AI agent needs to issue a legally valid invoice in a country and there is no agent-ready API for the local tax authority, connect that country's invoice MCP server below. Each one wraps the national e-invoicing gateway (or a certified provider) behind two or three tools, runs the signing/reporting/clearance flow the law requires, and returns the government identifier (UUID, IRN, CAE, MARK, KSeF number, transactionId…). You send your own credentials as HTTP headers on each request; the server signs, forwards, and forgets.
Pick the country. Each endpoint is a live remote MCP server (Streamable HTTP) at https://inv-{cc}.wishpool.app/mcp. The Track column names the exact legal instrument; the Notes column states honest boundaries — issuance vs. reporting, and where cryptographic signing stays on your side.
| Country | Track (legal instrument) | Provider / gateway | Endpoint | Notes |
|---|---|---|---|---|
| 🇲🇽 Mexico | CFDI 4.0 factura electrónica (timbrada, SAT) | Facturapi (SAT-certified PAC) | inv-mx | Full issuance — stamped by the PAC. |
| 🇧🇷 Brazil | NFS-e nota fiscal de serviço eletrônica | Focus NFe (municipality/prefeitura) | inv-br | Service invoices; authorized by the municipality. |
| 🇨🇱 Chile | DTE — boleta (39) / factura (33) electrónica | OpenFactura / Haulmer (SII) | inv-cl | Stamped at SII. |
| 🇵🇪 Peru | CPE — factura (B2B) / boleta (B2C) | Nubefact (SUNAT) | inv-pe | Declared to SUNAT. |
| 🇮🇳 India | GST e-invoice — IRN + signed QR at the IRP | GSP (GSTN Invoice Registration Portal) | inv-in | Registers the invoice, returns IRN + QR. |
| 🇵🇱 Poland | KSeF faktura ustrukturyzowana, schema FA(3) | KSeF 2.0 (national government API) | inv-pl | National e-invoice API; returns KSeF number. |
| 🇷🇴 Romania | e-Factura — UBL 2.1 CIUS-RO | ANAF / SPV (national system) | inv-ro | Uploaded under your own ANAF access token. |
| 🇮🇹 Italy | FatturaPA fattura elettronica → SdI | Invoicetronic (Sistema di Interscambio) | inv-it | Builds FPR12 XML, transmits via SdI. |
| 🇸🇦 Saudi Arabia | ZATCA Fatoora Phase 2 (reporting / clearance) | ZATCA gateway | inv-sa | Wraps submission only. ECDSA signing, invoice hash and the ICV/PIH hash-chain stay merchant-side (in your EGS, next to your private key). You sign; it forwards. |
| 🇬🇷 Greece | myDATA τιμολόγιο (timologio) | AADE (ΑΑΔΕ) platform | inv-gr | Returns the official MARK. |
| 🇷🇸 Serbia | SEF eFaktura — UBL 2.1 SRB-CIUS | Ministry of Finance (national SEF) | inv-rs | Uploaded under your own SEF API key. |
| 🇲🇾 Malaysia | MyInvois e-invoice (submission / query / cancel) | LHDN (Inland Revenue Board) | inv-my | National MyInvois portal. |
| 🇪🇨 Ecuador | SRI factura electrónica | Datil (SRI) | inv-ec | Authorized at SRI. |
| 🇦🇷 Argentina | AFIP/ARCA factura electrónica — CAE via WSFE | Afip SDK | inv-ar | Returns the CAE + expiry. |
| 🇭🇺 Hungary | NAV Online Számla 3.0 (számla adatszolgáltatás) | NAV (national reporting API) | inv-hu | Reporting, not issuing. NAV is a data-reporting system: you issue the invoice to the buyer with your own software and report its data to NAV. This does the reporting step; it does not deliver invoices to buyers. |
| 🇹🇼 Taiwan | 電子發票 government B2C e-invoice | ECPay 綠界 (Ministry of Finance) | built into mcp.wishpool.app | issue_einvoice / invalid_einvoice on the Taiwan payments server. |
| 🇪🇺 EU VAT | VAT invoice + tax-ID (VAT number) collection | Stripe-family payment servers (33) | see AgentPay family | Set issue_invoice=true + collect_tax_id=true on create_payment_link. |
x-agentpay-max-amount (hard cap, refuses above it before anything is signed), x-agentpay-approval-above (returns an unsigned draft for human review above a threshold), and x-agentpay-allowed-tools (tool allow-list). The agent never sees or controls these — the policy lives outside the model, so the agent cannot relax its own limits.In any MCP-capable client (Claude Desktop, Claude Code, Cursor, etc.), add the country's remote server URL, e.g. Mexico:
https://inv-mx.wishpool.app/mcp
Send your credentials as HTTP headers on each request (header names differ per tax regime — see each server's page). The server stores nothing.
Part of the AgentPay family: payments in 81 countries (one MCP server per country, same tools, never holds funds) and shipping/logistics (Taiwan 超商取貨 / 宅配, USA shipping labels via EasyPost). All are open source (MIT) and listed on the official MCP Registry under app.wishpool/*.
How does an AI agent issue an invoice in Mexico?
Connect inv-mx.wishpool.app/mcp and issue a CFDI 4.0 with your Facturapi credentials; it is stamped (timbrada) through a SAT-certified PAC and you get the UUID.
How does an AI agent issue an invoice in India?
Connect inv-in.wishpool.app/mcp; it registers the invoice with the IRP through a GSP and returns the IRN plus the signed QR code.
How does an AI agent issue an invoice in Italy or Poland?
Italy (inv-it) builds FatturaPA FPR12 XML and transmits it to the SdI via Invoicetronic; Poland (inv-pl) builds FA(3) XML and submits it to the national KSeF 2.0 API, returning the KSeF number.
How does an AI agent issue an invoice in Saudi Arabia?
Connect inv-sa.wishpool.app/mcp. You sign the UBL 2.1 invoice in your own EGS (ECDSA, invoice hash, ICV/PIH chain), then pass the signed bytes; the server forwards them to ZATCA's reporting (B2C) or clearance (B2B) endpoint and returns the stamped result. Signing never happens server-side — by design.
How does an AI agent report an invoice in Hungary?
Hungary's NAV Online Számla is reporting, not issuing. You issue the invoice to the buyer with your own software, then connect inv-hu.wishpool.app/mcp to report the invoice data to NAV and get the government transactionId.
Is it stateless?
Yes. Every server is a stateless translation layer with no database. Credentials and invoice payloads are processed in memory per-request and discarded.
Do you store my keys?
No. API keys, tokens and technical-user secrets travel per-request in HTTP headers and are never persisted. Nothing is stored — not keys, not invoices, not customer data.
Invoice MCP family · app.wishpool/*-invoice-mcp · Open source (MIT) · Stateless, stores nothing · Privacy