MCP Server

Pechincha.ai

ai.pechincha/deals
Commerce & Retail Public & reachable MCP 2025-11-25

What this MCP does

Searches Brazilian online-store deals, coupons, product prices, specifications, and price history in Brazilian Portuguese.

check_product_url
Check product URL
Check whether Pechincha.ai has an active deal for a product page URL from an online store. Returns the deal (price in BRL, discount, store, coupon, purchase link) and the lowest price across stores, or says there is none. Content in Brazilian Portuguese.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Product page URL at the store'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deal', 'lowest_price', 'lowest_price_store', 'product_url'], 'properties': {'deal': {'anyOf': [{'type': 'object', 'required': ['id', 'title', 'price', 'old_price', 'discount_percent', 'store', 'coupon_code', 'published_at', 'url', 'purchase_url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Deal page on Pechincha.ai'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}, 'store': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'old_price': {'type': ['number', 'null'], 'description': 'BRL, price before the discount'}, 'coupon_code': {'type': ['string', 'null']}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601'}, 'purchase_url': {'type': ['string', 'null']}, 'discount_percent': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when Pechincha.ai has no active deal for the URL'}, 'product_url': {'type': ['string', 'null']}, 'lowest_price': {'type': ['number', 'null'], 'description': 'BRL, lowest price across stores'}, 'lowest_price_store': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_deal
Get deal details
Full details of a deal: price and discount in BRL, store, coupon, purchase link, 30-day price history, product pros/cons, specs and FAQ. Markdown in Brazilian Portuguese.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Deal id, the UUID in https://pechincha.ai/p/<id>/<slug>'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['deal'], 'properties': {'deal': {'anyOf': [{'type': 'object', 'required': ['id', 'title', 'price', 'old_price', 'discount_percent', 'store', 'coupon_code', 'published_at', 'url', 'status', 'purchase_url', 'product_url', 'price_30d'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Deal page on Pechincha.ai'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}, 'store': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'status': {'enum': ['active', 'expired', 'pending'], 'type': 'string'}, 'old_price': {'type': ['number', 'null'], 'description': 'BRL, price before the discount'}, 'price_30d': {'anyOf': [{'type': 'object', 'required': ['min', 'avg', 'max', 'records'], 'properties': {'avg': {'type': ['number', 'null'], 'description': 'BRL'}, 'max': {'type': ['number', 'null'], 'description': 'BRL'}, 'min': {'type': ['number', 'null'], 'description': 'BRL'}, 'records': {'type': 'integer'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'coupon_code': {'type': ['string', 'null']}, 'product_url': {'type': ['string', 'null'], 'description': 'Product page with price history and other stores'}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601'}, 'purchase_url': {'type': ['string', 'null'], 'description': 'Link to buy at the store'}, 'discount_percent': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when the deal does not exist'}}, 'additionalProperties': False}
get_price_history
Get price history
Price history of a product, to judge whether a discount is real: min/avg/max in BRL, number of records and up to 30 dated prices. Says so when prices span fewer than 3 different days (not enough history to judge). Content in Brazilian Portuguese.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['product_id'], 'properties': {'period': {'enum': ['30d', '90d', '1y'], 'type': 'string', 'default': '30d'}, 'product_id': {'type': 'string', 'format': 'uuid', 'description': 'Product id, the UUID in https://pechincha.ai/produto/<id>/<slug>'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['history'], 'properties': {'history': {'anyOf': [{'type': 'object', 'required': ['product_id', 'product_name', 'period', 'stats', 'enough_history', 'prices', 'url'], 'properties': {'url': {'type': 'string'}, 'stats': {'anyOf': [{'type': 'object', 'required': ['min', 'avg', 'max', 'records'], 'properties': {'avg': {'type': ['number', 'null'], 'description': 'BRL'}, 'max': {'type': ['number', 'null'], 'description': 'BRL'}, 'min': {'type': ['number', 'null'], 'description': 'BRL'}, 'records': {'type': 'integer'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'period': {'type': 'string'}, 'prices': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'price'], 'properties': {'date': {'type': 'string', 'description': 'ISO 8601'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}}, 'additionalProperties': False}}, 'product_id': {'type': 'string'}, 'product_name': {'type': 'string'}, 'enough_history': {'type': 'boolean', 'description': 'false when prices span fewer than 3 different days'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when the product does not exist'}}, 'additionalProperties': False}
get_product
Get product
A product across stores: current offers with prices in BRL, lowest price, 30-day price stats, review summary, pros/cons, specs and FAQ. Markdown in Brazilian Portuguese.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Product id, the UUID in https://pechincha.ai/produto/<id>/<slug>'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['product'], 'properties': {'product': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'url', 'lowest_price', 'lowest_price_store', 'offers', 'price_stats'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['store', 'price', 'coupon_code', 'expired', 'url'], 'properties': {'url': {'type': 'string'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}, 'store': {'type': ['string', 'null']}, 'expired': {'type': 'boolean'}, 'coupon_code': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'price_stats': {'anyOf': [{'type': 'object', 'required': ['min', 'avg', 'max', 'records'], 'properties': {'avg': {'type': ['number', 'null'], 'description': 'BRL'}, 'max': {'type': ['number', 'null'], 'description': 'BRL'}, 'min': {'type': ['number', 'null'], 'description': 'BRL'}, 'records': {'type': 'integer'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'lowest_price': {'type': ['number', 'null'], 'description': 'BRL'}, 'lowest_price_store': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when the product does not exist'}}, 'additionalProperties': False}
list_categories
List categories
Pechincha.ai categories as name (Brazilian Portuguese) and slug, for the category filter of search_deals.
Read only
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['categories'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'slug'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
list_store_coupons
List store coupons
Active coupon codes of a store on Pechincha.ai. Content in Brazilian Portuguese.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store'], 'properties': {'store': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9.-]*$', 'description': 'Store slug from list_stores, e.g. "amazon"'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['store', 'total', 'coupons'], 'properties': {'store': {'type': ['string', 'null'], 'description': 'Store name, null when the slug does not exist'}, 'total': {'type': 'integer'}, 'coupons': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'price', 'old_price', 'discount_percent', 'store', 'coupon_code', 'published_at', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Deal page on Pechincha.ai'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}, 'store': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'old_price': {'type': ['number', 'null'], 'description': 'BRL, price before the discount'}, 'coupon_code': {'type': ['string', 'null']}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601'}, 'discount_percent': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'description': 'Deals with a coupon code'}}, 'additionalProperties': False}
list_stores
List stores
Stores on Pechincha.ai as name and slug, for search_deals and list_store_coupons. There are 1000+ stores: pass `query` to filter by name.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'maxLength': 50, 'description': 'Part of the store name, e.g. "amazon"'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stores'], 'properties': {'stores': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'slug'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_deals
Search deals
Search active (not expired) deals on Pechincha.ai, newest first, 25 per page. Each result has price and old price in BRL, discount %, store, coupon code if any, publication date and the deal page URL. Content is Brazilian Portuguese, so search in Portuguese: `query` matches a literal substring of the title or description, prefer short terms. Accessories that mention the term also match ("notebook" returns backpacks and cables too), so check titles. For a budget ("até R$ 3.000"), pass `max_price`; for a floor or a range ("entre R$ 100 e R$ 200"), pass `min_price` too.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 999, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Text to search, e.g. "air fryer"'}, 'store': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9.-]*$', 'description': 'Store slug from list_stores, e.g. "amazon"'}, 'category': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9.-]*$', 'description': 'Category slug from list_categories'}, 'max_price': {'type': 'number', 'description': 'Maximum price in BRL, e.g. 3000', 'exclusiveMinimum': 0}, 'min_price': {'type': 'number', 'description': 'Minimum price in BRL, e.g. 100', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'page', 'pages', 'deals'], 'properties': {'page': {'type': 'integer'}, 'deals': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'price', 'old_price', 'discount_percent', 'store', 'coupon_code', 'published_at', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'description': 'Deal page on Pechincha.ai'}, 'price': {'type': ['number', 'null'], 'description': 'BRL'}, 'store': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'old_price': {'type': ['number', 'null'], 'description': 'BRL, price before the discount'}, 'coupon_code': {'type': ['string', 'null']}, 'published_at': {'type': ['string', 'null'], 'description': 'ISO 8601'}, 'discount_percent': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'pages': {'type': 'integer'}, 'total': {'type': 'integer', 'description': 'Active deals matching the search'}}, 'additionalProperties': False}
Added
list_stores
Oct. 4, 2026, 2:40 a.m.
Added
list_categories
Oct. 4, 2026, 2:40 a.m.
Added
list_store_coupons
Oct. 4, 2026, 2:40 a.m.
Added
check_product_url
Oct. 4, 2026, 2:40 a.m.
Added
get_price_history
Oct. 4, 2026, 2:40 a.m.
Added
get_product
Oct. 4, 2026, 2:40 a.m.
Added
get_deal
Oct. 4, 2026, 2:40 a.m.
Added
search_deals
Oct. 4, 2026, 2:40 a.m.