Title96/100
Search catalog
The title clearly communicates the tool’s action and subject. Keep it concise.
Description99/100
Search idealo product catalog. Entry point for any product discovery flow. WHEN TO USE: - User asks to find / browse / look for / show products ("find laptops", "show me running shoes") - User refines a previous search ("cheaper", "only Samsung", "under €500", "with feature X") — re-call this tool with filter IDs from the prior response, not a new search RETURNS: - results: products with name, price, images, URLs, ratings, productRef - categories / manufacturers / filters / sizeAttributes / suggestedFilters: IDs + names you reuse to refine REFINEMENT LOOP: 1. Broad query first (e.g. "macbook") to discover available category/brand/filter IDs. 2. Re-call with includeCategories / includeManufacturers / includeSearchFilters using IDs from step 1. Attribute and size filters are paired with includeCategories. Structured output: query, results (each with productRef), and availableCategories, availableManufacturers, availableFilters, sizeAttributes, suggestedFilters when the catalog returns them.
The description explains the capability, when to use it, and what to expect.
Inputs97/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
query
Catalog text to match, such as a product type or model name (for example laptop or running shoes). Category and brand ids in the response can be reused on a later search.
Clear enough to supply this argument.
country
Marketplace: DE (Germany), AT (Austria), GB or UK (United Kingdom), FR (France), IT (Italy), ES (Spain). A code the server does not recognize is handled as Germany, and so is a call that does not name a marketplace.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
filters › minPrice
Lower price bound in EUR (for example 50 for €50). The server converts this value to cents.
Clear enough to supply this argument.
filters › maxPrice
Upper price bound in EUR (for example 200 for €200). The server converts this value to cents.
Clear enough to supply this argument.
filters › availableOnly
Set to true to show only products currently available for purchase (in stock). Use this when the user wants to see only products they can buy immediately, excluding out-of-stock items. Default is false (shows all products).
Clear enough to supply this argument.
filters › bargainsOnly
Set to true to show only products with special discounts or price drops (bargains/deals). Use this when the user is specifically looking for discounted products, special offers, or the best deals. Default is false (shows all products).
Clear enough to supply this argument.
filters › includeCategories
Category IDs from a prior response `availableCategories` entry to limit results to selected categories.
Clear enough to supply this argument.
filters › includeManufacturers
Manufacturer IDs from a prior response `availableManufacturers` entry to limit results to selected brands.
Clear enough to supply this argument.
filters › includeSearchFilters
Attribute filter IDs from `availableFilters` (color, material, etc.). Use `includeSizeFilters` for sizes. Pair with `includeCategories`.
Clear enough to supply this argument.
filters › includeSizeFilters
Size filter IDs from `sizeAttributes` (`attributeKeyValue` values). Pair with `includeCategories`.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Output schema85/100
The output schema explains the structured result.
View output schema
{
"type": "object",
"required": [
"query",
"results"
],
"properties": {
"query": {
"type": "string",
"description": "Echo of the submitted search query"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"productRef",
"itemType",
"siteId",
"name",
"imageUrl"
],
"properties": {
"url": {
"type": "string",
"description": "idealo product or offer page URL"
},
"name": {
"type": "string",
"description": "Display title of the product"
},
"price": {
"type": "string",
"description": "Best listed price when available"
},
"badges": {
"description": "Deal or highlight badges (e.g. bargain)"
},
"siteId": {
"type": "number",
"description": "Internal marketplace id for the hit"
},
"imageUrl": {
"type": "string",
"description": "Primary product image URL"
},
"itemType": {
"type": "string",
"description": "PRODUCT, CLUSTER, or SINGLE_OFFER — use as `type` on follow-up calls when needed"
},
"nameDelta": {
"type": "string",
"description": "Variant or configuration suffix when present"
},
"productRef": {
"type": "string",
"description": "Pass to get_product_details, get_product_offers, get_product_price_history"
},
"totalOfferCount": {
"type": "number",
"description": "Number of shop offers aggregated for the product"
},
"testReportsSummary": {
"description": "Expert test report summary when present"
},
"userReviewsSummary": {
"description": "Aggregate user rating summary when present"
}
},
"additionalProperties": false
},
"description": "Matching catalog items for the query and filters"
},
"sizeAttributes": {
"description": "Grouped size options — use attributeKeyValue in includeSizeFilters"
},
"availableFilters": {
"description": "Grouped attribute filters — use filterId in includeSearchFilters"
},
"searchResultsUrl": {
"type": "string"
},
"suggestedFilters": {
"description": "Suggested next filters based on the query"
},
"availableCategories": {
"description": "Categories in this result set — use categoryId values in includeCategories"
},
"availableManufacturers": {
"description": "Brands in this result set — use manufacturerId in includeManufacturers"
}
},
"additionalProperties": false
}