list_subscriptions
Returns the caller's active and inactive subscriptions (signing_key redacted). Requires an API key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Returns the caller's active and inactive subscriptions (signing_key redacted). Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the absence of annotations by disclosing that the signing_key is redacted and that an API key is required. However, it does not explicitly state the read-only nature, error behavior, or response format. Given no annotations, more could be disclosed, but the 'Returns' phrasing strongly implies a safe read operation.
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?
The description is two concise sentences with no wasted words. It front-loads the action ('Returns the caller's...') and adds essential detail (redaction and auth) without redundancy.
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 no parameters and no output schema, the description covers the core purpose, the scope (caller's subscriptions), the statuses (active/inactive), and important behavioral notes (signing key redacted, API key required). It is slightly sparse on the exact return shape (e.g., array of objects), but given the tool's simplicity, it is adequately complete.
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?
The tool has zero parameters, and the schema coverage is 100%, so there are no parameter semantics to document. The description correctly avoids inventing parameters, and the baseline for 0-param tools is 4.
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?
The description clearly states the tool's function with a specific verb ('Returns'), the resource ('subscriptions'), and a scoping qualifier ('caller's') that distinguishes it from sibling tools like get_subscription, create_subscription, and delete_subscription. It also specifies it covers both active and inactive subscriptions, leaving no ambiguity.
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 provides clear context by indicating this returns the caller's own subscriptions, implying a listing operation, and notes the prerequisite of an API key. It doesn't explicitly exclude alternatives, but the context plus the presence of sibling tools like get_subscription (single) and delete_subscription makes the intended usage evident.
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.