Skip to main content
Glama

smallinvoice MCP by usefulapi

List offers

smallinvoice_list_offers
Read-only

List offers (quotes). Filter by contact_id or a JSON filter. Needs the "offer" scope. GET /receivables/offers. Returns count, total, next_offset (pass it as offset for the next page) and the items.

Input Schema

NameRequiredDescriptionDefault
qNoOptional free-text search over several fields.
sortNoOptional sort: 'name' ascending, '-name' descending, '-surname,name' for several.
withNoOptional extra fields to include, comma separated (e.g. 'main_address' on contacts).
limitNoItems per page (default 100, max 200).
filterNoOptional filter as a JSON object string, e.g. {"currency":"CHF"}; combine with {"and":[...]} / {"or":[...]}. Comparators go before the value: "<", "<=", ">", ">=", "!" (not), "~" (contains), e.g. {"name":"~ACME"}. Unknown field names are answered with HTTP 400.
offsetNoItems to skip (paging: the previous reply's next_offset).
contact_idNoOnly documents of this contact (customer) id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the description's added value is the auth requirement ("offer" scope) and the response envelope (count, total, next_offset, items). The explicit instruction to pass next_offset as offset is real operational context the annotations do not provide. It does not state default page size or error behavior, keeping it at 4.

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 tight sentences, front-loaded with purpose, then filtering, then the return shape. Every clause carries information an agent needs; there is no filler.

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?

There is no output schema, so describing the return envelope and the pagination contract is necessary and is done here. With all seven parameters fully documented in the schema and annotations covering safety, the only residual gap is error/rate-limit behavior. Strong enough for a simple read-list tool.

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 the schema already documents q, sort, with, limit, filter, offset and contact_id thoroughly, including filter comparators. The description only restates the contact_id/JSON-filter split and the offset/next_offset round-trip, adding little beyond the structured fields.

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 a specific verb and resource ("List offers (quotes)") and even the underlying endpoint GET /receivables/offers, which makes the list-vs-get split against smallinvoice_get_offer obvious without consulting the schema. It stops short of explicitly naming a sibling, so it is clear but not maximally differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Filter by contact_id or a JSON filter" gives two concrete entry paths and "Needs the 'offer' scope" states a hard prerequisite the agent must satisfy before calling. No exclusion cases or alternative tools are named, which is a minor gap for a plain list endpoint.

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.