GCC e-Invoice Preflight Oracle

tech.noahsarchPublished by noahsarch.techOfficial publisherv0.1.1Updated Nov 1, 2026

Validate UAE PINT AE and Saudi ZATCA e-invoices: UBL, official Schematron, QR, fix hints.

The publisher's own server: Business-Day Oracle

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that preflights UAE PINT AE and Saudi ZATCA e-invoices, returning verdicts, official rule findings and fix hints.

What you can do
  • Validate one UBL Invoice or CreditNote against UBL 2.1 XSD, the PINT AE Schematron and UAE cross-checks, or a ZATCA pre-check
  • Run batch preflight of up to 100 documents with readiness percentage, top rejection rules and optional printable HTML
  • Extract seller, buyer, totals, VAT breakdown and rule set from a UBL document without validating
  • Look up official PINT AE rule ids, severities and texts, filtered by severity or text
  • Check a UAE TRN format and derive the Peppol 0235 participant identifier
  • Decode or encode the base64 TLV of a Saudi e-invoice QR
When to use it
Useful when you prepare or test UAE or Saudi e-invoices and want to catch schema, Schematron and QR problems before submitting to an Accredited Service Provider or ZATCA, including ERP regression batches and go-live readiness checks.
Requirements
Remote streamable HTTP endpoint; no local install. An X-API-Key header from the provider is needed for paid tools such as batch readiness reports; the catalogue and free tools work without it.
Before you install
Batch readiness reports are charged per document, so calls can cost money. Invoice documents are sent to a third-party service; the server states they are validated in memory and not stored or logged. Treat the API key as a secret.

Installation

In SourceWeft

  1. Open GCC e-Invoice Preflight Oracle in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/tech.noahsarch%2Feinvoice-preflight/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "gcc-e-invoice-preflight-oracle": {
      "type": "http",
      "url": "https://einvoice.noahsarch.tech/mcp"
    }
  }
}

Tools

7

validate_invoice

Validate one e-invoice (UAE PINT AE / KSA ZATCA)

Full preflight of one UBL Invoice or CreditNote: XML well-formedness, UBL 2.1 XSD, the official PINT AE Schematron (≈300 rules incl. the UAE jurisdiction overlay) or the ZATCA pre-check, plus advisory cross-checks. Returns a verdict and every finding with rule id, severity, fields, location and fix hint. Example: xml '<Invoice …>', jurisdiction 'auto'. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parametersxmlrequiredpreflightinclude_infojurisdiction

readiness_report

Validate up to 100 e-invoices and summarise readiness

Batch preflight for a go-live check or an ERP regression suite: per-document verdicts, readiness percentage, the most frequent rejection rules across the batch, optional printable HTML. Charged per document. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parametersformatdocumentsrequiredpreflightjurisdiction

extract_summary

Read the key fields of a UBL invoice

Seller/buyer (names, TRN, endpoint, legal registration, emirate), dates, currency, totals, VAT breakdown, line count, payment means, attachments and the detected rule set — without validating. Free. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parametersxmlrequired

list_rules

List the official PINT AE rules

Rule ids, severities and texts from the installed PINT AE Schematron (shared PINT rules and the -ae jurisdiction rules), filterable by severity or text, with fix hints where we have them. Free. Example: contains 'TaxPointDate'. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parameterscontainsseverityjurisdiction

check_trn

Check a UAE TRN and derive the Peppol endpoint

Format check of a UAE Tax Registration Number (15 digits) and derivation of the TIN / Peppol participant identifier (scheme 0235 = first 10 digits). Free. Example: trn '100 1234 5670 0003'. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parameterstrnrequired

zatca_qr_decode

Decode a ZATCA QR (TLV)

Decode the base64 TLV of a Saudi e-invoice QR into seller name, VAT number, timestamp, totals, hash, signature and key tags, with phase detection and format issues. Free. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parametersqrrequired

zatca_qr_encode

Build a ZATCA QR (TLV) payload

Encode the five phase-1 fields (plus optional phase-2 hash/signature/key tags) into the base64 TLV string that goes into the QR image and the UBL QR reference. Free. Response: result with verdict (ACCEPTED | ACCEPTED_WITH_WARNINGS | REJECTED), findings[] (id, severity, message, fields, location, fix_hint, source = xsd | schematron | preflight), counts, ruleset version and timings, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Documents are validated in memory and never stored or logged.

Parameterstimestamprequiredvat_totalrequiredpublic_keyvat_numberrequiredseller_namerequiredinvoice_hashtotal_with_vatrequiredecdsa_signaturecertificate_signature

Version history

1
  1. v0.1.1LatestNov 1, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Noahsarch integrations