Skip to main content
Glama

Rechnungslotse: deutsche E-Rechnung

E-Rechnung gegen EN 16931 prüfen

rechnung_pruefen
Read-only

Prüft eine XRechnung oder ein ZUGFeRD-PDF mit dem vollständigen Normprüfer (EN 16931 + KoSIT-Regeln) und liefert jeden Verstoß mit Regel-ID und Klartext. Die Datei wird nicht gespeichert; sie existiert nur für die Dauer der Prüfung. Zu jeder Regel-ID gibt es eine Erklärseite unter https://rechnungslotse.de/fehler/.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xmlNoDer XML-Inhalt der E-Rechnung als Text (XRechnung/UBL oder CII). Entweder dieses Feld ODER datei_base64.
dateinameNoDateiname mit Endung (.xml oder .pdf) – daraus wird der Typ bestimmt. Vorgabe: rechnung.xml
datei_base64NoDie Datei Base64-kodiert – nötig für ZUGFeRD-PDF, geht auch für XML.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true, and the description goes further by stating a meaningful data-handling guarantee: 'Die Datei wird nicht gespeichert; sie existiert nur für die Dauer der Prüfung.' It also discloses the output shape ('jeden Verstoß mit Regel-ID und Klartext') and directs users to an explanation page, adding behavioral context beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler: purpose, output, privacy behavior, and an external reference link. The most important information is front-loaded, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only validation tool with a fully documented schema and relevant annotations, the description is complete enough: it states what is checked, what the output looks like, that the file is not stored, and where to find rule explanations. The only minor omission is an explicit statement about the result when the invoice is fully valid, but that is reasonably inferable from 'liefert jeden Verstoß'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all three parameters with 100% description coverage, so the baseline is 3. The tool description adds little about how to populate 'xml' versus 'datei_base64' beyond mentioning XRechnung and ZUGFeRD-PDF, but it does not meaningfully enhance the parameter-level guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Prüft'), defines the resource ('XRechnung oder ein ZUGFeRD-PDF'), and specifies the exact standard ('EN 16931 + KoSIT-Regeln'). It also differentiates itself from sibling tools by emphasizing the 'vollständigen Normprüfer' and 'jeden Verstoß', making clear this is the comprehensive compliance checker, not a targeted check like Leitweg or Pflichtangaben.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'vollständigen Normprüfer (EN 16931 + KoSIT-Regeln)' communicates that this tool is for full normative validation of e-invoices, which gives clear context for when an agent should choose it over narrow sibling checkers. However, it does not explicitly name alternatives or state when not to use it, so it stops short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools target distinct resources (customers, services, invoices, payments, legal checks), but rechnung_erstellen vs. leistungen_abrechnen both create invoices and rechnung_pruefen vs. pflichtangaben_pruefen both validate invoices, though with different inputs and scopes. The descriptions are detailed enough to resolve ambiguity after careful reading.

Naming Consistency3/5

The dominant pattern is object_verb (kunden_suchen, rechnung_erstellen, zahlung_erfassen), but several names are noun phrases (offene_posten, leistungen_offen, umsatzsteuer_aufstellung) or noun_noun (rechnung_datei). This mixed convention is still readable but lacks a uniform verb-based structure.

Tool Count3/5

At 18 tools, the server sits in the borderline-heavy range (16-25). The domain of German e-invoicing is broad, but the large number is not fully justified by tool specialization, as some functions (e.g., multiple validation tools) could be consolidated.

Completeness3/5

The surface covers the core lifecycle of services, invoicing, payment recording, and validation, but notable operations are missing: creating credit notes (explicitly referenced in zahlung_erfassen), managing customers, and updating/cancelling invoices. These gaps can lead to dead ends in common workflows like handling overpayments or customer changes.

Resources