Skip to main content
Glama

Search wine offers

search_offers
Read-onlyIdempotent

Search live purchase offers for wine, scoped to the user's marketplace region.

This is the end of the sommelier flow — call it once you have collected the user's preferences (see the /sommelier prompt). It always returns retail OFFERS (never abstract products): every result is a real listing from a shop with a price and a purchase link.

IMPORTANT:

  • query MUST be English space-separated keywords, NO commas/prepositions. Use "" if the user specified no wine characteristics. Apply semantic translation (e.g. "шампанское" → "Champagne"; "steak" → "red tannic bold Cabernet Sauvignon"). NEVER include a city, price, currency, shop name, or the word "wine".

  • price_min and price_max are REQUIRED. If the user named a number with price intent, use it exactly. Otherwise map cheap/mid/premium to the t1/t2/max thresholds from get_user_region. For a range ("от 20 до 50") set BOTH bounds — never drop the lower one.

  • price_currency is REQUIRED: the currency you determined in get_user_region (STEP 1), unless the user explicitly named a different one.

  • vintage: set to the exact year AND also include that year in query whenever the user names a specific year. Omit if no year was mentioned.

  • shop_names: only when the user named a retailer — pass the exact "Name (ID)" strings returned by search_shops (call search_shops FIRST).

  • Returns a preformatted, ready-to-display list of offers.

Args: query: English space-separated wine keywords (may be ""). price_min: Minimum price (usually 0.01 unless a lower bound was given). price_max: Maximum price. price_currency: ISO currency code (e.g. "EUR", "JPY") — see get_user_region. shop_names: Up to 5 "Name (ID)" strings from search_shops, or omit. vintage: Specific vintage year, or omit if none.

Input Schema

NameRequiredDescriptionDefault
queryYes
vintageNo
price_maxYes
price_minYes
shop_namesNo
price_currencyYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / price_currency / default
      Removed value: -""
    • changedInput schema / required
      Previous value: -[
      -  "query",
      -  "price_min",
      -  "price_max"
      -]New value: +[
      +  "query",
      +  "price_min",
      +  "price_max",
      +  "price_currency"
      +]
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior. The description adds that it returns a preformatted, ready-to-display list of offers, never abstract products, and that every result is a real shop listing with price and purchase link. Could add more on pagination or error handling, but sufficient given annotations.

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?

Well-structured with front-loaded purpose and bulleted important rules. However, the 'Args:' section repeats several parameter details already covered in the IMPORTANT section, introducing redundancy. Still appropriately sized for the tool's complexity.

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?

Given 6 parameters (4 required), output schema, and annotations, the description covers all necessary context: usage flow, parameter semantics, return format, and dependencies on sibling tools. Nothing an agent needs to call it correctly is missing.

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. It thoroughly explains each parameter: query formatting (English keywords, semantic translation, exclusions), price_min/max required with mapping rules, price_currency from get_user_region, vintage inclusion in query, and shop_names from search_shops. Fully compensates for schema gaps.

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 'search' and resource 'offers', and clarifies it returns real retail listings rather than abstract products. It also distinguishes itself from siblings by positioning itself as the end of the sommelier flow after collecting preferences.

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 says when to call (after collecting preferences) and when to call other tools first (search_shops for shop_names, get_user_region for price_currency). Provides detailed constraints on query format and price parameter derivation, leaving no ambiguity.

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