Skip to main content
Glama

Search products

search_products
Read-only

Search the canonical product catalog by free text (Hebrew or English), brand, category, or exact GTIN, and answer 'how much is X' for a SINGLE item. Also matches chain listing names. Send city or address and every hit comes back priced: fromPrice is the lowest it goes for at any storefront delivering there, so quote it as 'from ₪X across N storefronts' (pricedAtStorefronts) and never as one national price — there is no such thing here. pricedAtStorefronts=1 is one shop's price, not a market rate. normalizedUnitPrice is that same money per 100g/100ml/piece: compare on it, NOT on fromPrice, because a smaller pack is cheaper to buy and usually dearer per gram. Results come back cheapest per unit first. fromPrice is the ordinary price, never a loyalty-club or coupon rate. Without a location nothing can be priced and the price fields are absent. For a whole shopping list call optimize_delivery ONCE with query items — never price lines one by one here, and never add these prices up: they come from different storefronts and each carries its own delivery fee. After optimize_delivery priced the wrong product, call suggest_similar_products with the shopper's Hebrew words and the rejected product_id, then call optimize_delivery again with that product_id. Returns canonical products (not per-chain detail); call get_product for listings.

Input Schema

NameRequiredDescriptionDefault
cityNoCity name in Hebrew or English (also accepts CBS locality codes). Aliases resolve to one place — e.g. 'הרצליה', 'Herzliya', and '6400' are the same filter. May be combined with location as a disambiguation hint.
gtinNoExact GTIN/barcode to look up.
nearNo'lat,lng' string, e.g. '32.078,34.774', to find stores near a point.
brandNoFilter by brand name, partial match.
limitNoMax results, default 20.
queryNoFree text search, Hebrew or English, e.g. 'חלב תנובה' or 'olive oil'.
categoryNoFilter by internal category slug (l1 or l2), e.g. 'dairy'.
locationNoFree-text neighborhood or address in Israel, e.g. 'נווה עמל, הרצליה'. Resolved to coordinates via cached Nominatim. Do not combine with near.
store_idNoOptional store UUID to prefer locally stocked products.
radius_kmNoSearch radius in km around the resolved point. Defaults to 10km when near or location is set. Ignored without a point.
in_stock_onlyNoWhen location is set, return only products with a local price. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / brand / maxLength
      Added value: +100
    • addedInput schema / properties / category / maxLength
      Added value: +100
    • addedInput schema / properties / gtin / maxLength
      Added value: +64
    • addedInput schema / properties / query / maxLength
      Added value: +200
  2. Changed2 schema fields changed
    • addedInput schema / properties / city / maxLength
      Added value: +100
    • addedInput schema / properties / near / maxLength
      Added value: +100
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/non-destructive; the description adds substantial behavior the annotations cannot carry — pricing only exists when a location is supplied (otherwise price fields are absent), fromPrice is a per-storefront floor rather than a national rate, pricedAtStorefronts=1 is a single shop, fromPrice excludes loyalty/coupon rates, and results are sorted cheapest per unit. These are exactly the non-obvious traits that would cause misquoting or double-counting.

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?

Purpose and the pricing caveat are front-loaded, and nearly every sentence carries decision-relevant content. It is nonetheless a dense paragraph that restates the 'not one national price' warning in several forms and could be trimmed without losing meaning, so it falls short of a 5.

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

Completeness5/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 must carry the return contract and does: canonical products rather than per-chain detail, on what basis hits are ordered, which price fields appear and when, and how to interpret fromPrice versus normalizedUnitPrice. Nothing an agent needs to call this correctly or interpret the response is missing.

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 100%, so the baseline is 3; the description earns an extra point by explaining the cross-parameter consequence the schema does not state — supplying city or address causes every hit to return price fields, and their absence is explained by 'without a location nothing can be priced'. It does not elaborate radius_km, store_id, limit, or the near/location exclusion beyond what the schema already says.

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 (search the canonical product catalog) plus the exact matching modes (free text Hebrew/English, brand, category, exact GTIN) and explicitly distinguishes itself from get_product ('Returns canonical products (not per-chain detail); call get_product for listings'). An agent can separate it from every sibling without opening another 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?

Gives explicit when-to-use, when-not-to-use, and named alternatives: use optimize_delivery ONCE for a whole shopping list rather than pricing lines here, and use suggest_similar_products with the shopper's Hebrew words plus the rejected product_id after a mismatch, then re-call optimize_delivery. Failure-recovery routing is spelled out, not implied.

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