A CLI tool for marketing intelligence on e-commerce platforms. Manage your Falabella shopping experience from the command line! Flow: search → get productId → fetch reviews. Note: The search command will open a browser window to retrieve necessary cookies for requests.
Two tools with clear verb-noun naming (get_search_results, get_reviews) and detailed descriptions including examples and hints. However, parameter descriptions are minimal or missing type context. Input schemas use Zod with basic types but lack constraints (enums, ranges, patterns). Output schemas are not documented, responses are JSON-stringified text blobs rather than structured objects. No error handling guidance. Descriptions are good length (194 - 250 chars) but parameters lack the specificity needed for LLM reasoning (e.g., 'page' and 'offset' are strings with no format guidance).
Given a productId, returns the full reviews for that product. <examples> ### Get reviews for a product ``` get_reviews(productId="12345", offset="0", limit="10") ``` </examples> <hints> - The productId can be obtained from the search results of the get_search_results tool. - Offset and limit can be used for pagination of reviews. By default, it returns the first 10 reviews. </hints>
Given a query, returns a list of matching products and categories. <examples> ### Get products and categories related to 'macbook pro' ``` get_search_results(query="macbook pro", page="1") ``` </examples> <hints> - The query can be any product name, category, or keyword. - The response includes pagination info and related keywords for further exploration. - productId can be extracted from the results to fetch reviews using the get_reviews tool. </hints>
Output schemas not documented. Tools return JSON-stringified text in a single 'text' content field rather than structured objects. LLMs cannot extract fields for downstream tool calls or understand pagination structure.
Parameter descriptions lack format and constraint guidance. 'page' and 'offset' are typed as strings with no indication of valid range, format, or default behavior. 'limit' has no bounds (could be 1 or 1000000).
No error handling guidance. Tools do not document what happens on invalid productId, network failure, or timeout. LLM has no recovery path.
Pagination not fully specified. get_search_results returns 'pagination' object but schema does not document its structure (total_count, next_cursor, etc.). get_reviews accepts offset/limit but no total_count returned.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only but this is not declared in the schema, forcing LLMs to infer safety from descriptions.