secondhand-mcp について
secondhand-mcpは、中古マーケットを検索するAIアシスタント向けのローカルMCPサーバーです。Facebook Marketplace、eBay、Depop、Poshmarkで条件検索し、出品の詳細を取得できます。
主な機能
- 014つの中古マーケットを検索
- 02価格、カテゴリー、状態で絞り込み
- 03サイズ、色、ブランドで絞り込み
- 04出品詳細、写真、販売者情報を取得
- 05調査向けの`search`と`fetch`ツール
活用シーン
- 01複数のマーケットで価格帯を指定して中古品を探す
- 02DepopやPoshmarkの出品をサイズや色で絞り込む
- 03検索結果から出品の詳細を確認
MCP 対応
ローカルMCPサーバーとして、複数マーケットの検索、出品詳細、マーケットの状態を調べるツールを公開します。調査向けクライアント用に`search`と`fetch`も提供し、READMEではローカルMCPサーバーを実行するクライアント向けと説明されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y secondhand-mcpEBAY_CLIENT_IDシークレットeBay API client ID (only needed for eBay search)EBAY_CLIENT_SECRETシークレットeBay API client secret (only needed for eBay search)EBAY_MARKETPLACE_IDeBay regional marketplace, e.g. EBAY_US (default)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sort | string | いいえ | 並べ替え順(Depop、Poshmark)。選択肢:relevance、newest、most_popular、price_low_to_high、price_high_to_low |
| brand | string | いいえ | ブランドで絞り込みます(Poshmark のみ)。例:"Nike"、"Levi's"、"Gucci" |
| limit | number | いいえ | 返す結果の最大数(デフォルト:20)。eBay は 200 件を超える結果を取得するために自動でページ送りします(eBay では offset + limit の上限は 10,000 です)。 |
| query | string | はい | 検索クエリ(例:"stroller"、"iPhone 14"、"vintage couch") |
| sizes | array | いいえ | サイズで絞り込みます(Depop、Poshmark)。例:["S", "M", "L"] または ["US 9", "US 10"] |
| colors | array | いいえ | 色で絞り込みます(Depop、Poshmark)。選択肢:black、white、red、blue、green、yellow、orange、pink、purple、brown、grey、cream、multi、silver、gold |
| offset | number | いいえ | ページネーションの開始結果オフセット(デフォルト:0)。eBay のみ。他のマーケットプレイスでは無視されます。 |
| category | string | いいえ | 商品カテゴリー。Depop:tops、bottoms、dresses、coats-jackets、footwear、accessories、bags、jewellery、activewear、swimwear。Poshmark:Jackets_&_Coats、Dresses、Shoes、Accessories など、アンダースコアで区切った名前を使用します。 |
| location | string | いいえ | Facebook Marketplace 検索用の市と州。「City, ST」形式で指定します(例:「Austin, TX」、「Portland, OR」)。呼び出す前に、近隣地域、郵便番号、都市圏、「near me」を市と州に解決してください。市名だけでは曖昧で、誤った州の結果が返る場合があります。米国外では、市と国を渡してください。Facebook のみ。他のマーケットプレイスでは無視されます。 |
| maxPrice | number | いいえ | 最高価格フィルター(任意) |
| minPrice | number | いいえ | 最低価格フィルター(任意) |
| showSold | boolean | いいえ | 売却済み/購入不可の商品を結果に含めます(デフォルト:false) |
| condition | string | いいえ | 商品の状態で絞り込みます。eBay:new、like_new、good、fair。Depop:new、like_new、excellent、good、fair、used。Poshmark:new(NWT)、like_new(NWOT)、good、fair。絞り込まない場合は "any" を使用します。 |
| department | string | いいえ | 部門で絞り込みます(Poshmark のみ)。選択肢:Women、Men、Kids |
| marketplace | string | いいえ | 検索するマーケットプレイス。選択肢:facebook、または "all" ですべてのマーケットプレイスを検索します |
| includeImages | boolean | いいえ | 結果に完全な画像 URL を含めます(デフォルト:false)。写真全体を取得するには get_listing_details を使用してください。 |
詳細
Secondhand MCP
AI アシスタントが中古品マーケットプレイスを検索できる Model Context Protocol(MCP)サーバーです。Facebook Marketplace、eBay、Depop、Poshmark で中古品を検索できます。価格、カテゴリー、状態、サイズ、色で絞り込み、写真、説明、出品者情報を含む出品の詳細を確認できます。
Claude Desktop、Claude Code、Cursor、および MCP サーバーをローカルで実行するその他のクライアントに対応しています。
ヒント
ChatGPT をお使いですか?これは ChatGPT では動作しません。
お使いのコンピューター上で動作するため、コンピューターで利用できる環境(Claude Desktop、Claude Code、Cursor)でのみ動作します。Secondhand MCP Cloudなら、同じ検索機能を常時利用でき、実際にお使いのアシスタントからアクセスできます。無料プランがあり、カードは不要です。
| このリポジトリ | Cloud | |
|---|---|---|
| Claude Desktop、Code、Cursor | ✅ | ✅ |
| ChatGPT、Claude、その他のアシスタント | — | ✅ |
| スマートフォンからの検索 | — | ✅ |
| Chrome のバックグラウンド実行 | 必要 | 不要 |
| 料金 | 永久無料 | 無料プラン、その後 $4.99 |
対応マーケットプレイス
| マーケットプレイス | 認証が必要 | 備考 |
|---|---|---|
| Facebook Marketplace | いいえ | 場所に基づく検索 |
| eBay | はい(API キー) | 公式 Browse API |
| Depop | いいえ | Chrome のインストールが必要 |
| Poshmark | いいえ | Chrome のインストールが必要 |
セットアップ
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"secondhand": {
"command": "npx",
"args": ["-y", "secondhand-mcp"],
"env": {
"EBAY_CLIENT_ID": "your-ebay-client-id",
"EBAY_CLIENT_SECRET": "your-ebay-client-secret",
"EBAY_MARKETPLACE_ID": "EBAY_US"
}
}
}
}
Claude Code
~/.claude/.mcp.json に追加します:
{
"mcpServers": {
"secondhand": {
"command": "npx",
"args": ["-y", "secondhand-mcp"],
"env": {
"EBAY_CLIENT_ID": "your-ebay-client-id",
"EBAY_CLIENT_SECRET": "your-ebay-client-secret",
"EBAY_MARKETPLACE_ID": "EBAY_US"
}
}
}
}
eBay、Depop、Poshmark はすべてオプションです。eBay の API キーがない場合や Chrome がインストールされていない場合は、これらのマーケットプレイスは自動的に無効になり、その他は引き続き動作します。
Depop と Poshmark/Chrome の要件
Depop と Poshmark にはヘッドレスブラウザーが必要です。システムに Google Chrome または Chromium がインストールされていれば、どちらも自動的に有効になります。設定は不要です。Chrome が見つからない場合は、通知なしでスキップされます。
macOS では、Depop または Poshmark を初めて検索するとき、Node.js による Chrome の制御を許可するよう求めるシステムのプロンプトが表示されることがあります。これは正常な動作です。puppeteer はヘッドレスモードで Chrome を起動する必要があります。一度許可すれば、再度確認されることはありません。
ブラウザーはバックグラウンドで非表示のまま動作し、Depop または Poshmark を実際に検索するときにのみ起動します。
設定
マーケットプレイスの選択
デフォルトでは、すべてのマーケットプレイスが有効です。有効にするものを限定するには、MARKETPLACES 環境変数を設定します(カンマ区切り):
{
"env": {
"MARKETPLACES": "facebook,ebay"
}
}
有効な値:facebook、ebay、depop、poshmark
eBay API キー
eBay は公式の Browse API を使用します。無料の eBay 開発者アカウントが必要です:
- developer.ebay.com でアカウントを作成します
- アプリケーションを作成して、Client ID と Client Secret を取得します
EBAY_CLIENT_IDとEBAY_CLIENT_SECRETとして、MCP の設定に追加します
eBay のマーケットプレイス/地域
デフォルトでは、サーバーは eBay の 米国 サイトを対象とします。別の地域のマーケットプレイスを検索するには、EBAY_MARKETPLACE_ID 環境変数を設定します:
{
"env": {
"EBAY_MARKETPLACE_ID": "EBAY_DE"
}
}
一般的な値:
| 値 | サイト |
|---|---|
EBAY_US | ebay.com(デフォルト) |
EBAY_DE | ebay.de |
EBAY_GB | ebay.co.uk |
EBAY_AU | ebay.com.au |
EBAY_FR | ebay.fr |
EBAY_IT | ebay.it |
EBAY_ES | ebay.es |
EBAY_CA | ebay.ca |
すべての値は eBay API のドキュメントで確認できます。
ツール
search_marketplace
マーケットプレイス全体から商品を検索します。
| パラメーター | 必須 | デフォルト | 説明 |
|---|---|---|---|
query | はい | 検索語 | |
marketplace | いいえ | facebook | facebook、ebay、depop、poshmark、または all |
location | いいえ | san francisco | 検索する都市(Facebook のみ) |
radiusMiles | いいえ | 25 | 検索半径(マイル単位、最大 500、Facebook のみ) |
maxPrice | いいえ | 最高価格 | |
minPrice | いいえ | 最低価格 | |
limit | いいえ | 20 | 最大件数 |
showSold | いいえ | false | 販売済みの商品を含めます(Facebook のみ) |
includeImages | いいえ | false | 出力に画像 URL を含めます |
sort | いいえ | relevance | 並べ替え順(Depop、Poshmark):relevance、newest、most_popular、price_low_to_high、price_high_to_low |
condition | いいえ | 商品の状態。eBay:new、like_new、good、fair。Depop:new、like_new、excellent、good、fair、used。Poshmark:new(NWT)、like_new(NWOT)、good、fair | |
category | いいえ | 商品カテゴリ。Depop:tops、bottoms、dresses、coats-jackets、footwear、accessories、bags、jewellery、activewear、swimwear。Poshmark:Jackets_&_Coats、Dresses、Shoes、Accessories など。 | |
brand | いいえ | ブランドフィルター(Poshmark のみ):例:"Nike"、"Levi's"、"Gucci" | |
department | いいえ | 部門フィルター(Poshmark のみ):Women、Men、Kids | |
sizes | いいえ | サイズフィルター(Depop、Poshmark):例:["S", "M", "L"] または ["US 9", "US 10"] | |
colors | いいえ | 色フィルター(Depop、Poshmark):black、white、red、blue、green、yellow、orange、pink、purple、brown、grey、cream、multi、silver、gold |
マーケットプレイスごとの返却データ:
| フィールド | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| タイトル | はい | はい | はい | はい |
| 価格 | はい | はい | はい | はい |
| 場所 | 都市 | 都市、州 | — | — |
| 状態 | — | はい | — | — |
| 写真の数 | サムネイル 1 枚 | サムネイル 1 枚 | サムネイル 1 枚 | サムネイル 1 枚 |
| 販売者 | はい | はい | — | — |
get_listing_details
検索結果の ID を使用して、特定の出品情報の詳細を取得します。
| パラメーター | 必須 | デフォルト | 説明 |
|---|---|---|---|
listingId | はい | 検索結果の出品 ID | |
marketplace | いいえ | facebook | facebook、ebay、depop、または poshmark |
マーケットプレイスごとの返却データ:
| フィールド | eBay | Depop | Poshmark | |
|---|---|---|---|---|
| 説明 | はい | はい | はい | はい |
| すべての写真 | はい | はい | はい | はい |
| 場所 | 都市 | 都市、州、国 | — | — |
| 販売者 | 名前 | ユーザー名 | ユーザー名 | ユーザー名 |
| 配送タイプ | はい | — | — | — |
| 配送 | はい/いいえ | サービスコード | はい/いいえ | 常に含まれます |
list_marketplaces
有効なマーケットプレイスとそのステータスをすべて一覧表示します。
search / fetch(詳細調査)
ChatGPT Deep Research tool contract に準拠した便利なペアです。正確な名前を使用し、それぞれ引数は 1 つの文字列です。
search(query)— 有効なすべてのマーケットプレイスを一度に検索し、{ results: [{ id, title, text, url }] }を返します。idはmarketplace:listingIdです。fetch(id)—searchの結果 ID を指定して出品情報の詳細を取得し、{ id, title, text, url, metadata }を返します。
標準的なツール名を想定する調査向けクライアントに便利です。フィルターを指定して検索する場合は search_marketplace を使用してください。
動作の仕組み
Facebook Marketplace — 場所、半径、価格、検索クエリを指定して出品を検索します。都市名を座標に変換します。ログインもブラウザーも必要ありません。Facebook は、ブラウザー以外からのリクエストに対して、検索 API の制限付きバージョンを提供することがあります(1件の結果の後ろにさらにページがある場合や、出品が含まれないスタブが返される場合など)。その場合、サーバーはログアウト状態の検索ページを読み取ります。このページには、引き続き最初のページの結果がすべて含まれています。
eBay — OAuth 2.0 クライアント認証情報を使用する、公式の eBay Browse API を利用します。トークンはキャッシュされ、自動的に更新されます。対象とする地域のマーケットプレイスは EBAY_MARKETPLACE_ID で指定します(デフォルト:EBAY_US)。
Depop — ヘッドレスブラウザーを使用して出品を検索し、カテゴリー、状態、サイズ、色のフィルターに対応します。ブラウザーのインスタンスはリクエスト間で共有されます。
Poshmark — ヘッドレスブラウザーを使用して出品を検索し、状態、サイズ、色、並べ替え、価格のフィルターに対応します。Poshmark は場所に基づくサービスではなく、すべての商品が全国に発送されます。
開発
git clone https://github.com/jlsookiki/secondhand-mcp.git
cd secondhand-mcp
npm install
npm run build
マーケットプレイスの追加
src/marketplaces/に新しいファイルを作成しますBaseMarketplaceを拡張し、search()と、必要に応じてgetListingDetails()を実装しますsrc/marketplaces/index.tsのallMarketplacesにコンストラクターを追加します
制限事項
- Facebook:Facebook がフロントエンドを変更すると、動作しなくなる場合があります
- eBay:開発者用 API キーが必要です(無料プランを利用できます)
- Depop:Chrome/Chromium のインストールが必要です。Facebook/eBay より低速です(検索ごとに約5秒)
- Poshmark:Chrome/Chromium のインストールが必要です。公式 API がないため、ページのスクレイピングに依存します
- レート制限:短時間にリクエストを送りすぎないでください
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
