Skip to main content
Glama
trhonpavel
by trhonpavel

List customers

list_customers
Read-only

Search customers by name, email, or company; optionally filter by customer group, account status, or pagination.

Instructions

Searches customers by name, email or company, optionally within a customer group.

Input Schema

NameRequiredDescriptionDefault
qNoFull-text search – name, email, company
emailNo
limitNoNumber of records (max 200)
offsetNoRecords to skip (pagination)
group_idNoOnly members of this customer group
has_accountNotrue = registered, false = guests

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.0
    • addedInput schema / properties / group_id
      Added value: +{
      +  "description": "Only members of this customer group",
      +  "type": "string"
      +}
  2. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered and the bar is lower. The description adds the scoping constraint (name/email/company, optional group) but says nothing about result caps, pagination behavior, or what happens when no filters are supplied.

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?

A single efficient sentence with the primary search capability front-loaded. Nothing is wasted, though it is short enough that the missing usage guidance reads as omission rather than brevity.

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?

For a 6-parameter read-only list tool with no output schema, the description covers the search intent but leaves pagination, the has_account filter, and default result behavior unaddressed. Minimum viable, with clear gaps.

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 coverage is 83%, so the schema already documents q, limit, offset, group_id and has_account. The description restates the q/group_id semantics but adds no format or interaction detail (e.g., whether email overrides q, or that has_account is a guest/registered switch).

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 names a specific verb (searches) and resource (customers) plus the searchable fields, so an agent can tell it apart from get_customer's single-record lookup. It does not explicitly say it is the list/browse counterpart, but the scope is unambiguous.

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?

'Optionally within a customer group' hints at the group_id filter but there is no when-to-use guidance, no mention of get_customer for single-record lookup, and no explanation of how the multiple filter parameters combine.

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