TheBetterBuy Product Comparison
Server Details
Compare products, prices and current offers across UK retailers to find the best deal.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
get_offers and get_product overlap significantly: both accept slug or GTIN and get_product already includes all retailer offers, making get_offers feel partially redundant. list_categories and search_catalog are clearly distinct, but the product/offer pair could confuse an agent choosing which tool to call.
All tool names follow the same snake_case verb_noun pattern: get_offers, get_product, list_categories, search_catalog. The verbs are descriptive and the pattern is immediately predictable.
Four tools is well-scoped for a read-only product comparison/catalog server. Each tool has a clear role in searching, browsing categories, retrieving product details, and obtaining offers, with no unnecessary bloat.
The server covers the main read-only catalog workflow well: discover categories, search products, fetch a product, and retrieve offers. Minor gaps include no explicit pagination description and the redundant offers/detail split, but there are no obvious dead ends for typical product lookup and comparison tasks.
Available Tools
4 toolsget_offersGet product offersAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| gtin | No | Product GTIN/EAN/UPC. Used when slug is unknown. | |
| slug | No | Product slug (primary key). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden and it discloses the returned content (price, link, shipping/returns) and the affiliate-link fallback behavior. It does not cover error handling or empty results, but for a simple read operation the description is materially informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the return value and followed by the key constraint. Every phrase adds information and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description gives the essential information: what is returned, how the product is identified, and the one-of constraint. It does not specify return formatting or behavior when no offers exist, but those are minor gaps for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters fully (100% coverage), so baseline is 3. The description adds meaningful semantics beyond the schema by requiring exactly one of slug or gtin, which is not represented in the schema's required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the operation ('Return'), the resource ('retailer offers'), the contained fields (price, link, shipping/returns info), and the lookup keys (slug or GTIN). This makes it easy to distinguish from get_product and search_catalog without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when you need a product's retailer offers and have either a slug or GTIN. It also states the exact-one-of constraint. It does not explicitly name alternatives or when-not-to-use cases, but the resource-focused context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet a productAInspect
Fetch a single full product by slug (preferred) or GTIN, including all retailer offers (sources). Provide exactly one of slug or gtin.
| Name | Required | Description | Default |
|---|---|---|---|
| gtin | No | Product GTIN/EAN/UPC. Used when slug is unknown. | |
| slug | No | Product slug (primary key). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly signals a read operation via 'Fetch' and adds useful behavior: the result includes all retailer offers and exactly one identifier must be supplied. It does not address error cases or response format, but this is a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The primary behavior and key constraint are front-loaded, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with no output schema, the description is mostly complete: it states what is returned and how to identify the product. It could be slightly stronger by noting what happens when no match is found or when both identifiers are provided, but it gives enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds meaning beyond the schema by explaining the priority ('slug preferred'), the fallback case ('GTIN used when slug is unknown'), and the exclusivity constraint ('Provide exactly one').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a clear resource ('a single full product'), and gives the lookup keys. It distinguishes itself from get_offers by explicitly including all retailer offers, so the agent can tell it apart from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to call the tool: to fetch a single full product by slug or GTIN. It also gives selection guidance between the two parameters ('slug preferred', 'Provide exactly one'), though it does not explicitly mention alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly describes what is returned and how the returned 'category' value should be used. It does not mention pagination or response limits, but for a simple 0-parameter list operation this is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The first sentence defines the output, and the second explains the downstream usage. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is complete: it names the key output fields, identifies the field to use as a filter, and connects to the relevant sibling tool. No additional context is necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema fully covers parameter semantics. The baseline of 4 applies; there is no parameter information missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List'), a clear resource ('available product categories'), and the exact output fields ('filter tag, human-readable name, product count'). It also links the result to search_catalog, distinguishing this tool from sibling get_offers and get_product tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use this tool: to obtain a category value for use as the category filter in search_catalog. It does not explicitly name alternatives or exclusions, but the integration context is clear enough for a zero-parameter list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_catalogSearch product catalogAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number. Defaults to 1. | |
| brand | No | Exact brand name to filter by. | |
| limit | No | Results per page (max 100). Defaults to 20. | |
| order | No | Sort direction when sortBy is set. Defaults to asc. | |
| query | No | Free-text search across product title and GTIN. Omit to browse all products. | |
| sortBy | No | Field to sort by. Only 'price' is supported. | |
| category | No | Category tag in underscored form (e.g. 'Power_Tools') as returned by list_categories. | |
| maxPrice | No | Maximum price (inclusive). | |
| minPrice | No | Minimum price (inclusive). | |
| hasImages | No | If true, only return products that have images. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does reveal the return shape (slimmed product list + total count) and the sorting limitation, which are both useful. It does not cover error cases, behavior when no query is provided, or operational constraints such as rate limits or authentication, so some transparency gap remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all informative: the first states purpose and core output, the second gives a necessary cross-tool hint, the third sets a clear limitation. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main output details and two operational constraints that the schema does not fully convey (return fields, sort limitation). With 10 parameters, no output schema, and no annotations, this is reasonably complete, though it could still mention pagination/result-count behavior explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema: the category source (list_categories) and sort limitation are already echoed in the schema's own field descriptions. It does not meaningfully disambiguate or extend parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Search') and resource ('TheBetterBuy product catalog') and clarifies the slimmed list output with named fields. However, it does not explicitly distinguish itself from get_product or get_offers, relying on the tool name and implied role rather than contrasting usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one actionable guideline: 'Use list_categories to discover valid category values.' It also notes sorting is limited to price, which prevents incorrect sort attempts. It does not explain when to choose search_catalog over get_product or get_offers, leaving tool selection partly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_offers - First observed
get_product - First observed
list_categories - First observed
search_catalog
Related MCP Connectors
Shopping search across 100M+ products, with every retailer's offer and live price in one place.
AI shopping comparison — search 50M+ products, compare prices, find deals
Search products, compare prices and discover deals across 6 European markets with your AI assistant.
Compare prices across Latvian online retailers: offers, price history and wishlists.
Related MCP Servers
- AlicenseAqualityDmaintenanceSearches UK electronics products across multiple retailers, compares prices, and provides purchase links.2100 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search and compare live UK product prices from marketplaces like eBay and Amazon, returning normalised JSON with direct buy links.-
- FlicenseNot gradedqualityBmaintenanceEnables users to compare and get recommendations across multiple supermarket products, combining curated specifications with realtime price and review lookups.-

idealo MCP Serverofficial
AlicenseNot gradedqualityFmaintenanceEnables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).18MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.