Skip to main content
Glama

InvoiceIn

Server Details

Reads and validates any European e-invoice a business receives — XRechnung, UBL, CII, ZUGFeRD/Factur-X PDF, Peppol BIS 3, FatturaPA, KSeF FA(3) — into canonical EN 16931 JSON with plain-language fix hints in EN/DE/PL/IT/FR, plus PDF, CSV and DATEV export. Nothing is stored; works without a key on a small daily quota.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

5 tools
invoice_to_csvExport invoice as CSVB
Read-onlyIdempotent
Inspect

Flat CSV of the invoice: one row per line item, or one row per document.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoLocal file path instead of file_base64; only honoured when the server runs over stdio on the same machine.
levelNo'lines' = one row per line item (document fields repeated), 'documents' = one row per invoicelines
file_base64NoThe invoice file, base64-encoded: XML (UBL, CII, XRechnung, Peppol, FatturaPA, KSeF FA(3)) or a ZUGFeRD/Factur-X hybrid PDF. Up to 25 MB decoded.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already convey safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description does not need to repeat that. It adds a behavioral note that the CSV is 'flat' and that granularity can be per line item or per document, but this largely restates the level parameter's semantics rather than revealing new behavioral traits.

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 a single, compact sentence that front-loads the core output type ('Flat CSV of the invoice') and then immediately clarifies the two row modes. There is no filler or redundant repetition of schema details.

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

Completeness4/5

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

Given the full input schema, an output schema, and read-only/idempotent annotations, the description is largely complete for a straightforward conversion call. It does not need to explain return values or safety. The only notable gap is the lack of anything pointing to when to choose CSV over sibling tools, but that is covered by the usage-guidelines dimension.

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?

Schema description coverage is 100%, so the schema already defines path, level, and file_base64, including formats and constraints. The description's line-item vs document phrasing mirrors the level parameter without adding new parameter-level meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The title and description together make clear that this tool exports an invoice as a CSV, with explicit row-granularity options ('one row per line item' vs 'one row per document'). It clearly identifies the output format and distinguishes it from sibling HTML/Datev converters, though it does not explicitly name the siblings or use a strong verb in the description itself.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool vs the sibling tools invoice_to_html, invoice_to_datev, read_invoice, or validate_invoice. There are no exclusions, prerequisites, or alternative-selection hints; an agent must infer usage solely from the tool name and title.

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

invoice_to_datevExport invoice as DATEV BuchungsstapelA
Read-onlyIdempotent
Inspect

DATEV Buchungsstapel (EXTF 700) text for the incoming invoice: one booking row per VAT-rate group, automatic expense accounts by SKR. Verify account mapping with the tax advisor before import.

ParametersJSON Schema
NameRequiredDescriptionDefault
skrNoGerman chart of accounts: '03' (SKR03) or '04' (SKR04)03
pathNoLocal file path instead of file_base64; only honoured when the server runs over stdio on the same machine.
file_base64NoThe invoice file, base64-encoded: XML (UBL, CII, XRechnung, Peppol, FatturaPA, KSeF FA(3)) or a ZUGFeRD/Factur-X hybrid PDF. Up to 25 MB decoded.
creditor_accountNoCreditor (Gegenkonto) number to post the invoice against, e.g. 7000070000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

The description adds behavioral detail beyond the annotations: output is EXTF 700 text, booking rows are grouped by VAT-rate group, and expense accounts are automatically derived using SKR. The caveat to verify account mapping with the tax advisor is also useful operational context. No contradiction with the read-only and idempotent hints.

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?

Two sentences with no filler: the first sentence front-loads the output format and key behavioral detail, and the second adds the necessary tax-advisor caution. It is appropriately sized for the tool's complexity.

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

Completeness4/5

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

Given the rich schema, output schema, and annotations, the description covers what the tool produces and the important import caveat. It does not explicitly say that one of file_base64 or path must be supplied, but the schema already documents those alternatives and constraints.

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 schema already documents all four parameters with 100% coverage, including formats, defaults, and constraints. The description adds that SKR drives automatic expense-account selection, but it does not provide significant new parameter-level meaning beyond the schema.

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 states a specific verb and resource: Export invoice as DATEV Buchungsstapel (EXTF 700) text. It also explains what is produced, 'one booking row per VAT-rate group', which clearly distinguishes it from sibling tools like invoice_to_csv and invoice_to_html.

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 intended context is clear: this is for converting an incoming invoice into DATEV import format, with a warning to verify account mapping with a tax advisor before import. It does not explicitly name alternatives or state when not to use it, but the DATEV-specific language makes the use case unambiguous.

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

invoice_to_htmlRender invoice as HTMLA
Read-onlyIdempotent
Inspect

Human-readable HTML rendering of the invoice (self-contained, printable), same layout for every syntax; labels in the requested language.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of the fix hints and rendering labels: en, de, pl, it or fr.en
pathNoLocal file path instead of file_base64; only honoured when the server runs over stdio on the same machine.
file_base64NoThe invoice file, base64-encoded: XML (UBL, CII, XRechnung, Peppol, FatturaPA, KSeF FA(3)) or a ZUGFeRD/Factur-X hybrid PDF. Up to 25 MB decoded.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail beyond that: output is self-contained, printable, has the same layout for every syntax, and uses labels in the requested language. This enriches the agent's understanding of how the tool behaves.

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 a single front-loaded sentence with no filler. Every clause carries meaningful information: HTML rendering, human-readable, self-contained, printable, consistent layout, and language support.

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

Completeness4/5

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

For a simple read-only rendering tool with full schema coverage, annotations, and an output schema, the description covers the essential purpose and output traits. It could be slightly more complete by explicitly addressing when to choose this over sibling tools, but nothing critical is missing for correct invocation.

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?

Schema description coverage is 100%, so the schema fully documents lang, path, and file_base64. The description adds only a light connection between 'labels in the requested language' and the lang parameter, without adding semantics beyond what the schema already provides.

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 states a specific verb and resource: 'HTML rendering of the invoice'. It clearly distinguishes the tool from siblings by emphasizing HTML, self-containment, printability, consistent layout, and language labels — properties that set it apart from CSV, DATEV, reading, and validation tools.

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

Usage Guidelines3/5

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

The usage context is implied by 'Human-readable HTML rendering' and 'printable', which suggests when this tool is appropriate. However, the description does not explicitly state when to prefer it over invoice_to_csv, invoice_to_datev, read_invoice, or validate_invoice, nor does it name alternatives.

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

read_invoiceRead invoiceA
Read-onlyIdempotent
Inspect

Parse any European e-invoice into canonical EN 16931 JSON and validate it against the official rule sets. Returns the detected format, the invoice as one JSON shape regardless of syntax, and a validation report whose failed rules carry plain-language fix hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of the fix hints and rendering labels: en, de, pl, it or fr.en
pathNoLocal file path instead of file_base64; only honoured when the server runs over stdio on the same machine.
file_base64NoThe invoice file, base64-encoded: XML (UBL, CII, XRechnung, Peppol, FatturaPA, KSeF FA(3)) or a ZUGFeRD/Factur-X hybrid PDF. Up to 25 MB decoded.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNoPresent when ok is false: code, message, hint
sourceNo
invoiceNoCanonical EN 16931 JSON: document, seller, buyer, lines, tax_breakdown, totals, payment, attachments, extensions
timings_msNo
validationNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds useful behavioral detail: it returns a detected format, a canonical unified JSON shape, and a validation report with plain-language fix hints. This goes beyond the annotations without contradicting them.

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 two sentences, front-loaded with the core purpose, and each sentence carries meaningful information: what it parses, what it validates, and what it returns. There is no filler or redundant restating of the tool name.

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

Completeness4/5

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

For a read-only parsing tool with full schema coverage and an output schema, the description is largely complete. It covers purpose, output shape, and validation behavior; the main shortfall is not clarifying how this relates to the validate_invoice sibling or when the conversion siblings are the better choice.

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?

Schema description coverage is 100%, so the schema fully documents lang, path, and file_base64. The description adds high-level context about European e-invoice parsing but does not add parameter-level semantics beyond what the schema already provides, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb ('Parse any European e-invoice into canonical EN 16931 JSON') and clearly identifies the resource and output. It also mentions validation, but it does not explicitly distinguish itself from the sibling validate_invoice, which could also validate invoices.

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

Usage Guidelines2/5

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

The description gives no guidance on when to choose this tool over alternatives like validate_invoice or the invoice_to_* converters. The mention of returning JSON implicitly suggests different output formats are handled elsewhere, but there is no explicit when/when-not guidance.

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

validate_invoiceValidate invoiceA
Read-onlyIdempotent
Inspect

Validation only: which rule sets were applied (XSD, EN 16931, XRechnung, Peppol, arithmetic), the errors and warnings with fix hints, and the invoice header. Cheaper to read than read_invoice when you only need a verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of the fix hints and rendering labels: en, de, pl, it or fr.en
pathNoLocal file path instead of file_base64; only honoured when the server runs over stdio on the same machine.
file_base64NoThe invoice file, base64-encoded: XML (UBL, CII, XRechnung, Peppol, FatturaPA, KSeF FA(3)) or a ZUGFeRD/Factur-X hybrid PDF. Up to 25 MB decoded.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
errorNo
sourceNo
documentNoInvoice header: id, issue_date, currency, due_date …
validationNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful beyond-annotation context: validation returns only rule sets and diagnostics (not full data), and it is cheaper to read than read_invoice. No contradiction with 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?

Two sentences with no filler. 'Validation only' is front-loaded, the output expectations are compactly listed, and the sibling comparison is a single clause. Every part 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?

Given the output schema exists, all parameters are self-documented, and annotations cover safety/idempotence, the description is complete for a validation tool. It states the purpose, outputs, and the key alternative without missing critical invocation context.

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?

Schema description coverage is 100%, with each of the three optional parameters already documented in detail (lang pattern, path limitation, file_base64 formats and 25 MB cap). The description adds no parameter-specific semantics, so the baseline of 3 applies.

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 uses a specific verb and resource ('validate invoice') and immediately scopes the tool with 'Validation only'. It enumerates the exact output categories: applied rule sets, errors/warnings with fix hints, and invoice header, which clearly distinguishes it from siblings like read_invoice.

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 description explicitly names read_invoice as the main alternative and gives a clear selection criterion: 'when you only need a verdict' and 'Cheaper to read'. It stops short of stating the full when-not case, but the guidance is specific and actionable.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedinvoice_to_csv
    • First observedinvoice_to_datev
    • First observedinvoice_to_html
    • First observedread_invoice
    • First observedvalidate_invoice

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

The three conversion tools are clearly separated by output format, and the parse versus validation distinction is mostly clear. The main overlap is between read_invoice and validate_invoice since both produce validation reports, though the descriptions clarify that read_invoice returns the full canonical invoice while validate_invoice is a cheaper validation-only operation.

Naming Consistency4/5

The conversion tools follow a consistent invoice_to_<format> pattern, while read_invoice and validate_invoice use a verb_invoice pattern. This is readable and predictable, but slightly inconsistent because the conversions do not follow the same verb-first style.

Tool Count5/5

Five tools is well-scoped for an invoice processing server: parsing, validation, and three common output conversions. Each tool has a distinct role, and the count does not feel padded or thin.

Completeness4/5

The server covers the core invoice workflow: read, validate, and convert to useful outputs. Minor gaps exist, such as no explicit listing of supported source formats or batch/multiple invoice handling, but these are not critical for the apparent purpose.

Resources