Skip to main content

mcp-einvoicing-ae 🇦🇪

English | العربية

PyPI version Python License


v0.2.0 published 2026-08-28. AEInvoice, AEParty, AETaxDataDocument, and the generate/validate/parse MCP tools are live on PyPI and the MCP registry. validate_invoice_ae now checks core's shared CEN EN16931 base Schematron rather than the self-compiled OpenPeppol-derived stylesheets v0.1.0 bundled without confirmed redistribution rights; validate_tdd_ae currently reports "unavailable" — see Supported standards and Tools below.


Introduction

mcp-einvoicing-ae is an MCP (Model Context Protocol) server that exposes tools for United Arab Emirates electronic invoicing. It is part of the mcp-einvoicing-* family of country-specific servers, all built on mcp-einvoicing-core, which provides the shared validation engine, EN 16931 abstractions, and Peppol network utilities.


Current status

Normative specifications and FTA guidelines were supplied on 2026-08-26, resolving the publication-status gate and the invoice-tree pathway. The core-gap check (2026-08-27) added TaxIdentifier.validate_ae_trn() to mcp-einvoicing-core v1.22.0 and confirmed the profile-URN and TDD-transport questions were not core gaps at all. Model, validator, and MCP tool code all landed the same day, and v0.1.0 published the same week.

Area Status
Repository, CI, governance docs Done
Package skeleton (src/ layout, server entry point) Done
PINT AE publication status Confirmed (2026-08-26)
Normative specifications under specs/ Supplied (2026-08-26)
Invoice-tree pathway ConfirmedEN16931Invoice
Supported standards and profile URNs Known — see below
Core-gap check (mcp-einvoicing-core) DoneTaxIdentifier.validate_ae_trn(), core v1.22.0
AEInvoice / AEParty (billing + self-billing) Implemented (2026-08-27)
AETaxDataDocument (Peppol AE TDD model) Implemented — no validation available (see below)
Invoice validation (validate_invoice_ae) CEN EN16931 base only (v0.2.0, 2026-08-28) — the PINT AE jurisdiction overlay and TDD Schematron/XSD v0.1.0 bundled had no confirmed redistribution rights and were removed; see Supported standards
profile_registry registration (PINT AE URNs) Done
MCP tools (generate / validate / parse) Implemented (2026-08-27) — see Tools
First release (v0.1.0) Published (2026-08-27) — PyPI and MCP registry
Licensing fix release (v0.2.0) Published (2026-08-28) — see CHANGELOG.md

The publication gate — resolved 2026-08-26

At the prior verification of the OpenPeppol jurisdiction PINT documentation index (2026-06-29), the published jurisdiction profiles were the EU, Singapore, Australia and New Zealand, Japan, and Malaysia; the UAE was absent. Documents supplied on 2026-08-26 resolve this: the UAE Peppol Authority's own release notes record PINT AE (billing) at "Status: Final", version 1.0.4, released 2026-06-02, and the Peppol AE Tax Data Document (TDD — the 5th-corner reporting document) at "Status: Final", version 1.0.3, released 2026-05-25. The FTA's own June 2026 guideline states directly that the PINT-AE billing specifications "are published on its website."

One caveat remains open: this is the specialization publisher's own release-status label, not an independently observed OpenPeppol governance-registry page — strong evidence, not full certainty. Full detail and citations: specs/README.md and the monorepo's context-library/countries/ae.md.


Supported standards

  • PINT AE (billing) — UBL 2.1, CustomizationID: urn:peppol:pint:billing-1@ae-1, ProfileID: urn:peppol:bis:billing. Version 1.0.4 (2026-06-02).
  • PINT AE (self-billing)CustomizationID: urn:peppol:pint:selfbilling-1@ae-1, ProfileID: urn:peppol:bis:selfbilling.
  • Peppol AE TDD (Tax Data Document) — the 5th-corner reporting document sent to the FTA; its own XML namespace (urn:peppol:schema:taxdata:1.0), not a UBL invoice. Version 1.0.3 (2026-05-25).

The UAE programme is a decentralized Peppol 5-corner model routed through Accredited Service Providers, adding a tax-authority reporting leg (the TDD above) beyond the 4-corner exchange used elsewhere in this family. The invoice-tree pathway is confirmed EN16931Invoice (PINT AE is a UBL 2.1 CIUS of EN 16931-1:2017) — no JSON binding was found in the supplied specifications.

AEInvoice reuses mcp_einvoicing_core.wire_formats.EN16931UBLSerializer/EN16931UBLParser directly rather than a bespoke serializer, since profile/business_process hold the real Peppol URNs. AEParty.vat_id carries the 15-digit TRN, format-validated via TaxIdentifier.validate_ae_trn() (core v1.22.0); the Peppol participant ID (TIN) is auto-derived as its first 10 digits. AETaxDataDocument models the TDD's mandatory fields but is not a UBL invoice and is not built on AEInvoice. MCP tools reuse this stack directly — see Tools for what's covered and what isn't. The TDD transport channel (same AS4 channel as the invoice, or a separate one) remains an open documentation question, not a code gap. Full detail: specs/README.md.

Validation scope, as of v0.2.0: validate_invoice_ae checks the CEN EN16931 base Schematron only (structural + arithmetic/totals rules, shared with mcp-einvoicing-be/mcp-ksef-pl) — not the PINT AE jurisdiction overlay (ibr-*-ae rules). BR-CO-09 (VAT identifier must carry an ISO 3166-1 alpha-2 prefix) is expected to fire on every genuine AE invoice, since UAE TRNs carry no country prefix; this is disclosed in every result, not a defect in your data. validate_tdd_ae currently has no validation available at all. v0.1.0 bundled five self-compiled files derived from OpenPeppol's PINT AE and TDD Schematron/XSD sources with no confirmed redistribution rights — removed in v0.2.0. See CHANGELOG.md and this monorepo's context-library/decisions/peppol-schematron-artifact.md.


Installation

Requirements

Using uvx (recommended)

uvx mcp-einvoicing-ae

Using uv

uv add mcp-einvoicing-ae

From source

git clone https://github.com/cmendezs/mcp-einvoicing-ae.git
cd mcp-einvoicing-ae
uv sync --all-extras

Configuration

Add the server to your MCP client configuration:

{
  "mcpServers": {
    "einvoicing-ae": {
      "command": "uvx",
      "args": ["mcp-einvoicing-ae"]
    }
  }
}

Environment variables

Variable Required Default Description
LOG_LEVEL No INFO Logging level: DEBUG, INFO, WARNING, or ERROR

Country-specific variables (transport endpoints, credentials, environment switches) are added once the specification documents them. See .env.example.


Tools

Tool Description
generate_invoice_ae Generate a PINT AE UBL 2.1 invoice XML (billing or self-billing) from structured data. Only the EN 16931 core field set is emitted — AEParty.trade_license_number has no mapping in core's generic UBL serializer yet and is dropped from the output.
validate_invoice_ae Validate a PINT AE UBL 2.1 invoice against core's shared CEN EN16931 base Schematron (structural + arithmetic/totals rules only — not the PINT AE jurisdiction overlay). Requires the xslt2 extra.
validate_tdd_ae Always returns an explicit "unavailable" result — no licensed validation artifact is currently available for the Peppol AE Tax Data Document (TDD).
parse_invoice_ae Parse a PINT AE UBL 2.1 invoice XML into a structured dict (EN 16931 core field set only — AE-specific extensions such as trade_license_number are not extracted).

generate_invoice_ae/validate_invoice_ae/parse_invoice_ae require mcp-einvoicing-ae[xslt2] (bundles saxonche) for the base Schematron validator to load; without it, validate_invoice_ae returns an explicit "unavailable" result rather than a silent pass.

The tool reference in docs/TOOLS.md is generated from the running server:

uv run python scripts/gen_tool_reference.py

Contributing

See CONTRIBUTING.md for development setup, the test and lint commands, and the pull request checklist. Security issues follow the private disclosure process in SECURITY.md.


Other e-invoicing MCP servers

Country Server
🌍 Global mcp-einvoicing-core
🇧🇪 Belgium mcp-einvoicing-be
🇧🇷 Brazil mcp-nfe-br
🇫🇷 France mcp-facture-electronique-fr
🇩🇪 Germany mcp-einvoicing-de
🇮🇹 Italy mcp-fattura-elettronica-it
🇵🇱 Poland mcp-ksef-pl
🇸🇬 Singapore mcp-invoicenow-sg
🇪🇸 Spain mcp-facturacion-electronica-es
🇦🇪 United Arab Emirates mcp-einvoicing-ae

License

This project is licensed under the Apache 2.0 license — see LICENSE for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_einvoicing_ae-0.2.0.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_einvoicing_ae-0.2.0-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_einvoicing_ae-0.2.0.tar.gz.

File metadata

  • Download URL: mcp_einvoicing_ae-0.2.0.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_einvoicing_ae-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b5f95df8eb0d5806a66109651790f75fd98b3de46087eb79f599ea9efae5facc
MD5 83041d33bfe094ac9e3d65d79a6ab9f9
BLAKE2b-256 39a874c90da3b16bb31fad0dc9d7944be2c8c451fa83ba0565b6bd60f371f05f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_einvoicing_ae-0.2.0.tar.gz:

Publisher: publish.yml on cmendezs/mcp-einvoicing-ae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_einvoicing_ae-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_einvoicing_ae-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2da5bb92825d7a1bf0283e42dbbb45f3be8af63c10f10e9e6d75d95f085c09bd
MD5 75ca4e86401f9cd80f9c1275a6c261e0
BLAKE2b-256 d1da2259ffd67c397df2262262579b1a5f8e9af11d4a672bba46438ec485a4d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_einvoicing_ae-0.2.0-py3-none-any.whl:

Publisher: publish.yml on cmendezs/mcp-einvoicing-ae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page