{"serverId":"mcp-registry/uk.co.thebetterbuy/product-comparison","tools":[{"name":"get_offers","fixed":{"name":"get_offers","description":"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.","inputSchema":{"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)."}}},"annotations":{"readOnlyHint":true},"title":"Get product offers"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":131,"tokensAfter":131},{"name":"get_product","fixed":{"name":"get_product","description":"Fetch a single full product by slug (preferred) or GTIN, including all retailer offers (sources). Provide exactly one of slug or gtin.","inputSchema":{"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)."}}},"annotations":{"readOnlyHint":true},"title":"Get a product"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"list_categories","fixed":{"name":"list_categories","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"List categories"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"search_catalog","fixed":{"name":"search_catalog","description":"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.","inputSchema":{"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."}}},"annotations":{"readOnlyHint":true},"title":"Search product catalog"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":386,"tokensAfter":386}],"toolsChanged":4,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}