Compare products, prices and current offers across UK retailers to find the best deal.
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.
Return the retailer offers (price, link, shipping/returns info) for a product identified by slug or GTIN, plus affiliate-link fallbacks. Provide exactly one of slug or gtin.
Product GTIN/EAN/UPC. Used when slug is unknown.
Product slug (primary key).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Return the retailer offers (price, link, shipping/returns info) for a product identified by slug or GTIN, plus affiliate-link fallbacks. Provide exactly one of slug or gtin.
| Argument | Type | Description |
|---|---|---|
| gtin | string | Product GTIN/EAN/UPC. Used when slug is unknown. |
| slug | string | Product slug (primary key). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"gtin": {
"type": "string",
"description": "Product GTIN/EAN/UPC. Used when slug is unknown."
},
"slug": {
"type": "string",
"description": "Product slug (primary key)."
}
}
}Fetch a single full product by slug (preferred) or GTIN, including all retailer offers (sources). Provide exactly one of slug or gtin.
| Argument | Type | Description |
|---|---|---|
| gtin | string | Product GTIN/EAN/UPC. Used when slug is unknown. |
| slug | string | Product slug (primary key). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"gtin": {
"type": "string",
"description": "Product GTIN/EAN/UPC. Used when slug is unknown."
},
"slug": {
"type": "string",
"description": "Product slug (primary key)."
}
}
}List the available product categories with their filter tag, human-readable name, and product count. Use the returned 'category' value as the category filter in search_catalog.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Search TheBetterBuy product catalog. Returns a slimmed list of products (title, slug, brand, price, image, number of offers) plus a total count. Use list_categories to discover valid category values. Sorting is only supported by price.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number. Defaults to 1. |
| brand | string | Exact brand name to filter by. |
| limit | integer | Results per page (max 100). Defaults to 20. |
| order | string | Sort direction when sortBy is set. Defaults to asc. |
| query | string | Free-text search across product title and GTIN. Omit to browse all products. |
| sortBy | string | Field to sort by. Only 'price' is supported. |
| category | string | Category tag in underscored form (e.g. 'Power_Tools') as returned by list_categories. |
| maxPrice | number | Maximum price (inclusive). |
| minPrice | number | Minimum price (inclusive). |
| hasImages |
| boolean |
| If true, only return products that have images. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "1-based page number. Defaults to 1."
},
"brand": {
"type": "string",
"description": "Exact brand name to filter by."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page (max 100). Defaults to 20."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction when sortBy is set. Defaults to asc."
},
"query": {
"type": "string",
"description": "Free-text search across product title and GTIN. Omit to browse all products."
},
"sortBy": {
"enum": [
"price"
],
"type": "string",
"description": "Field to sort by. Only 'price' is supported."
},
"category": {
"type": "string",
"description": "Category tag in underscored form (e.g. 'Power_Tools') as returned by list_categories."
},
"maxPrice": {
"type": "number",
"description": "Maximum price (inclusive)."
},
"minPrice": {
"type": "number",
"description": "Minimum price (inclusive)."
},
"hasImages": {
"type": "boolean",
"description": "If true, only return products that have images."
}
}
}