Skip to main content
Glama

Get invoice PDF

get_invoice_pdf
Read-only

Returns one invoice or estimate as a PDF file, base64-encoded (contentBase64), with its file name and size: the A4 sheet its client gets by mail and from the link, in English or Spanish (default: the account's language). A draft or a voided document is printed saying what it is. The PDF holds what is printed on the document: the sender and the client, the lines, totals, payments received and balance, payment instructions and notes.

Input Schema

NameRequiredDescriptionDefault
languageNoThe PDF's language.
invoiceIdYesThe invoice or estimate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnlyHint/destructiveHint annotations by disclosing the return envelope (base64 content, file name, size), the language default (account language when omitted), and the non-obvious behavior that drafts and voided documents render with a marking rather than failing. With no output schema present, these details carry real weight for an agent that must handle the payload.

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?

Front-loaded with the return type and encoding, then the caveats. Slightly redundant: the 'A4 sheet its client gets by mail and from the link' clause and the following 'The PDF holds what is printed on the document...' sentence both describe page contents and could be merged without losing information.

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 must explain the return value, and it does: contentBase64, file name, size, language, plus draft/void handling. For a two-parameter read tool whose annotations already declare safety, nothing an agent needs in order to call and interpret it is missing.

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?

Schema coverage is 100% and the enum is documented, so the baseline is 3; the description earns an extra point by adding the default rule for language (account's language) and clarifying that invoiceId may be either an invoice or an estimate id, which the schema does not say.

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 and resource ('Returns one invoice or estimate') and pins the output form ('as a PDF file, base64-encoded (contentBase64)'), which cleanly separates it from data-oriented siblings like get_invoice or export_invoices_csv. An agent can tell at a glance this is the printable-document tool, not the record-fetch tool.

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 only implied: the description explains what the PDF contains and how it behaves for drafts, but never says when to choose this over get_invoice, email_invoice, regenerate_invoice_link, or export_invoices_csv. There are no exclusions or prerequisites, so the agent must infer the routing itself.

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