Skip to main content
Glama

update_store_discount_code

Destructive

Mark a Shopify discount code used, or cancel it and return the loyalty points. Same actions as the merchant discount-code journal.

Input Schema

NameRequiredDescriptionDefault
actionYesuse or cancel
redemption_idYesId from list_store_discount_codes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare `destructiveHint=true`, so the agent knows this mutates state. The description adds genuinely useful side-effect context that annotations cannot convey: cancelling returns loyalty points. However, it doesn't state that 'use' is irreversible, whether both actions are idempotent, or what happens if the code has already been redeemed — gaps that matter for a destructive two-mode operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the two actions the tool performs. The trailing sentence ('Same actions as the merchant discount-code journal') is the weakest part — it references an external concept without explaining it, spending words that could have carried real behavioral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two required parameters, 100% schema coverage, and destructive annotations present, the definition is largely serviceable. But for a destructive, two-mode operation with no output schema, the description should say what happens on success or failure for each action and confirm that the same `redemption_id` applies to both 'use' and 'cancel'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with `action` documented as 'use or cancel' and `redemption_id` pointing to `list_store_discount_codes`, so the baseline is 3. The description adds no parameter detail beyond what the schema already supplies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-plus-resource pair ('mark a Shopify discount code used, or cancel it') and enumerates the two supported actions, which map directly onto the `action` parameter. It is clear what state changes are possible, though it doesn't distinguish itself from siblings like `use_voucher` or `redeem_reward`, which could plausibly be confused with it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit statement of when to pick this tool over alternatives. The only routing information is one sentence naming another tool as the source of IDs ('Id from list_store_discount_codes' in the schema), plus a vague reference to 'the merchant discount-code journal' that assumes knowledge the agent may not have. No when-not-to-use conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources