mcpField
S
Sverige Begagnad

Sverige Begagnad

ローカル
github.com/tudorgrigoriu90検索013 週間前に更新

Sverige Begagnad について

Sverige Begagnadは、スウェーデンの中古マーケットを検索する、購入者や転売者向けのMCPサーバーです。Blocket、Tradera、Klaravik、Vintedの出品をまとめ、条件や位置情報で絞り込めます。

主な機能

  1. 014つの中古マーケットを検索
  2. 02横断検索と個別検索
  3. 03価格とカテゴリの絞り込み
  4. 04地域と県による絞り込み
  5. 05出品の座標と距離情報
  6. 06マーケットのカテゴリ検索

活用シーン

  1. 01スウェーデンの指定地域で中古品を探す
  2. 02複数マーケットの出品を比較
  3. 03修理や転売向けの商品を仕入れる

MCP 対応

マーケット検索、カテゴリと地域の検索、データソースの稼働確認ツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"tudorgrigoriu90-sverige-begagnad": {
"command": "uvx",
"args": [
"sverige-begagnad-mcp"
],
"env": {
"TRADERA_APP_ID": "<TRADERA_APP_ID>",
"TRADERA_APP_KEY": "<TRADERA_APP_KEY>",
"BLOCKET_LOCATIONS": "<BLOCKET_LOCATIONS>"
}
}
}
}
起動コマンドuvx sverige-begagnad-mcp
設定が必要な環境変数
TRADERA_APP_IDNumeric Tradera App ID from api.tradera.com/register.
TRADERA_APP_KEYシークレットTradera App Key (GUID secret) from api.tradera.com/register.
BLOCKET_LOCATIONSOptional comma-separated Blocket region (län) names to scope searches; empty = all of Sweden.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisverige-begagnad-mcp0.3.1

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
querystringはいフリーテキストの検索クエリ。スウェーデン語の語句が最適です(例:'String hylla'、'Festool'、'Fjällräven')。
categoryanyいいえ結果を絞り込むための任意の Blocket カテゴリー名。list_blocket_categories() の値を指定してください。不明な値は無視され、`warning` に記録されます。
locationsanyいいえ検索対象とする地域(län)名の任意のリスト。例:['KRONOBERG','KALMAR']。有効な名前は list_blocket_locations() から取得します。省略すると、BLOCKET_LOCATIONS 環境変数のデフォルト値を使用し、それもなければスウェーデン全域を検索します。
max_pagesintegerいいえ取得する検索結果ページ数(1 ページあたり約 60 件の広告)。負荷を抑えるため、1~3 ページにしてください。

詳細

🇸🇪 Sverige Begagnad MCP

スウェーデン各地で良質な中古品を探せます。AI アシスタントから直接ご利用いただけます。

Claude(または任意の MCP クライアント)から Blocket、Tradera、 Klaravik、Vinted(さらにオプションでローカルの Facebook Marketplace)を検索し、 購入や修復、転売に値する中古品を見つけられる MCP サーバーです。

PyPI MCP Registry License: MIT Python 3.10+ Tradera API v4 Blocket


💬 Claude に頼めること

接続したら、話しかけるだけです。

🪑 「Växjö の近くで、1000 SEK 未満の String 棚(String hylla)を探して。」

🛠️ 「Blocket と Tradera で、利益を出して転売できそうな Festool または Makita の工具を検索して。」

🔊 「Tradera にある、500〜3000 SEK の Bang & Olufsen のスピーカーは?」

🚲 「Blocket のカテゴリーを一覧表示してから、Skåne で質の良い自転車(Kronan、Crescent)を探して。」

📈 「今週の仕入れ調査として、Kronoberg と近隣の県でスカンジナビアデザインを探し、推定利益順に並べて。」

Claude が適切なツールを選び、フィルターを適用して、タイトル、価格、 場所、リンク、画像を、両方のマーケットプレイスからまとめて返します。

✨ 機能

🔎 4つのマーケットプレイスBlocket + Tradera + Klaravik + Vinted をまとめて、または個別に検索し、統一された形式に正規化します
🎯 詳細なフィルター価格の下限・上限、カテゴリー、県(Tradera) · 地域 + カテゴリー(Blocket)
📍 位置情報に対応Blocket の各検索結果には coordinates + distance が含まれ、正確な半径指定で絞り込めます
🌍 デフォルトは全体検索スウェーデン全域を検索します。設定または検索ごとに対象地域を指定できます
🧭 検索用ツールカテゴリー、地域、県を一覧表示し、エージェントが適切に絞り込めます
🧩 簡単にインストールClaude Code プラグインをワンコマンドでインストールするか、uvx またはソースから利用できます。各ユーザーが独自のキーを用意します
✅ 実環境でテスト済み各データソースを実際の API に対してエンドツーエンドで検証済みです

📊 ソースの状況

ソース方法安定性
Tradera公式 REST API(v4)🟢 安定 — 実環境でテスト済み。無料登録が必要です
Blocketコミュニティパッケージ(blocket-api)🟡 準安定、非公式 — 実環境でテスト済み
Klaravik内部 JSON エンドポイント🟡 非公式 — 実環境でテスト済み。オークションの現在の入札価格
Vinted内部 API(ボット対策あり)🟠 非公式で、最も不安定 — 住宅用 IP からの利用が最適です
Facebook Marketplaceデフォルトでは無効🔴 リスクあり、ローカルのみ — facebook_client.py を参照してください

🔑 Tradera の認証情報を取得する(すべてのインストール方法で必須)

  1. https://api.tradera.com/register で無料登録します。
  2. 利用規約とロゴ利用規約に同意します。
  3. アプリケーションを作成し、数値の App ID と App Key (GUID シークレット)をコピーします。これらを TRADERA_APP_ID / TRADERA_APP_KEY として設定します。

Blocket では認証情報は不要です。Facebook Marketplace はデフォルトで無効です。

📦 インストール

各ユーザーは自分の Tradera キーを使って各自のコピーを実行します。利用するクライアントに合った方法を選んでください。 uv をインストール済みの場合は、uvx ベースの方法を利用できます (curl -LsSf https://astral.sh/uv/install.sh | sh、または Windows では winget install astral-sh.uv)。クローンや仮想環境は不要です。

オプション 1 — Claude Code プラグイン(最も簡単)
claude plugin marketplace add tudorgrigoriu90/sverige-begagnad-mcp
claude plugin install sverige-begagnad@sverige-begagnad-marketplace

次に、キーをエクスポートします(プラグインはキーをサーバーに渡します)。

export TRADERA_APP_ID=...      # Windows PowerShell: $env:TRADERA_APP_ID="..."
export TRADERA_APP_KEY=...
export BLOCKET_LOCATIONS=      # optional; empty = all of Sweden

Claude Code を再起動すると、search_blocket、search_tradera、search_all などを利用できます。このプラグインは、GitHub から uvx 経由でサーバーを直接実行します。

オプション 2 — uvx(Claude Desktop または任意の MCP クライアント)

クライアントの MCP 設定に追加します(Claude Desktop の場合:Settings → Developer → Edit Config)。

{
  "mcpServers": {
    "sverige-begagnad": {
      "command": "uvx",
      "args": ["sverige-begagnad-mcp"],
      "env": {
        "TRADERA_APP_ID": "...",
        "TRADERA_APP_KEY": "...",
        "BLOCKET_LOCATIONS": ""
      }
    }
  }
}

初回実行時に uvx が PyPI から公開済みパッケージを取得してキャッシュします。クライアントを再起動してください。

オプション 3 — ソースから実行(開発用)
git clone https://github.com/tudorgrigoriu90/sverige-begagnad-mcp
cd sverige-begagnad-mcp
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .
cp .env.example .env        # then fill in your keys

クライアントで、仮想環境内の sverige-begagnad-mcp コマンド(または python -m sverige_begagnad_mcp.server)を指定し、cwd をリポジトリに設定してください。

✅ 動作確認(任意)

キーを設定したソースチェックアウトから実行します(.env または環境変数に設定)。

# Tradera — official REST API v4 (https://api.tradera.com/v4, header auth)
python -m sverige_begagnad_mcp.tradera_client

# Blocket — unofficial community API
python -c "import asyncio; from sverige_begagnad_mcp.blocket_client import search_blocket; print(asyncio.run(search_blocket('String hylla')))"

どちらも実際の環境でテスト済みです。Tradera の形式に変更があった場合は、OpenAPI 仕様を https://api.tradera.com/openapi.json で確認できます。


🧰 ツール

ツール目的
search_blocket(query, category?, locations?, max_pages?)Blocket を検索
list_blocket_categories()有効なカテゴリ名を一覧表示
list_blocket_locations()有効な地域(län)名を一覧表示
search_tradera(query, category_id?, price_min?, price_max?, county_id?)Tradera を検索
list_tradera_categories()カテゴリツリー → category_id
list_tradera_counties()任意の county_id フィルターに使う県 ID
search_klaravik(query)Klaravik のオークションを検索(現在の入札価格)
search_vinted(query, price_min?, price_max?)Vinted のファッション商品を検索
search_facebook_marketplace(...)デフォルトで無効(ローカルのみ)
search_all(query, blocket_category?, blocket_locations?, tradera_category_id?, price_min?, price_max?)1 回の呼び出しで Blocket、Tradera、Klaravik、Vinted を検索
health_check()すべての情報源に ping を送信し、現在もデータを取得できているものを報告

📍 地理的な検索範囲

検索範囲はデフォルトでスウェーデン全土です。範囲は次の 3 つの方法で指定でき、優先順位は記載順です。

  1. 検索ごとに指定 — search_blocket に locations(または search_all に blocket_locations)を渡します。例:["KRONOBERG", "KALMAR"]。有効な名前は list_blocket_locations() で確認できます。
  2. 個人用のデフォルト値 — .env の BLOCKET_LOCATIONS に、カンマ区切りで地域名を設定します。
  3. 未設定の場合 — スウェーデン全土。

Blocket のフィルターは地域(län)単位で、正確な距離(km)を指定するものではありません。 「車で X 分以内」のように範囲を絞るには、各出品について Claude に最終確認させてください。各結果には、広告本文に記載された場所に加えて、coordinates(緯度・経度)と Blocket 独自の distance が含まれます。Tradera は配送に対応する全国規模のサービスなので、半径の概念はありません(任意の county_id フィルターはありますが、通常は不要です)。

🗺️ 例:自分用の Växjö / Älmhult の設定

個人用の範囲設定は .env のみに保存されます(Git の対象外のため、配布時のデフォルトには含まれません)。

BLOCKET_LOCATIONS=KRONOBERG,KALMAR,JONKOPING,HALLAND,SKANE
🤖 パワーユーザー向け:週次の「仕入れエージェント」用プロンプト全文

これを指示として貼り付けると、ツールを使って利益順に並べた週次検索を実行できます。 スウェーデン国内で対象を絞った検索を多数実行し、距離と品質で絞り込み、利益を見積もって、 優先順位付きの候補リストを返します。ブランド、地域、しきい値は好みに合わせて調整してください。

ROLE: You are a sourcing assistant for a personal, quality-focused loppis (flip).
Each week, search Blocket and Tradera for second-hand items to buy, minimally
restore, and resell at a profit.

METHOD: Search with SWEDISH terms. Run MANY targeted searches — by BRAND and by
CATEGORY — across both sources; deduplicate. Prices are in SEK.

AREA: within ~35 km straight-line of Växjö (56.88, 14.81) or Älmhult (56.55, 14.14),
computed from each Blocket result's `coordinates`. Tradera ships nationally, so
include shippable Tradera items too.

QUALITY: recognized brand or top craftsmanship (String, Artek, Fritz Hansen, Louis
Poulsen, Iittala, Orrefors, Bang & Olufsen, Braun, Marantz, Bahco, Hilti, Festool,
Makita, Kronan, Crescent…); "bra skick"/"nyskick" or minor cosmetic wear; asking
price clearly below market; only minimal restoration (clean, polish, light sand,
small off-the-shelf parts).

PROFIT: estimate resale value (use web search for comparables if available — do NOT
invent sold prices). Net = resale − (purchase + restoration + pickup/courier), with
stated assumptions (~80 SEK pickup fuel, ~70 SEK courier, 0–150 SEK materials).
Include only items with estimated net profit ≥ 300 SEK. Note that Tradera auction
prices may rise before close.

OUTPUT: ranked by net profit descending, max 15. For each: title + link + location
(distance from Växjö or "ships nationally"), asking vs. estimated market price, net
profit with assumptions, 2–3 restoration steps, and a risk note. End with a 2–3
sentence read on the week's trends. Don't pad with weak candidates.

🚫 Facebook Marketplace — 無効になっている理由

Facebook Marketplace には公開 API がありません。判明している方法(セッション Cookie またはヘッドレスブラウザーによるスクレイピング)は、いずれも Facebook の利用規約に明示的に違反します。 src/sverige_begagnad_mcp/facebook_client.py モジュールは意図的にスタブのままにしてあり、自分で実装する方法についての説明が含まれていますが、実行は自己責任です。

🛠️ メンテナンスと公開

メンテナー向けメモ
  • データソースが使えなくなった場合: Blocket → https://pypi.org/project/blocket-api/ で 新しいバージョンを確認します。Tradera → https://api.tradera.com/openapi.json の OpenAPI 仕様を確認します。
  • PyPI(短い uvx sverige-begagnad-mcp コマンドを利用できるようにします):まず python -m build を実行し、 続いて twine upload dist/* を実行します。先に pyproject.toml と src/sverige_begagnad_mcp/__init__.py の version を更新してください。
  • プラグインマーケットプレイス: .claude-plugin/marketplace.json と plugins/ ディレクトリにより、 このリポジトリ自体がマーケットプレイスとして機能します。追加のホスティングは不要です。
  • MCP Registry: server.json は準備済みです。PyPI へのリリース後、mcp-publisher CLI で公開します(Registry の公開ガイドを参照してください)。

📄 ライセンス

MIT — 各ユーザーがそれぞれの認証情報を使って、自分用のコピーを実行します。Blocket には公式 API がないため、 非公式のコミュニティパッケージを使用しています。Blocket 関連の部分はその点を踏まえてご利用ください。

コメント

MCP は初めてですか?

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

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