{"name":"io.github.pricewatcha/pricewatcha","slug":"pricewatcha","title":null,"description":"Track prices & price history on any online shop, with alerts and an API","url":"https://mcp.market/server/pricewatcha","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":1,"forks":0,"downloads_week":null,"last_push_at":"2026-09-12T11:23:43.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T23:25:42.080Z","last_ok_at":"2026-09-20T23:25:42.080Z","latency_ms":74},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/pricewatcha/pricewatcha-api","website":null,"version":"0.1.7","remotes":[{"type":"streamable-http","url":"https://mcp.pricewatcha.com"}],"packages":[],"tools":[{"name":"create_price_alert","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"product_id":{"type":"string","minLength":1,"description":"Public product ID (prod_... or demo_...)"},"notify_on_drop":{"type":"boolean","description":"Notify on any price drop. No threshold required."},"notify_on_rise":{"type":"boolean","description":"Notify on any price increase. No threshold required."},"min_threshold_price":{"type":"number","exclusiveMinimum":0,"description":"Notify when the price drops to or below this value."},"max_threshold_price":{"type":"number","exclusiveMinimum":0,"description":"Notify when the price rises to or above this value."},"notify_email":{"type":"boolean","description":"Send email notifications (default true)"},"webhook_url":{"type":"string","format":"uri","description":"Optional HTTPS webhook URL"},"name":{"type":"string","maxLength":128,"description":"Optional alert name"}},"required":["api_key","product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"delete_price_alert","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"alert_id":{"type":"integer","exclusiveMinimum":0,"description":"Alert ID to delete"}},"required":["api_key","alert_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_api_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_job_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_id":{"type":"string","minLength":1,"description":"Job ID from track_product"}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_price_alert","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"alert_id":{"type":"integer","exclusiveMinimum":0,"description":"Alert ID from create_price_alert or list_price_alerts"}},"required":["api_key","alert_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_price_history","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","minLength":1,"description":"Public product ID"}},"required":["product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_product","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"product_id":{"type":"string","minLength":1,"description":"Public product ID"}},"required":["product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_watch_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"product_id":{"type":"string","minLength":1,"description":"Public product ID (prod_... or demo_...)"}},"required":["api_key","product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_price_alerts","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"product_id":{"type":"string","minLength":1,"description":"Optional public product ID filter"}},"required":["api_key"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_watchlist","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"Max items (default 50)"},"offset":{"type":"integer","minimum":0,"description":"Items to skip (default 0)"}},"required":["api_key"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_products","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Search keywords (token AND). Supports minus-prefixed exclude terms: e.g. \"iPhone 15 -cover -case\""}},"required":["query"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"track_product","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public product page URL from a supported shop"},"api_key":{"type":"string","minLength":1,"description":"Optional API key (pwk_live_...). Required for watch/refresh."},"watch":{"type":"boolean","description":"If true (API key required), enroll the product for continuous scheduler updates."},"refresh":{"type":"boolean","description":"If true (API key required), force a re-scrape even if the URL is already in the catalog."}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"unwatch_product","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"product_id":{"type":"string","minLength":1,"description":"Public product ID (prod_... or demo_...)"}},"required":["api_key","product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"update_price_alert","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"alert_id":{"type":"integer","exclusiveMinimum":0,"description":"Alert ID to update"},"notify_on_drop":{"type":"boolean","description":"Notify on any price drop. No threshold required."},"notify_on_rise":{"type":"boolean","description":"Notify on any price increase. No threshold required."},"min_threshold_price":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"Min threshold, or null to clear."},"max_threshold_price":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"Max threshold, or null to clear."},"notify_email":{"type":"boolean"},"webhook_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"name":{"type":"string","maxLength":128},"is_active":{"type":"boolean"}},"required":["api_key","alert_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"watch_product","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","minLength":1,"description":"Pricewatcha API key (pwk_live_...)"},"product_id":{"type":"string","minLength":1,"description":"Public product ID (prod_... or demo_...)"}},"required":["api_key","product_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-20T00:26:33.550Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:26:33.553Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1225ms"]},"poisoning":{"score":15,"max":15,"notes":["15 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 5 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.pricewatcha.com","reachable":true,"authRequired":false,"latencyMs":1225,"serverInfo":{"name":"pricewatcha","version":"0.1.7"}}],"packages":[],"repo":{"found":true,"owner":"pricewatcha","repo":"pricewatcha-api","archived":false,"pushedAt":"2026-09-12T11:23:43Z","stars":1,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/285478206?v=4","ownerCreatedAt":"2026-05-17T17:57:24Z","license":"Apache-2.0"},"icon":{"url":"https://mcp.pricewatcha.com/favicon-64.png","source":"site","width":64,"height":64},"presence":{"stars":1,"forks":0,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-12T11:23:43.000Z","score":23}}}},"grade_history":[],"reviews":[]}