Skip to main content
Glama

Download all invoices

download_all_invoices
Idempotent

Download all invoice PDFs plus an invoices.csv index for bookkeeping and accounting exports, optionally filtering by status or a UTC since date.

Instructions

Download every invoice PDF (optionally filtered by status or a since date) into invoices/ in the export directory, plus an invoices.csv index. Use for bookkeeping and accounting exports.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "download_all_invoices"
  }
}

Input Schema

NameRequiredDescriptionDefault
sinceNoOnly invoices created on or after this UTC date.
statusNo
max_invoicesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already indicate non-read-only, open-world, idempotent, and non-destructive behavior. The description adds useful detail about writing PDFs into invoices/ and creating an invoices.csv index, but it does not explain overwrite behavior, authorization needs, rate limits, or how max_invoices caps the 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 two compact sentences with no wasted wording, and the core action plus output artifacts are front-loaded before the usage note.

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?

For a bulk download with no output schema, it adequately describes the produced files and index plus optional filters. However, it leaves gaps around the max_invoices parameter, overwrite semantics, and guidance on when to use this instead of single-invoice tools.

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

Parameters2/5

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

Schema description coverage is only 33%, so the description should carry more parameter meaning. It mentions optional status and since filters, but does not clarify status values, and it completely omits max_invoices, leaving the cap behavior unexplained beyond the schema name and constraints.

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 states a specific verb and resource: 'Download every invoice PDF' plus an 'invoices.csv index'. The scope is clear from 'every' and the output location, but it does not explicitly distinguish itself from sibling tools like download_invoice or list_invoices.

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?

It provides usage context with 'Use for bookkeeping and accounting exports', which implies bulk export scenarios. However, it gives no explicit when-to-use or when-not-to-use guidance relative to download_invoice, list_invoices, or get_invoice.

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