Skip to main content
Glama

use_voucher

Destructive

Mark a voucher as used at the merchant. Send one of voucher_code or voucher_id (anyOf). If neither is sent the tool returns error_code missing_identifier and an example.

Input Schema

NameRequiredDescriptionDefault
voucher_idNoVoucher UUID. Use this OR voucher_code.
voucher_codeNoVoucher code (LOYAL-XXXX-XXXX-XXXX-XXXX). Use this OR voucher_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / voucher_code / description
      Previous value: -"Voucher code (e.g. LOYAL-XXXX-XXXX-XXXX-XXXX)"New value: +"Voucher code (LOYAL-XXXX-XXXX-XXXX-XXXX). Use this OR voucher_id."
    • changedInput schema / properties / voucher_id / description
      Previous value: -"Voucher UUID (alternative to code)"New value: +"Voucher UUID. Use this OR voucher_code."
  2. Changed1 schema field changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "voucher_code"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "voucher_id"
      +    ]
      +  }
      +]
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, so irreversibility is signaled structurally. The description adds concrete behavioral detail the annotations do not: the tool returns error_code missing_identifier plus an example when neither identifier is supplied. It does not explain post-use consequences (e.g., whether status can be reversed), keeping it short of a 5.

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?

Three short sentences, front-loaded with the action and followed by the identifier constraint. Minimal waste, though the trailing 'and an example' is a slightly vague phrase.

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

Completeness4/5

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

For a simple two-parameter mutation with full schema coverage and annotations covering safety, the description gives the action, the identifier rule, and the failure behavior — enough to call it correctly. Only post-redemption semantics are absent.

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 coverage is 100% — both properties document their format and the OR relationship — so the schema already does the heavy lifting. The description's restatement of the anyOf constraint adds no syntax or format detail beyond the schema.

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?

States a specific verb and resource ('Mark a voucher as used at the merchant'), which precisely identifies the operation. It does not differentiate itself from sibling tools such as check_voucher_status or redeem_reward, but the action itself is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'at the merchant' implies the redemption context, but there is no explicit when-to-use guidance and no mention of alternatives like check_voucher_status (to verify before using) or redeem_reward. The usage is implied rather than stated.

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