MCP-Server

product-intelligence

com.ponito/product-intelligence
Commerce & Retail Daten & Analytik Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Searches products by barcode or catalog data, compares shop offers, and provides daily price history for Swiss and European markets.

get_price_history
Get Price History Tool
Daily lowest observed price for a product over the last year, in one country. Use this to judge whether a current price or a claimed discount is actually good — compare today's price against the recent minimum. Recording started 2026-07-27, so earlier days are empty. Prices are integer minor units.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['product_id', 'country'], 'properties': {'country': {'enum': ['CH', 'DE', 'FR', 'GB', 'AT', 'ES', 'NL'], 'type': 'string', 'description': 'Country whose prices to return.'}, 'product_id': {'type': 'string', 'description': 'The Ponito product id (from search_products or get_product).'}}}
Ausgabeschema
{'type': 'object', 'required': ['currency', 'days'], 'properties': {'days': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'min', 'shops', 'observed'], 'properties': {'min': {'type': ['integer', 'null'], 'description': 'Lowest valid price that day in minor units (cents/rappen); null when no shop had a valid price.'}, 'date': {'type': 'string', 'description': 'Day, formatted yyyy-MM-dd.'}, 'shops': {'type': 'integer', 'description': 'Shops with a valid price that day.'}, 'observed': {'type': 'boolean', 'description': 'True when a price was directly observed that day; false when carried forward from a previous observation.'}}}, 'description': 'One entry per day; recording started 2026-07-27, earlier days are absent.'}, 'currency': {'type': 'string', 'description': 'ISO currency of all prices in the series.'}}}
get_product
Get Product Tool
Look up one product by GTIN (EAN/UPC barcode) or Ponito product id. Use this when you already know exactly which product you mean — e.g. from a barcode, a previous search result, or a product page. Returns the product with its best offer in the given country.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['id', 'country'], 'properties': {'id': {'type': 'string', 'description': 'A GTIN (8-14 digit EAN/UPC barcode) or a Ponito product id.'}, 'country': {'enum': ['CH', 'DE', 'FR', 'GB', 'AT', 'ES', 'NL'], 'type': 'string', 'description': "The shopper's country (offers and prices are country-specific)."}, 'language': {'enum': ['de', 'fr', 'en', 'it', 'es', 'pt', 'nl'], 'type': 'string', 'default': 'en'}}}
Ausgabeschema
{'type': 'object', 'required': ['id', 'name', 'brand', 'gtins', 'rating', 'best_offer', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Ponito product id.'}, 'url': {'type': 'string', 'description': 'Ponito product page listing all offers in the country.'}, 'name': {'type': ['string', 'null']}, 'brand': {'type': ['string', 'null']}, 'gtins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'GTIN (EAN/UPC) barcodes.'}, 'rating': {'type': ['number', 'null'], 'description': 'Average user rating, 0-5.'}, 'best_offer': {'type': ['object', 'null'], 'required': ['price', 'currency', 'shops_count'], 'properties': {'price': {'type': 'integer', 'description': 'Lowest current price in minor units (cents/rappen).'}, 'currency': {'type': 'string'}, 'shops_count': {'type': 'integer', 'description': 'Number of shops currently offering the product.'}}}}}
search_products
Search Products Tool
Search Ponito's product catalogue. Call this for any shopping query — finding products, comparing options, or checking who sells something in a given country. Returns GTIN-anchored products with their best offer (lowest price, integer minor units) and shop count.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['query', 'country'], 'properties': {'sort': {'enum': ['relevance', 'cheapest'], 'type': 'string', 'default': 'relevance', 'description': '"relevance" (popularity-weighted, default) or "cheapest" (lowest price first).'}, 'limit': {'type': 'integer', 'default': 10, 'description': 'Max results, 1-25.'}, 'query': {'type': 'string', 'description': 'What the shopper is looking for, e.g. "quiet robot vacuum" or "Bosch dishwasher 60cm".'}, 'country': {'enum': ['CH', 'DE', 'FR', 'GB', 'AT', 'ES', 'NL'], 'type': 'string', 'description': "The shopper's country (offers and prices are country-specific)."}, 'language': {'enum': ['de', 'fr', 'en', 'it', 'es', 'pt', 'nl'], 'type': 'string', 'default': 'en', 'description': 'Language to search and label results in.'}}}
Ausgabeschema
{'type': 'object', 'required': ['products'], 'properties': {'products': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'brand', 'gtins', 'rating', 'best_offer', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Ponito product id.'}, 'url': {'type': 'string', 'description': 'Ponito product page listing all offers in the country.'}, 'name': {'type': ['string', 'null']}, 'brand': {'type': ['string', 'null']}, 'gtins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'GTIN (EAN/UPC) barcodes.'}, 'rating': {'type': ['number', 'null'], 'description': 'Average user rating, 0-5.'}, 'best_offer': {'type': ['object', 'null'], 'required': ['price', 'currency', 'shops_count'], 'properties': {'price': {'type': 'integer', 'description': 'Lowest current price in minor units (cents/rappen).'}, 'currency': {'type': 'string'}, 'shops_count': {'type': 'integer', 'description': 'Number of shops currently offering the product.'}}}}}, 'description': 'Matching products, most relevant (or cheapest) first.'}}}
Hinzugefügt
get_price_history
17. September 2026 12:36
Hinzugefügt
get_product
17. September 2026 12:36
Hinzugefügt
search_products
17. September 2026 12:36