Vinted Mcp

io.github.andrijdavid由 GitHub 帳號 andrijdavid 發布v0.1.2更新於 Oct 24, 2026

MCP Server for Vinted that allows to search items, compare prices, and analyze sellers.

概覽

AI 產生的概覽

針對 Vinted 的本機 MCP 伺服器,讓助理搜尋商品、查看商品與賣家、跨國比價,並收藏商品。

可以做什麼
依國家、價格區間、品牌、分類、狀況、排序與數量搜尋商品,並依 ID 或連結取得商品詳情(商品 API 已停用,改為讀取公開商品頁)。查詢賣家資料與近期評價,賣家近期衣櫥商品僅在登入後可用。依查詢詞比較各國平均價與中位數價格,並依收藏數與瀏覽數列出熱門商品。在帳號中收藏或取消收藏商品。瀏覽國家與分類資源,並使用找好價、篩選賣家、轉售估價等提示範本。
適用情境
適合讓助理研究 Vinted 上的二手服飾:在預算內找商品、購買前查核賣家、比較不同國家站點的價格,或估算轉售價值。
執行需求
透過 npx 或全域 npm 安裝以 stdio 在本機執行(需要 Node.js)。搜尋與比價工具可匿名使用;收藏商品和查看賣家自身商品需要登入工作階段,可依國家執行 login 指令(需安裝 Playwright 與 Chromium),或以 VINTED_AUTH_MODE=env 提供 VINTED_AUTH_COOKIES 和 VINTED_AUTH_CSRF_TOKEN。選用設定包括代理、並行數、重試與請求間隔。需要連線至 Vinted 的網路。
安裝前請注意
env 認證模式需要 VINTED_AUTH_COOKIES、VINTED_AUTH_CSRF_TOKEN,選用 VINTED_AUTH_ACCESS_TOKEN,這些是有效的登入憑證,請勿提交至版本控制,外洩後應輪替。儲存的瀏覽器設定檔包含已登入的工作階段。like_item 工具會寫入你的 Vinted 帳號。請求會送往 Vinted 站點,本專案與 Vinted 並無關聯。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Vinted Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Vinted MCP Server

[npm version] [License: AGPL v3+]

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:

Quick start

Option 1: npx

Add this to your MCP client config:

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

Option 1b: bunx (canary)

bash
bunx @andrijdavid/vinted-mcp@next

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

Option 2: global install

bash
npm install -g @andrijdavid/vinted-mcp

Then configure:

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

Run in network mode (Streamable HTTP over TCP)

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

bash
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)

bash
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)

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)

bat
set VINTED_AUTH_MODE=envset VINTED_AUTH_COOKIES=session_cookie=your_value; other_cookie=your_valueset VINTED_AUTH_CSRF_TOKEN=your_csrf_tokenbunx @andrijdavid/vinted-mcp@next

Use a local .env file

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

bash
cp .env.example .envbunx @andrijdavid/vinted-mcp@next

Run network mode from CLI with env

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

Windows Command Prompt:

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

Authentication and environment

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

Start from the example file:

bash
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_AUTH_REFRESH_TOKEN: optional refresh token, used to mint a new access token
  • VINTED_PROFILE_DIR: optional root for browser profiles created by login, default ~/.vinted-mcp
  • 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:

json
{  "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"      }    }  }}

Signing in

Search and price tools work anonymously. Anything tied to your account (like_item), plus a seller's own listings in get_seller, needs a logged-in session. Run this once per country:

bash
npx @andrijdavid/vinted-mcp login --country fr

A browser window opens on Vinted. Sign in the way you normally do (password, captcha, 2FA, Google login all work). The window closes by itself once you are signed in, and the browser profile is saved to ~/.vinted-mcp/profile-<country>. The server reopens that profile headlessly when it needs cookies, so the session refreshes itself and there is nothing to copy or paste.

Requirements: Playwright with Chromium (npm i playwright && npx playwright install chromium). Set VINTED_PROFILE_DIR to move the profile root somewhere other than ~/.vinted-mcp.

Manual cookies (headless servers and CI)

Where no browser can be opened, use VINTED_AUTH_MODE=env and supply the credentials yourself:

  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
  6. Optional: copy authorization: Bearer ... token into VINTED_AUTH_ACCESS_TOKEN, and the refresh_token_web cookie value into VINTED_AUTH_REFRESH_TOKEN.

Security notes:

  • treat these values as secrets
  • never commit .env
  • rotate tokens/cookies if exposed
  • the saved browser profile holds a live session; it is stored with owner-only permissions

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. Vinted retired the item API, so this reads the public item page instead: it is slower than search, and view counts and listing dates are no longer available.

get_seller

Get seller profile data, recent reviews and optional recent items by sellerId or url. The rating is on a 0-5 scale. Recent items come from the seller's wardrobe, which Vinted returns empty to anonymous callers, so that part needs a logged-in session.

compare_prices

Compare average and median prices for a query across countries.

get_trending

Return recently listed items ranked by favourites, then views. The catalogue API no longer returns listing timestamps or view counts, so the ranking is coarser than it used to be.

like_item

Add an item to your favourites by itemId or url, or remove it with unlike: true. Needs a logged-in session, see Signing in. Already-liked items are left alone rather than toggled off.

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

bash
npm installnpm run buildnpm run bundlenpm start

Testing

Run protocol-level tests:

bash
npm test

Run live integration tests:

bash
RUN_LIVE_MCP_TESTS=1 npm test

License

Licensed under AGPL-3.0-or-later.

See LICENSE.md.

來源:README.md,提交 992d476

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。