find_similar_products

Given a product ID, find similar products across the entire catalog. Uses vector similarity to surface products that share visual style, materials, price point, and category with the source product.

Parameters

ParameterTypeRequiredDefaultDescription
product_idstringYesThe product ID to find similar products for
limitnumberNo10Page size (max 10)
pagenumberNo1Page number (max 3)
currencystringNoUSDISO 4217 code to render prices in (e.g. "GBP", "EUR"). Falls back to FX when no stored native price exists.

Response

{
  "page": 1,
  "hasNextPage": true,
  "products": [
    {
      "id": "665b2a...",
      "title": "Suede Ankle Boot",
      "summary": "A modern take on the ankle boot in soft brown suede.",
      "brand": "Madewell",
      "price": 265,
      "currency": "USD",
      "compareAtPrice": null,
      "category": "shoes/boots/ankle-boots",
      "colors": ["brown"],
      "materials": ["suede"],
      "gender": "women",
      "silhouette": "fitted",
      "tags": ["casual", "fall", "minimalist"],
      "isSustainable": false,
      "inStock": true,
      "images": ["https://..."],
      "productUrl": "https://api.vistoya.com/go/665b2a...?src=mcp",
      "availability": {
        "dimensions": ["size"],
        "sizes": [
          { "label": "7",  "inStock": true },
          { "label": "8",  "inStock": true },
          { "label": "9",  "inStock": false }
        ]
      },
      "similarityScore": 0.87
    }
  ]
}

Fields

FieldDescription
pageCurrent page number
hasNextPageTrue when another page of results is available
productsArray of compact product cards. Each card carries: id, title, summary, brand, price, currency, compareAtPrice, category, colors, materials, gender, silhouette, tags, isSustainable, inStock, images, productUrl, availability, and similarityScore. See discover_products for full descriptions of each shared field.
similarityScoreVector similarity score (0–1) — how similar this product is to the source
brandMay differ from the source product — results span the entire catalog

Full SKU-level variants, merchant description, store info, and all images come from get_product.

Examples

{
  "name": "find_similar_products",
  "arguments": {
    "product_id": "665a1f2b3c4d5e6f7a8b9c0d",
    "limit": 5,
    "page": 1,
    "currency": "EUR"
  }
}

Call get_product on a chosen result for the full merchant description, all images, and the SKU-level availability matrix. Use discover_products if the user wants to widen the search beyond "more like this" toward a different category or filter set.