discover_products

Find products using natural language. This tool uses AI-powered semantic search with vector embeddings to understand intent, not just keywords. A query like "something elegant for a night out" will match cocktail dresses, statement jewelry, and heeled sandals — even if those words don't appear in the product descriptions.

Parameters

ParameterTypeRequiredDefaultDescription
querystringYesNatural language search query — be descriptive for best results
categorystringNoProduct category
subcategorystringNoLowercase subcategory, e.g. dresses, sneakers, crossbody bags
colorsstring[]NoFilter by colors, e.g. ["black", "navy", "sage green"]
color_matchstringNoany"any" (default): product has at least one queried color. "exact": at least one image is exclusively the queried colors — use for mono-color searches like "all black".
materialsstring[]NoFilter by materials, e.g. ["cotton", "silk", "leather"]
genderstringNoGender filter — call get_filters for current values
occasionstringNoOccasion filter — call get_filters for current values
seasonstringNoSeason filter — call get_filters for current values
stylestringNoStyle filter — call get_filters for current values
silhouettestringNoSilhouette/fit filter — call get_filters for current values
brandstringNoFilter by brand name
min_pricenumberNoMinimum price
max_pricenumberNoMaximum price
store_domainstringNoFilter by store domain (use list_stores to get domains)
limitnumberNo10Max results to return

Response

Returns products ranked by semantic relevance:

[
  {
    "id": "665a1f...",
    "title": "Coastal Breeze Linen Dress",
    "summary": "A flowing linen midi in soft sage with subtle pleating...",
    "price": 178,
    "currency": "USD",
    "category": "apparel",
    "subcategory": "dresses",
    "colors": ["sage green"],
    "materials": ["linen"],
    "gender": "women",
    "occasion": "casual",
    "season": "summer",
    "silhouette": "relaxed",
    "inStock": true,
    "images": ["https://..."],
    "productUrl": "https://api.vistoya.com/go/665a1f...?src=mcp",
    "brand": "Reformation",
    "relevanceScore": 0.92
  }
]

Response fields

FieldDescription
idProduct identifier
titleProduct title
summaryAI-generated product summary
priceCurrent price
currencyPrice currency code
categoryProduct category
subcategoryProduct subcategory
colorsProduct colors
materialsProduct materials
genderTarget gender
occasionSuitable occasion
seasonSuitable season
styleProduct style (when available)
silhouetteFit/silhouette
inStockCurrent availability
imagesProduct image URLs
productUrlLink to product page
brandBrand name
relevanceScoreSemantic similarity score (0–1) — how closely the product matches the query

Examples

Natural language with price filter:

{
  "name": "discover_products",
  "arguments": {
    "query": "black leather jacket for going out",
    "max_price": 300
  }
}

Category and material filter:

{
  "name": "discover_products",
  "arguments": {
    "query": "minimalist jewelry for everyday wear",
    "category": "jewelry",
    "materials": ["silver"]
  }
}

Color and season filtering:

{
  "name": "discover_products",
  "arguments": {
    "query": "cozy oversized sweater for fall",
    "colors": ["cream", "camel", "burgundy"],
    "season": "fall"
  }
}

When to use

Use discover_products for all product search. It works best with descriptive natural language queries ("something elegant for a cocktail party") and can be combined with structured filters like category, gender, min_price, etc. for precise results.