Invoiceer e-invoicing tools
by invoiceer.io · remote · no sign-in to list tools · v1.1.0 · published by io.invoiceer
Create and validate XRechnung, ZUGFeRD and Peppol e-invoices (KoSIT); Peppol lookup, rule help.
5 tools: 3 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http einvoicing https://invoiceer.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Warncreate_einvoice
The server marks "create_einvoice" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "create_einvoice" says "create": a word for a change.
- Warnexplain_rule
The server marks "explain_rule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "explain_rule" says "explain": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Changes things 3Claude Code: ask
check_leitweg_idCheck a German Leitweg-ID (buyer reference BT-10 for invoices to German public authorities) against the official format and check digit (spec v2.0.2).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 Check a German Leitweg-ID (buyer reference BT-10 for invoices to German public authorities) against the official format and check digit (spec v2.0.2). Returns validity, the parts and the expected check digits.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
create_einvoiceCreate a valid e-invoice from structured data: XRechnung 3.0 (UBL or CII), ZUGFeRD / Factur-X PDF (EN 16931) or Peppol BIS Billing 3.0.1 finding
Why it is in this group
- The name "create_einvoice" says "create": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "create_einvoice" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "create_einvoice" says "create": a word for a change.
Description, as the server wrote it Create a valid e-invoice from structured data: XRechnung 3.0 (UBL or CII), ZUGFeRD / Factur-X PDF (EN 16931) or Peppol BIS Billing 3.0. The file is checked with the official KoSIT validator before it is returned; if it fails, you get the rule errors instead of a file. XML comes back as text in `xml`, the ZUGFeRD PDF as base64 in `pdf_base64`. XRechnung needs a seller contact (contact, phone, email), a buyer email or Peppol ID (electronic address), a buyer_reference (Leitweg-ID for German authorities) and payment details (iban). Peppol needs peppol_id for seller and buyer.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
explain_ruleExplain an e-invoice business rule code (EN 16931 BR-*, BR-CO-*, XRechnung BR-DE-*, Peppol PEPPOL-EN16931-*): official text (with an English translation for German-only rules), pla…1 finding
Why it is in this group
- The name "explain_rule" says "explain": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "explain_rule" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "explain_rule" says "explain": a word for reading.
Description, as the server wrote it Explain an e-invoice business rule code (EN 16931 BR-*, BR-CO-*, XRechnung BR-DE-*, Peppol PEPPOL-EN16931-*): official text (with an English translation for German-only rules), plain-language meaning, severity, the fields (BT/BG) involved and a link to the reference page.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
peppol_lookupCheck whether a company can receive e-invoices over Peppol.No findings
Why it is in this group
- The name "peppol_lookup" says "lookup": a word for reading.
Description, as the server wrote it Check whether a company can receive e-invoices over Peppol. Accepts a Peppol ID (e.g. 0208:0123456749), a VAT number (e.g. BE0123456749, NL...B01) or a Belgian enterprise number. Returns each matching participant ID, whether it is registered, whether it accepts Peppol BIS invoices, and name/country from the Peppol Directory when published.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
validate_einvoiceValidate an e-invoice (XRechnung UBL/CII, ZUGFeRD / Factur-X PDF, Peppol BIS Billing 3.0, EN 16931) with the official KoSIT validator.No findings
Why it is in this group
- The name "validate_einvoice" says "validate": a word for reading.
Description, as the server wrote it Validate an e-invoice (XRechnung UBL/CII, ZUGFeRD / Factur-X PDF, Peppol BIS Billing 3.0, EN 16931) with the official KoSIT validator. Returns valid/invalid, the detected format, every error and warning with its rule code, and the exact corrected value for common calculation errors. Pass the XML as text in `xml`, or a PDF/XML file base64-encoded in `file_base64`. Max 5 MB.
Annotations the server declares
- readOnlyHint: 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.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http einvoicing https://invoiceer.io/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__einvoicing__validate_einvoice",
"mcp__einvoicing__peppol_lookup"
],
"ask": [
"mcp__einvoicing__check_leitweg_id",
"mcp__einvoicing__create_einvoice",
"mcp__einvoicing__explain_rule"
],
"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 einvoicing. Review it before you use it.