Ask your AI what something costs right now, track price drops and get told when a target price is hit. All data stays local.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Price tracker.
price_checkFetch a page now; returns price, currency, title, extraction confidence and the change against the last stored observation for that URL. No watch needed.
watch_addStart tracking a URL. Stores the first observation. Optional `label`, `target_price`, `currency`.
watch_listEvery watch with current price, min, max, change, target, confidence and source.
watch_removeStop tracking, by `id` or `url`.
watch_refreshRe-fetch one watch (`id`) or all of them (`all: true`); appends observations and returns current, previous, min, max, change % and target-hit flags. This is the only thing that checks prices.
price_historyStored observations for one watch, oldest first, optional `limit`.
MCP server for price tracking, a price tracker and price drop watcher for shop pages. Check and watch product prices on ordinary shop pages.
Works with Claude Desktop, Claude Code, Cursor and any Model Context Protocol client. Runs on your own machine, or hosted with no install.
Product page: https://mcp.zovo.one/s/price-tracker β what it does, the tools it exposes, and a live token endpoint.
Hosted, nothing to install. Get a token from https://mcp.zovo.one/mcp/connect (the connect page) or https://mcp.zovo.one/mcp/token (the same token as JSON); a free anonymous one is issued on the spot and a Pro key works the same way. Then point an MCP client at https://mcp.zovo.one/mcp/price-tracker over streamable-http and send the token as Authorization: Bearer <token>.
If your client cannot set headers, put the token in the path instead: https://mcp.zovo.one/mcp/price-tracker/t/<token>. Both forms work. The bare URL with no token answers 401 on tools/call, so the token is not optional.
Claude Desktop, one click. Download price-tracker.mcpb from the latest release and double-click it.
From source. The mirror is self-contained: every @theluckystrike/* dependency is vendored, so a fresh clone builds with no extra setup.
Then point your client at the built entry point:
@theluckystrike/mcp-price-trackeris not published on npm yet, so annpx -y @theluckystrike/mcp-price-trackercommand will fail. The three paths above are the working ones and each is exercised by CI.
![]()
Read-only mirror of mcp-servers/servers/price-tracker. See MIRROR.md.
Featured on Awesome MCP Servers β directory listing | live hosted endpoint, free tier, no signup.
Ask your assistant what something costs right now. Point it at any product page and it reads the price off the page, remembers it, and tells you next time whether the price moved, how far, and whether it reached the number you were waiting for. It works on ordinary shop pages by reading the structured data most stores already publish (JSON-LD, Open Graph, microdata) and falling back to the visible price when they do not. When a large retailer blocks automated requests it says so plainly and lets you record the price yourself so the history stays intact. Everything is stored in a JSON file on your own machine.
Built by theluckystrike.
In the official MCP Registry (io.github.theluckystrike/price-tracker-drop-alert-watch).
Watch any product page for price drops from chat, no scraping service, no account, all local.
npm publish for @theluckystrike/mcp-price-tracker is pending. Until then, the .mcpb one-click bundle or a clone+build
is the working path, both are verified below.
One-click (.mcpb): download price-tracker.mcpb from the latest release and double-click it in Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
Claude Code:
(.cursor/mcp.json):
The npx form above starts working the moment the package is published. Until then, use the .mcpb bundle above, or
build from source with exactly these three commands:
Then point your client's command at node with one arg: the absolute path to servers/price-tracker/dist/index.js.
To run in Pro mode set MCP_LICENSE_KEY in the same config block, or call license_activate once with your key.
| Tool | What it does |
|---|---|
price_check | Fetch a page now; returns price, currency, title, extraction confidence and the change against the last stored observation for that URL. No watch needed. |
watch_add | Start tracking a URL. Stores the first observation. Optional label, target_price, currency. |
watch_list | Every watch with current price, min, max, change, target, confidence and source. |
watch_remove | Stop tracking, by id or url. |
watch_refresh | Re-fetch one watch (id) or all of them (all: true); appends observations and returns current, previous, min, max, change % and target-hit flags. This is the only thing that checks prices. |
price_history | Stored observations for one watch, oldest first, optional limit. |
price_add_manual | Record a price you read yourself, for shops that block bots. Creates the watch if needed. |
alerts_pending | Watches whose latest price is at or below target, or which dropped 5% or more since the previous observation. Free. |
license_status | Free or Pro, and where to upgrade. |
license_activate | Activate a Pro key. Verified offline. |
Resource: prices://watches - JSON of every watch with its latest price.
Prompt: check_prices - refreshes every watch and summarises the drops and target hits in one command.
| You say | Tool |
|---|---|
| "What does this cost right now: <url>?" | price_check |
| "Watch that page and alert me if it goes under 40." | watch_add |
| "Show me everything I'm watching and whether anything dropped." | watch_refresh (all) then watch_list |
| "Stop tracking that laptop, I bought it elsewhere." | watch_remove |
| "Refresh my watches." | watch_refresh |
| "What's the price history on the bookshelf I'm watching?" | price_history |
| "I checked myself, it's 39.99 GBP in-store, log that." | price_add_manual |
| "Has anything I'm watching hit its target or dropped a lot?" | alerts_pending |
| "Am I on the free plan or Pro?" | license_status |
| "Here's my license key, activate it." | license_activate |
A real run against books.toscrape.com, from docs/USER_VALUE_R2.md, with WebFetch/WebSearch
disallowed so the price-tracker's own tools had to answer:
The confidence label is not decoration: books.toscrape.com carries no JSON-LD or microdata, so this is
the one case in testing where the regex fallback was the only path to a number, and the model relayed the
"low" label to the user unprompted rather than stating 51.77 as a fact.
There is no scheduler and no daemon. A watch is a stored history, not a subscription: prices are re-read only when watch_refresh runs, and alerts_pending reports on what is already stored. The working pattern is to say "refresh my watches" at the start of a session (or run the check_prices prompt), then ask what dropped.
| Free | Pro ($19 one-time) | |
|---|---|---|
price_check | Unlimited | Unlimited |
alerts_pending | Yes, unlimited | Yes, unlimited |
| Watches | 3 | Unlimited |
| History per watch | Last 30 observations | Full history |
watch_refresh one item | Yes | Yes |
watch_refresh all at once | No | Yes |
price_add_manual | Yes | Yes |
| Redirect check and extraction confidence | Yes | Yes |
Get Pro - $19 for this server, $39 for every server, lifetime.
In order: JSON-LD Product/Offer (price, priceCurrency, lowPrice), microdata itemprop="price", Open Graph og:price:amount / product:price:amount, meta itemprop, data-price attributes, common price class and id hints (including Amazon's a-offscreen), and finally a regex over the visible text of the first 200 KB. European and US separators are both understood, so 1.299,00 EUR and 1,299.00 USD both become 1299.00.
Prices are stored as decimal strings in the major unit with a . decimal separator and no grouping, for example "1299.00". Timestamps are ISO 8601 UTC.
Every reading carries a confidence: high for JSON-LD, microdata, meta itemprop and Open Graph; medium for data-price attributes and price class or id hints; low for the regex fallback. A low reading on a page with no product title is reported but never stored.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/price-tracker)<a href="https://allmcps.com/mcp/price-tracker"><img src="https://allmcps.com/api/badge/price-tracker?style=directory" alt="Price tracker on AllMCPs" /></a>