redeem_code
Redeems a promotional code on the account. (scope: redeem:write)
Instructions
Redeems a promotional code on the account. (scope: redeem:write)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Redeems a promotional code on the account. (scope: redeem:write)
Redeems a promotional code on the account. (scope: redeem:write)
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Changes observed during successful MCP inspections.
v0.3.0Input schema / properties / code / minLengthAdded value: +1v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=false, destructive=false and openWorld=true, so the mutation profile is covered. The description adds the required auth scope, which is genuinely useful, but says nothing about what happens on an invalid, expired, or already-redeemed code, or whether the effect is reversible.
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?
One short sentence plus a parenthetical scope tag; nothing wasted and the action is front-loaded. Appropriate size for a single-parameter tool.
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 annotations present and only one parameter, the core is there, but there is no output schema and the description does not say what a successful redemption returns or how failures surface. That leaves the agent guessing about the result of a one-shot, non-idempotent mutation.
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 0% — the only parameter is a bare 'string, minLength 1'. The description does contribute meaning by identifying it as a promotional code rather than an arbitrary string, but adds no format, casing, or length expectations.
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 object ('Redeems a promotional code') plus the account scope, so the action is unambiguous. No sibling tool overlaps, so no differentiation is needed, but it never says what redeeming actually yields (credits, plan change, feature unlock).
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 guidance on when to invoke this versus any other billing/account tool, no prerequisites stated, and no note on whether the user must supply the code from an external source. The only usage signal is the incidental '(scope: redeem:write)' tag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.