Skip to main content
Glama

delete_coupon

DestructiveIdempotent

Delete one coupon from an app. WRITE, human-gated: a real delete requires an elicitation-capable client; the human sees the exact coupon (code, percent, redemption count) and must click approve. The model cannot confirm on its own, and confirm_used is only consulted for dry_run previews. Clients without elicitation are refused (dry_run still works anywhere). Removes the Stripe coupon object and then the coupons row, exactly like the dashboard's delete, so no orphaned Stripe object is left behind. Deleting is permanent and the code becomes reusable afterwards. Set dry_run:true to see exactly which coupon would go (and its redemption count) without touching anything. Use list_coupons first to confirm the code.

Input Schema

NameRequiredDescriptionDefault
codeYes
app_idYes
dry_runNo
confirm_usedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the destructive annotation, it discloses the human-gated elicitation flow, that the model cannot self-confirm, that confirm_used only affects dry_run previews, that non-elicitation clients are refused, and that the Stripe object plus database row are removed to avoid orphans. It also states permanence and that the code becomes reusable.

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?

The description is front-loaded and mostly earns its sentences, covering safety gates and effects efficiently. It has some repetition around human confirmation/elicitation, but given the destructive nature the length is defensible.

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

Completeness5/5

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

For a destructive, human-gated delete with no output schema, the description is complete: it explains prerequisites, refusal behavior, dry_run preview, exact side effects, permanence, and a recommended prior check. Only app_id semantics is a minor gap.

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?

With 0% schema description coverage, the description covers the critical semantics of dry_run and confirm_used well, and implies code is the coupon code. However, app_id is never explained, leaving one of four parameters undocumented.

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

Purpose5/5

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

The description states a specific verb and resource ('Delete one coupon from an app') with clear single-item scope, distinguishing it from the bulk_delete_coupon sibling by saying 'one coupon'.

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

Usage Guidelines4/5

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

It gives strong operational guidance: use list_coupons first, set dry_run for previews, and note that elicitation-capable clients are required for real deletes. It does not explicitly name bulk_delete_coupon as the alternative for multi-coupon deletion, so it falls short of full alternative routing.

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