blocket-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@blocket-mcpFind used Volvo V70 under 150000 SEK"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
blocket-mcp
MCP server wrapping BlocketAPI — search Sweden's Blocket marketplace from Cursor (or any MCP client).
No API key required. Rate limit: 5 requests/second.
Tools
Tool | Description |
| General keyword search ( |
| Used cars with vehicle filters |
| Used boats |
| Used motorcycles |
| Full listing details by id + type |
| Static enum lists (locations, categories, models, …) |
Related MCP server: Airbnb MCP Server
Setup
npm install
npm run buildCursor configuration
Add to your MCP settings (e.g. ~/.cursor/mcp.json):
{
"mcpServers": {
"blocket": {
"command": "node",
"args": ["/absolute/path/to/blocket-mcp/build/index.js"]
}
}
}For local development without building:
{
"mcpServers": {
"blocket": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/blocket-mcp/src/index.ts"]
}
}
}Smoke test
Runs against the live API (needs network):
npm run smoke-testExample 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
Not affiliated with Blocket AB.
Available Tools
6 toolsget_adA
Get full details for a specific Blocket listing by ID and ad type. Use an id from search results. Match type to the search that found it (recommerce for general search, car/boat/mc for vehicle searches).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing ID from search results | |
| type | Yes | Ad type: recommerce, car, boat, or mc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full transparency burden. It only says 'full details' without specifying what that includes, error behavior, or any side effects. It does not clarify whether this is a read-only operation or what happens if the ID is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and no wasted words. Every sentence adds necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with 2 fully documented params and no output schema, the description is adequate. It could be more explicit about the return value, but the phrase 'full details' covers the basic expectation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds valuable semantics by explaining how the 'type' enum corresponds to different search types (recommerce for general search, car/boat/mc for vehicle searches). This goes beyond the schema's enum list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get full details for a specific Blocket listing by ID and ad type.' It names a specific verb ('Get'), resource ('Blocket listing'), and scope ('by ID and ad type'), distinguishing it from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: 'Use an id from search results. Match type to the search that found it (recommerce for general search, car/boat/mc for vehicle searches).' This tells the agent exactly how to select parameters and ties the tool to sibling search functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filter_optionsA
Return static enum lists for BlocketAPI filters (locations, categories, car models, boat types, etc.). Use this when you need valid enum values without guessing.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Which option group to return (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It states the lists are 'static,' implying a read-only, predictable operation, which is helpful. However, it does not mention response format, caching, or any potential error behavior, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core action, and every word adds value. It efficiently conveys what the tool does and when to use it without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is sufficiently complete. It tells the agent what the tool returns and when to use it, and the sibling tools provide enough context to avoid confusion. A slightly richer note on response shape or filtering behavior would push it to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a complete enum of valid groups with a description for each parameter, achieving 100% schema coverage. The description adds a few examples that overlap with the schema but does not introduce meaningful new semantics, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and clearly identifies the resource ('static enum lists for BlocketAPI filters'), with concrete examples (locations, categories, car models, boat types). This distinguishes it from sibling search tools, which query ads rather than provide filter options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when you need valid enum values without guessing,' providing clear context for when to invoke the tool. It does not mention when not to use it or name alternatives, but the sibling tools are search-oriented, making the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchA
Search Blocket for general listings (electronics, furniture, clothing, etc.). Returns JSON with a docs array of matching ads. locations filters by Swedish län (county), not city.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| query | Yes | Search term (required). Swedish works best, e.g. "iPhone 15", "Soffa". | |
| category | No | Top-level category filter | |
| locations | No | Filter by Swedish län (county). Example: STOCKHOLM includes all of Stockholm County. | |
| sort_order | No | Sort order (default: RELEVANCE) | |
| sub_category | No | Sub-category filter (use list_filter_options for the full list) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It discloses the return format ('Returns JSON with a docs array') and a key filtering pitfall (locations are counties, not cities). It does not mention pagination, rate limits, or explicitly state read-only behavior, but 'search' implies a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states purpose, second covers output format and a caveat. Every word earns its place; front-loaded and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema is rich, but there is no output schema, so the description should explain return values better than just 'docs array of matching ads'. It misses details about ad fields, pagination, and does not mention the relationship to list_filter_options for sub-category values. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all 6 parameters, including enums and examples. The description adds only a single clarification about the locations parameter (county vs city), which is minor. Baseline 3 is appropriate since schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Search Blocket for general listings' with explicit examples (electronics, furniture, clothing). This clearly differentiates it from sibling tools like search_cars, search_boats, and search_motorcycles. The verb 'Search' names the action and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies general-listing usage via 'general listings' and examples, contrasting with vehicle-specific siblings. However, it does not explicitly name alternatives or state when not to use this tool. The location clarification ('län, not city') provides a useful usage hint but not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_boatsA
Search used boats on Blocket with boat-specific filters (type, length, price).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| query | No | Optional free-text search term | |
| types | No | Boat class/type filters | |
| org_id | No | Filter by dealer organization ID | |
| price_to | No | Maximum price in SEK | |
| length_to | No | Maximum length in feet | |
| locations | No | Filter by Swedish län (county) | |
| price_from | No | Minimum price in SEK | |
| sort_order | No | Sort order | |
| length_from | No | Minimum length in feet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. 'Search' implies a read-only operation, but no additional traits (e.g., pagination behavior, rate limits, or that it returns a list of ads) are disclosed. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence (11 words) that front-loads the tool's core purpose and differentiator. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters) and no output schema, the description is somewhat minimal but adequate. It correctly identifies the domain (Blocket boats) and key filter groups. However, it omits mention of other important filter dimensions (e.g., location, sort order) and the return type, though the rich schema partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with every parameter described. The description mentions 'type, length, price' as boat-specific filters, which maps to schema parameters but adds no new syntax or format details. With full schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search'), resource ('used boats on Blocket'), and scope ('boat-specific filters'), directly distinguishing it from sibling tools like search_cars and search_motorcycles. It is specific and unambiguous, leaving no doubt about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'used boats on Blocket,' but it does not explicitly state when to prefer this over sibling tools like 'search' or 'search_cars.' No exclusions or alternative recommendations are provided, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_carsA
Search used cars on Blocket with vehicle-specific filters (make, year, mileage, transmission, color, horsepower). Note: mileage params are spelled milage_from / milage_to to match the API.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| query | No | Optional free-text search term | |
| colors | No | Exterior color filters | |
| models | No | Car makes/brands to filter by | |
| org_id | No | Filter by dealer organization ID | |
| year_to | No | Latest model year | |
| price_to | No | Maximum price in SEK | |
| locations | No | Filter by Swedish län (county) | |
| milage_to | No | Maximum mileage in km (API spelling: milage) | |
| year_from | No | Earliest model year | |
| price_from | No | Minimum price in SEK | |
| sort_order | No | Sort order | |
| milage_from | No | Minimum mileage in km (API spelling: milage) | |
| wheel_drive | No | Wheel drive: FWD, RWD, FOUR (4WD), TWO | |
| horsepower_to | No | Maximum horsepower | |
| transmissions | No | Transmission type | |
| horsepower_from | No | Minimum horsepower |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It adds a useful spelling note about 'milage', but this is already in the schema. It does not explicitly confirm read-only behavior or describe return format, though 'Search' implies a safe query. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the core purpose and followed by a brief, relevant spelling caveat. There is no wasted text or unnecessary detail, making it highly concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema handles parameter details comprehensively, but there is no output schema and the description does not mention the return structure or pagination behavior. Given the tool's search nature, the description leaves some ambiguity about what the agent will receive, making it minimally complete but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% description coverage for all 17 parameters, so the baseline is 3. The description only summarizes filter groups (make, year, mileage, etc.) and repeats the milage spelling note, adding minimal semantic value beyond what the schema already communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches used cars on Blocket, a specific resource and platform, and lists the key filter dimensions (make, year, mileage, transmission, color, horsepower). This immediately distinguishes it from sibling tools like search_boats and search_motorcycles, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for car-specific searches with vehicle filters, but it does not explicitly contrast with generic 'search' or the boat/motorcycle variants, nor does it state when not to use it. The reference to vehicle-specific filters provides indirect context, but no direct guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_motorcyclesA
Search used motorcycles on Blocket with MC-specific filters (make, type, engine volume, price).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| query | No | Optional free-text search term | |
| types | No | Motorcycle type filters | |
| models | No | Motorcycle makes/brands | |
| org_id | No | Filter by dealer organization ID | |
| price_to | No | Maximum price in SEK | |
| locations | No | Filter by Swedish län (county) | |
| price_from | No | Minimum price in SEK | |
| sort_order | No | Sort order | |
| engine_volume_to | No | Maximum engine volume in cc | |
| engine_volume_from | No | Minimum engine volume in cc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It discloses that the tool searches used (not new) motorcycles and mentions filter categories, but does not describe return format, pagination, or any side effects. As a search tool, the behavior is inherently safe, but the description adds limited behavioral context beyond what the schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with no filler. It earns a 5 for concise structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 11 parameters and no output schema or annotations. The description covers the core purpose and a few representative filters but omits mention of location filtering, sort order, pagination, and the full range of makes/types. It is adequate but not fully comprehensive given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description lists a subset of filter types (make, type, engine volume, price) that aligns with the schema. Since the schema already documents all 11 parameters, the description adds no additional parameter semantics, meriting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Search' and the resource 'used motorcycles on Blocket', and distinguishes itself from sibling tools like search_cars and search_boats by focusing on motorcycles with MC-specific filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for searching used motorcycles on Blocket. It does not explicitly list exclusions or alternatives, but the tool's name and description make its applicable use case obvious. It could benefit from stating 'use this for motorcycle queries', but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.0- First observed
get_ad - First observed
list_filter_options - First observed
search - First observed
search_boats - First observed
search_cars - First observed
search_motorcycles
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search and browse global classifieds across 80 markets. No auth required for read-only access.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
1168Search live US dealership inventory, get market prices, and send buyer inquiries. Free, no API key.
Web search, news, page retrieval, sitemaps, and trending topics through Search1API.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to search and retrieve listings from Sweden's largest second-hand marketplaces, Blocket and Tradera. Returns unified data including prices, images, seller information, and direct links to listings.8-
- AlicenseBqualityDmaintenanceEnables searching for Airbnb listings and retrieving detailed property information including pricing, amenities, and host details without requiring an API key.22,043MIT
- AlicenseBqualityDmaintenanceEnables searching for Airbnb listings and retrieving detailed property information including pricing, amenities, and host details without requiring an API key.22,0433MIT
- AlicenseAqualityAmaintenanceEnables searching Swedish property listings, sold prices, areas, and market statistics via the Booli API using natural language.64024MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Thunberg087/blocket-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server