MCP server: One MCP server.

UAE Einvoice

@mirzaabubakrMCP server · External

UAE e-invoicing MCP: TRN/TIN checks, 51-field PINT AE checklist, UBL XML stubs, mandate timeline.

Invoicingv0.2.1TypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

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).

npmuae-einvoice-mcpv0.2.1

Run

npx -y uae-einvoice-mcp

MCP client config

{
  "mcpServers": {
    "uae-einvoice": {
      "command": "npx",
      "args": [
        "-y",
        "uae-einvoice-mcp"
      ]
    }
  }
}
README2 min read

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.

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

ToolWhat it does
lookup_business_trnValidates 15-digit TRN or 10-digit TIN format, UAE 1… prefix, Peppol AE:TIN check digit, and returns 0235:<TIN>
check_invoice_complianceStructural checks (parties, totals math, tax breakdown, lines) with errors/warnings/score
check_pint_ae_fieldsFull 51-field mandatory matrix: present / missing / invalid / N/A + gaps
generate_pint_ae_xmlBuilds a UBL 2.1 PINT AE-shaped Invoice/CreditNote XML stub (optional strict mode)
get_einvoicing_requirementsMandate phases (large / SME / government), technical baseline, and next actions

Requirements

  • Node.js 20+

Install / run

bash
npm install
npm run build
npm start

Dev (TypeScript directly):

bash
npm run dev

Self-check (no MCP client needed):

bash
npm run selfcheck

MCP Inspector

bash
npm run inspector

Paste fixtures from examples/compliant-invoice.json or examples/broken-invoice.json into the tools.

Cursor / Claude Desktop (stdio)

Published package (recommended):

json
{
  "mcpServers": {
    "uae-einvoice": {
      "command": "npx",
      "args": ["-y", "uae-einvoice-mcp"]
    }
  }
}

Local checkout:

json
{
  "mcpServers": {
    "uae-einvoice": {
      "command": "node",
      "args": ["/absolute/path/to/uae-einvoice-mcp/dist/index.js"]
    }
  }
}

See also .cursor/mcp.json.example.

Suggested test flow

  1. check_pint_ae_fields with examples/compliant-invoice.json
  2. generate_pint_ae_xml with the same payload (strict: true should succeed)
  3. generate_pint_ae_xml with examples/broken-invoice.json and strict: true (should refuse)

Roadmap

  • 51-field checklist + PINT AE XML stub generation
  • Deeper code-list coverage (UOM, exemption reason codes)
  • Optional HTTP + API-key transport for hosted / paid tier
  • Publish to npm (uae-einvoice-mcp@0.2.1)
  • List in MCP registry (mcp-publisher publish)

License

MIT

Similar modules

Browse Invoicing