Skip to main content
Glama

SelieeAI

List Customer Invoices

list_customer_invoices
Read-onlyIdempotent

[read] Invoices newest first, optionally of one customer (customer_id or customer_uuid) or one status (DRAFT | SENT | PAID | OVERDUE | CANCELLED). Each row has its number, dates, currency, items, totals (subtotal, tax_total, total) and history.

Input Schema

NameRequiredDescriptionDefault
pageNo
statusNo
per_pageNo
customer_idNo
customer_uuidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior, so the description is not burdened with safety disclosure. It adds useful context by stating default ordering, filter options, and what each row contains (number, dates, currency, items, totals, history). Pagination behavior and limits are still unaddressed.

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, front-loaded with '[read]', then filters, then row contents. Every clause carries useful information without repetition or filler.

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?

With no output schema, the description helpfully explains row fields and ordering. However, it omits pagination parameters and whether the result includes total counts or page metadata, which are relevant for a list endpoint with five parameters.

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 0%, so the description must compensate for the five undocumented parameters. It covers `customer_id`, `customer_uuid`, and the `status` enum values, but says nothing about `page` or `per_page`, including their defaults and pagination behavior.

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 ('Invoices'), gives the default ordering ('newest first'), and lists the available filters. It is clear what the tool returns, though it does not explicitly distinguish itself from siblings such as `get_customer_invoice` or `list_customer_invoice_templates`.

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?

The phrase 'optionally of one customer ... or one status' implies when filtering is appropriate, but it does not explicitly say when to use this tool versus `get_customer_invoice` or other invoice-related siblings. The 'or' also leaves ambiguity about whether customer and status filters can be combined.

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.