vinted-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vinted-mcp-server search for vintage Levi's jeans under €50"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vinted-mcp-server
A Model Context Protocol (MCP) server for interacting with the Vinted marketplace. Enables AI assistants to search, browse, and discover second-hand items on Vinted.
Features
Search items — Full-text search with filters (price, brand, size, color, condition, sort)
Item details — Full item info including description, photos, seller profile, and condition
User profiles — Seller ratings, reviews, item counts, and activity
User items — Browse all items listed by a specific user
Brand search — Find brand IDs for use in search filters
Rate limiting — Token bucket rate limiter to avoid API bans
Caching — In-memory LRU cache with TTL for fast repeated queries
Retry logic — Exponential backoff for transient errors
Session management — Puppeteer-based with Cloudflare bypass
Token-efficient — Concise markdown responses optimized for LLM consumption
Related MCP server: vinted-mcp
Quick Start
Prerequisites
Node.js 20+
Using npx (zero-install)
This server communicates via stdio (JSON-RPC) and is designed to be launched by an MCP client, not run directly in a terminal. Configure it in your MCP client as shown below.
Install from source
git clone https://github.com/Rbillon59/vinted-mcp-server.git
cd vinted-mcp-server
npm install
npm run buildUsage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"vinted": {
"command": "npx",
"args": ["@rbillon59/vinted-mcp-server"],
"env": {
"VINTED_DOMAIN": "www.vinted.fr"
}
}
}
}{
"mcpServers": {
"vinted": {
"command": "node",
"args": ["/absolute/path/to/vinted-mcp-server/dist/index.js"],
"env": {
"VINTED_DOMAIN": "www.vinted.fr"
}
}
}
}Usage with Claude Code CLI
Add to your Claude Code settings (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"vinted": {
"command": "npx",
"args": ["@rbillon59/vinted-mcp-server"],
"env": {
"VINTED_DOMAIN": "www.vinted.fr"
}
}
}
}Usage with Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"vinted": {
"command": "npx",
"args": ["@rbillon59/vinted-mcp-server"]
}
}
}Usage with Docker
docker build -t vinted-mcp-server .
docker run -i --rm -e VINTED_DOMAIN=www.vinted.fr vinted-mcp-serverAvailable Tools
search_items
Search the Vinted catalog with filters.
Parameter | Type | Default | Description |
| string | (required) | Search text (e.g., "nike air max", "robe vintage") |
| number | 1 | Page number |
| number | 20 | Results per page (max: 96) |
| string | "relevance" | Sort: |
| number | — | Minimum price filter |
| number | — | Maximum price filter |
| string | — | Brand IDs (comma-separated) |
| string | — | Size IDs (comma-separated) |
| string | — | Color IDs (comma-separated) |
| string | — | Category IDs (comma-separated) |
| string | — | Condition: |
get_item_details
Get detailed information about a specific item.
Parameter | Type | Description |
| number | The Vinted item ID (from search results) |
Returns: title, price, description, brand, size, condition, colors, seller info (rating, location), photos, stats (views, favorites).
get_user_profile
Get a seller's profile information.
Parameter | Type | Description |
| number | The Vinted user ID (from search results or item details) |
Returns: username, rating, review breakdown, items listed/sold, location, member since, last active.
get_user_items
Browse all items listed by a specific user.
Parameter | Type | Default | Description |
| number | (required) | The Vinted user ID |
| number | 1 | Page number |
| number | 20 | Results per page |
search_brands
Search for brand names and get their IDs for use in search filters.
Parameter | Type | Description |
| string | Brand name to search (e.g., "Nike", "Zara") |
Configuration
Environment Variable | Default | Description |
|
| Vinted domain (e.g., |
| — | Custom Chrome/Chromium path for Puppeteer |
|
| Timeout for Cloudflare challenge resolution (ms) |
Supported Domains
Domain | Country |
| France |
| Germany |
| Spain |
| Italy |
| Netherlands |
| Belgium |
| Poland |
| Portugal |
| Lithuania |
| Czech Republic |
| United Kingdom |
Architecture
src/
index.ts # Entry point, stdio transport
server.ts # MCP server config & tool registration
tools/
search.ts # search_items tool
item.ts # get_item_details tool
user.ts # get_user_profile tool
user-items.ts # get_user_items tool
brands.ts # search_brands tool
api/
client.ts # HTTP client (session, cache, rate limit, retry)
session-provider.ts # Browser-based session (Cloudflare bypass)
browser-utils.ts # Shared Puppeteer/stealth utilities
types.ts # Vinted API response types
utils/
cache.ts # TTL cache with LRU eviction
rate-limiter.ts # Token bucket rate limiter
mcp-error.ts # Shared MCP error response builderReliability Features
Rate limiting: Token bucket (10 req/10s) prevents API bans
Caching: LRU cache (3min TTL, 200 entries max) reduces redundant requests
Retry: Exponential backoff (1s, 2s) on 429/5xx errors
Session recovery: Automatic cookie refresh on 401/403 with request coalescing
Request deduplication: Concurrent identical requests share a single API call
Cloudflare bypass: Puppeteer with stealth plugin for session acquisition
License
MIT
Available Tools
5 toolsget_item_detailsB
Get detailed information about a specific Vinted item including description, photos, seller info, and condition.
Inputs: item_id (required).
get_user_itemsB
List items currently for sale by a specific Vinted user/seller.
Inputs: user_id (required), page, order, per_page.
get_user_profileB
Get a Vinted user's profile including ratings, reviews, number of items, and activity.
Inputs: user_id (required).
search_brandsA
Search for Vinted brand IDs by name. Use the returned IDs with the brand_ids filter in search_items.
Inputs: query (required).
search_itemsB
Search for items on the Vinted marketplace. Returns a list of items matching the query with prices, brands, sizes, and seller info.
Inputs: query (required), page, order, per_page, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a clearly distinct resource-action combination: items, users, and brands are well separated, with search_items vs get_item_details vs get_user_items vs get_user_profile all serving unambiguous purposes. The only minor overlap is between search_items and get_user_items, but one is marketplace-wide search and the other lists a specific seller's inventory, making them readily distinguishable.
The naming follows a consistent verb_noun pattern (get_*, search_*) throughout. All tools use snake_case with clear verbs and nouns. The minor inconsistency is that search_items and search_brands use 'search' while the retrievals use 'get', but this is a coherent and predictable convention.
Five tools is at the lower end but reasonable for a read-only marketplace browse server. Each tool has a distinct role and none feels redundant. The count is slightly thin for the full Vinted scope, but arguably appropriate for a focused browsing/search-focused integration.
The tool surface covers core marketplace operations: search items, view item details, and browse user profiles/items. However, there are notable gaps—no ability to filter/favorite/save items, no transaction or purchase workflow, and no ability to search/filter by categories beyond brands. The brand search is a useful supporting tool for search_items.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Idealista MCP server for ChatGPT, Claude and any AI agent: list my listings, update listing, renew listing and reply to lead in your own Idealista account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Idealista yourself; Cotlet does not store your password and you need no Idealista API key. About the official Idealista API: Idealista has no public API for your own listings or contacts (checked 11 Oct 2026). Its Search API is read-only and given only after an application, and its official Claude and ChatGPT app only searches public listings, with no login. Setup and FAQ: https://cotlet.dev/integrations/idealista-api-mcp-server
Hemnet MCP server for ChatGPT, Claude and any AI agent: search listings, get sold prices, list saved homes, save search and follow home value in your own Hemnet account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Hemnet yourself; Cotlet does not store your password and you need no Hemnet API key. About the official Hemnet API: Hemnet has no public or developer API for buyers or owners (checked 11 Oct 2026). Its own AI access is the Hemnet app inside ChatGPT, which runs only in ChatGPT and gives your agent or scripts no way to read your saved homes or saved searches. Setup and FAQ: https://cotlet.dev/integrations/hemnet-api-mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Saleor e-commerce data including products, orders, customers, and more.3-
- AlicenseNot gradedqualityCmaintenanceAn MCP server for Vinted search and analysis that provides tools to search listings, fetch item details, inspect seller profiles, compare prices across countries, and surface trending items.163 npm36AGPL 3.0
- AlicenseAqualityDmaintenanceA focused Model Context Protocol server that enables AI agents to search Facebook Marketplace and retrieve listing details using public GraphQL endpoints, without browser automation or login.34MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching Vinted marketplaces for second-hand listings and reading detailed item information, read-only, without buying or contacting sellers.1MIT