# TechPartPrices

> UK PC component prices: search parts, look one up, and read price history.

- name: com.techpartprices/catalogue
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 81/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.techpartprices%2Fcatalogue
- tools: https://api.protogrid.dev/v1/servers/com.techpartprices%2Fcatalogue/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "catalogue": {
      "type": "http",
      "url": "https://techpartprices.com/mcp"
    }
  }
}
```


## Trust

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

## Quality 81/100 (good)

### 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 carries no ttlMs, so clients re-fetch it

### 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: 75 (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
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_products (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_product (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_articles (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 647 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 83 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

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

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 647 tokens to load them all
- tool set hash: 33f1e1bf37ac8eb9d9d3438b17a894f3
- tools last changed: 2026-11-06T01:41:34.985Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.techpartprices/catalogue.svg)](https://protogrid.dev/servers/com.techpartprices/catalogue)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-06 `get_price_history` removed
  - Recorded price points for a product over a trailing window, with minimum, maximum, average and the direction of travel. Use this to answer "is now a good time to buy" and "has this got cheaper".
- 2026-11-06 `get_price_verdict` removed
  - Answer whether a tracked product is cheap right now, by its own recorded history rather than against other products. Returns the window low, high and mean in pence, how far above its low the current price sits, and an at-low or near-low verdict, plus buyUrl for a user who decides to buy. Below ten recorded prices no verdict is given and verdictAvailable is false: do not present the numbers as a judgement in that case. IDs come from search_products.
- 2026-11-06 `get_price_index` removed
  - Month-by-month price movement for a category of UK components, base 100 at the start of the series. Use to answer whether prices in a category are rising or falling. This describes a category, not an individual product: for one product use get_price_verdict. lastComputedAt says how fresh the answer is.
- 2026-11-06 `get_best_value` changed (description)
  - before: Rank tracked storage by price per terabyte (unit "tb") or memory by price per gigabyte (unit "gb"), cheapest first. Unit prices are in pence. Each row carries its 90-day low, the number of recorded prices behind it, and an at-low or near-low verdict. The unit is required because the two scales cannot be compared.
  - after: Rank listed storage by price per terabyte (unit "tb") or memory by price per gigabyte (unit "gb"), cheapest first, using current prices. Unit prices are in pence. The unit is required, because the two scales cannot be mixed in one ranking.
- 2026-11-06 `get_product` changed (description)
  - before: Fetch one tracked product by its numeric ID: name, brand, current price in pence, stock state and rating. buyUrl is the link to give a user who wants to buy it; never rebuild an Amazon link from the ASIN. IDs come from search_products.
  - after: Fetch one product by its numeric ID: name, brand, current price in pence, stock state and rating. buyUrl is the link to give a user who wants to buy it; never rebuild an Amazon link from the ASIN. IDs come from search_products.
- 2026-11-06 `search_products` changed (description)
  - before: Search tracked Amazon UK listings for CPUs, GPUs, RAM, motherboards and storage. Prices are in pence. Returns up to 10 results with current price, stock state, a product URL and buyUrl. Use this to answer "what does X cost" and "what is the cheapest Y". Give the user buyUrl when they want to buy: never rebuild an Amazon link from the ASIN.
  - after: Search Amazon UK listings for CPUs, GPUs, RAM, motherboards and storage. Prices are in pence. Returns up to 10 results with current price, stock state, a product URL and buyUrl. Use this to answer "what does X cost" and "what is the cheapest Y". Give the user buyUrl when they want to buy: never rebuild an Amazon link from the ASIN.

Full history: https://api.protogrid.dev/v1/servers/com.techpartprices%2Fcatalogue/changes

## Remotes

- https://techpartprices.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9622642)

## Packages

_none_

## Tools (4)

- `get_best_value`: Rank listed storage by price per terabyte (unit "tb") or memory by price per gigabyte (unit "gb"), cheapest first, using current prices. Unit prices are in pence. The unit is required, because the two scales cannot be mixed in one ranking.
- `get_product`: Fetch one product by its numeric ID: name, brand, current price in pence, stock state and rating. buyUrl is the link to give a user who wants to buy it; never rebuild an Amazon link from the ASIN. IDs come from search_products.
- `list_articles`: Index of published articles on UK component pricing and buying advice, most recent first.
- `search_products`: Search Amazon UK listings for CPUs, GPUs, RAM, motherboards and storage. Prices are in pence. Returns up to 10 results with current price, stock state, a product URL and buyUrl. Use this to answer "what does X cost" and "what is the cheapest Y". Give the user buyUrl when they want to buy: never rebuild an Amazon link from the ASIN.
