About uae-einvoice-mcp
uae-einvoice-mcp is an MCP server for finance and ERP teams checking UAE e-invoice data against PINT AE requirements. It combines TRN/TIN checks, a 51-field checklist, XML generation and Schematron validation.
Key features
- 01TRN/TIN 格式与校验位检查
- 0251 项必填字段清单
- 03发票结构与范围检查
- 04生成 UBL 2.1 XML
- 05PINT AE Schematron 验证
- 06查询强制实施阶段与要求
Use cases
- 01核对企业税务识别号
- 02检查发票字段缺失或无效
- 03生成并验证 PINT AE XML
- 04判断交易是否在强制范围内
MCP support
通过 stdio 提供工具,让 MCP 客户端调用阿联酋电子发票检查、生成和要求查询功能。
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 5d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| taxId | string | Yes | 15-digit TRN or 10-digit TIN (spaces/dashes allowed) |
Details
From the project READMEuae-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 validation, digital signatures, or live FTA register checks.
validate_pint_ae_xmlruns 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
| 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 Invoice/CreditNote (optional strict mode) |
validate_pint_ae_xml | Official PINT AE 1.0.4 Schematron (shared + UAE rules); first call downloads and compiles the rules |
get_einvoicing_requirements | Mandate phases, excluded transactions, recent MoF amendments, technical baseline, next actions |
check_einvoicing_scope | Per-transaction scope: B2B/B2G/B2C, Tax Group, sovereign, air, exempt finance — mandatory / excluded / voluntary |
Requirements
- Node.js 20+
Install / run
npm install
npm run build
npm start
Dev (TypeScript directly):
npm run dev
Self-check (no MCP client needed):
npm run selfcheck
MCP Inspector
npm run 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):
{
"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.
Suggested test flow
check_pint_ae_fieldswithexamples/compliant-invoice.jsongenerate_pint_ae_xmlwith the same payload (strict: trueshould succeed)validate_pint_ae_xmlon the generated XML (first call downloads PINT AE 1.0.4 rules)- Repeat 1–2 with
examples/credit-note.jsonandexamples/usd-invoice.json generate_pint_ae_xmlwithexamples/broken-invoice.jsonandstrict: true(should refuse)check_einvoicing_scopewithtransactionKind: b2band an annual revenue
Roadmap
- 51-field checklist + PINT AE XML stub generation
- Official PINT AE 1.0.4 Schematron validation (
validate_pint_ae_xml) - Per-transaction scope helper (
check_einvoicing_scope) - Credit-note and non-AED fixtures + CI self-check
- Optional HTTP + API-key transport for hosted / paid tier
- Publish to npm (
[email protected]) - List in MCP registry (
io.github.mirzaabubakr/uae-einvoice-mcp)
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.