Skip to main content
Glama

List clients

list_clients
Read-onlyIdempotent

Retrieve a business's Booksy client list with contact details, visit history, no-shows, revenue and smart groups. Search by name, email or phone, or filter clients by days since last visit.

Instructions

Clients with contact details, visit counts and last visit, plus Booksy's client groups.

Reads the Clients list of the business, A to Z: name, email, phone, private note, tags, visits, no-shows, cancellations, revenue and the last visit. Search by name, email or phone, or keep only clients who have not visited for a number of days (filtered on each page). groups gives Booksy's smart groups (new, most loyal, slipping away, prospects, upcoming birthdays ..) with their counts.

Input Schema

NameRequiredDescriptionDefault
limitNoPage size. Default: 50.
queryNoName, email or phone to search for.
cursorNonext_cursor from the previous call.
not_visited_daysNoOnly clients whose last visit is older than this many days (or who never visited).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover readOnly, idempotent, and non-destructive, so the description's job is to add context. It does add one important nuance ('filtered on each page'), which implies filters apply to page results rather than narrowing the client set globally. It says nothing about pagination termination or whether revenue and visit data can lag, so the added context is limited.

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?

The description stays short: two sentences cover what the tool returns and how to filter, and the field list is front-loaded. The dense field enumeration reads as a list rather than prose, so it is a little harder to scan, but it wastes nothing.

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 the description should explain the return shape, and it does: fields, visit metrics, and the groups facet with counts. The gaps (how pagination ends, whether groups can be requested per call) are minor.

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?

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by hinting how query and not_visited_days interact with pagination, and it names the groups facet, which no parameter or output schema documents.

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?

The description uses a specific verb and resource ('Reads the Clients list of the business, A to Z') and enumerates returned fields, so an agent knows exactly what it returns. It doesn't explicitly contrast with the sibling find_client or get_client, so the boundary between list/search/single-lookup is only implied.

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?

It gives real usage cues ('Search by name, email or phone, or keep only clients who have not visited...'), which implies when to use the filters. But it never says when to prefer get_client or find_client instead, even though sibling tools cover the same searchable fields.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.