Skip to main content
Glama
Cupom Center MCP
by experiens

Select coupons per unit

select_coupons_for_units

Automatically selects public coupons for 1–20 partitioned cart units, letting Cupom Center choose by coverage or total discount; use for coupon selection, not known-code validation.

Instructions

Automatically select public coupons for 1–20 marketplace/store units. Use only when a cart is partitioned into units and the integration wants Cupom Center to choose by coverage or total discount. This is not for validating a known code.

Input Schema

NameRequiredDescriptionDefault
modeYes
unitsYes
contextNo
priorityNototal_discount
max_coupons_per_unitNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds that the server does the choosing and that optimization targets coverage or total discount, but it never explains why the call is non-idempotent, whether selections reserve or lock coupons, or what happens when no coupon qualifies. With annotations carrying the load, this is a moderate additive contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: capability, precondition, exclusion. The scope constraint is front-loaded and no sentence is filler.

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?

This is a complex nested tool with five parameters, no output schema and no documented return shape. The description communicates the trigger and the optimization axis but omits result semantics (what a selection response contains, e.g. per-unit coupon assignments) and the meaning of the nested context object, which an agent needs to build a correct call.

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%, so the description must carry parameter meaning, and it does not. It hints at the priority enum ("by coverage or total discount") and the 1–20 unit bound, but leaves mode (single vs multiple), context (user/location/payment_method — clearly eligibility inputs), and max_coupons_per_unit entirely unexplained. The most consequential parameter, mode, is ambiguous between one coupon per unit and several, which can cause wrong invocations.

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?

"Automatically select public coupons for 1–20 marketplace/store units" names a specific verb (select), a specific resource (public coupons), and the scoping constraint (per unit). It also draws a hard boundary against code validation, which separates it from the quoting siblings.

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?

Explicit trigger given: use only when the cart is partitioned into units and the integration wants Cupom Center to choose by coverage or total discount. The negative case ("not for validating a known code") rules out the quote/redeem path. It stops short of naming the concrete siblings (find_eligible_coupons, quote_multiple_coupons) an agent should pick for non-partitioned or single-code flows.

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