vistoya avatar

Market

vistoya/vistoya-mcp

Hooks Claude and other MCP clients into Vistoya's fashion index with semantic and visual search across multiple e-commerce stores. You get seven tools: discover_products for natural language queries with filters like category, color, and price; find_similar_products for visual lookalikes; brand discovery and similarity search; and get_product for details. The discover and filter tools let you ask "black leather jacket under $300" and get ranked results from the embedded product catalog. Runs over streamable HTTP at api.vistoya.com/mcp, so no local process needed. Setup is one npx command that auto-configures Claude Desktop, Cursor, VS Code, and Windsurf. Public preview, no auth required yet.

tools
6
transport
HTTP
last updated
Apr 11, 2026

Install

From registry metadata
$ npx add-mcp https://api.vistoya.com/mcp --name market

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http market https://api.vistoya.com/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 6 tools

Verified live against the running server on Nov 6, 2026.

discover_productsFind fashion products using natural language and/or structured filters. Provide a `query` for semantic ranking via multimodal text+image embeddings ("oversized wool coat", "black leather jacket", "minimalist gold jewelry", "linen shirt for a beach wedding under $200") — best f...25 params

Find fashion products using natural language and/or structured filters. Provide a `query` for semantic ranking via multimodal text+image embeddings ("oversized wool coat", "black leather jacket", "minimalist gold jewelry", "linen shirt for a beach wedding under $200") — best f...

Parameters* required
available_sizesarray
Filter by available size labels, e.g. ["s", "m", "38"].
brandstring
Filter by brand name
categorystring
Category slug, e.g. "clothing", "clothing/jackets", "clothing/jackets/bomber-jackets". Accepts last-segment shortcuts when unambiguous — e.g. "loafers-and-slip-ons" resolves the same as "shoes/loaf...
color_matchstring
Color matching mode. "any" (default): product has at least one of the queried colors. "exact": product has at least one image where the ONLY colors are the queried colors — use for mono-color searc...one of any · exactdefault: any
colorsarray
Filter by lowercase colors: e.g. ["black", "navy", "sage green"]
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
currencystring
ISO 4217 currency code for min_price/max_price (e.g. "PLN", "EUR", "GBP"). Prices are converted to USD for filtering. Omit for USD.
exclude_colorsarray
Exclude products with these colors: e.g. ["white", "beige"]
exclude_materialsarray
Exclude products with these materials: e.g. ["polyester", "nylon"]
genderstring
Gender filter.one of women · men · unisex · boys · girls
is_sustainableboolean
True when the user explicitly wants products with sustainability claims.
limitinteger
Page size (1-20, default 12)default: 12
materialsarray
Filter by lowercase materials: e.g. ["cotton", "silk", "leather"]
max_pricenumber
Maximum price (in the currency specified by "currency" param, or USD if omitted)
min_pricenumber
Minimum price (in the currency specified by "currency" param, or USD if omitted)
necklinestring
Neckline filter. Soft descriptor — set ONLY when the user explicitly named the neckline. Do not infer from category or query.one of v-neck · crewneck · scoop · square · halter · off-shoulder
occasionstring
Occasion filter. Soft descriptor — set ONLY when the user explicitly named the occasion. The `query` field already captures occasion semantically; over-specifying is the most common cause of zero-r...one of casual · formal · business · party · outdoor · beach
pageinteger
Page number. Increment while the response indicates another page. Vistoya results are returned first; a later page may continue with an optional external catalog after owned results are exhausted....default: 1
patternstring
Pattern filter (e.g. solid, stripe, checked, floral). Soft descriptor — set ONLY when the user explicitly named the pattern. Default for unspecified ("solid") leaks into queries and zeros the candi...one of solid · stripe · checked · floral · polka dot · camouflage
querystring
Natural language search query — be descriptive for best results. Can include price with currency symbols (e.g. "white coat under 200 zł") which will be parsed automatically. Optional: when omitted,...

+5 more parameters. See the server's own documentation for the full schema.

find_similar_productsGiven a product ID, find similar products across the entire catalog. Useful for "more like this" recommendations or finding alternatives. Returns compact product cards, not full variant detail; call get_product for SKU-level variants, exact variant prices, merchant description...5 params

Given a product ID, find similar products across the entire catalog. Useful for "more like this" recommendations or finding alternatives. Returns compact product cards, not full variant detail; call get_product for SKU-level variants, exact variant prices, merchant description...

Parameters* required
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
currencystring
ISO 4217 currency code to render prices in (e.g. "GBP", "EUR", "USD"). Defaults to USD. Stored native prices are preferred; falls back to FX conversion when a merchant-set price isn't available.
limitinteger
Page size (1-20)default: 12
pageinteger
Page number (1-3)default: 1
product_id*string
The product ID (from a previous search result)
discover_brandsFind fashion brands using natural language, structured filters, or both. Best for queries like "Italian streetwear brands", "Scandinavian minimalist brands", "Japanese technical outerwear", "brands with avant-garde tailoring", or qualified similarity such as "brands like Rick...8 params

Find fashion brands using natural language, structured filters, or both. Best for queries like "Italian streetwear brands", "Scandinavian minimalist brands", "Japanese technical outerwear", "brands with avant-garde tailoring", or qualified similarity such as "brands like Rick...

Parameters* required
category_focusarray
Optional brand category focus filters, e.g. ["clothing", "shoes"].
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
gender_focusarray
Optional brand audience focus filters.
limitinteger
Maximum number of brands to return (1-20, default 12).default: 12
price_tierstring
Optional public brand price-tier focus filter: budget, mid, premium, or luxury. Input "budget" maps to the brand-level output tier "value".one of budget · mid · premium · luxury
querystring
Natural language brand search query, e.g. "Italian streetwear brands", "Scandinavian minimalist brands", "Japanese technical outerwear", or qualified similarity such as "brands like Rick Owens for...
ships_from_countrystring
Optional ISO-3166-1 alpha-2 country filter for best-effort store shipping origin, e.g. "IT", "US", "GB". Lowercase input is accepted and normalized to uppercase. This is not the same as brand origin.
stylestring
Optional style filter, e.g. streetwear, minimalist, elegant, avant-garde, techwear.one of minimalist · streetwear · elegant · avant-garde · grunge · vintage
find_similar_brandsGiven an active catalog brand name or merged alias, find similar brands using brand-profile vectors generated during product indexing. Unknown or ambiguous seeds return no brands. Returns up to 20 brands.3 params

Given an active catalog brand name or merged alias, find similar brands using brand-profile vectors generated during product indexing. Unknown or ambiguous seeds return no brands. Returns up to 20 brands.

Parameters* required
brand*string
Brand name (case-insensitive), e.g. "Rick Owens".
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
limitinteger
default: 12
get_productGet the detailed response for a specific product ID. Use this after discover_products or find_similar_products when you need merchant description, store info, all images, SKU-level availability variants, SKU, colorKey/size matrix, exact variant prices/compareAtPrice in the req...3 params

Get the detailed response for a specific product ID. Use this after discover_products or find_similar_products when you need merchant description, store info, all images, SKU-level availability variants, SKU, colorKey/size matrix, exact variant prices/compareAtPrice in the req...

Parameters* required
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
currencystring
ISO 4217 currency code to render prices in (e.g. "GBP", "EUR", "USD"). Defaults to USD.
product_id*string
The product ID (from a previous search result)
get_filtersReturns available filter values in the catalog. By default returns categoryTree plus brands, colors, materials, genders, occasions, seasons, styles, silhouettes, currencies, and price range. Use "fields" to request only specific dimensions — faster and less data. "categoryTree...5 params

Returns available filter values in the catalog. By default returns categoryTree plus brands, colors, materials, genders, occasions, seasons, styles, silhouettes, currencies, and price range. Use "fields" to request only specific dimensions — faster and less data. "categoryTree...

Parameters* required
brand_pageinteger
Page number for brands (12 per page). Use with or without brand_search.default: 1
brand_searchstring
Search brands by name (case-insensitive, prefix matches first). Only affects the brands field.
countrystring
Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves cu...
fieldsarray
Which filter dimensions to return. Omit for all. Example: ["categoryTree", "colors", "priceRange"]
genderstring
Scope categoryTree to this gender. Omit to return the merged union across women/men/girls/boys.one of women · men · unisex · boys · girls

Sponsors

Readme

Vistoya MCP

Semantic search and recommendations across fashion stores, exposed as a Model Context Protocol server. Connect any MCP-compatible AI agent (Claude, Cursor, VS Code, ChatGPT, etc.) and let it discover products, find visually similar items, and explore stores in the Vistoya marketplace.

  • Registry name: io.github.vistoya/market
  • Endpoint: https://api.vistoya.com/mcp
  • Transport: Streamable HTTP
  • Website: https://vistoya.com

Quick setup

npx @vistoya/mcp

Automatically detects and configures Claude Desktop, Claude Code, Cursor, Windsurf, and VS Code. Restart your AI client after running.

What it does

Vistoya indexes fashion products from many stores and embeds them with a vision-language model. The MCP server lets agents query that index in natural language and reason over the results.

Tools


View the full README on GitHub

Details

Repository
github.com/vistoya/vistoya-mcp
Category
Search & Web Crawling
Transport
HTTP
Registry
MCP registry, active
Resources
42
Tools verified
Nov 6, 2026

Related Search & Web Crawling MCP servers

View all
1wellknownmcp avatarIA-Asso.fr — French Associations Registrywellknownmcp/ia-asso.frSearch 1.26M+ active French associations (official RNA registry, 10 tools, premium & RUP filters)0stars
2kolverahq avatarKolverakolverahq/kolvera-mcpAI sales & BD platform for Australian recruiters: search, enrich, campaign, research, reports.0stars
3scispot-repo avatarMcpscispot-repo/scispot-mcp-serverTurn any LLM into your lab assistant: search samples, track experiments, analyze data with AI.0stars
4studiomeyer-io avatarStudioMeyer Personal Suitestudiomeyer-io/mcp-personal-suiteLocal-first productivity: email, calendar, messaging, search, image gen. 49 tools. BYOK.0stars
5jhackman2019 avatarCodebase Context Mcpjhackman2019/codebase-context-mcpCodebase indexing and search via WASM tree-sitter. Works on ARM64 and x86_64.0stars
6jnilrac avatarSecant Agent Research Packjnilrac/secant-agent-research-mcpPaid MCP web research for agents: search, extraction, citations, and x402 payment discovery.0stars