{"id":533240,"recorded_at":"2026-10-27T18:58:01.772044Z","observed_at":"2026-10-27T18:58:01.771905Z","subject_kind":"endpoint","subject":"3131f612-ad89-48ce-862e-6d9ce49a45d7","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":8,"tools":[{"description":"Given a product (by Lowvyn ID or retailer URL), return the same physical product on other Canadian retailers with their current prices and savings. Uses verified UPC matches. Use this when a user wants to know 'can I get this cheaper somewhere else?'.","inputSchema":{"additionalProperties":false,"properties":{"idOrUrl":{"description":"Lowvyn product ID or retailer URL","type":"string"}},"required":["idOrUrl"],"type":"object"},"name":"find_cheaper"},{"description":"List the product categories Lowvyn covers, with item counts. Useful for narrowing search_products calls.","inputSchema":{"additionalProperties":false,"type":"object"},"name":"get_categories"},{"description":"Return the daily price history for a product as (date, price) pairs, up to N days. Use this to verify whether a 'sale' is genuine or whether the price has been higher in the past, or to show a price trend in an answer to the user.","inputSchema":{"additionalProperties":false,"properties":{"days":{"description":"How many days back to return; default 90, max 365","type":"integer"},"idOrUrl":{"description":"Lowvyn product ID or retailer URL","type":"string"}},"required":["idOrUrl"],"type":"object"},"name":"get_price_history"},{"description":"Look up a product by Lowvyn ID OR retailer URL (amazon.ca / walmart.ca / bestbuy.ca / canadiantire.ca). Returns title, current price (CAD), Lowvyn Score (0-100), Deal Verdict, and price summary (current / all-time low / all-time high).","inputSchema":{"additionalProperties":false,"properties":{"idOrUrl":{"description":"Lowvyn product ID or a retailer URL (amazon.ca/walmart.ca/bestbuy.ca/canadiantire.ca)","type":"string"}},"required":["idOrUrl"],"type":"object"},"name":"get_product"},{"description":"List the Canadian retailers Lowvyn currently tracks, with item counts and last-update timestamps.","inputSchema":{"additionalProperties":false,"type":"object"},"name":"get_retailers"},{"description":"Search the Canadian catalogue by a natural-language description of a NEED rather than keywords. Give it what the shopper actually wants (e.g. 'a quiet gaming laptop under $1500', 'a reliable stroller for travel') and it returns the best-matching products with their current price (CAD), Lowvyn Score, and Deal Verdict, plus what it understood (category, budget, must-haves). A relevance model does the matching; the deterministic deal gate decides the verdict — it never inflates a deal. Use this when the user describes a use case, budget, or constraints instead of naming a product; use search_products for a plain category/price filter. Each result carries an id + canonicalUrl you can pass to get_product, verify_deal, or find_cheaper.","inputSchema":{"additionalProperties":false,"properties":{"query":{"description":"A natural-language description of what the shopper wants, e.g. 'a quiet gaming laptop under $1500' or 'a reliable stroller for travel'","type":"string"},"sort":{"description":"How to order/filter results. 'match' (default) = best match to the described need. 'deal' = order matches by deal quality (best time to buy first), no filter. 'good' = keep only confident good deals (real or modest saving). 'great' (alias 'real') = keep ONLY matches the deterministic gate rates a genuine great deal right now (may be few or none). If the query text itself asks for a good/great deal, that is auto-applied even without this field; set it to override.","type":"string"}},"required":["query"],"type":"object"},"name":"intent_search"},{"description":"Search the Canadian product catalogue. Filter by category slug, max price (CAD), and retailer. Returns up to 20 matching products with current price and Lowvyn Score. Use this when a user is exploring what is available in a category rather than asking about a specific product. Each result carries an id + canonicalUrl you can pass to get_product, verify_deal, find_cheaper, or get_price_history.","inputSchema":{"additionalProperties":false,"properties":{"category":{"description":"Optional category slug (e.g. 'cribs')","type":"string"},"maxPrice":{"description":"Optional max price in CAD","type":"number"},"query":{"description":"Free-text search across product titles","type":"string"},"retailer":{"description":"Optional retailer filter: 'amazon', 'walmart', 'bestbuy', or 'canadiantire'","type":"string"}},"required":["query"],"type":"object"},"name":"search_products"},{"description":"Given a product (by Lowvyn ID, retailer URL, or a lowvyn.com product URL from another tool's result) and an optional claimed price, return whether the deal is genuine. Compares against Lowvyn's price history and returns a verdict ('real_deal', 'modest_deal', 'average', 'bad_time', 'insufficient_data') plus an explanation. Use this first when a user asks 'is this actually a good price?'. Accepts the id or canonicalUrl from a search_products / intent_search result directly.","inputSchema":{"additionalProperties":false,"properties":{"claimedPrice":{"description":"The price the deal claims, in CAD; omit to verify the live tracked price","type":"number"},"idOrUrl":{"description":"Lowvyn product ID, a retailer URL (amazon.ca/walmart.ca/bestbuy.ca/canadiantire.ca), or a lowvyn.com/product-detail URL from another tool's result","type":"string"}},"required":["idOrUrl"],"type":"object"},"name":"verify_deal"}]},"body_sha256":"c54dcde8c9b6bbdb2e44eb3de9410983edc4f62694b3fe421050f12f0e9c32c0","prev_id":null,"leaf":"0x606a6e02f37d222808ebcfd62a93b101c3c61ec27314d3d560ce548feec62414","leaf_text":"{\"body\":\"c54dcde8c9b6bbdb2e44eb3de9410983edc4f62694b3fe421050f12f0e9c32c0\",\"id\":533240,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793127481771905,\"prev\":null,\"subject\":\"3131f612-ad89-48ce-862e-6d9ce49a45d7\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x606a868afb9872c889512537a5ff037d8562d659711ab463911d92c0376b72a2","0x3f82bed107f4c4fdeaed383fbf15fb2e5e53993c628d78d0e82d0cfa1f79c085","0xda5d3c7bc79cd6bfb071634074db6f3399d8046b7dfade41bcd6a3bbf0d728e4","0x59d2bff9d13c5ef178e8b39a348c2b538fb1aa697a6be8537d74266792ffc0d1","0xe34bbb1940c6fbae5b1a6f399b18b29f4c162f449a752bee3a04cd0ee3001f10","0xcf5e02c9bc97aeaa4e5e6a75211716bdbaef27417b0b6a508c4c6adc71c01412","0x9b682890b8e681c8b6ebeb4edf123ba25e24e33d5f93f16a45bdd31e23c794ed","0xa9431944fed981f8f5a579e964b5f86531f94f91cc64257829e22045fccd0b8d","0x4ebcaaf688d5937610f25be194d4fd6fc64c675ec282f736d3ac7605ed3c08c3","0xde1d4091b964030686aabb2c829b674b046cbd75d244ba2b915500dd8d284a67","0x042ed023614c046dfcee504f2fb14ba7df71bf698e682b1391b1905d7f519255","0x4fbbcb97bbe92a4202db4cfe9ed5ce98ec76cb76473d9a37a3775c708528409e","0x38f17e73d675dd35d0dd4a9f0ebd22a3333bcd28f96e42d5dd126e08211ffc4a","0x4277e02be0b5d91d78bc2247e37d402572474ba896c2e8f45765c8dc4e244d36","0x6f00f0da417f4126951ba8ba9b7962c847e91f5c61364ad9ad47e5f979698a60","0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996","0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}