Skip to main content
Glama
aserper

grubhub-mcp

by aserper

apply_promo_code

Applies a promotion code to a Grubhub cart, reducing the order total before checkout. Provide the cart ID and promo code to validate and attach the discount.

Instructions

Apply a promotion code to the cart.

Args: cart_id: The cart ID promo_code: The promotion code to apply

Input Schema

NameRequiredDescriptionDefault
cart_idYes
promo_codeYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.7

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and largely fails it: it does not say whether applying a promo replaces a prior one, whether codes stack, whether an invalid code errors or silently no-ops, or whether the operation is idempotent. For a cart-mutating tool this is a meaningful gap.

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

Conciseness3/5

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

It is short and front-loads the verb+resource, which is good. However, the 'Args' block is pure repetition of schema titles and wastes the only space available for real guidance, making this under-specified rather than genuinely concise.

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?

An output schema exists so return shape need not be explained, but nothing covers the mutation's side effects, error behavior, or interaction with the cart state. Given no annotations and no parameter documentation, the definition is too thin for a write operation in a cart workflow.

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 compensate, yet it only restates the parameter names as glosses ('cart_id: The cart ID', 'promo_code: The promotion code to apply'). It adds no format, case-sensitivity, or constraint detail beyond the schema titles.

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?

The first sentence names a specific verb and resource ('Apply a promotion code to the cart'), so an agent knows exactly what the tool does. It stops short of distinguishing this from the sibling apply_gift_card, which applies a different credit type to the same cart.

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 indication of when to use this versus apply_gift_card, nor any prerequisite such as the cart existing or a promo code being valid. The only implied usage is the obvious 'you have a promo code' case.

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