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複数の国の Vinted サイトで同じ商品の価格を比較
  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 version License: 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:任意のベアラートークン
  • 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 のブラウザーウィンドウが開きます。普段どおりにサインインしてください(パスワード、CAPTCHA、2FA、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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。