Skip to main content
Glama

pizza_dryrun

Read-only

Validates and prices a pizza order without placing it, letting you test coupons, delivery or carryout fees, and payment totals before approval.

Instructions

Validate and price the standing order WITHOUT placing it.

coupon: a code from pizza_specials, to test whether it applies. mode: "carryout" or "delivery" (default: configured service method). Delivery adds the store's delivery fee and the configured tip. pay: "cash", "card" or "giftcard" (default: the configured payment). card/giftcard use whatever the user set up with mcpie setup-payment; nothing is charged by a dry run. Returns due = the real total the human should approve. Safe to call.

Input Schema

NameRequiredDescriptionDefault
payNo
modeNo
couponNo

Schema Changelog

Changes observed during successful MCP inspections.

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

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial context beyond the readOnlyHint/openWorldHint annotations: nothing is charged, delivery adds the store fee plus configured tip, and card/giftcard route through the user's saved setup. The 'safe to call' note reinforces the safety profile. It doesn't cover failure behavior (invalid coupon, unavailable store), so not a 5.

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 per-parameter lines that each earn their place. Minor formatting noise (ragged line breaks, a raw shell command reference to `mcpie setup-payment`) costs it a perfect score but no sentence is wasted.

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?

For a read-only, no-required-param pricing tool with no output schema, it covers the essentials, including the key return value (`due`). Missing only what happens on an invalid coupon or an unconfigured payment method, which an agent would want to know before calling.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden and does: it defines coupon provenance, enumerates mode as 'carryout'/'delivery' with a default, enumerates pay as 'cash'/'card'/'giftcard' with a default and explains what card/giftcard actually resolve to. This is real semantic value the bare schema lacks.

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 pair (validate and price) against a specific resource (the standing order) and immediately contrasts with the sibling action by saying 'WITHOUT placing it'. An agent can distinguish this from pizza_order on the first line.

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?

Makes the when clear: this is the pre-order price check, safe, nothing charged, and coupon codes come from pizza_specials. It stops short of explicitly saying 'call pizza_order to actually place it' or when-not to use this, but the intent is unambiguous from context.

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