Skip to main content
Glama

Greece Invoice MCP 🇬🇷 — How can my AI agent issue a myDATA τιμολόγιο (timologio) in Greece?

Use it in 60 seconds

Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):

{
  "mcpServers": {
    "greece-invoice": {
      "type": "http",
      "url": "https://inv-gr.wishpool.app/mcp"
    }
  }
}

Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the threat model.

Or run it yourself

Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:

Deploy with Vercel

git clone https://github.com/junter1989k-ai/greece-invoice-mcp && cd greece-invoice-mcp && npx vercel --prod

MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.


Remote MCP server that lets any AI agent issue Greece myDATA electronic invoices (τιμολόγιο / timologio) into the national AADE (ΑΑΔΕ) platform. It builds an AadeBookInvoiceType <InvoicesDoc> XML and transmits it under the merchant's own AADE credentials, returning the official MARK (unique registration number). Stateless, bring-your-own credentials, never stores anything.

Live endpoint: https://inv-gr.wishpool.app/mcp · Registry: app.wishpool/greece-invoice-mcp

Related MCP server: mcp-ai-fiskalizacija

Quick start

{
  "mcpServers": {
    "greece-invoice": {
      "type": "http",
      "url": "https://inv-gr.wishpool.app/mcp",
      "headers": {
        "x-aade-user-id": "<your myDATA user id>",
        "x-aade-subscription-key": "<your Ocp-Apim subscription key>"
      }
    }
  }
}

You register your ERP once on the AADE myDATA portal and receive a user id + subscription key (the developer/test rail issues them instantly). Requests default to the AADE test rail (no fiscal effect); add x-aade-mode: prod for the live rail. Your credentials never leave your side beyond the per-request header.

Tools

Tool

What it does

create_invoice

Build an AadeBookInvoiceType invoice from counterpart_vat + lines (net_value, vat_rate 24/13/9/6/4/17/0) and transmit to AADE myDATA /SendInvoices. Returns the official MARK, invoice uid, qr_url + computed VAT totals.

query_invoice

Look up one of your own transmitted docs by mark via /RequestTransmittedDocs; found:true means AADE has it registered. Pass mark=0 to list from the start.

Amounts are in EUR, VAT-exclusive per line. Greek VAT rates map to AADE vatCategory automatically: 24 (cat 1, mainland standard), 13 (2), 6 (3), 17 (4), 9 (5), 4 (6), 0 (7, exempt — needs a vat_exemption_category 1-31). invoice_type defaults to 1.1 (sales); use 2.1 for services, 5.1 for a credit note.

No cancel at the API level — corrections are issued as a credit note (invoice_type 5.1). Income classification (E3) is optional per line (income_classification_type / income_classification_category) — supply it if your accounting requires it.

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.

Endpoints wrapped (AADE myDATA REST, ERP channel)

  • Base: DEV https://mydataapidev.aade.gr/ · PROD https://mydatapi.aade.gr/myDATA/

  • Headers forwarded: aade-user-id, ocp-apim-subscription-key, Content-Type: text/xml

  • Send: POST /SendInvoices (raw <InvoicesDoc> XML body) → <ResponseDoc> with statusCode + invoiceUid / invoiceMark / qrUrl

  • Query: GET /RequestTransmittedDocs?mark={n} → your transmitted docs with MARK greater than n

Develop

node test/serve.js   # local server on :3237
node test/e2e.js     # protocol + validation + VAT math + AadeBookInvoiceType structure + fake-header live probes

Safety

Pure stateless translation layer over the national AADE myDATA API. The user id + subscription key travel per-request in headers, nothing is stored. Privacy policy.

Sister servers

National e-invoicing, one family: Romania e-Factura (inv-ro) · Mexico CFDI (inv-mx) · Brazil NF-e (inv-br) · Chile DTE (inv-cl) · Peru CPE (inv-pe) · India GST (inv-in). Local payments in 81 countries: mcp.wishpool.app.

MIT licensed.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates with the Turkish Revenue Administration (GİB) e-Arşiv Fatura system to manage e-invoices via natural language. Users can list, search, create, and cancel invoices, as well as validate Turkish tax numbers and retrieve UBL-TR format XML data.
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for creating and fiscalizing invoices via solo.com.hr API. Enables AI agents to generate invoices, retrieve invoice details, list invoices, and check next invoice number.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to issue Mexico CFDI 4.0 electronic invoices (factura electrónica) via Facturapi, with tools for creating, querying, canceling, and sending invoices.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to issue Peruvian electronic invoices (factura/boleta) declared to SUNAT via Nubefact. Supports creating, querying, and canceling invoices with automatic IGV tax computation.
    MIT