{"server":{"name":"dev.pricetrack/pricetrack","title":"PriceTrack","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://pricetrack.dev/api/mcp","type":"streamable-http"}],"version":"0.1.0","packages":[{"version":"0.1.0","transport":{"type":"stdio"},"identifier":"@pricetrack/mcp","registryType":"npm","environmentVariables":[{"name":"PRICETRACK_URL","description":"Override the PriceTrack origin (defaults to https://pricetrack.dev)"}]}],"repository":{"url":"https://github.com/PriceTrack-dev/pricetrack-mcp","source":"github"},"websiteUrl":"https://pricetrack.dev/mcp","description":"Live SaaS pricing: current plans, verified price changes, and comparisons for 33,000+ products."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-08-18T23:02:32.090228Z","publishedAt":"2026-08-18T23:02:32.090228Z","statusChangedAt":"2026-08-18T23:02:32.090228Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://pricetrack.dev/api/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2026-07-28"],"stateless":true},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":894,"consecutive_failures":0,"last_probe_at":"2026-10-19T17:52:29.879Z","last_ok_at":"2026-10-19T17:52:29.879Z"}}],"packages":[{"idx":0,"registry_type":"npm","identifier":"@pricetrack/mcp","version":"0.1.0","runtime_hint":null,"transport":"stdio","secrets":[],"requires_execution":true}]},"dev.protogrid/tools":[{"name":"compare_products","title":"Compare product pricing","description":"Compare the current pricing plans of 2 to 5 SaaS products side by side. Call this when the user is choosing between named products and wants their prices in one view. Takes product slugs (find them with search_products).","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"create_price_alert","title":"Create a price alert","description":"Create an email alert on a product's price for the signed-in user. Fires when the product's price changes (any_change) or moves by at least a threshold percentage. This modifies the user's account — only call when they explicitly ask to be alerted or to watch a product's price.","annotations":null,"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"get_price_history","title":"Full price history","description":"The complete verified price-change history of a product, beyond the public 10-change window. Requires the user's PriceTrack account. Call when the user asks how a product's price evolved over time, or for changes older than the recent ones get_product shows.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"get_product","title":"Get product pricing","description":"Get a SaaS product's current pricing plans and its most recent price changes. Call this when the user asks what a specific product costs, what plans it offers, or whether its price changed recently. Takes the product slug (find it with search_products). Shows the 10 most recent changes; deeper history requires a free PriceTrack API key.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"get_stack","title":"The user's tracked stack","description":"The products the signed-in user tracks on PriceTrack, with each one's current lowest paid price and an estimated monthly total.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"list_alerts","title":"List price alerts","description":"The user's active price alerts on PriceTrack. Requires their account.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"recent_price_changes","title":"Recent SaaS price changes","description":"The most recent verified SaaS price changes and the biggest movers of the last 30 days, across the whole catalogue. Call this when the user asks what changed in SaaS pricing lately, who raised prices recently, or for examples of price increases. Fixed snapshot of up to 25 entries per group — no pagination.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"},{"name":"search_products","title":"Search SaaS products","description":"Search PriceTrack's catalogue of tracked SaaS products by name or description. Call this when the user asks what a SaaS product costs and you need its slug, or when they describe a kind of tool and want priced options. Returns up to 20 matches with slug, category, and starting price. Use get_product with a returned slug for full plan details.","annotations":{"readOnlyHint":true},"source":"probe","observed_at":"2026-10-19T17:52:29.879Z"}],"dev.protogrid/trust":{"score":93,"components":{"hygiene":100,"liveness":100,"freshness":85,"provenance":85},"drivers":["+repository","+dns-namespace","+website","+reachable","+uptime-100%","~updated-62d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T21:05:17.094Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":91,"label":"strong","components":{"auth":null,"hygiene":86,"protocol":88,"stability":100,"dependencies":100},"checks":[{"id":"protocol.modern","detail":"supports 2026-07-28 (server/discover)","status":"pass","category":"protocol"},{"id":"protocol.stateless","detail":"answers without a session","status":"pass","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"tools/list declares ttlMs 0, so clients re-fetch it on every use","status":"warn","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"7 of 8 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_alerts (destructiveHint, idempotentHint, openWorldHint); search_products (destructiveHint, idempotentHint, openWorldHint); recent_price_changes (destructiveHint, idempotentHint, openWorldHint); …","status":"fail","category":"hygiene"},{"id":"tools.token_cost","detail":"about 930 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"no tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no known advisory in 4 resolved packages","status":"pass","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"@modelcontextprotocol/server 2.1.0, no known advisory","status":"pass","category":"dependencies"},{"id":"deps.resolvable","detail":"@pricetrack/mcp@0.1.0 resolved: 4 packages","status":"pass","category":"dependencies"}],"drivers":["-tools.directory_hints","~protocol.list_ttl"],"flags":[],"tool_count":8,"token_estimate":930,"tools_hash":"f48a1402206d7e36737c250889a4e7a3","tools_changed_at":null,"computed_at":"2026-10-19T21:10:12.258Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"dev.pricetrack/pricetrack","aliases":[],"alias_count":0,"repository_key":"github:pricetrack-dev/pricetrack-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/dev.pricetrack%2Fpricetrack/tools","arguments":{"name":"dev.pricetrack/pricetrack"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/dev.pricetrack%2Fpricetrack/connection?target=mcpServers","arguments":{"name":"dev.pricetrack/pricetrack","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}