India shopping search engine and price tracker: price history, price drops and price comparison.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A brand's products whose prices dropped recently (up to the last 7 days) across Indian online stores, biggest drop first. Use for 'Samsung price drops', 'what Philips products got cheaper', 'any deals on boAt this week', 'Samsung TV price drops' (brand + keyword). Pass the brand name as written by the user; optional keyword narrows to a product type (e.g. 'tv', 'washing machine'). Each product's priceChange is the drop in INR (negative). Shown to the user as product cards.
Brand name, e.g. 'Samsung', 'Philips', 'OnePlus'
Look-back window in days (default 7)
Max products (default 15)
Optional product type within the brand, e.g. 'tv', 'refrigerator', 'air fryer'
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http cheapestinindia https://mcp.cheapestinindia.com/mcp
A brand's products whose prices dropped recently (up to the last 7 days) across Indian online stores, biggest drop first. Use for 'Samsung price drops', 'what Philips products got cheaper', 'any deals on boAt this week', 'Samsung TV price drops' (brand + keyword). Pass the brand name as written by the user; optional keyword narrows to a product type (e.g. 'tv', 'washing machine'). Each product's priceChange is the drop in INR (negative). Shown to the user as product cards.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days (default 7) |
| brand* | string | Brand name, e.g. 'Samsung', 'Philips', 'OnePlus' |
| limit | integer | Max products (default 15) |
| keyword | string | Optional product type within the brand, e.g. 'tv', 'refrigerator', 'air fryer' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brand"
],
"properties": {
"days": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Look-back window in days (default 7)"
},
"brand": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Brand name, e.g. 'Samsung', 'Philips', 'OnePlus'"
},
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Max products (default 15)"
},
"keyword": {
"type": "string",
"maxLength": 60,
"description": "Optional product type within the brand, e.g. 'tv', 'refrigerator', 'air fryer'"
}
}
}List CheapestInIndia product category groups (id + name). Use an id as category_ids in search_products, or as category_id in top_price_drops. Optionally filter by a name fragment.
| Argument | Type | Description |
|---|---|---|
| top_only | boolean | Only top-level groups (default false) |
| name_contains | string | Case-insensitive name filter, e.g. 'phone' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"top_only": {
"type": "boolean",
"description": "Only top-level groups (default false)"
},
"name_contains": {
"type": "string",
"maxLength": 60,
"description": "Case-insensitive name filter, e.g. 'phone'"
}
}
}Compare 2–4 CheapestInIndia products side by side on facts: current price, MRP and discount, store, retailer rating and review count, lowest price ever and in the last 30 days, how far today's price is above its low, and how often the price changes. Use ids from search_products. Highlights the cheapest, the best-rated and the one closest to its lowest price; it does not judge specs.
| Argument | Type | Description |
|---|---|---|
| ids* | array | 2–4 product ids |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-f0-9]{24}$",
"description": "CheapestInIndia product id (from search_products, get_product or lookup_product_by_url)"
},
"maxItems": 4,
"minItems": 2,
"description": "2–4 product ids"
}
}
}Price history and price check for a product sold in India, from CheapestInIndia's price tracking: current price, lowest and highest price ever (with dates), lowest in the last 7/30/90 days, how often the price changes, a price chart, and a factual verdict on where today's price sits. Use it for 'is ₹X a good price for <product>?', 'price history of <product>', 'lowest price of <product>', 'was it cheaper before?' and 'should I buy now or has it been lower?'. Pass the product name as `query` (e.g. 'JBL Flip 6') — the best-matching listing is used and other listings are returned so you can switch — or an exact `id` from another tool. Shown to the user as a price-history card with a chart. The verdict describes the past only — never present it as a forecast.
| Argument | Type | Description |
|---|---|---|
| id | string | CheapestInIndia product id (from search_products, get_product or lookup_product_by_url) |
| query | string | Product name, brand + model if known, e.g. 'JBL Flip 6' or 'Samsung 55 inch Crystal 4K TV' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-f0-9]{24}$",
"description": "CheapestInIndia product id (from search_products, get_product or lookup_product_by_url)"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Product name, brand + model if known, e.g. 'JBL Flip 6' or 'Samsung 55 inch Crystal 4K TV'"
}
}
}Full details for one CheapestInIndia product: current price, MRP, store, retailer rating, a price-history summary (lowest/highest ever, verdict), other variants at the same store, and similar products elsewhere. Use the id from search_products.
| Argument | Type | Description |
|---|---|---|
| id* | string | CheapestInIndia product id (from search_products, get_product or lookup_product_by_url) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-f0-9]{24}$",
"description": "CheapestInIndia product id (from search_products, get_product or lookup_product_by_url)"
}
}
}Find a product on CheapestInIndia from a retailer link the user pasted (Amazon, Flipkart, Myntra, Ajio, Croma, …) and return its tracked price, price-history summary, variants and similar products. Only products CheapestInIndia already tracks can be found.
| Argument | Type | Description |
|---|---|---|
| url* | string | Retailer product URL, e.g. https://www.amazon.in/dp/B0C… |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"minLength": 10,
"description": "Retailer product URL, e.g. https://www.amazon.in/dp/B0C…"
}
}
}What a type of product costs in India right now, from CheapestInIndia's live listings across Indian stores: price range, median, budget / mid-range / premium price bands with their main brands and example products, and which brands and stores sell it. Use for 'how much does X cost in India', 'how much should I budget for X', 'what does a good X cost', 'price range of X', 'what should I pay for X' and 'which brands sell X in India' — prices in India change daily, so use this rather than general knowledge. Example products from each band are shown to the user as product cards. Computed from the top ~120 search results — a snapshot of current listings, not total market data.
| Argument | Type | Description |
|---|---|---|
| query* | string | Product type, e.g. 'air purifier', '1.5 ton split ac', 'running shoes men' |
| max_price | number | Ignore listings above this price (INR) |
| min_price | number | Ignore listings below this price (INR) — useful to drop accessories |
| category_ids | array | Restrict to category group ids (browse_categories) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Product type, e.g. 'air purifier', '1.5 ton split ac', 'running shoes men'"
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Ignore listings above this price (INR)"
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Ignore listings below this price (INR) — useful to drop accessories"
},
"category_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-f0-9]{24}$"
},
"maxItems": 5,
"description": "Restrict to category group ids (browse_categories)"
}
}
}Display a hand-picked set of products as interactive product cards in the chat (search, price-drop and sale results already show cards on their own). Pass `ids` — the product ids from another CheapestInIndia tool's results (each product line shows `id …`) — and the server loads the full, current product data. Pass search_query (the search behind these products) so the cards link to all results on CheapestInIndia. Do not invent products.
| Argument | Type | Description |
|---|---|---|
| ids | array | Product ids to show, in display order |
| title | string | Short heading for the cards, e.g. 'Two cheapest Philips air fryers' |
| products | array | Alternative to ids: products from another tool, passed through unchanged (reloaded by id) |
| search_query | string | The search these products came from, e.g. 'philips air fryer' — adds a 'see all results' link |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-f0-9]{24}$",
"description": "CheapestInIndia product id (from search_products, get_product or lookup_product_by_url)"
},
"maxItems": 20,
"minItems": 1,
"description": "Product ids to show, in display order"
},
"title": {
"type": "string",
"maxLength": 120,
"description": "Short heading for the cards, e.g. 'Two cheapest Philips air fryers'"
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"price",
"currency",
"store",
"productUrl",
"productPageUrl",
"outOfStock"
],
"properties": {
"id": {
"type": "string",
"description": "CheapestInIndia product id — pass through unchanged"
},
"mrp": {
"type": "number",
"description": "Maximum retail price in INR, when known"
},
"brand": {
"type": "string"
},
"price": {
"type": "number",
"description": "Current price in INR"
},
"store": {
"type": "string",
"description": "Retailer, e.g. amazon.in, flipkart.com"
},
"title": {
"type": "string"
},
"currency": {
"type": "string",
"const": "INR"
},
"imageUrl": {
"type": "string"
},
"outOfStock": {
"type": "boolean"
},
"productUrl": {
"type": "string",
"description": "Attributed buy link (CheapestInIndia redirect to the retailer)"
},
"lowestPrice": {
"type": "number",
"description": "Lowest price ever recorded by CheapestInIndia, INR"
},
"priceChange": {
"type": "number",
"description": "Most recent price change in INR (negative = price dropped, positive = went up)"
},
"atLowestPrice": {
"type": "boolean",
"description": "True when the current price is the lowest ever recorded"
},
"priceChangeAt": {
"type": "string",
"description": "When that price change happened (ISO 8601)"
},
"productPageUrl": {
"type": "string",
"description": "CheapestInIndia price-history page — use for citations"
},
"discountPercent": {
"type": "number",
"description": "Discount from MRP, %"
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "Alternative to ids: products from another tool, passed through unchanged (reloaded by id)"
},
"search_query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "The search these products came from, e.g. 'philips air fryer' — adds a 'see all results' link"
}
}
}Live retailer sale events tracked by CheapestInIndia (e.g. Flipkart Big Billion Days, Amazon Great Indian Festival). Without slug: lists current sales. With slug: the products whose prices dropped during that sale.
| Argument | Type | Description |
|---|---|---|
| page | integer | Product page for a sale (default 1) |
| slug | string | Sale slug from a previous sale_events call |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Product page for a sale (default 1)"
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 200,
"description": "Sale slug from a previous sale_events call"
}
}
}Search CheapestInIndia for products sold in India, with live prices from Amazon, Flipkart, Croma, Reliance Digital, Myntra, Nykaa and other Indian retailers. Use it for any shopping question about products in India: prices, where to buy, options under a budget. For 'is ₹X a good price' or price history of a named product, call get_price_history with `query` directly. Results are ordered category-first: real products before accessories, stores mixed. Put the brand in the query ('samsung 55 inch tv'). Returns products (price, MRP, discount, store, image, buy link, price-history page) and facets (stores, categories, price range). The results are shown to the user as product cards automatically, with a link to all results on CheapestInIndia. Next steps: get_price_history to judge a price, compare_products to compare 2–4 items; render_product_results only to show a hand-picked subset.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number (default 1) |
| sort | string | Default relevance. price_asc = cheapest first |
| query* | string | What the user is shopping for, e.g. 'jbl flip 6' |
| stores | array | Only these retailers, e.g. ['amazon.in', 'flipkart.com'] |
| per_page | integer | Results per page (default 10, max 20) |
| max_price | number | Maximum price in INR |
| min_price | number | Minimum price in INR |
| category_ids | array | Category group ids from browse_categories or a previous search's facets |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Page number (default 1)"
},
"sort": {
"enum": [
"relevance",
"price_asc",
"price_desc"
],
"type": "string",
"description": "Default relevance. price_asc = cheapest first"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "What the user is shopping for, e.g. 'jbl flip 6'"
},
"stores": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Only these retailers, e.g. ['amazon.in', 'flipkart.com']"
},
"per_page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Results per page (default 10, max 20)"
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Maximum price in INR"
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Minimum price in INR"
},
"category_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-f0-9]{24}$"
},
"maxItems": 5,
"description": "Category group ids from browse_categories or a previous search's facets"
}
}
}Products whose price dropped the most in the last N hours across Indian retailers. Use for 'deals today', 'what got cheaper' or 'price drops on phones'. For a product type, pass `category` as a plain name (e.g. 'air conditioners', 'mobile phones', 'laptops') in the same call — no need to look up an id first. With a category, products are ranked by the rupee drop; without one, by the percentage drop. Each product's priceChange is the drop in INR (negative). Shown to the user as product cards.
| Argument | Type | Description |
|---|---|---|
| hours | integer | Look-back window in hours (default 24) |
| limit | integer | Max products (default 15) |
| category | string | Category name, e.g. 'air conditioners' or 'mobile phones' |
| min_price | number | Ignore products cheaper than this (INR) |
| category_id | string | Category group id from browse_categories (alternative to category) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hours": {
"type": "integer",
"maximum": 72,
"minimum": 1,
"description": "Look-back window in hours (default 24)"
},
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Max products (default 15)"
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Category name, e.g. 'air conditioners' or 'mobile phones'"
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Ignore products cheaper than this (INR)"
},
"category_id": {
"type": "string",
"pattern": "^[a-f0-9]{24}$",
"description": "Category group id from browse_categories (alternative to category)"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 10, 2026.