blocket-mcp
# blocket-mcp
MCP server wrapping [BlocketAPI](https://blocket-api.se/) — search Sweden's Blocket marketplace from Cursor (or any MCP client).
No API key required. Rate limit: 5 requests/second.
## Tools
| Tool | Description |
| --- | --- |
| `search` | General keyword search (`/v1/search`) |
| `search_cars` | Used cars with vehicle filters |
| `search_boats` | Used boats |
| `search_motorcycles` | Used motorcycles |
| `get_ad` | Full listing details by id + type |
| `list_filter_options` | Static enum lists (locations, categories, models, …) |
## Setup
```bash
npm install
npm run build
```
## Cursor configuration
Add to your MCP settings (e.g. `~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"blocket": {
"command": "node",
"args": ["/absolute/path/to/blocket-mcp/build/index.js"]
}
}
}
```
For local development without building:
```json
{
"mcpServers": {
"blocket": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/blocket-mcp/src/index.ts"]
}
}
}
```
## Smoke test
Runs against the live API (needs network):
```bash
npm run smoke-test
```
## Example usage
Ask the agent:
- “Search Blocket for iPhone 15 in Stockholm under 5000 SEK”
- “Find Volvo cars from 2018+ under 200000 SEK”
- “Get details for ad id 12345678 (recommerce)”
## API reference
- Docs: https://blocket-api.se/endpoints
- OpenAPI: https://blocket-api.se/swagger/openapi.json
- Upstream: https://github.com/dunderrrrrr/blocket_api
Not affiliated with Blocket AB.
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: general search, car search, boat search, motorcycle search, ad details, and filter options. Even the three vehicle searches are distinguishable by vehicle type and specialized filters.
All tool names follow a consistent lowercase underscore pattern with verbs like list, search, and get. The specialized searches (search_cars, search_boats, search_motorcycles) fit the same pattern as the base search.
Six tools is well-scoped for a marketplace search server. It covers general listings, vehicle-specific filters, ad details, and filter enums without unnecessary bloat.
The surface covers the core read-only workflow: discover filter options, search across categories, and fetch full ad details. No obvious gaps for the stated domain.