How tools map to user requests
Search is semantic and takes no filter parameters, so constraints belong inside the description. A bare category like “good birthday gifts” dilutes the match; keep one concrete idea per call and run several searches for several ideas.
get_products returns the canonical product plus every retailer offer, so price comparison happens there rather than in another search.