finisma – ZUGFeRD e-invoices
by finisma.de · remote · no sign-in to list tools · v1.0.1 · published by de.finisma
Create ZUGFeRD e-invoices from JSON or PDF, verify Factur-X, check VAT IDs and Peppol.
9 tools: 7 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http finisma https://finisma.de/api/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 7Claude Code: ask
check_peppol_participantPrüft per SML/SMP-Lookup, ob ein Geschäftspartner im Peppol-Netz erreichbar ist, und listet seine registrierten Dokumenttypen.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prüft per SML/SMP-Lookup, ob ein Geschäftspartner im Peppol-Netz erreichbar ist, und listet seine registrierten Dokumenttypen. Akzeptiert eine volle Kennung ("0088:4399901550926"), eine nackte GLN, eine deutsche USt-IdNr. oder eine Leitweg-ID. registered:false ist ein normales Ergebnis, kein Fehler. Kostenlos.
Annotations the server declares
- title: Peppol-Erreichbarkeit prüfen
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
check_vat_idPrüft eine USt-IdNr.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prüft eine USt-IdNr. live gegen VIES (EU-Bestätigungsverfahren): Gültigkeit plus Firmenname, sofern der Mitgliedsstaat ihn herausgibt. Antwort-Status ist valid, invalid oder unavailable (VIES nicht erreichbar — keine Aussage). Kostenlos.
Annotations the server declares
- title: USt-IdNr. prüfen (VIES)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
create_zugferdErzeugt eine ZUGFeRD-PDF aus strukturierten EN-16931-Daten (kein LLM).No findings
Why it is in this group
- The name "create_zugferd" says "create": a word for a change.
Description, as the server wrote it Erzeugt eine ZUGFeRD-PDF aus strukturierten EN-16931-Daten (kein LLM). Mit visueller PDF (pdf_base64/upload_id) wird das XML in diese PDF eingebettet; ohne PDF wird die Rechnung aus den Daten gesetzt, optional mit Logo (logo_base64: PNG, JPEG oder SVG, max. 500 KB) und Sprache (lang: de oder en). Verletzen die Daten EN-16931-Geschäftsregeln, liefert der Remote-Kanal (Chat-Connector) strukturierte Issues statt einer Datei zurück — invoice korrigieren (siehe extract_invoice) und mit denselben Quelldaten (upload_id/pdf_base64) erneut aufrufen. Ohne aktives Abo kostenlos mit Konto (API-Key): die PDF trägt dann das finisma-Prüfsiegel als Wasserzeichen, standardmäßig bis zu 5 Rechnungen pro Tag; mit Abo ohne Wasserzeichen und ohne Tageslimit. Rabatte und Zuschläge je Position (lines[].allowanceCharges) dürfen als Prozentsatz ohne Betrag kommen: amount = round2(Menge × unitPriceNet × percent / 100); ebenso auf die ganze Rechnung (allowanceCharges): Grundbetrag ohne Angabe ist die Summe der lineNetAmount mit ratePercent. lineNetAmount, vatBreakdown und die Summen muss der Aufrufer mit diesen Beträgen rechnen. Für öffentliche Auftraggeber erzeugt invoice.profile='xrechnung' eine XRechnung 3.0 (nur als reines XML über die REST-API mit format=xml; Pflichten: Leitweg-ID in buyerReference, Verkäufer-Kontakt mit Telefon und E-Mail, payment, electronicAddress beider Parteien).
Annotations the server declares
- title: ZUGFeRD-Rechnung erzeugen
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
extract_invoiceExtrahiert EN-16931-Rechnungsdaten aus einer hochgeladenen PDF (Formularfelder) plus Validierungs-Issues, als Korrekturschritt vor create_zugferd: Felder und Issues dem Nutzer zeig…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Extrahiert EN-16931-Rechnungsdaten aus einer hochgeladenen PDF (Formularfelder) plus Validierungs-Issues, als Korrekturschritt vor create_zugferd: Felder und Issues dem Nutzer zeigen, korrigieren lassen, danach create_zugferd mit dem korrigierten invoice und derselben upload_id aufrufen. Unsichere Felder stehen als Platzhalter 'KORRIGIEREN' (Text) bzw. '1900-01-01' (Datum) drin und werden als Issue mit Code EXTRACTION_UNCERTAIN gemeldet — diese Felder müssen vor create_zugferd korrigiert werden. Enthält die PDF bereits eine eingebettete E-Rechnung (ZUGFeRD/Factur-X), kommen die Felder deterministisch aus der XML (source='xml') statt aus einer Sprachmodell-Lesung des Druckbilds. Erfordert ein Konto mit aktivem Abo oder Guthaben.
Annotations the server declares
- title: Rechnungsdaten aus PDF auslesen
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
parse_bank_statementLiest Kontoauszüge, Kontoberichte und Avise (camt.052, camt.053, camt.054, Versionen .02 und .08) und Gebührenabrechnungen (camt.086, .01 bis .05) in strukturiertes JSON; auch mehr…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Liest Kontoauszüge, Kontoberichte und Avise (camt.052, camt.053, camt.054, Versionen .02 und .08) und Gebührenabrechnungen (camt.086, .01 bis .05) in strukturiertes JSON; auch mehrere Dateien als ZIP. 052/053/054: Konten, Salden und Buchungen (Buchungs- und Valutadatum, Betrag, Währung, Soll/Haben, je Transaktion Gegenpartei mit IBAN, Verwendungszweck, End-to-End-Referenz, Buchungscode BkTxCd mit GVC). 086: Abrechnungen mit Services und Summen je Währung. Kostenlos bis 5 Aufrufe pro Monat und Konto. Mit dem Zahlungsverkehr-Abo (Feature payments) ohne Limit. Ohne Abo kostet jeder weitere Aufruf 1 Credit. Ein Konto (API-Key oder OAuth) ist immer nötig.
Annotations the server declares
- title: Kontoauszug auslesen (camt)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
request_upload_linkErzeugt einen kurzlebigen Upload-Link für eine PDF-Rechnung.No findings
Why it is in this group
- The name "request_upload_link" says "request": a word for a change.
Description, as the server wrote it Erzeugt einen kurzlebigen Upload-Link für eine PDF-Rechnung. Nötig für Chat-Clients (ChatGPT, Claude), die eine angehängte Datei nicht zuverlässig als pdf_base64 an ein Tool übergeben können. Zwei Wege: Der Nutzer lädt die PDF über upload_url im Browser hoch, ODER der Client mit Shell und Netzzugriff lädt sie selbst hoch, per POST als Multipart-Feld 'file' an upload_api_url (curl -F "file=@rechnung.pdf"). Für den direkten Weg muss die Domain finisma.de erreichbar sein; in Claude-Umgebungen mit Netz-Sandbox heißt das, finisma.de in der Domain-Allowlist einzutragen. Die zurückgegebene upload_id kann danach bei create_zugferd/verify_zugferd anstelle von pdf_base64 verwendet werden.
Annotations the server declares
- title: Upload-Link für PDF anfordern
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
verify_zugferdPrüft eine ZUGFeRD-/Factur-X-PDF: Struktur, EN-16931-Regeln, PDF/A-3-Anhänge.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prüft eine ZUGFeRD-/Factur-X-PDF: Struktur, EN-16931-Regeln, PDF/A-3-Anhänge.
Annotations the server declares
- title: E-Rechnung prüfen
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
validate_bank_statementPrüft Kontoauszüge, Kontoberichte und Avise (camt.052, camt.053, camt.054 in den Versionen .02 und .08) sowie Gebührenabrechnungen (camt.086, .01 bis .05); auch mehrere Dateien als…No findings
Why it is in this group
- The name "validate_bank_statement" says "validate": a word for reading.
Description, as the server wrote it Prüft Kontoauszüge, Kontoberichte und Avise (camt.052, camt.053, camt.054 in den Versionen .02 und .08) sowie Gebührenabrechnungen (camt.086, .01 bis .05); auch mehrere Dateien als ZIP. Liefert je Datei Nachricht, Version, die Befunde der Prüfregeln (Salden, Summen, IBAN-Prüfziffern, Reihenfolge), das Ergebnis der Schemaprüfung (mit Zeile und Spalte) und ein Gesamturteil. Kostenlos bis 5 Aufrufe pro Tag und Konto. Mit dem Zahlungsverkehr-Abo (Feature payments) ohne Limit. Ohne Abo kauft 1 Credit einen Prüfblock mit 10 weiteren Prüfungen (für Zahlungsdateien und Kontoauszüge gemeinsam, ohne Ablaufdatum). Ein Konto (API-Key oder OAuth) ist immer nötig.
Annotations the server declares
- title: Kontoauszug prüfen (camt)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
validate_payment_filePrüft eine Zahlungsdatei pain.001 (SEPA-Überweisung oder Auslandszahlung AXZ, Versionen .09 und .03).No findings
Why it is in this group
- The name "validate_payment_file" says "validate": a word for reading.
Description, as the server wrote it Prüft eine Zahlungsdatei pain.001 (SEPA-Überweisung oder Auslandszahlung AXZ, Versionen .09 und .03). Erkennt das Profil selbst, fasst den Zahllauf zusammen (Anzahl, Summe je Währung), liefert die Befunde der fachlichen Prüfregeln (Code, Schwere, Meldung, Pfad), das Ergebnis der Schemaprüfung (mit Zeile und Spalte) und ein Gesamturteil. Kostenlos bis 5 Aufrufe pro Tag und Konto. Mit dem Zahlungsverkehr-Abo (Feature payments) ohne Limit. Ohne Abo kauft 1 Credit einen Prüfblock mit 10 weiteren Prüfungen (für Zahlungsdateien und Kontoauszüge gemeinsam, ohne Ablaufdatum). Ein Konto (API-Key oder OAuth) ist immer nötig.
Annotations the server declares
- title: Zahlungsdatei prüfen (pain.001)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http finisma https://finisma.de/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__finisma__validate_payment_file",
"mcp__finisma__validate_bank_statement"
],
"ask": [
"mcp__finisma__verify_zugferd",
"mcp__finisma__create_zugferd",
"mcp__finisma__request_upload_link",
"mcp__finisma__extract_invoice",
"mcp__finisma__check_vat_id",
"mcp__finisma__check_peppol_participant",
"mcp__finisma__parse_bank_statement"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as finisma. Review it before you use it.