protogrid

Search / uk.alexhub/einvoice-validator

e-Factura Validator (Romania)

R0· no sign-in

Validate, fix and generate Romanian e-Factura; check SAF-T D406 (ANAF validator + consistency)

v1.9.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust82of 100
Uptime, 30 days95%
Latency p50650 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "einvoice-validator": {
      "type": "http",
      "url": "https://einvoice.alexhub.uk/mcp"
    }
  }
}
claude mcp add --transport http einvoice-validator https://einvoice.alexhub.uk/mcp
[mcp_servers.einvoice-validator]
url = "https://einvoice.alexhub.uk/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "einvoice-validator": {
      "type": "remote",
      "url": "https://einvoice.alexhub.uk/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "einvoice-validator": {
      "type": "http",
      "url": "https://einvoice.alexhub.uk/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=einvoice-validator&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZWludm9pY2UuYWxleGh1Yi51ay9tY3AifQ%3D%3D"
}
{
  "servers": {
    "einvoice-validator": {
      "type": "http",
      "url": "https://einvoice.alexhub.uk/mcp"
    }
  }
}
{
  "mcpServers": {
    "einvoice-validator": {
      "httpUrl": "https://einvoice.alexhub.uk/mcp"
    }
  }
}
extensions:
  "einvoice-validator":
    enabled: true
    name: "einvoice-validator"
    type: streamable_http
    uri: "https://einvoice.alexhub.uk/mcp"
    timeout: 300

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,068 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes40 tool changes in 30 days
  • fail
    stability.rug_pull4 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 3,068 tokens to load them all · tool set e0b757218291 · tools last changed 2026-11-05 · checked 2026-11-07 17:28 UTC

Tool changes

  • fix_invoicechangeddescription
    before

    Use when a validation report lists 'autofix' rules, or ANAF rejected an invoice for codes, dates or totals, and you want the corrected XML instead of editing it yourself: fixes county/sector/country/currency/unit codes, date formats, VAT-id prefixes, decimals, totals and VAT recomputed from the lines. Lists every change (field, old, new) and re-validates the result. Paid: $0.05 USDC via x402, charged only if something was fixed. Review the changes before sending the invoice.

    after · 86% of words in common

    Use when a validation report lists 'autofix' rules, or ANAF or a Peppol access point rejected an invoice for codes, dates or totals, and you want the corrected XML instead of editing it yourself: fixes county/sector/country/currency/unit codes, date formats, VAT-id prefixes, Belgian enterprise numbers (0208), Peppol CustomizationID/ProfileID, empty elements, decimals, totals and VAT recomputed from the lines. Lists every change (field, old, new) and re-validates the result. Paid: $0.05 USDC via x402, charged only if something was fixed. Review the changes before sending the invoice.

  • company_financialsadded

    Use when you need a Romanian company's size or financial health from its CUI (credit check before invoicing or selling on terms, lead qualification, due diligence): the annual statement filed with ANAF: CAEN code, turnover, revenue, expenses, net_result (profit positive, loss negative), employees, assets, debts, equity. Without year: the last closed year with a statement. Only companies file statements (not PFA). Free, shares the 100 lookups per day per IP of lookup_company.

  • validate_ibanchangeddescription, input schemameaning changed
    before

    Check an IBAN (length and check digits) and name the Romanian bank. Free.

    after · 42% of words in common

    Use before putting an IBAN on an invoice or paying to one: checks length and check digits and names the Romanian bank (or the State Treasury). Free.

  • ro_tax_deadlineschangeddescription, input schema
    before

    Romanian monthly filing deadlines (D112, D300, D100, D390, D394, D406) for a reporting month, moved to the next working day when they fall on a weekend or holiday. General rules; confirm special regimes with ANAF. Free.

    after · 88% of words in common

    Use to know when Romanian returns are due: monthly filing deadlines (D112, D300, D100, D390, D394, D406) for a reporting month, moved to the next working day when they fall on a weekend or holiday. General rules; confirm special regimes with ANAF. Free.

  • ro_business_daychangeddescription, input schema
    before

    Is a date a Romanian working day, which is the next one, and (optionally) the date N working days later. Free.

    after · 56% of words in common

    Use to compute a due date in Romanian working days (e.g. the 5 working days to upload an e-Factura): is a date a working day, which is the next one, and the date N working days later. Free.

  • ro_holidayschangeddescription, input schema
    before

    Romanian public (legal) holidays for a year, incl. Orthodox Easter and Rusalii. Free.

    after · 55% of words in common

    Use when planning payment or filing dates in Romania: public (legal) holidays for a year, incl. Orthodox Easter and Rusalii. Free.

  • fx_ratechangeddescription, input schema
    before

    Official BNR (National Bank of Romania) exchange rate: RON per 1 unit of the currency, for a date (default today; weekends/holidays return the last publication). Omit currency for all rates. Free.

    after · 68% of words in common

    Use for an invoice in a foreign currency (e-Factura needs the VAT in RON) or any RON conversion: official BNR (National Bank of Romania) rate, RON per 1 unit of the currency, for a date (default today; weekends/holidays return the last publication). Omit currency for all rates. Free.

  • validate_saftchangeddescription, input schema
    before

    Check a Romanian SAF-T file (D406) before filing it with ANAF: runs ANAF's official validator (DUKIntegrator) for the reporting period and the consistency checks it does not do offline (balanced entries, GL totals, opening + movements = closing per account, trial balance, partner balances, invoice totals, VAT = base x rate, VAT codes valid for the period, CUI/IBAN check digits, chart of accounts). Every finding has a fix in Romanian and English and the correct value where computable. Paid: $0.50 USDC via x402 (network eip155:8453), charged only if a D406 was checked; without a payment it returns the payment requirements.

    after · 95% of words in common

    Use before filing a Romanian SAF-T (D406) with ANAF, for the full report: runs ANAF's official validator (DUKIntegrator) for the reporting period and the consistency checks it does not do offline (balanced entries, GL totals, opening + movements = closing per account, trial balance, partner balances, invoice totals, VAT = base x rate, VAT codes valid for the period, CUI/IBAN check digits, chart of accounts). Every finding has a fix in Romanian and English and the correct value where computable. Paid: $0.50 USDC via x402 (network eip155:8453), charged only if a D406 was checked; without a payment it returns the payment requirements.

  • validate_saft_freechangeddescription, input schema
    before

    Same check as validate_saft, free: 1 file(s) per day per client IP, report limited to the first 10 findings (the total count is given).

    after · 62% of words in common

    Use before filing a Romanian SAF-T (D406) with ANAF, or when ANAF's DUKIntegrator reported errors: same check as validate_saft, free: 1 file(s) per day per client IP, report limited to the first 10 findings (the total count is given).

  • explain_rulechangeddescription, input schemameaning changed
    before

    Explain one business rule by its id (e.g. BR-CO-15, BR-RO-110, PEPPOL-EN16931-R001): official text, plain-English fix and where the field lives in UBL. Free.

    after · 48% of words in common

    Use when ANAF SPV, a Peppol access point or a validation report names a rule (e.g. BR-CO-15, BR-RO-110, PEPPOL-EN16931-R001) and you need to know what it means and how to fix it: official text in English and Romanian, plain-English fix and where the field lives in UBL. Free.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

no-repository
provenance55
liveness98
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-95% +updated-2d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://einvoice.alexhub.uk/mcp streamable-httpnoneyes95%650 ms2024-11-05, 2025-03-26, 2025-06-18, 2025-11-252026-11-07

Tools (14)

company_financialsread-onlyUse when you need a Romanian company's size or financial health from its CUI (credit check before invoicing or selling on terms, lead qualification, due diligence): the annual statement filed with ANAF: CAEN code, turnover, revenue, expenses, net_result (profit positive, loss negative), employees, assets, debts, equity. Without year: the last closed year with a statement. Only companies file statements (not PFA). Free, shares the 100 lookups per day per IP of lookup_company.
explain_ruleread-onlyUse when ANAF SPV, a Peppol access point or a validation report names a rule (e.g. BR-CO-15, BR-RO-110, PEPPOL-EN16931-R001) and you need to know what it means and how to fix it: official text in English and Romanian, plain-English fix and where the field lives in UBL. Free.
fix_invoiceread-onlyUse when a validation report lists 'autofix' rules, or ANAF or a Peppol access point rejected an invoice for codes, dates or totals, and you want the corrected XML instead of editing it yourself: fixes county/sector/country/currency/unit codes, date formats, VAT-id prefixes, Belgian enterprise numbers (0208), Peppol CustomizationID/ProfileID, empty elements, decimals, totals and VAT recomputed from the lines. Lists every change (field, old, new) and re-validates the result. Paid: $0.05 USDC via x402, charged only if something was fixed. Review the changes before sending the invoice.
fx_rateread-onlyUse for an invoice in a foreign currency (e-Factura needs the VAT in RON) or any RON conversion: official BNR (National Bank of Romania) rate, RON per 1 unit of the currency, for a date (default today; weekends/holidays return the last publication). Omit currency for all rates. Free.
generate_invoiceread-onlyUse when you have invoice data but no XML and need a Romanian e-Factura ANAF accepts: builds UBL 2.1 CIUS-RO XML from simple data (number, dates, seller and buyer CUI, lines with name, quantity, unit, price without VAT and VAT rate e.g. 21 or 11, optional IBAN). Company names, addresses, county codes, Bucharest sectors and VAT status come from ANAF; totals and VAT are computed; the XML is validated before it is returned. Paid: $0.05 USDC via x402, charged only when a valid invoice is returned. Other currencies: add 'currency': 'EUR' (BNR rate used unless you pass exchange_rate). Example invoice: {"number": "FCT-0001", "issue_date": "2026-10-24", "due_date": "2026-11-23", "seller": {"cui": "RO12345678"}, "buyer": {"cui": "87654321"}, "payment": {"iban": "RO49AAAA1B31007593840000"}, "lines": [{"name": "Servicii consultanta", "quantity": 10, "unit": "ore", "price": 150, "vat_rate": 21}]}
lookup_companyread-onlyUse when building or checking an invoice for a Romanian company and you only have its CUI, or to check a partner before invoicing: ANAF data already in e-Factura form: legal name, VAT id (RO… only for VAT payers), trade register number, address with county as ISO code (RO-CJ) and Bucharest city as SECTOR1..6, plus flags: inactive, VAT on collection, e-Factura registry. Free, 100 lookups per day per IP.
ro_business_dayread-onlyUse to compute a due date in Romanian working days (e.g. the 5 working days to upload an e-Factura): is a date a working day, which is the next one, and the date N working days later. Free.
ro_holidaysread-onlyUse when planning payment or filing dates in Romania: public (legal) holidays for a year, incl. Orthodox Easter and Rusalii. Free.
ro_tax_deadlinesread-onlyUse to know when Romanian returns are due: monthly filing deadlines (D112, D300, D100, D390, D394, D406) for a reporting month, moved to the next working day when they fall on a weekend or holiday. General rules; confirm special regimes with ANAF. Free.
validate_ibanread-onlyUse before putting an IBAN on an invoice or paying to one: checks length and check digits and names the Romanian bank (or the State Treasury). Free.
validate_invoiceread-onlyUse before uploading an e-Factura to ANAF SPV or sending a Peppol invoice, once the free quota of validate_invoice_free is used up (same report). Every rule violation with a plain-English fix, the UBL path of the field and, for amount errors, the correct value. Paid: $0.01 USDC per call via x402 (network eip155:8453, payment in the request _meta); without a payment it returns the payment requirements. Only real invoices are charged. If the report has 'autofix', fix_invoice can repair those errors.
validate_invoice_freeread-onlyUse before uploading an e-Factura to ANAF SPV, after generating invoice XML, or when ANAF rejected an invoice: validates a UBL 2.1 Invoice/CreditNote (Romanian CIUS-RO 1.0.9, Peppol BIS 3.0, EN 16931) and returns every error with the fix in words, the UBL path of the field and, for amounts, the correct value. Start here: free, no wallet, account or key, 3 calls per day per client IP. Fix the XML from the report and call again. When the quota is used up, switch to validate_invoice.
validate_saftread-onlyUse before filing a Romanian SAF-T (D406) with ANAF, for the full report: runs ANAF's official validator (DUKIntegrator) for the reporting period and the consistency checks it does not do offline (balanced entries, GL totals, opening + movements = closing per account, trial balance, partner balances, invoice totals, VAT = base x rate, VAT codes valid for the period, CUI/IBAN check digits, chart of accounts). Every finding has a fix in Romanian and English and the correct value where computable. Paid: $0.50 USDC via x402 (network eip155:8453), charged only if a D406 was checked; without a payment it returns the payment requirements.
validate_saft_freeread-onlyUse before filing a Romanian SAF-T (D406) with ANAF, or when ANAF's DUKIntegrator reported errors: same check as validate_saft, free: 1 file(s) per day per client IP, report limited to the first 10 findings (the total count is given).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "uk.alexhub/einvoice-validator",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "uk.alexhub": {
        "rules": [
          "CIUS-RO 1.0.9",
          "EN 16931",
          "Peppol BIS Billing 3.0",
          "SAF-T RO schema 2.4.9 (D406)"
        ],
        "tools": [
          "generate_invoice (paid, x402 $0.05: complete e-Factura from JSON, parties from ANAF by CUI)",
          "validate_invoice (paid, x402 $0.01)",
          "fix_invoice (paid, x402 $0.05)",
          "lookup_company (free: ANAF company data by CUI)",
          "company_financials (free: annual statement from ANAF - turnover, profit, employees, assets, debts)",
          "validate_invoice_free (3/day per IP)",
          "explain_rule (free)",
          "fx_rate (free: official BNR exchange rates)",
          "ro_holidays / ro_business_day / ro_tax_deadlines (free: Romanian fiscal calendar)",
          "validate_iban (free)",
          "validate_saft (paid, x402 $0.50: Romanian SAF-T D406 – official ANAF validator + balances, totals, VAT, IDs)",
          "validate_saft_free (1 file/day per IP, first 10 findings)"
        ],
        "payment": "x402, no account or API key"
      }
    }
  },
  "icons": [
    {
      "src": "https://einvoice.alexhub.uk/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "e-Factura Validator (Romania)",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://einvoice.alexhub.uk/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.9.0",
  "websiteUrl": "https://einvoice.alexhub.uk",
  "description": "Validate, fix and generate Romanian e-Factura; check SAF-T D406 (ANAF validator + consistency)"
}