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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
product_id | string | Yes | — | The product ID to find similar products for |
limit | number | No | 10 | Page size (max 10) |
page | number | No | 1 | Page number (max 3) |
currency | string | No | USD | ISO 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
| Field | Description |
|---|---|
page | Current page number |
hasNextPage | True when another page of results is available |
products | Array 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. |
similarityScore | Vector similarity score (0–1) — how similar this product is to the source |
brand | May 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"
}
}
Related tools
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.