Skip to main content
Glama

InvoiceParser Pro

Server Details

Invoice to Excel with the math checked: fields, line items and an arithmetic check from any invoice.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct role: check_invoice validates math, extract_invoice_data returns JSON, invoice_to_excel exports a spreadsheet, and get_result polls async jobs. The only mild overlap is between extract_invoice_data and invoice_to_excel, which both read an invoice but differ by output format, so descriptions resolve it.

Naming Consistency4/5

Three tools follow a clean verb_noun pattern (check_invoice, extract_invoice_data, get_result), while invoice_to_excel inverts to noun_to_noun. Mostly consistent with one minor deviation that remains readable.

Tool Count4/5

Four tools is well-scoped for a focused invoice-parsing service, with each tool earning its place. get_result serves the async edge case and does not feel redundant.

Completeness4/5

The surface covers the core invoice lifecycle: extraction, math validation, spreadsheet export, and async result retrieval. No obvious critical gaps, though batch or multi-invoice operations are absent.

Available Tools

4 tools
check_invoiceCheck an invoice's mathAInspect

Check whether an invoice adds up: each line's quantity times unit price, the lines against the subtotal, the tax against its printed rate, and subtotal plus tax against the total. Returns a one-line verdict and every problem found, with the invoice's own numbers. Give the file as file_url, file_base64 or (ChatGPT) file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoChatGPT only: the attached file. Other clients use file_url or file_base64.
file_urlNoAn https link to the invoice (PDF or image) that the server can download.
file_nameNoThe file's name, e.g. invoice-1042.pdf (optional).
file_base64NoThe invoice file's bytes, base64-encoded. Use for a local file.

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is largely covered. The description adds genuinely useful behavioral context beyond that: it discloses the return shape ('a one-line verdict and every problem found, with the invoice's own numbers'), which matters because there is no output schema. It does not explain the non-read-only flag or any limits on file size/download fidelity.

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 front-loads the four specific checks, the second covers return value and accepted input forms. Every clause carries information the agent needs.

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?

Because no output schema exists, the description correctly compensates by summarizing the verdict and problem list, and it enumerates all input channels. It stops short of error/failure behavior, unsupported document types, or any note on why the call is not marked read-only, which leaves a small but real gap for a file-ingesting tool.

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 each of the four file parameters is already documented (including the ChatGPT-only file object and the base64 option). The description only restates the three input channels ('file_url, file_base64 or (ChatGPT) file') and adds no format, size, or precedence detail beyond the schema, so the baseline 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?

States a specific verb (check) and resource (invoice) and enumerates the exact arithmetic verifications performed: line quantity times unit price, lines vs subtotal, tax vs printed rate, subtotal plus tax vs total. This is precise enough to separate it from siblings extract_invoice_data (extraction) and invoice_to_excel (conversion), which do not mention arithmetic validation.

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?

Usage is implied by the enumerated checks and the sibling set, but the description never states when to pick this tool over alternatives such as extract_invoice_data, nor does it mention prerequisites (e.g., needing a machine-readable invoice before checking). The closing sentence about input forms is parameter guidance, not usage routing.

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

extract_invoice_dataExtract invoice dataAInspect

Extract an invoice's data as structured JSON: vendor and customer, invoice number and dates, PO number, currency, subtotal, discount, shipping, tax and total, tax lines, every line item, and confidence (overall and per field). Give the file as file_url, file_base64 or (ChatGPT) file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoChatGPT only: the attached file. Other clients use file_url or file_base64.
file_urlNoAn https link to the invoice (PDF or image) that the server can download.
file_nameNoThe file's name, e.g. invoice-1042.pdf (optional).
file_base64NoThe invoice file's bytes, base64-encoded. Use for a local file.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower. The description usefully discloses that confidence is returned both overall and per field, but says nothing about processing time, failure modes on unreadable scans, rate limits, or whether repeated calls are safe.

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?

Two sentences with the action and output shape front-loaded, then the input mechanics. The long field enumeration is lengthy but earns its place because there is no output schema backing it.

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?

With no output schema, the description correctly carries the burden of describing the return payload, and it does so in detail. The remaining gap is that all four parameters are optional and the description never says what happens if no file is supplied, or which of the three channels takes precedence.

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 both the three file channels and file_name are already documented in the schema. The description's mention of file_url/file_base64/file merely restates the schema's own descriptions in condensed form rather than adding format or precedence rules. 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?

"Extract an invoice's data as structured JSON" gives a specific verb and resource, and the enumerated field list (vendor, invoice number, tax lines, line items, confidence) makes the output concretely imaginable. It does not name or contrast against siblings like check_invoice or invoice_to_excel, so an agent must infer the routing from the field list alone.

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?

"Give the file as file_url, file_base64 or (ChatGPT) file" is genuine input-channel guidance. However, there is no statement of when to pick this tool over check_invoice (validation) or invoice_to_excel (spreadsheet conversion), and no prerequisites or exclusions are given.

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

get_resultGet a resultA
Read-onlyIdempotent
Inspect

Fetch the result of an invoice that was still being read when its tool call returned. Pass the job_id that call gave. Returns the spreadsheet links, the math check and the extracted data.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job_id a previous call returned.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so safety is covered by structured data. The description adds real value beyond them by disclosing what the call returns (spreadsheet links, math check, extracted data) in the absence of an output schema.

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?

Three tight sentences, front-loaded with the action and its triggering scenario, then the parameter, then the return contents. Nothing is wasted or redundant.

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?

With no output schema, the description correctly enumerates the returned artifacts, and with annotations covering safety and idempotency, plus a single fully documented parameter, an agent has everything needed to invoke and interpret the call.

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% and there is only one parameter, so the schema already carries parameter meaning; baseline is 3. The description slightly reinforces provenance ('the job_id that call gave'), but adds little syntax or format detail 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?

States a specific verb (fetch) and resource (the result), and pins down the exact scenario that distinguishes it from the extraction siblings: recovering the result of an invoice read that was still in flight when its tool call returned. An agent can tell this is the async-completion poller without opening the schema.

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?

Explicitly states the trigger condition ('when its tool call returned') and the required input ('Pass the job_id that call gave'), which is clear when-to-use guidance. It stops short of naming which sibling produces that job_id, leaving a small inference gap.

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

invoice_to_excelInvoice to ExcelAInspect

Read an invoice (PDF, scan or photo) and turn it into a spreadsheet: returns the header fields, the line items and download links to an Excel (.xlsx) and a CSV file, valid for 60 minutes without signing in. Give the file as file_url, file_base64 or (ChatGPT) file.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoChatGPT only: the attached file. Other clients use file_url or file_base64.
file_urlNoAn https link to the invoice (PDF or image) that the server can download.
file_nameNoThe file's name, e.g. invoice-1042.pdf (optional).
file_base64NoThe invoice file's bytes, base64-encoded. Use for a local file.

TDQS

A3.7/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing the download links expire after 60 minutes and require no sign-in, plus the shape of the returned output. That is real operational context the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) do not convey. It does not mention failure modes for unreadable scans.

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?

A single tight sentence plus a short input instruction; the deliverable (headers, line items, links) is front-loaded. Slightly run-on with the parenthetical ChatGPT note, but nothing is wasted.

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?

With no output schema, the description carries the return-value burden and does so by naming header fields, line items, and the two download formats, plus link lifetime. The one gap is error/edge-case behavior for non-invoice or low-quality uploads, but the core call is fully specified.

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 baseline is 3. The description mostly restates the schema ('Give the file as file_url, file_base64 or (ChatGPT) file') with a minor routing hint, adding little beyond what the schema already documents for each parameter.

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?

States a specific verb+resource pair (read an invoice -> spreadsheet) and enumerates exactly what comes back: header fields, line items, and download links. It is not tautological. However it never names or contrasts against siblings like extract_invoice_data, which sounds nearly identical in 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?

Usage is implied by the conversion framing, and it does route the agent across input modes (file_url, file_base64, or ChatGPT's file). But it gives no explicit when-to-use/when-not guidance against extract_invoice_data or check_invoice, leaving the agent to guess which sibling applies.

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.

  1. 4 tool updates
    • First observedcheck_invoice
    • First observedextract_invoice_data
    • First observedget_result
    • First observedinvoice_to_excel

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to inspect and extract invoice metadata from PDFs, Word documents, Excel files, and images, then synchronize and enrich the extracted data into an Excel ledger.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Turns invoice details from an MCP client conversation into calculated totals and formatted Excel workbooks in JPY, USD, or EUR, using integer minor-unit arithmetic and grouped tax rounding. Supports mixed tax rates, Excel formulas with cached totals, and A4 print-ready layouts, writing files locally with no network access or API key.
    2
    519 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables accounts payable teams to extract invoice data from PDFs and images, detect duplicates, normalize vendor names, calculate payment terms, and validate invoice completeness. Supports local extraction for text PDFs and optional vision providers for scanned documents.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Read and check European e-invoices (Factur-X, ZUGFeRD, XRechnung, UBL, CII) from an AI assistant: contents in plain text plus an EN 16931 consistency check.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources