Skip to main content
Glama
thenavidm
by thenavidm

Retrieve a customer

get_customer
Read-onlyIdempotent

Retrieve a customer by Dub ID or external ID (prefix with ext_) for the authenticated workspace. Use it to fetch customer details, optionally including expanded link, partner, and discount fields.

Instructions

Retrieve a customer by ID for the authenticated workspace. To retrieve a customer by external ID, prefix the ID with ext_.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
accountNoExact configured private workspace profile label; not a tenant or provider account ID.
include_expanded_fieldsNoWhether to include expanded fields on the customer (`link`, `partner`, `discount`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds the workspace-scoping constraint, but says nothing about rate limits, auth prerequisites, or behavior when the ID does not exist.

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?

Two short sentences with the core action front-loaded and no filler. The second sentence largely duplicates the schema's own `id` description, a minor redundancy rather than padding.

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 simple read-only lookup, the description plus annotations and a fully documented schema give an agent everything needed to invoke it. The absence of an output schema means the response shape is unspecified, though that is a minor gap for a get-by-ID tool.

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 100%, so all three parameters (id, account, include_expanded_fields) are already documented in the schema. The description's `ext_` prefix note restates what the `id` schema description already says, adding no new meaning.

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 ('Retrieve a customer') plus a scope constraint ('for the authenticated workspace'). It is clearly distinguishable from sibling list_customers, update_customer, and delete_customer without opening any schema.

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?

Usage is implied: fetch a single customer when you have an identifier, versus list_customers to enumerate. The only explicit guidance is the `ext_` prefix for external IDs. No alternatives or preconditions are named, so it stays at the minimum-viable level.

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