UAE e-invoicing MCP: TRN/TIN checks, 51-field PINT AE checklist, UBL XML stubs, mandate timeline.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y uae-einvoice-mcp
MCP client config
{
"mcpServers": {
"uae-einvoice": {
"command": "npx",
"args": [
"-y",
"uae-einvoice-mcp"
]
}
}
}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/Schematron validation or live FTA register checks.
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.
| Tool | What it does |
|---|---|
lookup_business_trn | Validates 15-digit TRN or 10-digit TIN format, UAE 1… prefix, Peppol AE:TIN check digit, and returns 0235:<TIN> |
check_invoice_compliance | Structural checks (parties, totals math, tax breakdown, lines) with errors/warnings/score |
check_pint_ae_fields | Full 51-field mandatory matrix: present / missing / invalid / N/A + gaps |
generate_pint_ae_xml | Builds a UBL 2.1 PINT AE-shaped Invoice/CreditNote XML stub (optional strict mode) |
get_einvoicing_requirements | Mandate phases (large / SME / government), technical baseline, and next actions |
npm install
npm run build
npm start
Dev (TypeScript directly):
npm run dev
Self-check (no MCP client needed):
npm run selfcheck
npm run inspector
Paste fixtures from examples/compliant-invoice.json or examples/broken-invoice.json into the tools.
Published package (recommended):
{
"mcpServers": {
"uae-einvoice": {
"command": "npx",
"args": ["-y", "uae-einvoice-mcp"]
}
}
}
Local checkout:
{
"mcpServers": {
"uae-einvoice": {
"command": "node",
"args": ["/absolute/path/to/uae-einvoice-mcp/dist/index.js"]
}
}
}
See also .cursor/mcp.json.example.
check_pint_ae_fields with examples/compliant-invoice.jsongenerate_pint_ae_xml with the same payload (strict: true should succeed)generate_pint_ae_xml with examples/broken-invoice.json and strict: true (should refuse)uae-einvoice-mcp@0.2.1)mcp-publisher publish)MIT