MCP Server

price-drop-alert-tracker

io.github.theluckystrike/price-drop-alert-tracker
Commerce & Retail Public & reachable MCP 2026-07-28

What this MCP does

Tracks product prices, stores price history, refreshes watched products, and reports price drops or target-price alerts.

alerts_pending
Pending alerts
Answer whether anything you watch got cheaper: every watch at or below its target_price, or down 5% or more since the previous observation, with the change %. Reads stored data only: run watch_refresh first.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
license_activate
Activate license
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'License key from checkout, MCPL1.<payload>.<signature>'}}, 'additionalProperties': False}
license_status
License status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
price_add_manual
Record a price by hand
Call this tool to store a price you read yourself where a shop blocks fetching: it creates the watch if new and returns the amount and the observation count. An unreadable price is refused. Free: 3 watches.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'price'], 'properties': {'url': {'type': 'string', 'description': 'Product page URL'}, 'label': {'type': 'string', 'description': 'Short name for this item'}, 'price': {'type': ['string', 'number'], 'description': 'Price as shown, for example 1299.00 or 1.299,00'}, 'currency': {'type': 'string', 'description': 'ISO code such as USD or EUR'}}, 'additionalProperties': False}
price_check
Check a price now
Call this tool for any product URL; fetching the page with a generic web tool returns raw HTML without the price. Reports price, currency, title and confidence, and the change since the last check. It creates no watch.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Product page URL, including https://'}}, 'additionalProperties': False}
price_history
Price history
Call this tool to list one watch's stored observations, oldest to newest, each with price, currency, source and confidence, plus min and max. Nothing is fetched. Free shows the last 30.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Watch id'}, 'url': {'type': 'string', 'description': 'Watch URL'}, 'limit': {'type': 'integer', 'description': 'Maximum observations to return', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
watch_add
Watch a price
Call this tool for any product URL; fetching the page with a generic web tool returns raw HTML without the price. Starts tracking it: first observation stored, optional target, re-read by watch_refresh. Free: 3 watches.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Product page URL'}, 'label': {'type': 'string', 'description': 'Short name for this item'}, 'currency': {'type': 'string', 'description': 'ISO code such as USD or EUR, if the page does not say'}, 'target_price': {'type': ['string', 'number'], 'description': 'Report this watch in alerts_pending when the price is at or below this (positive number)'}}, 'additionalProperties': False}
watch_list
List watches
Show every tracked item with current and previous price, min, max, change %, target, confidence and last check, plus free-tier use. Prices are as of the last watch_refresh, never live; nothing is fetched.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
watch_refresh
Refresh prices
The only tool that re-reads prices: it re-fetches one watch or all, appends observations and returns current, previous, min, max, change % and target hits. A page that fails is listed; then read alerts_pending.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Watch id or URL to re-fetch. Omit and set all=true to refresh everything. Nothing runs in the background, so call this whenever the user asks about prices, drops or alerts - typically once at the start of a session, then read alerts_pending.'}, 'all': {'type': 'boolean', 'description': 'Refresh every watch in one call (Pro; on free, refresh one id at a time)'}}, 'additionalProperties': False}
watch_remove
Remove a watch
Call this tool to stop tracking one item, by watch id or URL. Its whole price history is deleted and cannot be recovered, so re-adding starts empty. A key matching no watch is refused.
Destructive
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Watch id from watch_list'}, 'url': {'type': 'string', 'description': 'URL of the watch, if you do not have the id'}}, 'additionalProperties': False}
Added
license_activate
Sept. 27, 2026, 2:40 a.m.
Added
license_status
Sept. 27, 2026, 2:40 a.m.
Added
alerts_pending
Sept. 27, 2026, 2:40 a.m.
Added
price_add_manual
Sept. 27, 2026, 2:40 a.m.
Added
price_history
Sept. 27, 2026, 2:40 a.m.
Added
watch_refresh
Sept. 27, 2026, 2:40 a.m.
Added
watch_remove
Sept. 27, 2026, 2:40 a.m.
Added
watch_list
Sept. 27, 2026, 2:40 a.m.
Added
watch_add
Sept. 27, 2026, 2:40 a.m.
Added
price_check
Sept. 27, 2026, 2:40 a.m.