Market

io.github.vistoyaPublished by GitHub account vistoyav1.0.0Updated Oct 24, 2026

Search and get fashion products recommendations across multiple e-ecom stores

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Vistoya Market lets an assistant semantically search and compare fashion products and brands across many indexed online stores.

What you can do
  • Search products across indexed fashion stores by natural-language query plus filters such as category, color, gender and price
  • Find products similar to a given product ID for "more like this" recommendations
  • Look up full details for one product: description, store info, images, SKU variants and prices
  • Search brands by style, origin or aesthetic, and find brands similar to a named one
  • List available filter values (categories, colors, materials, brands, price range) to guide queries
When to use it
Useful when someone wants an assistant to shop, compare or brainstorm fashion items and labels across stores, for example finding a jacket under a budget or alternatives to a product they already like.
Requirements
A remote Streamable HTTP endpoint; no authentication, API keys or environment variables are currently required. The README also offers an npx-based setup helper and an mcp-remote bridge for clients without remote support, which need Node.js.
Before you install
The endpoint is a public preview and currently unauthenticated, so availability and behavior may change. Queries and product IDs are sent to the third-party Vistoya service. Results are catalog listings only; the server does not appear to place orders or handle payments.

Installation

In SourceWeft

  1. Open Market in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.vistoya%2Fmarket/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "market": {
      "type": "http",
      "url": "https://api.vistoya.com/mcp"
    }
  }
}

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

sh
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

ToolDescription
discover_productsSemantic search across all indexed stores. Accepts a natural-language query plus optional filters (category, color, gender, price, etc.) and returns ranked products.
find_similar_productsGiven a product ID, return visually and semantically similar products.
discover_brandsSemantic search over brand profiles. Find brands by style, origin, or aesthetic (e.g. "Italian streetwear brands", "minimalist Scandinavian labels").
find_similar_brandsGiven a brand name or key, return similar brands using brand-profile vectors.
get_productFetch full details for a single product by ID.
get_filtersList available filter values (categories, colors, materials, brands, …) so the agent knows what's filterable.

Manual install

Claude Desktop / Claude Code

Add to claude_desktop_config.json (or your Claude Code MCP config):

json
{  "mcpServers": {    "vistoya": {      "url": "https://api.vistoya.com/mcp"    }  }}

Cursor

Add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "vistoya": {      "url": "https://api.vistoya.com/mcp"    }  }}

VS Code (MCP extension)

Add to your mcp.json:

json
{  "servers": {    "vistoya": {      "type": "http",      "url": "https://api.vistoya.com/mcp"    }  }}

Generic stdio fallback (clients that don't support remote yet)

Use mcp-remote as a bridge:

json
{  "mcpServers": {    "vistoya": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://api.vistoya.com/mcp"]    }  }}

Example prompts

Once connected, try:

  • "Find me a black leather jacket under $300"
  • "Show me something similar to this product"
  • "What cozy sweaters do you have for fall?"
  • "Find me running shorts under $100"

Discoverability

This server is published on the official MCP Registry. You can find it at:

https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.vistoya/market

Status

Public preview. The endpoint is publicly reachable and does not currently require authentication.

License

MIT — see LICENSE.

Contact

Issues and feature requests: open an issue on this repo.

Source: README.md at commit 5bd4e2a

Tools

6

discover_products

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 for open-ended discovery. Keep queries concrete: noun-led with up to one or two modifiers works best ("summer linen shirt" beats "breathable linen shirt perfect for summer"). Provide only structured filters (category, brand, colors, gender, price, etc.) for pure browse — results are recency-ranked and paginate cleanly. Combine both for filtered semantic search. At least one of query or a filter must be provided. Example calls (notice the sparse filter population — descriptive attributes stay in `query`, not in structured fields): - "linen wedding guest dress under $200" → {query: "linen wedding guest dress", gender: "women", max_price: 200, materials: ["linen"]} - "wool coat under $300" → {query: "wool coat", gender: "women", max_price: 300, materials: ["wool"]} - "browse women's black dresses $100-$300" → {gender: "women", category: "clothing/dresses", colors: ["black"], min_price: 100, max_price: 300} - "Acne Studios outerwear" → {query: "outerwear", brand: "Acne Studios", gender: "women"} Returns compact product cards: AI-generated summary, price, images, tags, and compact availability by color/size; variant price differences are nested under the availability dimension that determines price. For merchant description, store info, SKU-level variants, exact variant prices, and all product images, call get_product with a product ID from these results. Multi-currency prices supported (e.g. "under 200 zł" or min_price=200 + currency="PLN"); returned prices render in the requested currency when provided.

Parameterspagebrandlimitquerycolorsgenderseasonstylescountrypatternsleevescategory+13 more

find_similar_products

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, store info, and all images. Returns page and hasNextPage. Returns up to 20 results per page, paginated (max 3 pages).

Parameterspagelimitcountrycurrencyproduct_idrequired

discover_brands

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 Owens for technical outerwear". For a plain "brands like X" request, use find_similar_brands. Country adjectives ("Italian", "Scandinavian", "Nordic", "Japanese", "Iberian", "Benelux") are parsed server-side into shipping-origin filters; you don't need to translate them to ISO codes. `query` is optional — provide a query, structured filters, or both. Brand country/shipping signals are best-effort and separate from product availability.

Parameterslimitquerystylecountryprice_tiergender_focuscategory_focusships_from_country

find_similar_brands

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.

Parametersbrandrequiredlimitcountry

get_product

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 requested currency, and the direct link to purchase.

Parameterscountrycurrencyproduct_idrequired

get_filters

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" is a flat DFS-ordered list of { value, label } entries; hierarchy is encoded in the value slug (e.g. "clothing/jackets/bomber-jackets"), parents appear before descendants, and every value can be passed directly to discover_products.category. Use "brand_search" to search brands by prefix instead of listing all. Pass "gender" to scope categoryTree to that gender (women/men/girls/boys); omit to see the merged union.

Parametersfieldsgendercountrybrand_pagebrand_search

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts