Sverige Begagnad
PYPI · SVERIGE-BEGAGNAD-MCP · SCANNED SEP 21
Search Swedish second-hand marketplaces (Blocket, Tradera, Klaravik, Vinted) for used items.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 32 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 49 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1939 tokens (~176/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Sverige Begagnad MCP server?
Sverige Begagnad runs locally as a PyPI package, launched with uvx sverige-begagnad-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · sverige-begagnad-mcp
claude mcp add tudorgrigoriu90-sverige-begagnad-mcp -- uvx sverige-begagnad-mcp
{
"mcpServers": {
"tudorgrigoriu90-sverige-begagnad-mcp": {
"command": "uvx",
"args": [
"sverige-begagnad-mcp"
]
}
}
} {
"servers": {
"tudorgrigoriu90-sverige-begagnad-mcp": {
"command": "uvx",
"args": [
"sverige-begagnad-mcp"
]
}
}
} codex mcp add tudorgrigoriu90-sverige-begagnad-mcp -- uvx sverige-begagnad-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tudorgrigoriu90-sverige-begagnad-mcp": {
"type": "local",
"command": [
"uvx",
"sverige-begagnad-mcp"
],
"enabled": true
}
}
} openclaw mcp add tudorgrigoriu90-sverige-begagnad-mcp --command uvx --arg sverige-begagnad-mcp
mcp_servers:
tudorgrigoriu90-sverige-begagnad-mcp:
command: "uvx"
args: ["sverige-begagnad-mcp"] {
"McpServers": {
"tudorgrigoriu90-sverige-begagnad-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"sverige-begagnad-mcp"
]
}
}
} assistant mcp add tudorgrigoriu90-sverige-begagnad-mcp -t stdio -c uvx -a sverige-begagnad-mcp
{
"mcpServers": {
"tudorgrigoriu90-sverige-begagnad-mcp": {
"command": "uvx",
"args": [
"sverige-begagnad-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 +1
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −4
- Stability: pass → 0.77 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed pypi/sverige-begagnad-mcp@0.3.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 32 packages
| Packages resolved | 32 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
health_check Health check ~157
Ping every marketplace source (Blocket, Tradera, Klaravik, Vinted, and Facebook if enabled) with a canned query and report whether each is still fetching data. USE this to verify the server works end-to-end — e.g. from a scheduled monitor — before relying on a sourcing sweep. Do NOT use it to search for items (use search_all or a per-source tool). Takes no arguments. Returns {healthy: bool, unhealthy_sources: [names], sources: {name: {ok, count, latency_ms, error}}}. A source is `ok` when it returns without error AND finds >0 results; Facebook shows status 'disabled' when ENABLE_FACEBOOK_SEARCH is unset (not counted as a failure).
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_blocket_categories List Blocket categories ~66
List the valid Blocket category names accepted by search_blocket()'s `category` argument (and search_all's `blocket_category`). Call this first when you intend to filter a Blocket search by category. Takes no arguments. Returns {categories: [names]}.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_blocket_locations List Blocket regions ~55
List the valid Blocket region (län) names accepted by search_blocket()'s `locations` argument (and search_all's `blocket_locations`). Takes no arguments. Returns {locations: [names]}.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_tradera_categories List Tradera categories ~58
Fetch Tradera's full category tree to find `category_id` values for search_tradera(). Takes no arguments. Requires Tradera credentials. Returns {categories: <nested tree>} (or {error} if credentials are missing/invalid).
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
list_tradera_counties List Tradera counties ~61
Fetch Tradera's county list (id → name) for search_tradera()'s optional `county_id` filter. Takes no arguments. Rarely needed since Tradera is national. Requires Tradera credentials. Returns {counties: [...]}
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
search_all Search all sources ~329
One-call sweep across ALL marketplaces — Blocket + Tradera + Klaravik + Vinted (+ Facebook Marketplace if locally enabled) — returning a single combined, normalized result set. USE this for a broad sourcing sweep when you want maximum coverage in one call. Do NOT use it when you already know the single best source for a query — call that tool directly instead (faster, fewer irrelevant results). Per-source failures are non-fatal: they are reported in `source_errors` rather than raised. Price bounds apply to the Tradera and Vinted portions. Returns {query, total_results, results: [mixed listings, each with a `source` field], source_errors}.
| Name | Type | Req | Description |
|---|---|---|---|
| blocket_category | – | – | Optional Blocket category filter for the Blocket portion (see list_blocket_categories()). |
| blocket_locations | – | – | Optional list of Blocket region names scoping the Blocket portion (see list_blocket_locations()). Defaults to the BLOCKET_LOCATIONS env / all Sweden. |
| price_max | – | – | Optional upper price bound in SEK (inclusive). Omit for no upper bound. Applied to the Tradera and Vinted portions. |
| price_min | – | – | Optional lower price bound in SEK (inclusive). Omit for no lower bound. Applied to the Tradera and Vinted portions. |
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). |
| tradera_category_id | – | – | Optional Tradera category id for the Tradera portion (see list_tradera_categories()). |
Structured output declared, but exposes no named fields.
No examples provided.
search_blocket Search Blocket ~322
Search Blocket.se — Sweden's largest classifieds — for used items from private sellers and dealers. Best for LOCAL deals (usually pickup): each result carries the ad's text location plus `coordinates` (lat/lon) and `distance`, so you can apply a precise radius filter yourself (Blocket's own filter is regional/län, not km). USE for local or regional finds. Do NOT use for nationwide auctions (use search_tradera or search_klaravik), for second-hand fashion (use search_vinted), or when you want every source at once (use search_all). Returns {ads: [normalized listings], count, warning?}; each listing has source, id, title, price_sek, location, coordinates, distance, url, image_url.
| Name | Type | Req | Description |
|---|---|---|---|
| category | – | – | Optional Blocket category name to filter by. Must be a value from list_blocket_categories(); an unknown value is ignored and flagged in `warning`. |
| locations | – | – | Optional list of region (län) names to search, e.g. ['KRONOBERG','KALMAR']. Valid names come from list_blocket_locations(). If omitted, falls back to the BLOCKET_LOCATIONS env default, then to all of… |
| max_pages | integer | – | How many result pages to fetch (~60 ads per page). Keep small (1–3) to limit load. |
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). |
Structured output declared, but exposes no named fields.
No examples provided.
search_facebook_marketplace Search Facebook Marketplace ~202
Search Facebook Marketplace for local listings. DISABLED BY DEFAULT and LOCAL-ONLY: it uses an unofficial method that violates Facebook's Terms of Service, so it returns an explanatory 'disabled' error unless ENABLE_FACEBOOK_SEARCH=1 is set locally. When enabled, it is best for local private-seller deals; otherwise prefer search_blocket for local classifieds and search_all for a full sweep. Returns {listings: [...], count} when enabled, otherwise {error, message}.
| Name | Type | Req | Description |
|---|---|---|---|
| location | – | – | Optional Facebook Marketplace location id (numeric) to search in. If omitted, uses the logged-in account's saved location. |
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). |
| radius_km | integer | – | Advisory search radius in km. Facebook applies the radius from the account's saved location, so this is not strictly enforced. |
Structured output declared, but exposes no named fields.
No examples provided.
search_klaravik Search Klaravik ~186
Search Klaravik.se, a Swedish online AUCTION house — the strongest source for undervalued tools, machinery, and estate/house-clearance goods. National; lots either ship or need pickup/freight (many are heavy). `price_sek` is the current bid and CAN RISE before close. USE for tools, machinery, and bulky bargains. Do NOT use for fashion (use search_vinted) or when you specifically want private-seller classifieds (use search_blocket). Unofficial endpoint — may break if the site changes. Returns {items: [normalized listings], count, total_available}.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). Matches within item titles (e.g. 'bahco', 'cykel'). |
Structured output declared, but exposes no named fields.
No examples provided.
search_tradera Search Tradera ~279
Search Tradera.com — Sweden's largest online auction house — via its official REST API. NATIONAL and ships anywhere; covers timed auctions and Buy-It-Now. `price_sek` is the current bid or Buy-It-Now price and CAN RISE before an auction ends. USE for nationwide, shippable finds and auctions. Do NOT use for local-pickup-only deals (use search_blocket) or for fashion (use search_vinted). Requires TRADERA_APP_ID and TRADERA_APP_KEY env vars (register free at api.tradera.com); without them it returns an error. Returns {items: [normalized listings], count, total_available}.
| Name | Type | Req | Description |
|---|---|---|---|
| category_id | – | – | Optional Tradera category id to filter by. Get valid ids from list_tradera_categories(). |
| county_id | – | – | Optional Tradera county id to restrict results to a region. Get ids from list_tradera_counties(). Rarely needed since Tradera ships nationally. |
| price_max | – | – | Optional upper price bound in SEK (inclusive). Omit for no upper bound. |
| price_min | – | – | Optional lower price bound in SEK (inclusive). Omit for no lower bound. |
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). |
Structured output declared, but exposes no named fields.
No examples provided.
search_vinted Search Vinted ~224
Search Vinted.se, a peer-to-peer second-hand FASHION marketplace — best for branded clothing, genuine leather/wool, bags, footwear, and outdoor apparel (e.g. Fjällräven, The North Face, Patagonia). National; items ship. Fixed prices: `price_sek` is the item price and `total_price_sek` includes Vinted's buyer-protection fee. USE for fashion and apparel. Do NOT use for furniture, tools, or electronics (use the other sources). Unofficial and bot-protected — the most fragile source; may occasionally be rate-limited and return an error. Returns {items: [normalized listings], count, total_available}.
| Name | Type | Req | Description |
|---|---|---|---|
| price_max | – | – | Optional upper price bound in SEK (inclusive). Omit for no upper bound. |
| price_min | – | – | Optional lower price bound in SEK (inclusive). Omit for no lower bound. |
| query | string | yes | Free-text search query. Swedish terms work best (e.g. 'String hylla', 'Festool', 'Fjällräven'). |
Structured output declared, but exposes no named fields.
No examples provided.
What is the Sverige Begagnad MCP server?
Sverige Begagnad is an MCP server listed in the public MCP registry as io.github.tudorgrigoriu90/sverige-begagnad-mcp. Search Swedish second-hand marketplaces (Blocket, Tradera, Klaravik, Vinted) for used items. This page covers its PyPI package (sverige-begagnad-mcp).
Is the Sverige Begagnad MCP server safe to use?
Sverige Begagnad scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Sverige Begagnad MCP server expose?
Sverige Begagnad exposes 11 tools: search_blocket, list_blocket_categories, list_blocket_locations, search_tradera, list_tradera_categories, and 6 more. Their descriptions and schemas cost roughly 1,939 tokens of context every time the server is loaded.
Is the Sverige Begagnad MCP server still maintained?
Sverige Begagnad is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Sverige Begagnad MCP server under?
Sverige Begagnad declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.