invoiceoracle
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.
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.
Tool Definition Quality
Average 3.6/5 across 10 of 10 tools scored. Lowest: 3/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.
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.
10 tools cover the full invoice processing pipeline—health check, extraction, OCR, tables, validation, ZUGFeRD—without unnecessary duplication. Well-scoped for the domain.
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 toolshealth_checkBInspect
InvoiceOracle server status and available library versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Comma-separated PDF URLs (max 10) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public URL to PDF invoice e.g. 'https://example.com/invoice.pdf' |
Tool Definition Quality
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_path | No | Server-side file path to PDF (alternative to base64) | |
| pdf_base64 | No | Base64-encoded PDF content |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityDmaintenanceValidates electronic invoices (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, etc.) against authority-pinned rules and explains failures.222MIT
- AlicenseAqualityDmaintenanceMCP 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.6562MIT
- Flicense-qualityDmaintenanceEU e-invoicing — UBL/CII conversion to XRechnung and FatturaPA

Dokmatiq DocGenofficial
AlicenseAqualityCmaintenancePDF/DOCX/Excel generation from HTML/Markdown with stationery overlay, ZUGFeRD/XRechnung e-invoicing, digital signing, form filling, and AI receipt OCR with DATEV/SKR03 export.40MIT