Get customer
waitwhile_get_customerOne customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Customer id. |
waitwhile_get_customerOne customer by id: contact details, tags, per-location state and last visit. Contains personal data. GET /customers/{customerId}.
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes | Customer id. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds a meaningful disclosure beyond that — 'Contains personal data' — which is relevant for handling/output decisions, plus the underlying REST endpoint. It stops short of noting error behavior, but with annotations present this is above the bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the resource and returned fields come first, then the privacy note, then the endpoint. Every fragment carries information and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields and flags personal data, which is enough for a single-param read-only tool. Missing only secondary details such as not-found behavior or auth requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single customer_id parameter, so the schema already documents it. The description only restates 'by id' and adds no format, source, or lookup semantics, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('One customer by id') plus the fields returned (contact details, tags, per-location state, last visit). The singular 'by id' framing implicitly and clearly separates it from waitwhile_list_customers and waitwhile_search_customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 already hold the id. No explicit when-to-use guidance and no sibling alternatives (list_customers, search_customers) are named, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.