Trend-ranked fashion, accessories and interior design for shopping agents. Taste-matched. Free key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Alternatives to one item: close in style, optionally filtered (for example max_price for a cheaper option, or availability).
The item to find alternatives for.
5 to 20. Anonymous callers get 5.
Hard filters. Applied before ranking; an item that fails any of them is never returned.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http trend-index https://vitrine.fashion/mcp
Alternatives to one item: close in style, optionally filtered (for example max_price for a cheaper option, or availability).
| Argument | Type | Description |
|---|---|---|
| id* | string | The item to find alternatives for. |
| agent | any | |
| limit | integer | 5 to 20. Anonymous callers get 5. |
| filters | object | Hard filters. Applied before ranking; an item that fails any of them is never returned. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 120,
"minLength": 1,
"description": "The item to find alternatives for."
},
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'acme-shopper'"
},
"locale": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'en-GB'"
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"default": null
},
"platform": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "Platform or developer"
},
"session_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"default": null,
"description": "Your own opaque id linking calls in one shopping session. Never a user id."
}
},
"description": "Optional self-identification. Identified callers help us rank better; keys make it reliable."
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 5,
"description": "5 to 20. Anonymous callers get 5."
},
"filters": {
"type": "object",
"properties": {
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"type": "null"
}
],
"default": null,
"description": "Item must be available in this size, e.g. 'M' or '32'."
},
"tier": {
"anyOf": [
{
"enum": [
"luxury_anchor",
"trend_brand",
"streetwear",
"sneakers",
"resale_vintage",
"accessories_interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Catalog tier, see CATALOG_TIERS.md."
},
"brand": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null
},
"colors": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20
},
{
"type": "null"
}
],
"default": null,
"description": "Item must come in at least one of these colors."
},
"ship_to": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code, e.g. 'US', 'FR', 'GB'."
},
"category": {
"anyOf": [
{
"enum": [
"fashion",
"accessories",
"interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"max_price": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"min_price": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"availability": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"in_stock",
"low_stock",
"preorder",
"out_of_stock"
],
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Allowed availability states."
}
},
"description": "Hard filters. Applied before ranking; an item that fails any of them is never returned.",
"additionalProperties": false
}
}
}Full record for one item id from a previous result: sizes, materials, colors, shipping regions, seller, and (with a key) silhouette, occasion, season and trend data.
| Argument | Type | Description |
|---|---|---|
| id* | string | Item id from a search, trending or find_similar result. |
| agent | any |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 120,
"minLength": 1,
"description": "Item id from a search, trending or find_similar result."
},
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'acme-shopper'"
},
"locale": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'en-GB'"
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"default": null
},
"platform": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "Platform or developer"
},
"session_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"default": null,
"description": "Your own opaque id linking calls in one shopping session. Never a user id."
}
},
"description": "Optional self-identification. Identified callers help us rank better; keys make it reliable."
},
{
"type": "null"
}
],
"default": null
}
}
}Search trending fashion, accessories and interior pieces. Free-text query, hard filters (category, tier, price, colors, size, brand, availability, ship_to) and an optional taste profile (style tags, liked and avoided colors, price comfort). Returns 5 to 20 ranked items with price, availability, image, trend status, a reason it matches and an outbound link to the retailer.
| Argument | Type | Description |
|---|---|---|
| agent | any | |
| limit | integer | Maximum results, 5 to 20. Anonymous callers get 5. No pagination. |
| query | string | Free text, e.g. 'relaxed linen trousers for a summer trip'. Max 300 characters. |
| filters | object | Hard filters. Applied before ranking; an item that fails any of them is never returned. |
| taste_profile | any |
{
"type": "object",
"properties": {
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'acme-shopper'"
},
"locale": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'en-GB'"
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"default": null
},
"platform": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "Platform or developer"
},
"session_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"default": null,
"description": "Your own opaque id linking calls in one shopping session. Never a user id."
}
},
"description": "Optional self-identification. Identified callers help us rank better; keys make it reliable."
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 5,
"description": "Maximum results, 5 to 20. Anonymous callers get 5. No pagination."
},
"query": {
"type": "string",
"default": "",
"maxLength": 300,
"description": "Free text, e.g. 'relaxed linen trousers for a summer trip'. Max 300 characters."
},
"filters": {
"type": "object",
"properties": {
"size": {
"anyOf": [
{
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"type": "null"
}
],
"default": null,
"description": "Item must be available in this size, e.g. 'M' or '32'."
},
"tier": {
"anyOf": [
{
"enum": [
"luxury_anchor",
"trend_brand",
"streetwear",
"sneakers",
"resale_vintage",
"accessories_interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Catalog tier, see CATALOG_TIERS.md."
},
"brand": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null
},
"colors": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20
},
{
"type": "null"
}
],
"default": null,
"description": "Item must come in at least one of these colors."
},
"ship_to": {
"anyOf": [
{
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO country code, e.g. 'US', 'FR', 'GB'."
},
"category": {
"anyOf": [
{
"enum": [
"fashion",
"accessories",
"interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"max_price": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"min_price": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"availability": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"in_stock",
"low_stock",
"preorder",
"out_of_stock"
],
"type": "string"
}
},
{
"type": "null"
}
],
"default": null,
"description": "Allowed availability states."
}
},
"description": "Hard filters. Applied before ranking; an item that fails any of them is never returned.",
"additionalProperties": false
},
"taste_profile": {
"anyOf": [
{
"type": "object",
"properties": {
"style_tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20,
"description": "e.g. minimal, tailored, relaxed, vintage"
},
"price_comfort": {
"anyOf": [
{
"type": "object",
"properties": {
"max": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
},
"min": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"default": null
}
}
},
{
"type": "null"
}
],
"default": null
},
"avoided_colors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20
},
"preferred_colors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 20
}
},
"description": "Soft preferences from the shopper's agent. Used for ranking, never for exclusion.\nDescribe taste only: no names, emails or other personal data.",
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null
}
}
}What is hot or rising right now, ranked by trend score, optionally within a category or tier. Hot means confirmed by demand; rising means early momentum.
| Argument | Type | Description |
|---|---|---|
| tier | any | |
| agent | any | |
| limit | integer | 5 to 20. Anonymous callers get 5. |
| category | any |
{
"type": "object",
"properties": {
"tier": {
"anyOf": [
{
"enum": [
"luxury_anchor",
"trend_brand",
"streetwear",
"sneakers",
"resale_vintage",
"accessories_interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"agent": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'acme-shopper'"
},
"locale": {
"anyOf": [
{
"type": "string",
"maxLength": 16
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. 'en-GB'"
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"default": null
},
"platform": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"default": null,
"description": "Platform or developer"
},
"session_id": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"default": null,
"description": "Your own opaque id linking calls in one shopping session. Never a user id."
}
},
"description": "Optional self-identification. Identified callers help us rank better; keys make it reliable."
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 5,
"description": "5 to 20. Anonymous callers get 5."
},
"category": {
"anyOf": [
{
"enum": [
"fashion",
"accessories",
"interior"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.