UK PC component prices: search parts, look one up, and read price history.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
"tb" for storage (hdd, ssd, nvme, external, usb), "gb" for memory (ram).
Maximum results to return (1-10).
Restrict to one or more categories within the chosen unit.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http catalogue https://techpartprices.com/mcp
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.
| Argument | Type | Description |
|---|---|---|
| unit* | string | "tb" for storage (hdd, ssd, nvme, external, usb), "gb" for memory (ram). |
| limit | integer | Maximum results to return (1-10). |
| category | array | Restrict to one or more categories within the chosen unit. |
{
"type": "object",
"required": [
"unit"
],
"properties": {
"unit": {
"enum": [
"gb",
"tb"
],
"type": "string",
"description": "\"tb\" for storage (hdd, ssd, nvme, external, usb), \"gb\" for memory (ram)."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum results to return (1-10)."
},
"category": {
"type": "array",
"items": {
"enum": [
"hdd",
"ssd",
"nvme",
"external",
"usb",
"cpu",
"gpu",
"ram",
"motherboard"
],
"type": "string"
},
"description": "Restrict to one or more categories within the chosen unit."
}
}
}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".
| Argument | Type | Description |
|---|---|---|
| id* | integer | Numeric product ID. |
| days | integer | Trailing window in days. Defaults to 30. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
},
"days": {
"enum": [
7,
30,
60,
90
],
"type": "integer",
"description": "Trailing window in days. Defaults to 30."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| category | string | Category to read, e.g. "ram" or "gpu". Defaults to "all", the whole-catalogue series. The response lists availableCategories. |
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Category to read, e.g. \"ram\" or \"gpu\". Defaults to \"all\", the whole-catalogue series. The response lists availableCategories."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Numeric product ID. |
| days | integer | Window to judge against, in days. Defaults to 90. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
},
"days": {
"enum": [
30,
60,
90
],
"type": "integer",
"description": "Window to judge against, in days. Defaults to 90."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Numeric product ID. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
}
}
}Index of published articles on UK component pricing and buying advice, most recent first.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, defaults to 1. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number, defaults to 1."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| sort | string | Result ordering. Defaults to price_asc (cheapest first). |
| brand | array | Restrict to one or more brands, e.g. ["Corsair"]. |
| limit | integer | Maximum results to return (1-10). |
| query | string | Free-text match against the product name, e.g. "DDR5" or "RTX 5080". |
| category | array | Restrict to one or more categories. Storage spans hdd, ssd, nvme, external and usb. |
| maxPrice | integer | Maximum current price in pence, e.g. 15000 for £150. |
| minPrice | integer | Minimum current price in pence. |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"price_asc",
"price_desc"
],
"type": "string",
"description": "Result ordering. Defaults to price_asc (cheapest first)."
},
"brand": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to one or more brands, e.g. [\"Corsair\"]."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum results to return (1-10)."
},
"query": {
"type": "string",
"description": "Free-text match against the product name, e.g. \"DDR5\" or \"RTX 5080\"."
},
"category": {
"type": "array",
"items": {
"enum": [
"hdd",
"ssd",
"nvme",
"external",
"usb",
"cpu",
"gpu",
"ram",
"motherboard"
],
"type": "string"
},
"description": "Restrict to one or more categories. Storage spans hdd, ssd, nvme, external and usb."
},
"maxPrice": {
"type": "integer",
"description": "Maximum current price in pence, e.g. 15000 for £150."
},
"minPrice": {
"type": "integer",
"description": "Minimum current price in pence."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 31, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.