Skip to main content
Glama

bulk_delete_coupon

Delete the SAME coupon code across many apps in one call: the inverse of bulk_create_coupon, for retiring a portfolio-wide promo. WRITE, human-gated: a real delete requires an elicitation-capable client; the human sees every app the code would be removed from (with per-app redemption counts) and must click approve, and confirm_used is only consulted for dry_run previews. Clients without elicitation are refused (dry_run still works anywhere). An app that never had the code is reported skipped rather than failing the batch, since the desired end state already holds there. Returns a per-app outcome matrix plus deleted/skipped/failed counts. Use dry_run:true first to see exactly which apps would lose the code. Pass explicit app_ids (from list_apps) so a delete can't hit an app you didn't name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
app_idsYes
dry_runNo
confirm_usedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly: it declares this is a WRITE, is human-gated via elicitation, is refused on non-elicitation clients, reports never-had-the-code apps as `skipped` rather than failing, and returns a per-app outcome matrix with deleted/skipped/failed counts.

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 verb and scope are front-loaded, and nearly every clause adds a distinct behavioral fact. It runs long and dense, but the length is justified by the elicitation gate, skip semantics, and return-shape details rather than padding.

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 mutating batch tool with no annotations and no output schema, the description supplies the missing safety profile, failure semantics, preview path, and return-value shape. An agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate; it explains dry_run as a preview toggle, that confirm_used is only consulted for dry_run previews, that app_ids should be explicit (sourced from list_apps), and that code targets the same coupon across apps. Coverage is strong though it does not spell out types/defaults, which the schema already holds.

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?

States a specific verb+resource+scope: 'Delete the SAME coupon code across many apps in one call.' It explicitly differentiates itself from siblings by naming bulk_create_coupon as its inverse and positioning itself as a multi-app operation distinct from single-app delete_coupon.

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

Usage Guidelines5/5

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

Gives explicit operational guidance: use dry_run:true first to preview affected apps, and pass explicit app_ids from list_apps so a delete cannot hit unnamed apps. It also states the client prerequisite (elicitation-capable) and when confirm_used applies, leaving nothing to inference.

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