Skip to main content
Glama

get_customer

Look up a customer by email. Returns every subscription/registration for that email across apps (or within one app if app_id is given), with full detail: verification, plan, billing period, usage, refunds. Empty when the email is unknown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailYes
app_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

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

No annotations, so the description carries the burden. It usefully discloses scope behavior (all apps vs one) and the terminal case ('Empty when the email is unknown'), which tells the agent not to expect an error. It does not state read-only nature, auth requirements, or whether results are paginated.

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?

Two sentences, front-loaded with the action, and every clause earns its place by adding scope or return-shape information. 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?

With no output schema and 0% parameter coverage, the description does the necessary work by summarizing the returned fields and the empty-result case. It is complete enough to invoke correctly, though auth/rate-limit context is absent.

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 description coverage is 0%, so the description must compensate — and it does: email is the lookup key, app_id scopes to one app. The enumeration of returned detail (verification, plan, billing period, usage, refunds) further characterizes what the key resolves to. Format/syntax of the email value is left unstated.

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?

States a specific verb+resource: 'Look up a customer by email'. This is clearly distinguishable from sibling list-style tools (list_subscriptions, list_coupons) since it pivots on a single customer identity. No sibling is named for routing, which keeps it short of a 5.

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?

Gives one conditional: pass app_id to narrow the lookup to a single app, omit it to span all apps. That is implied usage guidance but there is no explicit when-to-use-this-vs-siblings or when-not guidance.

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.

Resources