Check and watch product prices on ordinary shop pages. It reads the price out of a product page from JSON-LD, microdata, Open Graph or visible markup, normalises 1.299,00 EUR and 1,299.00 USD alike, and keeps a per-watch history.
Approval per tool call suits a server whose whole job is fetching a page you chose, and the refusal of private, loopback, link-local and metadata addresses is enforced server-side too, before and after every redirect.
| You say | Tool |
|---|---|
| What does this cost right now: <product url>? | price_check |
| Watch that page and alert me if it goes under 40. | watch_add |
| Has anything I'm watching hit its target or dropped a lot? | alerts_pending |
One measured limitation: with a general web fetcher available, a client sometimes answers a price question by fetching the page itself, so nothing is stored. Name the tracker in the sentence.
The file is mcp.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| Cline CLI | ~/.cline/mcp.json |
| The editor extension | opened from the Cline panel, not by path; the documentation deliberately calls it the MCP settings JSON used by the extension |
{
"mcpServers": {
"price-tracker": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-price-tracker"],
"disabled": false,
"autoApprove": []
}
}
}
No full-app restart. The MCP settings actions include restarting an unresponsive server if its tools do not appear.
The npm publish of @theluckystrike/mcp-price-tracker is pending; until then use the .mcpb bundle or a clone and build from the latest release.
The same server runs at https://mcp.zovo.one/mcp/price-tracker over MCP streamable HTTP, no install. Mint a free token with curl https://mcp.zovo.one/mcp/token, or use a Pro key. It has no filesystem, so a file comes back as a one-hour download link.
Write the transport in. Omitting type falls back to the legacy sse transport, which will not talk to this endpoint:
{
"mcpServers": {
"price-tracker": {
"type": "streamableHttp",
"url": "https://mcp.zovo.one/mcp/price-tracker",
"headers": { "Authorization": "Bearer <token>" }
}
}
}
Cline is the one client here with an unsafe transport default. `type` selects it, and omitting `type` falls back to the legacy sse transport, so a streamable HTTP endpoint needs it written in or you will debug a server that is fine. Local entries carry "disabled" and an "autoApprove" array.
Free: unlimited checks with a confidence score, 3 watches, 30 observations each, alerts. Pro is $19 once, verified offline.
The CLI reads ~/.cline/mcp.json. For the extension, do not hunt for a path: MCP Servers icon, Configure tab, Configure MCP Servers. cline mcp opens a wizard, and cline config mcp --json is the non-interactive form.
Set the transport explicitly. Omitting type falls back to the legacy sse transport, so streamable HTTP needs "type": "streamableHttp" written in. It is the one default here that sends you debugging a server that works.
Approve the read-only ones and leave the writing ones behind a click: each entry carries an autoApprove array and a disabled flag.
MCP Price Tracker in detail · The same server in Windsurf and Claude Desktop · Every server in Cline · Guides · Cline docs