Is the Zugferd Validator Validator MCP server down?

mcp-registry/de.zugferd-validator/validator · v1.0.0

healthy
Last checked 2026-10-22 19:15 UTC · handshake 512ms

As of 2026-10-22 19:15 UTC, the Zugferd Validator Validator MCP server is up with a Glimind reliability score of 85/100 (grade B). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 30 outages in 90 days, with a median recovery of 6 minutes.

uptime (30d checks)
99.9%
checks observed
4,302
outages (90d)
30
tools
5

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

Install Zugferd Validator Validator MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http zugferd-validator-validator-mcp-server https://api.zugferd-validator.de/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "zugferd-validator-validator-mcp-server": {
      "type": "http",
      "url": "https://api.zugferd-validator.de/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: C (77/100)

C (77/100): 0 error(s), 4 warning(s) across 5 tool(s); ~2,420 tokens of tool definitions.
Scores higher than 28% of 15,555 MCP servers Glimind has audited.
Its tool list costs an agent ~2,420 tokens per session — more than 50% of servers.
77 → 77 since 2026-10-17
no tool-poisoning patterns
Schemas100
Descriptions100
Safety hints4
Token cost80
Client compatibility70
Protocol100
Reliability85
Stability100

What to fix (5)

1 tool definition(s) exceed ~1,200 tokens each (largest: create_invoice, ~1,681).

Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~1,081 tokens every session. How to fix →

Tools: create_invoice · saves ~1,081 tokens/session

5 of 5 tool(s) carry no readOnlyHint/destructiveHint annotations.

Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →

Tools: check_consistency, create_invoice, extract_xml, validate_invoice, validation_report

1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.

Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →

Tools: create_invoice

Handshake + tools/list takes ~2,469 ms.

Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

Auto-fix: 3 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fde.zugferd-validator%2Fvalidator/fixes

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

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/de.zugferd-validator/validator"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/de.zugferd-validator/validator"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fde.zugferd-validator%2Fvalidator.svg)](https://glimind.com/server/mcp-registry%2Fde.zugferd-validator%2Fvalidator?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fde.zugferd-validator%2Fvalidator?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fde.zugferd-validator%2Fvalidator.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fde.zugferd-validator%2Fvalidator.svg
   :target: https://glimind.com/server/mcp-registry%2Fde.zugferd-validator%2Fvalidator?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:7a5928eabd3743e0…, first seen 2026-10-17, included at leaf 981 of 47,645. Version history · verify what your client received.

Tools (5)

Compare: most reliable files servers · most reliable knowledge servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

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

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Zugferd Validator Validator MCP server down right now?

As of 2026-10-22 19:15 UTC, the Zugferd Validator Validator MCP server is up with a Glimind reliability score of 85/100 (grade B). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 30 outages in 90 days, with a median recovery of 6 minutes.

How many tools does Zugferd Validator Validator MCP server provide?

Zugferd Validator Validator MCP server advertises 5 tools, including check_consistency, create_invoice, extract_xml, validate_invoice, validation_report.

How do I install Zugferd Validator Validator MCP server?

Point your MCP client at this streamable-http endpoint: https://api.zugferd-validator.de/mcp

Is the Zugferd Validator Validator MCP server safe to connect to an AI agent?

Glimind scanned all 5 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Zugferd Validator Validator MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve