List SMS Accounts
list_sms_accounts[read] SMS accounts (one per provider) of the merchant. Credentials are never returned.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No |
list_sms_accounts[read] SMS accounts (one per provider) of the merchant. Credentials are never returned.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world. The description still adds genuine value: it discloses the cardinality (one account per provider) and a security guarantee (credentials are never returned), which the agent would otherwise not know. Pagination behavior is the one omission.
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?
Two short sentences with no filler, and the core purpose is front-loaded. The '[read]' tag duplicates the readOnlyHint annotation slightly, but it costs almost nothing.
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?
For a simple list tool with full read-only annotations and no output schema, the description covers what the tool is and what it withholds (credentials), but it leaves the return shape and pagination semantics unexplained — mild gaps for something an agent will likely call repeatedly.
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?
Two parameters exist (page, per_page) with 0% schema description coverage, and the description says nothing about them — no mention of pagination, defaults, or limits. The description does not compensate for the schema gap, so an agent must guess at paging behavior.
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 (list SMS accounts), plus scope details — one per provider, belonging to the merchant. The name and description clearly separate it from siblings like list_sms_campaigns or list_sms_messages, though it never explicitly names an alternative.
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?
The description gives no when-to-use signal, no prerequisites, and no guidance on how it relates to the other SMS listing tools. Only the '[read]' prefix hints at context, which is largely redundant with the readOnlyHint annotation.
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.