Skip to main content
Glama

Search customers

search_customers
Read-onlyIdempotent

Locate customers using names or emails, handling typos and partial entries. Obtain their contact information, order history, and lifetime spend details for immediate use.

Instructions

Find customers by name or email (exact, partial, or fuzzy/misspelled). Returns contact details, order count and lifetime spend for each match. If ambiguous is true, several customers fit equally well: ask the user which one they mean (e.g. by email or city) before acting.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum matches to return (default 10).
queryYesName, email, or part of either. Case/accent-insensitive and tolerant of typos (e.g. 'jon benett').

Output Schema

NameRequiredDescriptionDefault
noteYes
queryYes
matchesYes
ambiguousYesTrue when more than one customer matches equally well - confirm with the user before acting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior, so the safety profile is covered. The description adds real value beyond that: it lists what each match contains (contact details, order count, lifetime spend) and defines an ambiguity-handling protocol keyed on the `ambiguous` flag.

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 short sentences, front-loaded with what the tool does, then result shape, then the disambiguation branch. No filler or repeated annotation information.

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?

With an output schema present, return structure needn't be spelled out, and the ambiguity case is handled explicitly. Minor gaps remain around zero-match behavior and truncated results at the limit cap, but nothing essential for a correct call is missing.

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 100% and the schema already documents length bounds, defaults, the 25 maximum, and case/accent-insensitive typo tolerance. The description's mention of partial and fuzzy matching largely restates that, adding no format or syntax detail beyond the schema.

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

Purpose5/5

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

States a specific verb and resource ('Find customers') plus the searchable fields (name or email) and matching modes (exact, partial, fuzzy). No sibling tool overlaps with customer lookup, so 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 Guidelines4/5

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

Explains the search modes available and gives an explicit follow-up rule when `ambiguous` is true: ask the user for a disambiguating attribute before acting. It stops short of naming when to prefer a different tool, but no sibling performs customer lookup.

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