Skip to main content
Glama

reference-data

invoice_check

Read-onlyIdempotent

PAID ($0.60). Check an invoice in one call: is the VAT right (place of supply, rate, expected amount vs vat_charged), is it overdue and how much statutory late interest is owed, and do seller/buyer tax IDs pass the official format check. Seller countries here: BO, BZ, CL, CO, CR, EC, HN, MX, NI, PA, SV, TT, UY. Send due_date, or invoice_date with terms_days. Anything we cannot answer in full is refused free (coverage_gap, no_charge). Shares the 3 free calls per IP per day with the answer tools. Pass api_key if you have one (card checkout at /pricing); otherwise the result is the x402 payment requirement. Optional receipt (boolean, default false): on a paid success, include an Ed25519 answer receipt at no extra USDC. An answer receipt is not a series certified extract (GET /v1/certified/{country}/{series} is $0.10 and is not an MCP tool) and is not legal advice. Verify with verify_answer_receipt against /certified/public-key.

Input Schema

NameRequiredDescriptionDefault
as_ofNoYYYY-MM-DD; default today
amountYesInvoice amount, local currency
api_keyNoAPI key (bypasses x402; metered for invoicing)
receiptNoDefault false. When true, a paid success includes an Ed25519 answer receipt (kind answer_receipt) at no extra USDC. Unpaid 402 and free refusals do not include one. Not a series certified extract (GET /v1/certified/{country}/{series} at $0.10; that SKU is not an MCP tool).
due_dateNoYYYY-MM-DD contractual due date
amount_isNoDefault net
buyer_typeNo
terms_daysNoAgreed payment term in days
vat_chargedNoVAT amount on the invoice, to be checked
buyer_tax_idNoNeeds buyer_country
invoice_dateNoYYYY-MM-DD; with terms_days instead of due_date
buyer_countryNoISO code; omit for a domestic invoice
seller_tax_idNo
seller_countryYesISO country code of the seller

Output Schema

NameRequiredDescriptionDefault
jobNo
errorNoPresent on a free refusal or error; no charge
statusNo
evidenceNo
no_chargeNo
price_usdNo
disclaimerNo
how_to_payNo
bind_seriesNo
explanationNo
x_next_bindNo
http_endpointNo
payment_requiredNotrue when the call needs payment; how_to_pay explains x402 or card

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, it discloses the price ($0.60), the free-refusal policy (coverage_gap with no_charge for anything unanswerable), the shared rate limit of 3 free calls per IP per day, both auth paths (api_key vs x402 402 response), and that receipts are only issued on paid successes. This is exactly the operational context annotations cannot convey.

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 cost and the composite purpose are front-loaded and nearly every clause carries information (pricing, refund policy, rate limit, auth, receipt caveat). It runs long and the receipt/certified-extract distinction is repeated in both description and schema, which is slight redundancy rather than waste.

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?

For a 14-parameter paid composite tool with an output schema and full annotations, the description covers the remaining gaps: billing model, free-refusal semantics, rate limits, regional coverage, the receipt concept and how to verify it via verify_answer_receipt, and the explicit non-legal-advice / non-certified-extract disclaimers.

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?

With schema coverage at 86% the schema already does most of the work, but the description adds real meaning: the enumerated seller-country universe constrains seller_country beyond 'ISO country code', and the due_date vs invoice_date+terms_days alternation is stated as a usage rule. It also explains the api_key bypass and that receipt defaults to false with no extra USDC charge.

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

Purpose5/5

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

The description states a specific verb and resource plus the exact sub-checks performed: VAT correctness (place of supply, rate, expected vs vat_charged), overdue status and statutory late interest, and tax-ID format validation. Listing supported seller countries (BO, BZ, CL, CO, CR, EC, HN, MX, NI, PA, SV, TT, UY) further narrows what the tool is, letting an agent distinguish this composite check from siblings like compute_vat, compute_statutory_interest, and validate_tax_id.

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?

It gives explicit invocation context: use it as a one-call invoice check, supply due_date or invoice_date with terms_days, and pass api_key if available or expect the x402 payment requirement. However, it never explicitly says when NOT to use it — e.g., use compute_vat alone if only the VAT rate is wanted, or validate_tax_id for a standalone ID check — so the routing to siblings is implied rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources