uae-einvoice-mcp
[Uae Einvoice MCP server]
MCP server for UAE e-invoicing / PINT AE — TRN/TIN validation, structural compliance, the 51-field mandatory checklist, UBL XML stub generation, and mandate timeline helpers.
Built with the MCP TypeScript SDK v2 (@modelcontextprotocol/server) over stdio. Free to run locally; no API keys required for v0.2.
Informational tooling only — not legal or tax advice, and not a substitute for Accredited Service Provider (ASP) XSD validation, digital signatures, or live FTA register checks. validate_pint_ae_xml runs the official OpenPeppol PINT AE 1.0.4 Schematron.
Why this exists
UAE e-invoicing (Peppol + PINT AE) forces ERP and finance teams to get dozens of mandatory fields, TIN vs TRN, and Peppol endpoint IDs right before an ASP will transmit anything. This server gives AI assistants a small, installable toolkit for those checks.
Tools
Requirements
Install / run
Dev (TypeScript directly):
Self-check (no MCP client needed):
MCP Inspector
Paste fixtures from examples/compliant-invoice.json, examples/credit-note.json, examples/usd-invoice.json, or examples/broken-invoice.json into the tools.
Cursor / Claude Desktop (stdio)
Published package (recommended):
Local checkout:
See also .cursor/mcp.json.example.
Suggested test flow
check_pint_ae_fields with examples/compliant-invoice.json
generate_pint_ae_xml with the same payload (strict: true should succeed)
validate_pint_ae_xml on the generated XML (first call downloads PINT AE 1.0.4 rules)
- Repeat 1–2 with
examples/credit-note.json and examples/usd-invoice.json
generate_pint_ae_xml with examples/broken-invoice.json and strict: true (should refuse)
check_einvoicing_scope with transactionKind: b2b and an annual revenue
Roadmap
License
MIT