TechPartPrices
UK PC component prices: search parts, look one up, and read price history.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"catalogue": {
"url": "https://techpartprices.com/mcp"
}
}
}Remote endpoints
https://techpartprices.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢search_products(query, category, brand, minPrice, maxPrice, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text match against the product name, e.g. \"DDR5\" or \"RTX 5080\"."
},
"category": {
"type": "array",
"items": {
"type": "string",
"enum": [
"hdd",
"ssd",
"nvme",
"external",
"usb",
"cpu",
"gpu",
"ram",
"motherboard"
]
},
"description": "Restrict to one or more categories. Storage spans hdd, ssd, nvme, external and usb."
},
"brand": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict to one or more brands, e.g. [\"Corsair\"]."
},
"minPrice": {
"type": "integer",
"description": "Minimum current price in pence."
},
"maxPrice": {
"type": "integer",
"description": "Maximum current price in pence, e.g. 15000 for £150."
},
"sort": {
"type": "string",
"enum": [
"price_asc",
"price_desc"
],
"description": "Result ordering. Defaults to price_asc (cheapest first)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum results to return (1-10)."
}
}
}🟢get_product(id)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
}
},
"required": [
"id"
]
}🟢get_price_history(id, days)
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".
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
},
"days": {
"type": "integer",
"enum": [
7,
30,
60,
90
],
"description": "Trailing window in days. Defaults to 30."
}
},
"required": [
"id"
]
}🟢list_articles(page)
Index of published articles on UK component pricing and buying advice, most recent first.
Input Schema
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number, defaults to 1."
}
}
}🟢get_price_verdict(id, days)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Numeric product ID."
},
"days": {
"type": "integer",
"enum": [
30,
60,
90
],
"description": "Window to judge against, in days. Defaults to 90."
}
},
"required": [
"id"
]
}🟢get_best_value(unit, category, limit)
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.
Input Schema
{
"type": "object",
"properties": {
"unit": {
"type": "string",
"enum": [
"gb",
"tb"
],
"description": "\"tb\" for storage (hdd, ssd, nvme, external, usb), \"gb\" for memory (ram)."
},
"category": {
"type": "array",
"items": {
"type": "string",
"enum": [
"hdd",
"ssd",
"nvme",
"external",
"usb",
"cpu",
"gpu",
"ram",
"motherboard"
]
},
"description": "Restrict to one or more categories within the chosen unit."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Maximum results to return (1-10)."
}
},
"required": [
"unit"
]
}🟢get_price_index(category)
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.
Input Schema
{
"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."
}
}
}Community
Evidence