# PriceTrack

> Live SaaS pricing: current plans, verified price changes, and comparisons for 33,000+ products.

- name: dev.pricetrack/pricetrack
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.pricetrack%2Fpricetrack
- tools: https://api.protogrid.dev/v1/servers/dev.pricetrack%2Fpricetrack/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "pricetrack": {
      "type": "http",
      "url": "https://pricetrack.dev/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-63d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 8 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: 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); …
- pass `tools.token_cost`: about 930 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 4 resolved packages
- pass `deps.mcp_sdk_version`: @modelcontextprotocol/server 2.1.0, no known advisory
- pass `deps.resolvable`: @pricetrack/mcp@0.1.0 resolved: 4 packages

- tools: 8, about 930 tokens to load them all
- tool set hash: f48a1402206d7e36737c250889a4e7a3
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.pricetrack/pricetrack.svg)](https://protogrid.dev/servers/dev.pricetrack/pricetrack)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @pricetrack/mcp@0.1.0: resolved, 3 dependencies, MCP SDK @modelcontextprotocol/server 2.1.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://pricetrack.dev/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm @pricetrack/mcp@0.1.0

## Tools (8)

- `compare_products`: 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).
- `create_price_alert`: 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.
- `get_price_history`: 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.
- `get_product`: 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.
- `get_stack`: The products the signed-in user tracks on PriceTrack, with each one's current lowest paid price and an estimated monthly total.
- `list_alerts`: The user's active price alerts on PriceTrack. Requires their account.
- `recent_price_changes`: 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.
- `search_products`: 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.
