io. github. pricewatcha/ pricewatcha
by pricewatcha · remote · no sign-in to list tools · v0.1.7 · published by GitHub user pricewatcha
Track prices & price history on any online shop, with alerts and an API
15 tools: 3 can delete or cancel things, 3 change things and 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads9Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http pricewatcha https://mcp.pricewatcha.comTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Deletes or cancels 3Claude Code: deny
delete_price_alertDelete a price alert.No findings
Why it is in this group
- The name "delete_price_alert" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete a price alert. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- idempotentHint: true
unwatch_productRemove a product from your account watchlist.No findings
Why it is in this group
- The description's first verb is "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a product from your account watchlist. Fails while an active price alert exists for the product. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: false
- idempotentHint: true
update_price_alertUpdate a price alert.No findings
Why it is in this group
- The name "update_price_alert" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a price alert. You can switch to threshold-free notify_on_drop / notify_on_rise, change thresholds, or toggle is_active. At least one setting must remain. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- openWorldHint: true
- idempotentHint: true
Changes things 3Claude Code: ask
create_price_alertCreate a price alert for a product.No findings
Why it is in this group
- The name "create_price_alert" says "create": a word for a change.
Description, as the server wrote it Create a price alert for a product. Use notify_on_drop / notify_on_rise for any price change without a numeric threshold, and/or min_threshold_price / max_threshold_price for target prices. At least one of those four settings is required. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: false
track_productSubmit a public product URL for price tracking.No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
Description, as the server wrote it Submit a public product URL for price tracking. Waits up to ~25s server-side; fast shops return status "completed" with product in one call. Slow jobs return status "running" with job_id — poll get_job_status. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: false
watch_productAdd a catalog product to your account watchlist so the price scheduler keeps updating it.No findings
Why it is in this group
- The description's first verb is "add": a word for a change.
Description, as the server wrote it Add a catalog product to your account watchlist so the price scheduler keeps updating it. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
Only reads 9Claude Code: allow
get_api_statusCheck whether the Pricewatcha public API is available.No findings
Why it is in this group
- The name "get_api_status" says "get": a word for reading.
Description, as the server wrote it Check whether the Pricewatcha public API is available. Returns health and discovery metadata. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_job_statusPoll an async tracking job by job_id.No findings
Why it is in this group
- The name "get_job_status" says "get": a word for reading.
Description, as the server wrote it Poll an async tracking job by job_id. Returns status (queued, running, completed, or failed). On completion, product is populated; on scrape failure, error is populated (HTTP 200 job lookup — not a transport error). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_price_alertGet one price alert by alert_id.No findings
Why it is in this group
- The name "get_price_alert" says "get": a word for reading.
Description, as the server wrote it Get one price alert by alert_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_price_historyGet historical prices, aggregates (low/high/average), trend, and data points for a product.No findings
Why it is in this group
- The name "get_price_history" says "get": a word for reading.
Description, as the server wrote it Get historical prices, aggregates (low/high/average), trend, and data points for a product. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_productGet structured product price intelligence by product_id (e.g.No findings
Why it is in this group
- The name "get_product" says "get": a word for reading.
Description, as the server wrote it Get structured product price intelligence by product_id (e.g. demo_iphone_15_pro or prod_xxx from a completed job). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
get_watch_statusCheck whether your account watches a product for continuous updates.No findings
Why it is in this group
- The name "get_watch_status" says "get": a word for reading.
Description, as the server wrote it Check whether your account watches a product for continuous updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
list_price_alertsList your price alerts.No findings
Why it is in this group
- The name "list_price_alerts" says "list": a word for reading.
Description, as the server wrote it List your price alerts. Optionally filter by product_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
list_watchlistList products your account watches for continuous price updates.No findings
Why it is in this group
- The name "list_watchlist" says "list": a word for reading.
Description, as the server wrote it List products your account watches for continuous price updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
search_productsSearches the Pricewatcha product catalog by keyword (token AND; word order does not matter).No findings
Why it is in this group
- The name "search_products" says "search": a word for reading.
Description, as the server wrote it Searches the Pricewatcha product catalog by keyword (token AND; word order does not matter). Supports minus-prefixed exclude terms: e.g. "iPhone 15 -cover -case" returns devices only. Returns product-level data only — not user accounts or alert settings. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.7. Values in angle brackets are yours to fill in.
claude mcp add --transport http pricewatcha https://mcp.pricewatcha.comRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__pricewatcha__get_api_status",
"mcp__pricewatcha__get_job_status",
"mcp__pricewatcha__get_product",
"mcp__pricewatcha__get_price_history",
"mcp__pricewatcha__search_products",
"mcp__pricewatcha__list_price_alerts",
"mcp__pricewatcha__get_price_alert",
"mcp__pricewatcha__list_watchlist",
"mcp__pricewatcha__get_watch_status"
],
"ask": [
"mcp__pricewatcha__track_product",
"mcp__pricewatcha__create_price_alert",
"mcp__pricewatcha__watch_product"
],
"deny": [
"mcp__pricewatcha__update_price_alert",
"mcp__pricewatcha__delete_price_alert",
"mcp__pricewatcha__unwatch_product"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pricewatcha. Review it before you use it.
