Well-curated 12-tool set with clear purpose separation (search, content, shopping). Typed parameters with descriptive schemas throughout. Descriptions are detailed and include context for when to use each tool. Shopping list tools follow a coherent pattern with explicit instructions to call show-list after mutations. Main weaknesses: (1) Truncated input schema definitions in API response make full validation difficult, (2) search-carousel appears somewhat redundant with search tool, (3) category_list has empty parameter object (no filtering options), (4) descriptions occasionally cut off mid-sentence in provided text. Overall design shows intentional curation and agent-friendly patterns.
Add one or more products to the shopping list by **sku and quantity**. Product data (title, price, url, etc.) is resolved from **previous tool responses** in this conversation (e.g. search or carousel results). Only SKUs that appear in a prior response are added; unresolved SKUs are skipped. **After adding, call the show-list tool to display the updated shopping list to the user.** Parameters: - items (required): List of items to add. Each item: sku (required), quantity (optional, default 1). Returns: The updated shopping list (items, total_items, total_price).
Fetch products/details for a given category id or name using Discovery category search. Use this when the user asks to see products/items for a specific category (e.g., 'show products for this category'). Parameters: - q (required): Category id or category name to search for products. - params (optional): SearchParams object containing all search parameters. If provided, other parameters are ignored. - rows (optional integer): Number of results to return (default: 12). - start (optional integer): Starting index for pagination (default: 0). - fl (optional): Field list specifying which product fields to return (default: url,pid,title,thumb_image,price,sale_price). - fq (optional): Filter queries to narrow results (e.g., ['Brand:Acme', 'price:[100 TO 500]']). - facet (optional): Enable faceting (default: false). - search_type (optional): Type of search (default: keyword). - request_id (optional): Request ID for tracking and debugging. - url (optional): Base URL for the search request. - ref_url (optional): Referrer URL for the search request. - keyword (optional): Alternative keyword parameter for search. - query_search_mode (optional): Search mode for the query (e.g., 'autocomplete', 'suggest'). - vector_search_temperature (optional): Temperature parameter for vector search (if enabled). - br_diagnostics (optional): Enable diagnostic information in the response.
List or browse available categories for the current tenant using Discovery category facets. Use this when the user asks to list categories or to find which categories exist for a given query (e.g., 'list all categories', 'what categories are available for chairs?').
category_list has no filterable parameters (empty parameter object), limiting agent control over category discovery
search-carousel appears functionally redundant with search tool; visual presentation distinction may not justify separate tool
show-list, clear_shopping_list, and some parameter objects have empty or minimal schema definitions, reducing agent ability to provide complex inputs
Tool descriptions in provided API response are truncated mid-sentence, making full assessment difficult; actual definitions likely more complete
Three separate content search tools (discovery_content_search, engagement_content_search) plus product search may confuse agent routing without clear differentiation guidance
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-04-14 | C | 65 | 2025-11-25 | v1 |
Clear the entire shopping list for this conversation. All items are removed. No parameters required. **After clearing, call the show-list tool to display the empty list to the user.** Returns: Empty list (items=[], total_items=0, total_price=$0.00).
Search content items (articles, videos, guides, etc.) using Bloomreach Discovery Content Search API. Use this for searching non-product content. For product searches, use the search tool instead. Parameters: - q (required): Primary query string to search for content. - params (optional): DiscoveryContentSearchParams object containing all search parameters. If provided, other parameters are ignored. - catalog_name (optional): Name of the content catalog in Discovery. If not provided, defaults to discovery_content_catalog_name from config.json. - rows (optional integer): Number of results to return (default: 12). - start (optional integer): Starting index for pagination (default: 0). - fl (optional): Field list specifying which fields to return. - fq (optional): Filter queries to narrow results. - facet (optional): Enable faceting (default: false). - search_type (optional): Type of search (default: keyword). - request_id (optional): Request ID for tracking and debugging. - url (optional): Base URL for the search request. - ref_url (optional): Referrer URL for the search request. - keyword (optional): Alternative keyword parameter for search. - query_search_mode (optional): Search mode for the query. - vector_search_temperature (optional): Temperature parameter for vector search (if enabled). - br_diagnostics (optional): Enable diagnostic information in the response.
Search content items (articles, videos, guides, etc.) using Bloomreach Engagement Catalog Items API. Use this for searching non-product content. For product searches, use the search tool instead. Parameters: - q (required): Primary query string to search for in content items. - catalog_id (optional): ID of the content catalog in Engagement. Defaults to engagement_content_catalog_id from config.json, otherwise 'content'. - rows (optional integer): Number of results to return (default: 12). - start (optional integer): Starting index for pagination (default: 0). - field (optional): Item property to search. Defaults to engagement_content_query_field from config.json, otherwise 'description'. - order (optional): Ordering for results (e.g., 'title:asc' or 'title:desc'). - params (optional): EngagementContentSearchParams object containing all search parameters. If provided, other parameters are ignored.
Get a single product by product ID (pid) using the existing search functionality. Use this when the user asks for details about a specific product by its ID, or when you have a product ID and need to retrieve the full product information.
Remove one or more products from the shopping list by SKU. **After removing, call the show-list tool to display the updated shopping list to the user.** Parameters: Provide either **sku** (single SKU string) or **skus** (list of SKU strings). Returns: The updated shopping list after removal.
Search the product catalog using Bloomreach Discovery. Use this for general product searches, browsing, filtering, and finding multiple products. For a single product by ID, use get_product instead. Parameters: - q (required): Primary query string to search for products. - params (optional): SearchParams object containing all search parameters. If provided, other parameters are ignored. - rows (optional integer): Number of results to return (default: 12). - start (optional integer): Starting index for pagination (default: 0). - fl (optional): Field list specifying which product fields to return (default: url,pid,title,thumb_image,price,sale_price). - fq (optional): Filter queries to narrow results (e.g., ['Brand:Acme', 'price:[100 TO 500]']). - facet (optional): Enable faceting (default: false). - search_type (optional): Type of search (default: keyword). - request_id (optional): Request ID for tracking and debugging. - url (optional): Base URL for the search request. - ref_url (optional): Referrer URL for the search request. - keyword (optional): Alternative keyword parameter for search. - query_search_mode (optional): Search mode for the query (e.g., 'autocomplete', 'suggest'). - vector_search_temperature (optional): Temperature parameter for vector search (if enabled). - br_diagnostics (optional): Enable diagnostic information in the response.
Search the product catalog and display results in an interactive visual carousel widget with product images, prices, and details. This tool provides the same search functionality as the 'search' tool but with a visual presentation suitable for ChatGPT widgets. Parameters: - q (required): Primary query string to search for products. Returns: A visual carousel widget displaying product search results with images, prices, and interactive elements that users can scroll through and interact with.
Display the current shopping list in an interactive visual widget. **Display only** — does not add or remove items. No parameters required. **IMPORTANT: Call this tool whenever the shopping list is modified.** After adding items (add_to_shopping_list), removing items (remove_from_shopping_list), or clearing the list (clear_shopping_list), call **show-list** to display the updated list to the user. To add items, use **add_to_shopping_list**. To remove items, use **remove_from_shopping_list**. To clear the list, use **clear_shopping_list**. Returns: A visual shopping list widget showing all items currently in the list, with an 'Add to Cart' button.
Update the quantity of one item in the shopping list by SKU. **After updating, call the show-list tool to display the updated shopping list to the user.** Parameters: - sku (required): Product SKU to update. - quantity (required): New quantity (integer, minimum 1). Returns: The updated shopping list.