Skip to main content
Glama

Create Coupon

create_coupon

Create a discount coupon for an OpenCart store, enabled immediately and valid from today with percentage or fixed amount discounts.

Instructions

Create a discount coupon, enabled and valid from today. type: 'P' = percentage, 'F' = fixed amount. uses_total=0 = unlimited total uses; uses_per_customer=0 = unlimited per customer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
nameYes
typeNoP
discountYes
days_validNo
uses_totalNo
free_shippingNo
logged_in_onlyNo
min_order_totalNo
uses_per_customerNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the coupon is created enabled, starts today, and that uses_total=0 / uses_per_customer=0 mean unlimited — non-obvious semantics. However it omits mutation side effects, what happens with a duplicate or invalid code, and any permission requirements.

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 lines, front-loaded with the action, then the two most non-obvious parameter semantics. No filler, though the fragmented line breaks after 'today.' read slightly awkwardly.

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

Completeness2/5

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

Although an output schema exists (so return values need not be described), the tool has 10 parameters at 0% schema coverage and no annotations. A create operation with this much configuration surface needs far more description than is provided.

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. It only explains type, uses_total, and uses_per_customer, leaving code, name, discount, days_valid, free_shipping, logged_in_only, and min_order_total entirely undocumented.

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 ('Create a discount coupon') with the initial state ('enabled and valid from today'), which distinguishes it from update_coupon and get_coupons. It does not name those siblings explicitly, so sibling differentiation is implied rather than stated.

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 guidance on when to use this versus update_coupon, get_coupons, or get_vouchers, and no mention of prerequisites such as required fields or tenant/workspace context. Usage must be inferred from the name alone.

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