Skip to main content
Glama

Find Invoices

find_invoices
Read-only

Invoices by customer name, invoice number or status, newest first, with the amount, status and the email each one would go to. Returns ids for send_invoice.

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": "find_invoices"
  }
}

Input Schema

NameRequiredDescriptionDefault
statusNo
customerNo
invoice_numberNo

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 readOnlyHint and openWorldHint=false, so the description adds the genuinely non-obvious behaviors: results are sorted newest first, each record carries amount/status/recipient email, and the returned ids chain into send_invoice. It does not state any result cap or pagination behavior, which matters for a search tool with zero required filters.

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 compact sentences, the filter keys and sort order front-loaded, then return fields and the chaining hint. Nothing redundant and nothing padded.

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?

Absent an output schema, the description correctly compensates by naming the returned fields. The remaining gaps are material for a filter-any-of-three read tool: no result limit, no note on how multiple filters combine, and no enumerable status values, leaving an agent to guess at valid input.

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 carries the load; it does map all three params to intent (customer name, invoice number, status). However it gives no matching semantics (exact vs partial), no valid status values (the schema has no enum), and does not explain that all filters are optional or how they combine.

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?

"Invoices by customer name, invoice number or status" names the resource and the exact lookup keys, and the second sentence names the return fields and the downstream consumer. An agent can tell this apart from the estimate/customer finders on resource alone, though no alternative is named explicitly.

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: retrieve invoices to inspect amount/status/email, or to obtain ids for send_invoice. There is no explicit when-to-use statement, no mention of when to prefer find_estimates or find_customer instead, and no prerequisites 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