Skip to main content
Glama

Server Details

InvoiceOracle - 10 e-invoicing tools: XRechnung, ZUGFeRD, Peppol, validation, archive.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
ToolOracle/invoiceoracle
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.6/5 across 10 of 10 tools scored. Lowest: 3/5.

Server CoherenceA
Disambiguation4/5

Tools have distinct purposes, but invoice_extract, invoice_summary, and invoice_validate overlap in extracted fields and validation. Descriptions clarify differences, but agents may still confuse extract vs summary.

Naming Consistency3/5

All tools start with 'invoice_', but verb patterns are inconsistent: some are verbs (extract, validate), some nouns (health_check, tables), and some phrases (from_url, batch_urls). No uniform verb_noun pattern.

Tool Count5/5

10 tools cover the full invoice processing pipeline—health check, extraction, OCR, tables, validation, ZUGFeRD—without unnecessary duplication. Well-scoped for the domain.

Completeness4/5

Covers core German invoice needs: field extraction, line items, validation, ZUGFeRD, OCR. Minor gaps like handling of foreign invoices or more granular search/filtering are missing but not critical for the stated purpose.

Available Tools

10 tools
health_checkBInspect

InvoiceOracle server status and available library versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool returns (status and library versions) but does not explicitly mention that it is a read-only/non-destructive operation, nor does it describe any side effects, authentication needs, or rate limits. This is a significant gap for a tool with no annotation support.

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 concise sentence that immediately communicates the tool's purpose. It avoids unnecessary detail and is well-structured, earning every word it uses.

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

Completeness3/5

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

Given the tool's simplicity (no parameters, no output schema, no annotations), the description is minimally adequate. It tells the agent what information is available (server status and library versions) but does not elaborate on the format or meaning of the status, nor does it specify whether the result is a string, object, or list. More detail would improve completeness, but the description is not entirely insufficient for a health check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to clarify. The schema is an empty object with 100% coverage, and the description correctly implies no inputs are needed. A baseline of 4 is appropriate since there is no parameter documentation burden.

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 clearly states that the tool reports server status and available library versions, which is a specific health check function distinct from the invoice processing siblings. However, it lacks a verb phrase like 'check' or 'return', instead using a noun phrase, which makes it slightly less directive.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or scenarios where another tool should be used. The context is implied only by the name 'health_check' and the system context, but no explicit instructions are given.

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

invoice_batch_urlsAInspect

Process multiple invoice PDFs from URLs in one call. Returns analysis for each.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsNoComma-separated PDF URLs (max 10)
Behavior3/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It states the batch behavior and that analysis is returned for each, which is useful. However, it does not disclose potential side effects, failure handling, or what 'analysis' concretely includes. The provided context is adequate but lacks depth.

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 concise, front-loaded sentences that directly state the tool's function and output. No wasted words, making it easy to parse quickly.

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

Completeness3/5

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

The tool is a batch operation with one parameter and no output schema, so the description should explain return format and any caveats. It states 'Returns analysis for each' but does not specify the structure, ordering, or error behavior. The gaps are notable but the essential purpose is clear.

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 coverage is 100% with the 'urls' parameter described as 'Comma-separated PDF URLs (max 10)'. The description adds little beyond this, only reinforcing that multiple PDFs are supported. Since the schema already provides the necessary semantics, a baseline score of 3 is appropriate.

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 clearly states the tool processes multiple invoice PDFs from URLs in one call, distinguishing it from sibling tools like invoice_from_url which presumably handles a single URL. The verb 'process' and resource 'multiple invoice PDFs from URLs' are specific and unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives. It implies batching with 'in one call' but does not explicitly say to use this when processing multiple URLs, nor does it mention that invoice_from_url should be used for a single URL. Siblings are not referenced.

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

invoice_extractCInspect

Smart field extraction from invoice: Rechnungsnummer, Datum, Fälligkeit, Gesamtbetrag, Netto, MwSt, IBAN, USt-IdNr., Steuernummer.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only lists extracted fields and provides no details about output format, error handling, reliance on OCR, or behavior with invalid/malformed PDFs. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with a clear action phrase and a concise list of fields. It is appropriately sized with no wasted words, though it is somewhat terse given the tool's potential complexity.

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

Completeness2/5

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

The tool lacks both annotations and an output schema, so the description must explain return behavior. The field list gives some idea of output content, but there is no indication of the output structure (e.g., JSON format), processing limitations, or what happens on failure. The description is insufficient for an agent to fully anticipate tool behavior.

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 input schema already describes both parameters (pdf_path and pdf_base64) with 100% coverage, so the baseline for parameter semantics is met. The description adds no extra information about how these parameters are used, but since the schema is complete, no further compensation is required.

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 clearly states the tool performs 'Smart field extraction from invoice' and enumerates the specific fields extracted (invoice number, date, total, VAT, etc.), giving a specific verb+resource. However, it does not distinguish itself from sibling tools like invoice_ocr or invoice_parse_text, so it loses a point for lack of differentiation.

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?

There is no guidance on when to use this tool versus alternatives such as invoice_ocr, invoice_parse_text, or invoice_from_url. No prerequisites, input limitations, or exclusions are mentioned, so the agent is left without usage context.

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

invoice_from_urlBInspect

Download PDF from URL and run complete invoice analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic URL to PDF invoice e.g. 'https://example.com/invoice.pdf'
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It mentions downloading from a URL, which implies network access, but does not disclose what the analysis includes, whether it is read-only, what happens on invalid URLs, or the return format. This is a significant gap for a tool that performs a multi-step operation.

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 that conveys the core function without verbosity or filler. Every word earns its place; it is concise and easy to scan.

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

Completeness2/5

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

The tool has one parameter and no output schema, so the description should explain the expected return value and scope of analysis. It only says 'run complete invoice analysis' without detailing what that includes, how the output is structured, or any constraints (e.g., only public URLs). This is incomplete for an agent to fully understand the tool's behavior.

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 input schema has one parameter (url) with a clear example and full coverage. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline score 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 clearly states the tool downloads a PDF from a URL and runs complete invoice analysis, using a specific verb ('Download') and resource ('PDF from URL'). It distinguishes from siblings like invoice_extract (general extraction), invoice_ocr (OCR), and invoice_batch_urls (multiple URLs) by emphasizing single-URL input and full analysis.

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 description implies the tool is used when you have a public URL to a PDF invoice and need a full analysis, but it does not explicitly state when not to use it or mention alternatives among sibling tools. For example, it doesn't advise using invoice_batch_urls for multiple URLs or more specific extractors for targeted tasks.

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

invoice_ocrBInspect

OCR extraction for scanned or image-based PDF invoices using Tesseract (German + English).

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior2/5

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

No annotations are provided, so the description must carry the transparency burden. It discloses that it uses Tesseract and supports German and English, but does not describe the return value, side effects, file access requirements, or limitations beyond language. This is comparable to the update_drive example where important behavioral context is missing.

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 fluff. It efficiently communicates the core purpose and key details (Tesseract, languages) without wasting tokens.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the tool returns and clarify parameter usage. Both parameters are optional in the schema, but the description does not indicate whether one is required or how to choose between them. The missing usage guidance and output specification make this incomplete for reliable 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 input schema already fully documents both pdf_path and pdf_base64. The description adds no additional parameter context, matching the baseline of 3 when the schema handles the parameter documentation.

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 phrase 'OCR extraction' and clearly scopes the resource to 'scanned or image-based PDF invoices'. It also adds engine and language details (Tesseract, German + English) that distinguish it from siblings like invoice_parse_text or invoice_extract.

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 description implies usage by mentioning 'scanned or image-based PDF invoices', which suggests it is for image-based rather than text-based PDFs. However, it does not explicitly state when to use this tool over alternatives like invoice_parse_text or invoice_from_url, nor does it mention exclusions.

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

invoice_parse_textAInspect

Extract all text from a PDF invoice. Returns text per page and full combined text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior4/5

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

No annotations provided, so the description carries the burden. It discloses the return format (text per page and full combined text), which is useful context, but does not mention limitations such as text-layer requirements or error handling.

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?

A single, front-loaded sentence that conveys the core action and output. No unnecessary words or repetition.

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?

The tool is simple, with well-documented parameters and a description of return values. However, it does not address edge cases like scanned PDFs or provide guidance on selecting this tool over OCR alternatives, leaving slight gaps.

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 coverage is 100% with both pdf_path and pdf_base64 having clear descriptions. The description adds no additional 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.

Purpose5/5

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

The description clearly states 'Extract all text from a PDF invoice' with a specific verb and resource, distinguishing it from siblings like invoice_ocr (OCR) and invoice_tables (table extraction).

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 tool is implied for raw text extraction, but no explicit guidance is given on when to use it versus invoice_ocr or invoice_extract. The description does not mention exclusions or alternative conditions.

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

invoice_summaryAInspect

Complete invoice analysis in one call: all extracted fields, line items, ZUGFeRD check, and §14 UStG validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It lists what the tool does (validations) but does not disclose side effects, permissions, rate limits, or potential failures. No indication of whether it is read-only or modifies any state.

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, well-structured sentence that front-loads the core value proposition ('Complete invoice analysis in one call') and lists key features compactly. No fluff or redundant information.

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

Completeness3/5

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

The tool is complex (multiple validations) and has no output schema, so the description should provide more context about return structure and when to choose this over siblings. It covers the main features but is missing usage trade-offs and response format details.

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?

Both parameters (pdf_path, pdf_base64) are documented in the schema with 100% coverage, so the baseline is 3. The description adds no additional meaning about parameter usage or format 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 clearly states it performs 'complete invoice analysis in one call' and enumerates specific components (extracted fields, line items, ZUGFeRD check, §14 UStG validation). This distinguishes it from focused siblings like invoice_extract or invoice_validate.

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 phrase 'in one call' implies a use case for comprehensive analysis, but there is no explicit guidance on when to use this instead of individual sibling tools, nor any exclusions. It does not mention alternatives, so it is minimally useful for decision-making.

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

invoice_tablesAInspect

Extract tables and line items (Positionen) from invoice. Returns structured rows with description, quantity, unit price, total.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior3/5

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

With no annotations provided, the description carries the transparency burden. It does disclose the return format (structured rows with description, quantity, unit price, total), which is useful. However, it does not mention any behavioral details like required permissions, error conditions, or what happens if the invoice lacks tables, leaving transparency only partially addressed.

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 long, with the main action stated first and the output format following immediately. Every word earns its place; there is no redundancy or irrelevant detail.

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 tool with only two parameters and no output schema, the description provides essential context: it names the extracted data and the exact fields returned. It could benefit from a brief note about when to use it relative to sibling tools, but given the low complexity, it is largely complete.

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 both pdf_path and pdf_base64 clearly explained in the schema. The description itself does not add parameter-level detail beyond the schema, so it meets but does not exceed the baseline for high schema coverage.

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 ('Extract') and names the resource ('tables and line items from invoice'), clearly distinguishing this tool from siblings like invoice_extract or invoice_ocr. It also states the output as structured rows with particular fields, reinforcing the tool's unique purpose.

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 description implies use for extracting table/line-item data from invoices, but it does not explicitly state when to choose this tool over alternatives such as invoice_extract or invoice_validate. There are no exclusions or direct sibling comparisons, though the specialized wording gives some contextual guidance.

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

invoice_validateAInspect

Validate invoice against German §14 UStG legal requirements. Returns compliance score and list of missing mandatory fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does well by explicitly stating the return values (compliance score and missing fields), providing useful insight beyond the tool name. However, it does not disclose whether the operation is read-only or mention any validation side effects, so it is not fully transparent.

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 short, targeted sentences: the first states the action and standard, the second states the output. There is no filler or repetition of schema/annotation content, making it maximally concise and well-structured.

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 tool with only two optional parameters and no output schema, the description provides enough context: the validation purpose, the legal framework, and the return shape. The parameter details are fully covered by the schema, and the sibling list shows a clear niche. It could be enhanced with a phrase about read-only behavior or input format preference, but it is largely sufficient.

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 input schema already provides complete descriptions for both parameters (pdf_path and pdf_base64) with 100% coverage, so the baseline is 3. The description adds no extra parameter semantics beyond what the schema already states, such as when to use one input format over the other.

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 ('Validate') tied to a resource ('invoice') and a precise legal standard (German §14 UStG), clearly differentiating it from sibling tools like invoice_extract and invoice_summary. It also states the key outputs (compliance score and missing mandatory fields), making the tool's purpose unambiguous.

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 description implies the tool should be used when legal compliance validation is needed, but it does not explicitly state when to use it over alternatives or mention exclusions. No alternative tools are referenced, leaving the agent to infer the use case from the word 'Validate'.

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

invoice_zugferdAInspect

Parse ZUGFeRD or XRechnung XML data embedded in PDF. Returns structured invoice data from machine-readable format.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdf_pathNoServer-side file path to PDF (alternative to base64)
pdf_base64NoBase64-encoded PDF content
Behavior3/5

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

With no annotations provided, the description carries the full burden. It states a read-only parsing action and mentions returning data, but it does not disclose edge-case behavior such as what happens if the PDF lacks embedded XML, whether the tool supports all versions of the formats, or any error handling. It provides basic transparency but lacks deeper behavioral context.

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 sentence that efficiently conveys the tool's purpose and output. It is front-loaded with the key verb and object, with no redundant or filler content. Every phrase contributes useful information.

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 tool's narrow scope and the schema covering both parameters, the description is mostly complete. It explains the input format and the nature of the output (structured invoice data). However, it does not specify the exact response structure or failure modes, which would be useful since there is no output schema. Overall, it is adequate for selection and 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%, with both parameters (pdf_path and pdf_base64) already documented as alternatives for providing the PDF. The description adds no extra parameter-specific semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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 clearly states the tool's function: parsing ZUGFeRD or XRechnung XML embedded in PDFs. It specifies the input (PDF with embedded machine-readable XML) and the output (structured invoice data), distinguishing it from sibling tools like invoice_ocr or invoice_parse_text that handle other formats.

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 implies when to use the tool: when the PDF contains ZUGFeRD or XRechnung embedded XML. It does not explicitly list alternatives or exclusions, but the mention of 'machine-readable format' provides clear context. Given the sibling tools (e.g., invoice_ocr, invoice_parse_text), the use case is understood.

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

Discussions

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Validates electronic invoices (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, etc.) against authority-pinned rules and explains failures.
    2
    22
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for DACH e-invoicing. Create XRechnung (UBL) and ZUGFeRD 2.3 (Factur-X CII) invoices, validate against EN 16931 rules, extract data from XML, and convert between UBL, CII and JSON formats.
    6
    56
    2
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.