Skip to main content
Glama

bulk_create_coupon

Create the SAME discount code across many apps in one call: the portfolio-promo shortcut (e.g. a summer sale on every owned app). WRITE, human-gated: a real create requires an elicitation-capable client; the human enters the coupon terms ONCE in a form (overriding the arguments here) and that one approval covers the whole batch. Clients without elicitation are refused (dry_run still works anywhere). Runs each app through the same fully-guarded create as create_coupon. Unlike a single call it does NOT fail the batch when an app already has the code: that app is reported skipped and the rest are still created. Returns a per-app outcome matrix plus created/skipped/failed counts. Use dry_run:true first to see which apps would create vs skip. Pass explicit app_ids (from list_apps). There is deliberately no 'all apps' shortcut, so a discount can't hit an app you didn't name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
listedNo
app_idsYes
dry_runNo
max_usesNo
expires_atNo
descriptionNo
applies_to_tiersNo
discount_percentYes
confirm_high_discountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it declares WRITE, human-gated approval via elicitation that overrides arguments, refusal for clients lacking elicitation (except dry_run), and a key contrast with the single call — existing codes are reported `skipped` rather than failing the batch. It also discloses the return shape (per-app outcome matrix plus created/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?

Front-loaded with the core purpose and dense with useful detail; nearly every sentence adds a distinct operational fact. Slightly repetitive around the elicitation/human-gating point, which costs it a perfect score.

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?

Batch behavior, approval gating, skip semantics, and return counts are well covered for a complex tool, and no output schema exists to offload that. However, for a 10-parameter tool with 0% schema coverage, six parameters remain undefined, notably confirm_high_discount and max_uses/expires_at, leaving the agent under-informed on how to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters, so the description must compensate but only meaningfully explains app_ids (pass explicit ids from list_apps) and dry_run (use first to preview). Code and discount are only implied, and listed, max_uses, expires_at, description, applies_to_tiers, and confirm_high_discount are left entirely undocumented in both description and schema.

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 precise verb+resource+scope: 'Create the SAME discount code across many apps in one call.' It explicitly frames itself as the bulk counterpart to create_coupon and adds the portfolio-promo use case, so an agent can distinguish it from the single-create sibling without opening the schema.

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 concrete when-to-use guidance ('summer sale on every owned app'), a prerequisite (requires an elicitation-capable client; non-elicitation clients are refused), a recommended first step ('Use dry_run:true first'), and the alternative (create_coupon for single calls). It also warns there is deliberately no 'all apps' shortcut and to pass explicit app_ids from list_apps.

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