{"serverId":"mcp-registry/com.securesvault/catalogue","tools":[{"name":"get_product","fixed":{"name":"get_product","description":"Read one SecuresVault product in full: EUR price, description, and the colour/size variants available. Takes the id returned by search_products. Use before describing a specific product to a user, so the price and options quoted are live rather than remembered.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Product id from search_products, e.g. \"6a3ae6785b1e1d13f9bde9e2\"."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read one product in full"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"list_categories","fixed":{"name":"list_categories","description":"List every SecuresVault category with its key, human label and live item count. Call this first whenever you intend to filter by category: the keys are the only values search_products accepts, and they are authoritative here rather than memorised.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List store categories"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"search_products","fixed":{"name":"search_products","description":"Find physical products for sale on SecuresVault by free text and/or category, with live EUR prices and buyable links. Use when a user asks where to buy something, what something costs in euros, or wants product options in a category. Either query or category should be supplied; with neither you get the newest listings. Category must be a key from list_categories (e.g. \"phone-tech\"), never a human label - a label is silently ignored and you get the unfiltered catalogue back. Results carry a canon","inputSchema":{"type":"object","properties":{"page":{"type":"integer","default":1,"minimum":1,"description":"1-based page number for paging through total."},"limit":{"type":"integer","default":10,"maximum":24,"minimum":1,"description":"How many results to return, 1-24."},"query":{"type":"string","description":"Free text matched against the product title, e.g. \"watch strap\"."},"category":{"type":"string","description":"Category key from list_categories, e.g. \"phone-tech\". Not the label."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Search products for sale"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":299,"tokensAfter":299}],"toolsChanged":3,"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."}