Skip to main content
Glama

Knowify: List invoices

knowify_list_invoices
Read-only

Knowify: Invoices with job, client, amount, balance due and date. Returns invoices newest first with job, client, amount, balance due and date. Set unpaid_only to see invoices with a balance due. Use invoice_id in send_invoice and record_payment. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNoOnly invoices dated on or after this date.
job_idNoOnly invoices of this job.
unpaid_onlyNoSkip invoices that are fully paid.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), so the bar is lower, yet the description still adds real behavioral context: results come back 'newest first', the returned field set is enumerated, and it states the auth requirement (a Cotlet API key with access to this app). Sorting and auth prerequisites are not in the annotations and are genuinely useful. It stops short of describing pagination or result limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Statement-first structure is good, but the field list 'job, client, amount, balance due and date' is repeated verbatim in the first two sentences, which is wasted space. The remaining sentences (filter hint, cross-tool id usage, auth note) each carry information, so it is adequate rather than tight.

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?

With no output schema, the description correctly compensates by enumerating the returned fields and their sort order, and it closes the loop on auth prerequisites and downstream tool chaining. Missing only pagination/date-range behavior, which is a minor gap for a 3-param list tool that has full annotation coverage.

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 100%, so all three parameters (since, job_id, unpaid_only) are already documented in the schema, which sets the baseline at 3. The description only restates unpaid_only ('see invoices with a balance due') without adding format, date-range, or job-scoping detail beyond the schema.

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?

Names the resource (invoices) and enumerates the fields each row carries (job, client, amount, balance due, date), so an agent knows exactly what this returns. It is clear but does not differentiate itself from the many other *list_invoices siblings beyond its Knowify prefix. The opening 'Knowify: Invoices with...' is slightly awkward but decipherable.

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?

'Set unpaid_only to see invoices with a balance due' tells the agent when to toggle a filter, and 'Use invoice_id in send_invoice and record_payment' usefully links this tool into a downstream workflow. However, there is no explicit when-to-use-this-vs-alternatives guidance (e.g. get_invoice for a single record, list_jobs for related data). Usage 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