Skip to main content
Glama

Teamleader Focus MCP by usefulapi

List invoices

teamleader_list_invoices
Read-onlyIdempotent

List or search outgoing invoices. Filter by term, invoice number, status (draft / outstanding / matched = paid), customer, deal, project, invoice date range or last update. Returns totals, due date and paid state. Teamleader: invoices.list.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1.
termNoSearch invoice number, PO number, payment reference and invoicee.
statusNo
deal_idNoThe deal id (a UUID).
page_sizeNoPage size, 1-100 (Teamleader default 20).
project_idNoThe project id (a UUID).
sort_fieldNo
sort_orderNoSort order.
customer_idNoOnly invoices for this contact/company id.
customer_typeNoWith customer_id: the customer's type.
updated_sinceNoOnly invoices updated since (ISO 8601 with offset, e.g. 2026-01-31T00:00:00+00:00).
invoice_numberNoFull invoice number, e.g. "2026 / 5".
invoice_date_afterNoInvoice date from, inclusive (YYYY-MM-DD).
invoice_date_beforeNoInvoice date until, inclusive (YYYY-MM-DD).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only and idempotent safety, so the description correctly spends its words elsewhere: it discloses what comes back ('totals, due date and paid state') and clarifies the otherwise cryptic 'matched' enum value as paid. It says nothing about pagination limits or total-result counts, which is the main remaining gap.

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 short sentences: purpose first, filter capabilities second, return shape third. No filler, no restatement of the title, and the backend method reference is compact and last.

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?

No output schema exists, and the description compensates by naming the returned summary fields (totals, due date, paid state). For a 14-parameter, zero-required listing tool it covers what an agent needs to filter and interpret results; only result-count/pagination behavior is left implicit in the schema.

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 86% schema coverage the schema does most of the work, but the description adds real meaning by grouping filters by intent and, critically, translating 'matched = paid' — a mapping the enum alone does not convey. It does not add syntax for term or the customer_id/customer_type pairing beyond what the schema states.

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 and resource ('List or search outgoing invoices') plus the 'outgoing' scope qualifier, which is meaningful. It does not explicitly contrast with the sibling teamleader_get_invoice (single invoice), but the list/search framing makes the distinction obvious.

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 enumerated filter dimensions imply when to use this tool (browsing/searching invoices by status, customer, deal, project, dates), but there is no explicit statement of when to prefer it over teamleader_get_invoice or another listing tool. Usage is inferable 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.