Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
vinted-mcp logo

vinted-mcp

andrijdavid/vinted-mcp
4 starsv0.1.2STDIORegistry activeNOASSERTIONUpdated 2026-06-16Community

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

claude mcp add vinted -- npx -y @andrijdavid/vinted-mcp

Summary

An 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.

Connect from your MCP client

One-click install

Add this server to your editor with a single click. Fill in any required credentials afterward.

Claude Code

Run this once and Claude Code registers the server for you:

claude mcp add vinted -- npx -y @andrijdavid/vinted-mcp

Claude Desktop

Add this to claude_desktop_config.json under Settings → Developer → Edit Config:

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": [
        "-y",
        "@andrijdavid/vinted-mcp"
      ],
      "env": {
        "VINTED_AUTH_MODE": "<VINTED_AUTH_MODE>",
        "VINTED_AUTH_COOKIES": "<VINTED_AUTH_COOKIES>",
        "VINTED_AUTH_CSRF_TOKEN": "<VINTED_AUTH_CSRF_TOKEN>",
        "VINTED_AUTH_ACCESS_TOKEN": "<VINTED_AUTH_ACCESS_TOKEN>",
        "VINTED_PROXY_URL": "<VINTED_PROXY_URL>",
        "VINTED_MAX_CONCURRENCY": "<VINTED_MAX_CONCURRENCY>",
        "VINTED_REQUEST_DELAY_MS": "<VINTED_REQUEST_DELAY_MS>",
        "VINTED_MAX_RETRIES": "<VINTED_MAX_RETRIES>"
      }
    }
  }
}

Cursor

Add this to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": [
        "-y",
        "@andrijdavid/vinted-mcp"
      ],
      "env": {
        "VINTED_AUTH_MODE": "<VINTED_AUTH_MODE>",
        "VINTED_AUTH_COOKIES": "<VINTED_AUTH_COOKIES>",
        "VINTED_AUTH_CSRF_TOKEN": "<VINTED_AUTH_CSRF_TOKEN>",
        "VINTED_AUTH_ACCESS_TOKEN": "<VINTED_AUTH_ACCESS_TOKEN>",
        "VINTED_PROXY_URL": "<VINTED_PROXY_URL>",
        "VINTED_MAX_CONCURRENCY": "<VINTED_MAX_CONCURRENCY>",
        "VINTED_REQUEST_DELAY_MS": "<VINTED_REQUEST_DELAY_MS>",
        "VINTED_MAX_RETRIES": "<VINTED_MAX_RETRIES>"
      }
    }
  }
}

Cline and other MCP clients

Most MCP clients accept the standard mcpServers JSON block:

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": [
        "-y",
        "@andrijdavid/vinted-mcp"
      ],
      "env": {
        "VINTED_AUTH_MODE": "<VINTED_AUTH_MODE>",
        "VINTED_AUTH_COOKIES": "<VINTED_AUTH_COOKIES>",
        "VINTED_AUTH_CSRF_TOKEN": "<VINTED_AUTH_CSRF_TOKEN>",
        "VINTED_AUTH_ACCESS_TOKEN": "<VINTED_AUTH_ACCESS_TOKEN>",
        "VINTED_PROXY_URL": "<VINTED_PROXY_URL>",
        "VINTED_MAX_CONCURRENCY": "<VINTED_MAX_CONCURRENCY>",
        "VINTED_REQUEST_DELAY_MS": "<VINTED_REQUEST_DELAY_MS>",
        "VINTED_MAX_RETRIES": "<VINTED_MAX_RETRIES>"
      }
    }
  }
}

Codex CLI

Register the server with OpenAI's Codex CLI — run this once, or add the equivalent block to ~/.codex/config.toml:

codex mcp add vinted --env VINTED_AUTH_MODE=<VINTED_AUTH_MODE> --env VINTED_AUTH_COOKIES=<VINTED_AUTH_COOKIES> --env VINTED_AUTH_CSRF_TOKEN=<VINTED_AUTH_CSRF_TOKEN> --env VINTED_AUTH_ACCESS_TOKEN=<VINTED_AUTH_ACCESS_TOKEN> --env VINTED_PROXY_URL=<VINTED_PROXY_URL> --env VINTED_MAX_CONCURRENCY=<VINTED_MAX_CONCURRENCY> --env VINTED_REQUEST_DELAY_MS=<VINTED_REQUEST_DELAY_MS> --env VINTED_MAX_RETRIES=<VINTED_MAX_RETRIES> -- npx -y @andrijdavid/vinted-mcp

# or add to ~/.codex/config.toml:
[mcp_servers.vinted]
command = "npx"
args = ["-y", "@andrijdavid/vinted-mcp"]
[mcp_servers.vinted.env]
VINTED_AUTH_MODE = "<VINTED_AUTH_MODE>"
VINTED_AUTH_COOKIES = "<VINTED_AUTH_COOKIES>"
VINTED_AUTH_CSRF_TOKEN = "<VINTED_AUTH_CSRF_TOKEN>"
VINTED_AUTH_ACCESS_TOKEN = "<VINTED_AUTH_ACCESS_TOKEN>"
VINTED_PROXY_URL = "<VINTED_PROXY_URL>"
VINTED_MAX_CONCURRENCY = "<VINTED_MAX_CONCURRENCY>"
VINTED_REQUEST_DELAY_MS = "<VINTED_REQUEST_DELAY_MS>"
VINTED_MAX_RETRIES = "<VINTED_MAX_RETRIES>"

OpenClaw

OpenClaw reads MCP servers from the mcp.servers section of ~/.openclaw/openclaw.json (managed via `openclaw mcp add` or the mcporter skill):

{
  "mcp": {
    "servers": {
      "vinted": {
        "command": "npx",
        "args": [
          "-y",
          "@andrijdavid/vinted-mcp"
        ],
        "env": {
          "VINTED_AUTH_MODE": "<VINTED_AUTH_MODE>",
          "VINTED_AUTH_COOKIES": "<VINTED_AUTH_COOKIES>",
          "VINTED_AUTH_CSRF_TOKEN": "<VINTED_AUTH_CSRF_TOKEN>",
          "VINTED_AUTH_ACCESS_TOKEN": "<VINTED_AUTH_ACCESS_TOKEN>",
          "VINTED_PROXY_URL": "<VINTED_PROXY_URL>",
          "VINTED_MAX_CONCURRENCY": "<VINTED_MAX_CONCURRENCY>",
          "VINTED_REQUEST_DELAY_MS": "<VINTED_REQUEST_DELAY_MS>",
          "VINTED_MAX_RETRIES": "<VINTED_MAX_RETRIES>"
        }
      }
    }
  }
}

Replace the <PLACEHOLDER> values with your own credentials — see the configuration table below.

Configuration

vinted-mcp reads the following environment variables:

VariableRequired
VINTED_AUTH_MODEOptional
VINTED_AUTH_COOKIESOptional
VINTED_AUTH_CSRF_TOKENOptional
VINTED_AUTH_ACCESS_TOKENOptional
VINTED_PROXY_URLOptional
VINTED_MAX_CONCURRENCYOptional
VINTED_REQUEST_DELAY_MSOptional
VINTED_MAX_RETRIESOptional

README.md

Vinted MCP Server

![npm version](https://www.npmjs.com/package/@andrijdavid/vinted-mcp) ![License: AGPL v3+](./LICENSE.md)

An 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.

It also exposes resources for supported countries and category data.

Disclaimer: This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Vinted, or any of its subsidiaries or its affiliates. The official Vinted website can be found at vinted.com.

Client support

This server works with MCP clients that support local stdio servers.

Popular clients and setup docs:

  • Claude Desktop (local): https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop
  • Claude Desktop (remote): https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp
  • ChatGPT (MCP developer mode): https://platform.openai.com/docs/guides/developer-mode
  • ChatGPT (MCP and connectors): https://platform.openai.com/docs/guides/tools-remote-mcp
  • Cursor: https://docs.cursor.com/context/model-context-protocol
  • Windsurf: https://docs.windsurf.com/windsurf/cascade/mcp
  • Cline: https://docs.cline.bot/mcp/configuring-mcp-servers
  • Full MCP client directory: https://modelcontextprotocol.io/clients

Quick start

Option 1: npx

Add this to your MCP client config:

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": ["-y", "@andrijdavid/vinted-mcp"]
    }
  }
}

Option 1b: bunx (canary)

bunx @andrijdavid/vinted-mcp@next

This starts the server in stdio mode and waits for an MCP client.

Option 2: global install

npm install -g @andrijdavid/vinted-mcp

Then configure:

{
  "mcpServers": {
    "vinted": {
      "command": "vinted-mcp"
    }
  }
}

Run in network mode (Streamable HTTP over TCP)

If you need a network endpoint instead of stdio, run:

VINTED_MCP_TRANSPORT=http VINTED_MCP_HOST=127.0.0.1 VINTED_MCP_PORT=3001 bunx @andrijdavid/vinted-mcp@next

Optional:

  • VINTED_MCP_PATH (default /mcp)
  • VINTED_MCP_ENABLE_LEGACY_SSE (default true)
  • VINTED_MCP_LEGACY_SSE_PATH (default /sse)
  • VINTED_MCP_LEGACY_MESSAGES_PATH (default /messages)

Default endpoints:

  • Streamable HTTP (recommended): http://127.0.0.1:3001/mcp
  • Legacy SSE (older clients): http://127.0.0.1:3001/sse

CLI usage and env variables

Pass env vars inline (macOS/Linux)

VINTED_AUTH_MODE=env \
VINTED_AUTH_COOKIES='session_cookie=your_value; other_cookie=your_value' \
VINTED_AUTH_CSRF_TOKEN='your_csrf_token' \
bunx @andrijdavid/vinted-mcp@next

Pass env vars inline (PowerShell)

$env:VINTED_AUTH_MODE = "env"
$env:VINTED_AUTH_COOKIES = "session_cookie=your_value; other_cookie=your_value"
$env:VINTED_AUTH_CSRF_TOKEN = "your_csrf_token"
bunx @andrijdavid/vinted-mcp@next

Pass env vars inline (Windows Command Prompt)

set VINTED_AUTH_MODE=env
set VINTED_AUTH_COOKIES=session_cookie=your_value; other_cookie=your_value
set VINTED_AUTH_CSRF_TOKEN=your_csrf_token
bunx @andrijdavid/vinted-mcp@next

Use a local .env file

The server auto-loads .env from the current working directory.

cp .env.example .env
bunx @andrijdavid/vinted-mcp@next

Run network mode from CLI with env

VINTED_MCP_TRANSPORT=http \
VINTED_MCP_HOST=127.0.0.1 \
VINTED_MCP_PORT=3001 \
bunx @andrijdavid/vinted-mcp@next

Windows Command Prompt:

set VINTED_MCP_TRANSPORT=http
set VINTED_MCP_HOST=127.0.0.1
set VINTED_MCP_PORT=3001
bunx @andrijdavid/vinted-mcp@next

Authentication and environment

The server auto-loads .env from the working directory if present.

Start from the example file:

cp .env.example .env

Main variables:

  • VINTED_AUTH_MODE: http, playwright, or env
  • VINTED_AUTH_COOKIES: cookie header string or JSON object string
  • VINTED_AUTH_CSRF_TOKEN: CSRF token
  • VINTED_AUTH_ACCESS_TOKEN: optional bearer token
  • VINTED_PROXY_URL: optional proxy URL
  • VINTED_MAX_CONCURRENCY: optional tuning
  • VINTED_REQUEST_DELAY_MS: optional tuning
  • VINTED_MAX_RETRIES: optional tuning

Example client config with env auth:

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": ["-y", "@andrijdavid/vinted-mcp"],
      "env": {
        "VINTED_AUTH_MODE": "env",
        "VINTED_AUTH_COOKIES": "session_cookie=your_value; other_cookie=your_value",
        "VINTED_AUTH_CSRF_TOKEN": "your_csrf_token"
      }
    }
  }
}

How to get cookies and CSRF token

  1. Sign in to Vinted in your browser.
  2. Open Developer Tools.
  3. Open Network and refresh.
  4. Open any https://www.vinted.<country>/api/... request.
  5. Copy from Request Headers:
  • cookie -> VINTED_AUTH_COOKIES
  • x-csrf-token -> VINTED_AUTH_CSRF_TOKEN
  1. Optional: copy authorization: Bearer ... token into VINTED_AUTH_ACCESS_TOKEN.

Security notes:

  • treat these values as secrets
  • never commit .env
  • rotate tokens/cookies if exposed

Tools

search_items

Search listings with filters like country, price range, brand IDs, category, condition, sort, and limit.

get_item

Get item details by itemId or url.

get_seller

Get seller profile data and optional recent items by sellerId or url.

compare_prices

Compare average and median prices for a query across countries.

get_trending

Return trending items by engagement score.

Resources

  • vinted://countries
  • vinted://categories

Resource templates

  • vinted://item/{country}/{itemId}
  • vinted://seller/{country}/{sellerId}
  • vinted://search/{country}/{query}

These templates let clients create direct resource URIs quickly.

Prompt templates

  • find_best_deal
  • screen_seller
  • search_item_with_filters
  • trending_report
  • buy_or_skip_decision
  • resale_arbitrage_estimator

These predefined prompts help clients bootstrap common Vinted workflows.

Supported countries: fr, de, uk, it, es, nl, pl, pt, be, at, lt, cz, sk, hu, ro, hr, fi, dk, se.

Local development

npm install
npm run build
npm run bundle
npm start

Testing

Run protocol-level tests:

npm test

Run live integration tests:

RUN_LIVE_MCP_TESTS=1 npm test

License

Licensed under AGPL-3.0-or-later.

See LICENSE.md.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.