Skip to main content

NormAPI

com.normapi/mcpVersion 1.4.0

Validate, generate and read German e-invoices (XRechnung, ZUGFeRD) against the official KoSIT rules.

Status

Responds91 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:08 UTC
Latency
91 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
EU hosting detected (detected, not a legal statement)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://normapi.com/mcpResponds91 ms
No sign-in

Claude Code

claude mcp add --transport http normapi https://normapi.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: normapi
Remote MCP server URL: https://normapi.com/mcp

Cursor

{
  "mcpServers": {
    "normapi": {
      "url": "https://normapi.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"normapi","type":"http","url":"https://normapi.com/mcp"}'
Streamable HTTP
npm: @normapi/mcp 1.4.0
Package only

npm (npx)

claude mcp add normapi -- npx -y @normapi/mcp@1.4.0

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

4 tools

Tools of NormAPI
Read-only
Idempotent
Open world
explain_ruleExplain one EN 16931 / XRechnung / Peppol business rule by its code (e.g. BR-DE-15, BR-CO-10, PEPPOL-EN16931-R010): what it requires, why invoices typically break it, and how to fix it, with a link to the full page. Case does not matter. Schema findings (cvc-*) have no explanation.NoYesYesNo
generate_invoiceProduce an e-invoice as `ubl` or `cii` XML or a ZUGFeRD hybrid PDF (`zugferd`) from invoice data: an XRechnung for a public-sector buyer (profile `xrechnung`, the default), a plain EN 16931 invoice for a business (profile `en16931`). Totals are computed server-side in decimal arithmetic, and the document is validated against the official rules before it is returned. Data the rules do not permit is refused with the broken rules and how to fix each. Needs the user's NormAPI account; each generated document counts against that account's monthly allowance.NoNoNoNo
parse_invoiceRead a received e-invoice — XRechnung or any EN 16931 invoice as UBL or CII XML, or a ZUGFeRD/Factur-X PDF — into structured data. `invoice` is in exactly the shape generate_invoice takes (fields the document lacks are left out); `stated` has the totals, the VAT breakdown and each line net as the document states them, as exact decimal strings; `notMapped` lists by path every value of the document the data does not carry. Send the XML as text in `xml`, the PDF base64-encoded in `pdfBase64`, or an uploaded file in `file` — exactly one. `validate: true` adds the KoSIT verdict. No account needed; 5 MB at most.NoYesYesNo
validate_invoiceCheck an XRechnung (UBL or CII XML) or a ZUGFeRD/Factur-X PDF against the official KoSIT rules. Returns the verdict, the rule set version, and every finding; each business-rule finding comes with a plain-language meaning, cause and fix. Send the XML as text in `xml`, the PDF base64-encoded in `pdfBase64`, or an uploaded file in `file` — exactly one. No account needed; 5 MB at most.NoYesYesNo

Details

Registry status
Active
Published
Nov 13, 2026
Updated
Nov 13, 2026
Repository
Not given
Categories (suggested)
Invoicing and accountingSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing