Skip to main content
Glama

Search flyer offers

search_offers
Read-onlyIdempotent

This week's flyer offers for item words, an aisle, or deals near a place: give at least one of query, aisle or near. Each row has a comparable unit price (per kg, L or item), dates (valid is the first and last day, Toronto time), the nearest store carrying it, and an offerId for get_offer_evidence and show_offers. At most 50 rows a call; use aisle and unit filters and fields to keep answers small.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_offers"
  }
}

Input Schema

NameRequiredDescriptionDefault
nearNoWhere the shopper is: a Canadian postal code ("M6H 2B6"), an FSA ("M6H"), or "lat,lng".
sortNo
unitNoOnly offers priced per this unit, so prices compare.
aisleNo
limitNoDefault 20, at most 50.
queryNoItem words, e.g. "chicken thighs". Omit to browse an aisle or the deals near a place.
fieldsNoReturn only these fields per row (offerId and priceKind are always kept), to save tokens.
bannersNoLimit to these banners, e.g. ["no-frills", "food-basics", "freshco"].
radiusKmNoSearch radius in km around `near` (default 5).
attributesNoEvery listed attribute must be present, e.g. ["halal"].
maxUnitPriceNoDollars per `unit`.
minDiscountPercentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and closed-world, so safety is covered. The description adds genuinely useful behavior the annotations do not: a hard 50-row cap per call, compare-unit normalization, and Toronto-time validity dates where `valid` spans first to last day. It omits what happens when multiple required-filter inputs conflict or how results are truncated.

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 dense sentences, front-loaded with purpose before the mode constraint and row shape. The heavy use of backticked identifiers makes it compact but slightly telegraphic; still, every sentence carries information.

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?

There is no output schema, and the description compensates by describing the row payload (unit price, valid dates, nearest store, offerId) and the row ceiling. For a 12-parameter read tool this is nearly complete, with only edge-case behavior around filtering conflicts left unstated.

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

Parameters3/5

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

Schema coverage is 75% and most parameters already carry their own descriptions, so the baseline applies. The description's real contribution is the cross-parameter constraint that at least one of query/aisle/near must be supplied, which no single schema field states; the remaining params (banners, attributes, radiusKm, sort, maxUnitPrice, minDiscountPercent) get no added meaning.

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 ('flyer offers') plus its discovery modes (item words, aisle, deals near a place), and explicitly hands off row consumption to get_offer_evidence and show_offers rather than duplicating them. An agent can distinguish it from compare_items, shelf_prices and show_offers without opening a schema.

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?

Gives an actionable precondition ('give at least one of query, aisle or near') and points to the unit/aisle/fields filters for token control. It does not state when to prefer shelf_prices, price_history or compare_items instead, so routing against the wider sibling set is left implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources