subscribe_link
Open the existing account subscription UI. Does not create a charge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Optional active plan ID or month/year |
Open the existing account subscription UI. Does not create a charge.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Optional active plan ID or month/year |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds one useful reassurance that this 'does not create a charge', but omits anything about what 'open' produces or how the result is surfaced.
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 the purpose front-loaded and the billing caveat immediately after. Nothing is wasted, though the second sentence is close to restating what destructiveHint=false already conveys.
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 one-optional-param read-only UI trigger with no output schema, the description is minimally adequate. It does not clarify what the agent receives (e.g., a URL or confirmation) or what happens if no active plan exists, leaving meaningful gaps.
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%, so the single optional 'plan' parameter is fully documented by the schema itself. The description mentions no parameter behavior, so the baseline 3 applies.
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: 'Open the existing account subscription UI'. An agent can tell this launches a billing/subscription surface rather than fetching pricing data. However, it never explicitly contrasts itself with siblings like get_pricing, so differentiation is implicit.
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?
No when-to-use guidance, no alternatives named, and no prerequisites stated. The word 'existing' hints that an account must already exist, but the agent must infer when this is preferable to get_pricing or get_premium_lesson.
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.