Skip to main content
Glama

Famly MCP by usefulapi

List purchases

famly_list_purchases
Read-onlyIdempotent

Ad-hoc purchase IDs, status, totals and invoice IDs, excluding child records and booking details. With a date range request one site at a time. One page per call. Uses the Famly Public API; results depend on token permissions.

Input Schema

NameRequiredDescriptionDefault
siteIdsYes
pageSizeNo
nextTokenNoOpaque next cursor from the previous page. Omit for the first page.
purchaseDateRangeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes beyond them usefully: pagination semantics ('One page per call'), a per-site constraint when a date range is supplied, and that results are permission-dependent ('results depend on token permissions'). It still omits what happens with multiple site IDs absent a date range and any rate-limit behavior.

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

Conciseness4/5

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

Four short sentences with no filler, and return fields plus the site constraint are front-loaded. The lead sentence is a bare noun list missing a verb, which makes it slightly telegraphic rather than crisp.

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?

For a 4-parameter list tool with no output schema, the description helpfully enumerates the returned fields, covers pagination, and flags permission dependence. Remaining gaps (no filtering-by-status mention, no date-range format, no sibling differentiation) are modest rather than disqualifying.

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 only 25% (nextToken only), so the description partially compensates: it implies the date range interacts with siteIds such that a range must target one site at a time, and that results are paged. It says nothing about pageSize bounds, the from/to format for purchaseDateRange, or the difference between passing one vs many site IDs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description reads as a return-payload summary ('purchase IDs, status, totals and invoice IDs') rather than a verb+resource statement of what the tool does; the action must be inferred from the name. It does scope the content ('excluding child records and booking details'), but never states how this differs from adjacent siblings such as famly_list_invoices or famly_list_payments.

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

Usage Guidelines2/5

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

'With a date range request one site at a time' is the only conditional guidance, and 'One page per call' implies iteration. There is no explicit when-to-use, no mention of when to prefer famly_list_invoices or famly_list_payments instead, and no stated preconditions beyond a token.

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.