mcpField
V
vinted-mcp

vinted-mcp

本地服务
github.com/andrijdavid商业与营销274 周前更新

关于 vinted-mcp

vinted-mcp 是一个面向 Vinted 的 MCP 服务,用于搜索商品、比较价格和分析卖家。它适合需要在多个国家站点查询二手商品信息的用户。服务通过本地 stdio 或网络端点运行,并提供国家与分类资源。

主要功能

  1. 01搜索商品并按价格、品牌、分类等筛选
  2. 02查看商品详情与卖家资料及评价
  3. 03跨国家比较同一关键词的平均价与中位价
  4. 04按收藏数和浏览数排序最近上架的商品
  5. 05提供支持国家与分类数据的资源

适用场景

  1. 01比较同一商品在不同国家站点的价格
  2. 02分析卖家资料与近期评价
  3. 03查找近期热门的二手商品

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露搜索、详情、卖家分析、价格比较等工具,以及国家和分类资源与提示词模板。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"andrijdavid-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>"
}
}
}
}
启动命令npx -y @andrijdavid/vinted-mcp
需要配置的环境变量
VINTED_AUTH_MODE密钥Auth mode: http | playwright | env
VINTED_AUTH_COOKIES密钥Required for env auth mode
VINTED_AUTH_CSRF_TOKEN密钥Required for env auth mode
VINTED_AUTH_ACCESS_TOKEN密钥Optional for env auth mode
VINTED_PROXY_URLOptional network configuration
VINTED_MAX_CONCURRENCYOptional performance tuning. Default: 3
VINTED_REQUEST_DELAY_MSOptional performance tuning. Default: 500
VINTED_MAX_RETRIESOptional performance tuning. Default: 3

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@andrijdavid/vinted-mcp0.1.2

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否返回商品数量上限(最多 100 件)
querystring是搜索关键词
sortByenum否排序顺序relevance | price_low_to_high | price_high_to_low | newest_first
countrystring否国家/地区代码(fr、de、uk、it、es、nl、pl、pt、be、at、lt、cz、sk、hu、ro、hr、fi、dk、se)
brandIdsarray否按品牌 ID 筛选
priceMaxnumber否最高价格筛选条件
priceMinnumber否最低价格筛选条件
conditionarray否商品状况筛选条件(new_with_tags、new_without_tags、very_good、good、satisfactory)
categoryIdinteger否Vinted 类别 ID 筛选条件

详细介绍

Vinted MCP 服务

npm 版本 许可证:AGPL v3+

用于 Vinted 搜索和分析的 MCP 服务,提供搜索商品列表、获取商品详情、查看卖家资料、跨国家比较价格以及呈现热门商品的工具。

它还提供受支持国家和类别数据的资源。

免责声明:本项目与 Vinted 或其任何子公司、关联公司均无任何关联、联系、授权、认可,也没有任何官方关系。Vinted 官方网站可访问 vinted.com。

客户端支持

此服务适用于支持本地 stdio 服务的 MCP 客户端。

常用客户端及配置文档:

快速开始

选项 1:npx

将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "vinted": {
      "command": "npx",
      "args": ["-y", "@andrijdavid/vinted-mcp"]
    }
  }
}
选项 1b:bunx(预发布版)
bunx @andrijdavid/vinted-mcp@next

这会以 stdio 模式启动服务,并等待 MCP 客户端连接。

选项 2:全局安装
npm install -g @andrijdavid/vinted-mcp

然后进行配置:

{
  "mcpServers": {
    "vinted": {
      "command": "vinted-mcp"
    }
  }
}
以网络模式运行(通过 TCP 使用 Streamable HTTP)

如果需要使用网络端点而不是 stdio,请运行:

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

可选项:

  • VINTED_MCP_PATH(默认值为 /mcp)
  • VINTED_MCP_ENABLE_LEGACY_SSE(默认值为 true)
  • VINTED_MCP_LEGACY_SSE_PATH(默认值为 /sse)
  • VINTED_MCP_LEGACY_MESSAGES_PATH(默认值为 /messages)

默认端点:

  • Streamable HTTP(推荐):http://127.0.0.1:3001/mcp
  • Legacy SSE(较旧的客户端):http://127.0.0.1:3001/sse

CLI 用法和环境变量

内联传入环境变量(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
内联传入环境变量(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
内联传入环境变量(Windows 命令提示符)
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
使用本地 .env 文件

服务会自动从当前工作目录加载 .env 文件。

cp .env.example .env
bunx @andrijdavid/vinted-mcp@next
在 CLI 中通过环境变量运行网络模式
VINTED_MCP_TRANSPORT=http \
VINTED_MCP_HOST=127.0.0.1 \
VINTED_MCP_PORT=3001 \
bunx @andrijdavid/vinted-mcp@next

Windows 命令提示符:

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

身份验证和环境

如果工作目录中存在 .env 文件,服务会自动加载。

从示例文件开始:

cp .env.example .env

主要变量:

  • VINTED_AUTH_MODE:http、playwright 或 env
  • VINTED_AUTH_COOKIES:Cookie 请求头字符串或 JSON 对象字符串
  • VINTED_AUTH_CSRF_TOKEN:CSRF 令牌
  • VINTED_AUTH_ACCESS_TOKEN:可选的 bearer 令牌
  • VINTED_AUTH_REFRESH_TOKEN:可选的刷新令牌,用于获取新的访问令牌
  • VINTED_PROFILE_DIR:可选,login 创建的浏览器配置文件根目录,默认值为 ~/.vinted-mcp
  • VINTED_PROXY_URL:可选的代理 URL
  • VINTED_MAX_CONCURRENCY:可选的调优项
  • VINTED_REQUEST_DELAY_MS:可选的调优项
  • VINTED_MAX_RETRIES:可选的调优项

使用环境变量身份验证的客户端配置示例:

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

登录

搜索和价格工具可以匿名使用。任何与账户相关的操作(like_item),以及 get_seller 中卖家自己的商品列表,都需要已登录的会话。每个国家运行一次:

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

浏览器窗口会打开 Vinted。按平常的方式登录即可(密码、验证码、双重身份验证和 Google 登录均可)。登录后窗口会自动关闭,浏览器配置文件会保存到 ~/.vinted-mcp/profile-<country>。服务需要 Cookie 时,会以无头模式重新打开该配置文件,因此会话会自动续期,无需复制或粘贴任何内容。

要求:使用带 Chromium 的 Playwright(npm i playwright && npx playwright install chromium)。 设置 VINTED_PROFILE_DIR,可将配置文件根目录移至 ~/.vinted-mcp 以外的位置。

手动设置 Cookie(无头服务和 CI)

如果无法打开浏览器,请使用 VINTED_AUTH_MODE=env 并自行提供凭据:

  1. 在浏览器中登录 Vinted。
  2. 打开开发者工具。
  3. 打开 Network 并刷新页面。
  4. 打开任意一个 https://www.vinted.<country>/api/... 请求。
  5. 从 Request Headers 中复制:
    • cookie -> VINTED_AUTH_COOKIES
    • x-csrf-token -> VINTED_AUTH_CSRF_TOKEN
  6. 可选:将 authorization: Bearer ... 令牌复制到 VINTED_AUTH_ACCESS_TOKEN,并将 refresh_token_web Cookie 的值复制到 VINTED_AUTH_REFRESH_TOKEN。

安全说明:

  • 请将这些值视为机密
  • 切勿提交 .env
  • 如果令牌或 Cookie 泄露,请及时更换
  • 保存的浏览器配置文件中包含有效会话;该文件仅所有者可访问

工具

search_items

使用国家、价格范围、品牌 ID、类别、商品状况、排序方式和数量上限等筛选条件搜索商品列表。

get_item

通过 itemId 或 url 获取商品详情。Vinted 已停用商品 API,因此此工具会读取公开商品页面:速度比搜索慢,并且不再提供浏览量和上架日期。

get_seller

通过 sellerId 或 url 获取卖家资料、近期评价,以及可选的近期商品。评分范围为 0–5 分。近期商品来自卖家的衣橱;Vinted 不会向匿名用户返回衣橱内容,因此此功能需要已登录的会话。

compare_prices

比较不同国家中某个查询的平均价格和中位数价格。

get_trending

返回近期发布、按收藏数排序,其次按浏览量排序的商品。目录 API 不再返回上架时间或浏览量,因此排序结果不如以往精细。

like_item

通过 itemId 或 url 将商品加入收藏;也可以设置 unlike: true 将其移除。需要已登录的会话,参见登录。已收藏的商品会保持收藏状态,不会切换为取消收藏。

资源

  • vinted://countries
  • vinted://categories
资源模板
  • vinted://item/{country}/{itemId}
  • vinted://seller/{country}/{sellerId}
  • vinted://search/{country}/{query}

这些模板让客户端可以快速创建直接资源 URI。

提示词模板

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

这些预定义提示词可帮助客户端快速启动常见的 Vinted 工作流。

支持的国家:fr、de、uk、it、es、nl、pl、pt、be、at、lt、cz、sk、hu、ro、hr、fi、dk、se。

本地开发

npm install
npm run build
npm run bundle
npm start

测试

运行协议级测试:

npm test

运行实时集成测试:

RUN_LIVE_MCP_TESTS=1 npm test

许可证

基于 AGPL-3.0-or-later 许可。

参见 LICENSE.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。