Skip to main content
Glama

pizza_specials

Read-only

List live coupons for carryout or delivery at the configured Domino's store, sorted by cheapest first; read-only, and pass any code to pizza_dryrun to test it against your standing order.

Instructions

List live coupons at the configured store, cheapest first, for mode "carryout" or "delivery" (default: the configured service method — coupons differ between the two). Read-only, never applies anything. To test whether a coupon fits the standing order, pass its code to pizza_dryrun.

Input Schema

NameRequiredDescriptionDefault
modeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": "",
      +  "title": "Mode",
      +  "type": "string"
      +}
  2. First observedv0.1.2

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so 'Read-only, never applies anything' is largely redundant, though it usefully reinforces that no coupon is redeemed. The description does add real behavioral context beyond annotations: result ordering (cheapest first), the fact that results are mode-dependent, and a handoff to dry-run validation.

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 action, then mode semantics, then the sibling handoff — a logical order with no filler. The 'Read-only, never applies anything' clause duplicates the annotation and is the one sentence that doesn't fully earn its place.

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

Completeness4/5

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

With no output schema, the description still conveys what comes back (live coupons, ordered cheapest first) and how to act on them via pizza_dryrun. It doesn't describe the coupon fields themselves, but for a single-optional-param read tool this is close to sufficient.

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% and 'mode' is a bare string with no enum, so the description carries the full burden — and it does, supplying both valid values ('carryout' or 'delivery') and the default behavior (configured service method). It stops short of specifying error behavior for an invalid value, which keeps it off a 5.

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 and resource ('List live coupons'), plus scope ('at the configured store'), ordering ('cheapest first'), and a mode qualifier. An agent can immediately distinguish this from pizza_menu, pizza_dryrun, and pizza_order without opening any 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?

Explicitly names the two accepted modes and their default, warns that coupons differ between modes, and routes the agent to the correct sibling ('To test whether a coupon fits the standing order, pass its code to pizza_dryrun'). This is exactly the when-to-use/when-to-use-something-else guidance that earns a top score.

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