关于 vinted-mcp
vinted-mcp 是一个面向 Vinted 的 MCP 服务,用于搜索商品、比较价格和分析卖家。它适合需要在多个国家站点查询二手商品信息的用户。服务通过本地 stdio 或网络端点运行,并提供国家与分类资源。
主要功能
- 01搜索商品并按价格、品牌、分类等筛选
- 02查看商品详情与卖家资料及评价
- 03跨国家比较同一关键词的平均价与中位价
- 04按收藏数和浏览数排序最近上架的商品
- 05提供支持国家与分类数据的资源
适用场景
- 01比较同一商品在不同国家站点的价格
- 02分析卖家资料与近期评价
- 03查找近期热门的二手商品
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露搜索、详情、卖家分析、价格比较等工具,以及国家和分类资源与提示词模板。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @andrijdavid/vinted-mcpVINTED_AUTH_MODE密钥Auth mode: http | playwright | envVINTED_AUTH_COOKIES密钥Required for env auth modeVINTED_AUTH_CSRF_TOKEN密钥Required for env auth modeVINTED_AUTH_ACCESS_TOKEN密钥Optional for env auth modeVINTED_PROXY_URLOptional network configurationVINTED_MAX_CONCURRENCYOptional performance tuning. Default: 3VINTED_REQUEST_DELAY_MSOptional performance tuning. Default: 500VINTED_MAX_RETRIESOptional performance tuning. Default: 3本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 返回商品数量上限(最多 100 件) |
| query | string | 是 | 搜索关键词 |
| sortBy | enum | 否 | 排序顺序relevance | price_low_to_high | price_high_to_low | newest_first |
| country | string | 否 | 国家/地区代码(fr、de、uk、it、es、nl、pl、pt、be、at、lt、cz、sk、hu、ro、hr、fi、dk、se) |
| brandIds | array | 否 | 按品牌 ID 筛选 |
| priceMax | number | 否 | 最高价格筛选条件 |
| priceMin | number | 否 | 最低价格筛选条件 |
| condition | array | 否 | 商品状况筛选条件(new_with_tags、new_without_tags、very_good、good、satisfactory) |
| categoryId | integer | 否 | Vinted 类别 ID 筛选条件 |
详细介绍
Vinted MCP 服务
用于 Vinted 搜索和分析的 MCP 服务,提供搜索商品列表、获取商品详情、查看卖家资料、跨国家比较价格以及呈现热门商品的工具。
它还提供受支持国家和类别数据的资源。
免责声明:本项目与 Vinted 或其任何子公司、关联公司均无任何关联、联系、授权、认可,也没有任何官方关系。Vinted 官方网站可访问 vinted.com。
客户端支持
此服务适用于支持本地 stdio 服务的 MCP 客户端。
常用客户端及配置文档:
- Claude Desktop(本地):https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop
- Claude Desktop(远程):https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp
- ChatGPT(MCP 开发者模式):https://platform.openai.com/docs/guides/developer-mode
- ChatGPT(MCP 和连接器):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
- 完整的 MCP 客户端目录:https://modelcontextprotocol.io/clients
快速开始
选项 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或envVINTED_AUTH_COOKIES:Cookie 请求头字符串或 JSON 对象字符串VINTED_AUTH_CSRF_TOKEN:CSRF 令牌VINTED_AUTH_ACCESS_TOKEN:可选的 bearer 令牌VINTED_AUTH_REFRESH_TOKEN:可选的刷新令牌,用于获取新的访问令牌VINTED_PROFILE_DIR:可选,login创建的浏览器配置文件根目录,默认值为~/.vinted-mcpVINTED_PROXY_URL:可选的代理 URLVINTED_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 并自行提供凭据:
- 在浏览器中登录 Vinted。
- 打开开发者工具。
- 打开
Network并刷新页面。 - 打开任意一个
https://www.vinted.<country>/api/...请求。 - 从
Request Headers中复制:cookie->VINTED_AUTH_COOKIESx-csrf-token->VINTED_AUTH_CSRF_TOKEN
- 可选:将
authorization: Bearer ...令牌复制到VINTED_AUTH_ACCESS_TOKEN,并将refresh_token_webCookie 的值复制到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://countriesvinted://categories
资源模板
vinted://item/{country}/{itemId}vinted://seller/{country}/{sellerId}vinted://search/{country}/{query}
这些模板让客户端可以快速创建直接资源 URI。
提示词模板
find_best_dealscreen_sellersearch_item_with_filterstrending_reportbuy_or_skip_decisionresale_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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。