ZUGFeRD Validator

Validiert E-Rechnungen (ZUGFeRD/Factur-X, XRechnung) gegen EN 16931 mit Korrekturvorschlägen.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
76%
Integridad del esquema
100%
Calidad de los nombres
92%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (4)

  • LOWTool 'validate_invoice' description lacks action verben validate_invoice
  • LOWTool 'extract_xml' description lacks action verben extract_xml
  • LOWTool 'check_consistency' description lacks action verben check_consistency
  • LOWTool 'create_invoice' description lacks action verben create_invoice

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,357Tokens (definiciones de herramientas)
~4.3 KBTamaño de respuesta típico
Impacto moderado en la atención (1.84% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "validator": {
      "command": "npx",
      "args": [
        "zugferd-mcp-client"
      ]
    }
  }
}

Paquetes ejecutables

npmzugferd-mcp-client1.1.1stdio

Puntos de conexión remotos

https://api.zugferd-validator.de/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪validate_invoice(file_content, file_type, profile)

Validiert eine E-Rechnung (ZUGFeRD/Factur-X PDF oder XRechnung XML) gegen EN 16931 und gibt strukturierte Ergebnisse mit Korrekturvorschlägen zurück.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file_content": {
      "type": "string",
      "description": "Base64-kodierter Inhalt der PDF- oder XML-Datei"
    },
    "file_type": {
      "type": "string",
      "enum": [
        "pdf",
        "xml"
      ],
      "description": "'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung"
    },
    "profile": {
      "type": "string",
      "enum": [
        "minimum",
        "basic_wl",
        "basic",
        "en16931",
        "extended",
        "xrechnung"
      ],
      "description": "Erwartetes Profil (optional, wird automatisch erkannt)"
    }
  },
  "required": [
    "file_content",
    "file_type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢extract_xml(pdf_content)

Extrahiert die eingebettete XML-Datei aus einem ZUGFeRD/Factur-X PDF.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf_content": {
      "type": "string",
      "description": "Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei"
    }
  },
  "required": [
    "pdf_content"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_consistency(pdf_content)

Prüft ob die sichtbaren PDF-Daten mit den eingebetteten XML-Daten übereinstimmen.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf_content": {
      "type": "string",
      "description": "Base64-kodierter Inhalt der ZUGFeRD-PDF-Datei"
    }
  },
  "required": [
    "pdf_content"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_invoice(format, document_type, type_code, preceding_invoice, number, ...)

Erstellt aus strukturierten Daten eine valide E-Rechnung — entweder als ZUGFeRD-PDF (PDF/A-3 mit eingebettetem XML) oder als reines XRechnung-XML (mit Leitweg-ID für B2G). Unterstützt mehrere Positionen, alle USt-Kategorien, Rabatte/Zuschläge und Zahlungsangaben. Stateless — es wird nichts gespeichert.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "zugferd",
        "xrechnung"
      ],
      "description": "'zugferd' = PDF/A-3 mit eingebettetem XML, 'xrechnung' = reines XML"
    },
    "document_type": {
      "type": "string",
      "enum": [
        "invoice",
        "credit_note",
        "corrected",
        "self_billed",
        "prepayment",
        "partial",
        "debit_note"
      ],
      "description": "Dokumenttyp (Standard invoice). credit_note=Gutschrift/Storno, corrected=Korrektur, self_billed=Gutschriftverfahren, prepayment=Anzahlung, partial=Teilrechnung, debit_note=Belastungsanzeige. Mappt auf BT-3."
    },
    "type_code": {
      "type": "string",
      "description": "Roher UNTDID-1001-Code (überschreibt document_type; für seltene Typen wie 875-877 Bauleistung)"
    },
    "preceding_invoice": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string"
        },
        "date": {
          "type": "string",
          "description": "YYYY-MM-DD"
        }
      },
      "required": [
        "number"
      ],
      "additionalProperties": false,
      "description": "Bezug auf die Ursprungsrechnung (BT-25/26) — bei Storno, Korrektur oder Gutschrift angeben"
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "description": "Belegnummer"
    },
    "date": {
      "type": "string",
      "description": "Belegdatum (YYYY-MM-DD)"
    },
    "currency": {
      "type": "string",
      "description": "Währung (Standard EUR)"
    },
    "seller": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Firmenname / Name"
        },
        "street": {
          "type": "string",
          "description": "Straße und Hausnummer"
        },
        "zip": {
          "type": "string",
          "description": "Postleitzahl"
        },
        "city": {
          "type": "string",
          "description": "Ort"
        },
        "country": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "description": "ISO-3166 Alpha-2 Ländercode, Standard DE"
        },
        "vat_id": {
          "type": "string",
          "description": "USt-IdNr. (z.B. DE123456789)"
        },
        "email": {
          "type": "string",
          "description": "E-Mail / elektronische Adresse (für XRechnung Pflicht)"
        },
        "phone": {
          "type": "string",
          "description": "Telefon (Kontakt)"
        },
        "contact_name": {
          "type": "string",
          "description": "Ansprechpartner"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "description": "Verkäufer / Rechnungssteller. Weglassen, wenn im Konto feste Absenderdaten hinterlegt sind — sie werden dann eingesetzt."
    },
    "buyer": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/properties/seller/properties/name"
        },
        "street": {
          "$ref": "#/properties/seller/properties/street"
        },
        "zip": {
          "$ref": "#/properties/seller/properties/zip"
        },
        "city": {
          "$ref": "#/properties/seller/properties/city"
        },
        "country": {
          "$ref": "#/properties/seller/properties/country"
        },
        "vat_id": {
          "$ref": "#/properties/seller/properties/vat_id"
        },
        "email": {
          "$ref": "#/properties/seller/properties/email"
        },
        "phone": {
          "$ref": "#/properties/seller/properties/phone"
        },
        "contact_name": {
          "$ref": "#/properties/seller/properties/contact_name"
        }
      },
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "description": "Käufer / Rechnungsempfänger"
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Bezeichnung der Position"
          },
          "description": {
            "type": "string",
            "description": "Optionale Detailbeschreibung"
          },
          "quantity": {
            "type": "number",
            "description": "Menge"
          },
          "unit": {
            "type": "string",
            "description": "Einheit (UN/ECE Rec 20, Standard C62 = Stück)"
          },
          "unit_net_price_cents": {
            "type": "integer",
            "description": "Netto-Einzelpreis in Cent"
          },
          "vat_category": {
            "type": "string",
            "enum": [
              "S",
              "Z",
              "E",
              "AE",
              "K",
              "G",
              "O"
            ],
            "description": "USt-Kategorie (Standard S). Z=0%, E=befreit, AE=Reverse-Charge"
          },
          "vat_rate": {
            "type": "number",
            "description": "USt-Satz in Prozent (0 bei Z/E/AE)"
          }
        },
        "required": [
          "name",
          "quantity",
          "unit_net_price_cents",
          "vat_rate"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Rechnungspositionen (mindestens eine)"
    },
    "allowances_charges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "charge": {
            "type": "boolean",
            "description": "true = Zuschlag, false = Rabatt (auf Dokumentebene)"
          },
          "amount_cents": {
            "type": "integer",
            "description": "Betrag in Cent (positiv)"
          },
          "reason": {
            "type": "string",
            "description": "Begründung"
          },
          "vat_category": {
            "$ref": "#/properties/lines/items/properties/vat_category",
            "description": "Zugehörige USt-Kategorie (Standard S)"
          },
          "vat_rate": {
            "type": "number",
            "description": "Zugehöriger USt-Satz in Prozent"
          }
        },
        "required": [
          "charge",
          "amount_cents",
          "vat_rate"
        ],
        "additionalProperties": false
      },
      "description": "Rabatte/Zuschläge auf Dokumentebene"
    },
    "note": {
      "type": "string",
      "description": "Freitext-Hinweis"
    },
    "buyer_reference": {
      "type": "string",
      "description": "Leitweg-ID / Käuferreferenz (BT-10, bei XRechnung Pflicht)"
    },
    "payment_terms": {
      "type": "string",
      "description": "Zahlungsbedingungen (Freitext)"
    },
    "due_date": {
      "type": "string",
      "description": "Fälligkeitsdatum (YYYY-MM-DD)"
    },
    "delivery_date": {
      "type": "string",
      "description": "Leistungs-/Lieferdatum (BT-72, YYYY-MM-DD). In Deutschland Pflichtangabe; ohne Angabe gilt das Belegdatum."
    },
    "billing_period": {
      "type": "object",
      "properties": {
        "start": {
          "type": "string"
        },
        "end": {
          "type": "string"
        }
      },
      "required": [
        "start",
        "end"
      ],
      "additionalProperties": false,
      "description": "Leistungszeitraum (BG-14, BT-73/74) bei laufenden Leistungen, jeweils YYYY-MM-DD. Ersetzt delivery_date."
    },
    "payment_means": {
      "type": "object",
      "properties": {
        "type_code": {
          "type": "string",
          "description": "BT-81 UNTDID-4461-Code (z.B. 58 = SEPA-Überweisung)"
        },
        "iban": {
          "type": "string",
          "description": "IBAN des Zahlungsempfängers"
        },
        "bic": {
          "type": "string",
          "description": "BIC"
        },
        "account_name": {
          "type": "string",
          "description": "Kontoinhaber"
        }
      },
      "additionalProperties": false,
      "description": "Zahlungsangaben (IBAN etc.)"
    },
    "seller_logo": {
      "type": "string",
      "description": "Logo als Base64 (PNG/JPG) — nur im Pro/Ultra-Tarif"
    },
    "self_check": {
      "type": "boolean",
      "description": "Wenn true, wird die erzeugte Rechnung sofort gegen EN 16931 geprüft (langsamer). Standard: false."
    }
  },
  "required": [
    "format",
    "number",
    "date",
    "buyer",
    "lines"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪validation_report(file_content, file_type, attach_source, lang, file_name)

Erzeugt aus einer E-Rechnung einen Validierungsbericht als PDF (PDF/A-3b) zum Ablegen und Weitergeben. Der Bericht nennt Ergebnis, alle Meldungen mit Regel-ID und Feld, den Prüfzeitpunkt, Format und Profil, die SHA-256-Prüfsumme der geprüften Datei sowie die Versionen der Prüfwerkzeuge. Auf Wunsch wird die geprüfte Rechnung sichtbar angehängt. Gibt das PDF base64-kodiert zurück. Ab dem Tarif Automatisieren.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file_content": {
      "type": "string",
      "description": "Base64-kodierter Inhalt der PDF- oder XML-Datei"
    },
    "file_type": {
      "type": "string",
      "enum": [
        "pdf",
        "xml"
      ],
      "description": "Dateityp: 'pdf' für ZUGFeRD/Factur-X, 'xml' für XRechnung/CII"
    },
    "attach_source": {
      "type": "boolean",
      "description": "Geprüfte Rechnung sichtbar anhängen (PDF-Seiten bzw. abgedruckter XML-Inhalt). Standard false."
    },
    "lang": {
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr"
      ],
      "description": "Sprache des Berichts. Standard 'de'."
    },
    "file_name": {
      "type": "string",
      "description": "Dateiname, der im Bericht steht."
    }
  },
  "required": [
    "file_content",
    "file_type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas