amazon-product-research-mcp
Server Details
Amazon brand, seller, niche & buy-box intelligence inside your own Claude or ChatGPT.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- ncosic/webotee-mcp
- GitHub Stars
- 0
- Server Listing
- Webotee Amazon Product Research
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 76 of 76 tools scored. Lowest: 3.1/5.
Each tool has a highly specific and clearly documented purpose, with detailed descriptions that differentiate even similar functions. For example, find_undercompeted_brands returns brands while find_underserved_niches returns sub-categories, and the descriptions explicitly warn against confusion. Overlap is minimal and well-addressed.
Tool names consistently follow a snake_case verb_noun pattern, with domain prefixes (asin_, brand_, category_, operator_, watchlist_) making intent obvious. Even compound names like find_undercompeted_brands and top_expanding_operators are logically structured. The variation is intentional and supports readability.
With 76 tools, the count far exceeds the rubric's 'too many' threshold of 25+. While each tool serves a distinct purpose in a comprehensive platform, the volume risks overwhelming both users and agents, leading to selection difficulty even with good disambiguation.
The tool surface covers the full lifecycle of Amazon product research: discovery (search, category analysis), evaluation (sourcing, profit calc), monitoring (watchlists, alerts), protection (authorized sellers, MAP violations), and cross-marketplace analysis. Virtually no obvious gaps exist for the stated domain.
Available Tools
79 toolsalibaba_supplier_searchARead-onlyInspect
Find Alibaba supplier / manufacturer listings for a query (via Serper site:alibaba.com) — returns title + rating + a supplier snippet + the Alibaba link. TEXT ONLY: no price or photo are available via this source (the user sees price / MOQ / photos on Alibaba after clicking).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The product / OEM query (brand-free for private label). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses that the source is Serper, that results are text-only without price or photos, and that the user must click through to Alibaba for full details. This adds useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at about 50 words, with the main action front-loaded and limitations clearly stated. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (1 param, no output schema), the description covers the essential inputs and outputs. It could be slightly improved by mentioning that the result is a list, but it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the 'query' parameter by suggesting it should be a product/OEM query and brand-free for private label. This goes beyond the schema description which covers 100% due to single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource 'Alibaba supplier / manufacturer listings'. It specifies the input (query) and output (title, rating, snippet, link). The tool's purpose is distinct from siblings, as confirmed by the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like 'search_products' or 'web_search'. It lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asin_buybox_historyARead-onlyInspect
Show which sellers have been winning the buybox for an ASIN over time, AND how the competing-seller pool has changed month over month. Returns a per-week breakdown of buybox winners; a monthly distinct-seller-count series (seller_count_monthly, trailing ~6 months) plus a seller_trend label (stable/rising/falling) so you can say whether the seller pool is stable or volatile (more sellers piling on vs consolidating); plus the ASIN's product brand, title and price (or price range) and its fulfillment (FBA/FBM/AMZ). Use when the user asks 'who has been winning buybox on this ASIN', 'buybox history for B08N5WRWNW', 'seller rotation', 'has the buybox owner changed', 'is the seller pool stable or volatile', 'are more sellers piling onto this listing', or any ASIN buybox/seller timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | ASIN to look up (e.g. B08N5WRWNW). | |
| max_price | No | ||
| min_price | No | ||
| seller_name | No | Exact buy-box seller name (case-insensitive). | |
| since_weeks | No | Weeks of history (default 26, max 52). | |
| last_seen_to | No | ||
| first_seen_to | No | ||
| max_days_seen | No | ||
| min_days_seen | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| last_seen_from | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | YYYY-MM-DD. | |
| max_seller_count | No | ||
| min_seller_count | No | ||
| max_buybox_avg_price | No | ||
| min_buybox_avg_price | No | ||
| seller_name_contains | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No | Only sellers with at least this many observed buy-box days. | |
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the readOnlyHint annotation: it describes the per-week breakdown, the monthly seller_count_monthly series, the seller_trend label, and additional product attributes (brand, title, price, fulfillment). This is rich context for a read-only tool. It does not cover edge cases like missing data or exact date boundaries, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: opening purpose, then return details, then usage examples. It is slightly longer than necessary but every sentence carries useful information. It earns a 4 rather than 5 because it could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (27 parameters, no output schema), the description gives a good high-level overview of return values and use cases, but it leaves many gaps. It does not explain the role of the many filter parameters, default time ranges for the weekly breakdown, or the exact structure of the returned data. An output schema or further parameter documentation would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30%, and the description does not compensate. It mentions output fields but explains none of the 27 parameters (e.g., max_price, since_weeks, fulfillment_in). The only parameter context comes from the schema's sparse descriptions, which is insufficient for such a parameter-heavy tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows which sellers won the buybox over time and how the seller pool changed month over month. It is specific and names the resource (ASIN), but it does not explicitly distinguish itself from sibling tools like buybox_loss_alert or brand_buybox_trajectory, so it misses the full 'distinguishes from siblings' bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'Use when' guidance with multiple example queries (e.g., 'who has been winning buybox on this ASIN', 'seller rotation'), which clearly indicates when to invoke this tool. However, it does not mention when not to use it or name alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asin_comparablesARead-onlyInspect
Find ASINs similar to a given ASIN by brand, price band, and seller count. Use when the user asks 'ASINs like this one', 'similar products', 'comparable ASINs', 'what else is like B08N5WRWNW', or any ASIN-level lookalike question. Each comparable carries product brand, title, price (or price range) and fulfillment (FBA/FBM/AMZ + amz/fba pct).
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | Reference ASIN (e.g. B08N5WRWNW). | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| buybox_seller | No | Exact buy-box seller name (case-insensitive). | |
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_seller_count | No | ||
| min_seller_count | No | Only comparables with at least this many distinct sellers. | |
| max_days_observed | No | ||
| min_days_observed | No | ||
| buybox_seller_contains | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=true, so the description adds useful context by detailing what each comparable carries (product brand, title, price/range, fulfillment) and the matching criteria (brand, price band, seller count). This goes beyond the annotation without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, usage triggers, and return fields. No fluff, front-loaded with the core function, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 19-parameter tool with no output schema, the description provides a solid overview of behavior and return content, and the schema covers parameter types and some descriptions. It doesn't enumerate every filter, but the combination is sufficient for an agent to select and invoke the tool appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (32%), so the description needs to compensate. It mentions the core dimensions (brand, price band, seller count) that map to several parameters, but leaves the many other filters (fulfillment, marketplace, days observed, etc.) unexplained. The parameter names are somewhat self-explanatory, but the description does not fully bridge the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find ASINs similar to a given ASIN by brand, price band, and seller count.' It clearly distinguishes from siblings by emphasizing 'ASIN-level lookalike' and providing example queries, setting it apart from brand-level operations like 'brand_similar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool with direct user-phrase examples: 'Use when the user asks "ASINs like this one", "similar products", "comparable ASINs", ...' It offers clear context but does not explicitly mention when not to use it or list alternative tools, stopping just short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asin_profit_calcARead-onlyInspect
Estimate whether an ASIN can hit a target profit margin given current buybox price, estimated FBA fees, and Amazon referral fee. Use when the user asks 'can I make money on this ASIN', 'profit calculator', 'margin estimate for B08N5WRWNW', 'is this ASIN profitable to sell', or any margin/profit question. Also returns product brand, title, price (or price range) and fulfillment (FBA/FBM/AMZ + amz/fba pct) for the ASIN.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | ASIN to analyze (e.g. B08N5WRWNW). | |
| cogs | No | Your cost of goods in USD. If omitted, the tool estimates breakeven COGS. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| target_margin_pct | No | Target profit margin percentage (default 20). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, covering safety. The description adds meaningful context beyond annotations by explaining the estimation logic (based on buybox price, fees) and detailing the return data (brand, title, price/price range, fulfillment breakdown), which is helpful for setting expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: two sentences. The first sentence states the core function, and the second provides usage triggers and output summary. No redundant words or filler, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by specifying the returned fields (brand, title, price/price range, fulfillment percentages). It also clarifies the estimation goal. It lacks exact output structure or error behavior, but for a read-only calculation tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage with detailed descriptions for all parameters (asin, cogs, marketplace_id, target_margin_pct). The description mentions some conceptual inputs (buybox price, fees) but does not add specific parameter-level semantics beyond the schema, so it provides minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Estimate whether an ASIN can hit a target profit margin' given specific inputs (buybox price, FBA fees, referral fee). It also lists additional outputs (brand, title, price, fulfillment), distinguishing it from sibling tools focused on other ASIN analyses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage triggers with concrete query examples ('can I make money on this ASIN', 'profit calculator', 'margin estimate for B08N5WRWNW'), effectively telling when to use the tool. However, it does not mention when not to use it or name alternative tools, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
authorized_seller_listARead-onlyInspect
List the saved authorized sellers for a brand. Use when the user asks 'who are my authorized sellers for X', 'show my approved resellers', 'what's my whitelist for this brand'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| seller_contains | No | Only return saved seller names containing this substring (case-insensitive). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool's safe read-only nature is covered. The description adds minimal behavioral context beyond purpose, such as 'saved' sellers, but does not disclose return format, pagination, or any edge case behavior. This is consistent with the annotation and adds a bit of nuance, but not significantly more than what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences. The first states the purpose, and the second provides concrete example user queries. No wasted words or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with only three parameters and no output schema, the info is complete. The tool description, combined with schema and annotations, gives enough context for correct use. No additional return value documentation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — each parameter (brand, marketplace_id, seller_contains) has a description that fully explains its purpose and values. The tool description itself does not add extra parameter semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List the saved authorized sellers for a brand.' This uses a specific verb ('List') and resource ('saved authorized sellers'), and the example queries reinforce its scope. It also distinguishes from sibling tools like authorized_seller_set and unauthorized_sellers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use it with example user phrasings ('who are my authorized sellers for X', 'show my approved resellers', 'what's my whitelist for this brand'). It does not explicitly state when not to use or name alternatives, but the context is clear enough for a simple list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
authorized_seller_setAInspect
Save the authorized sellers for a brand you own/manage — the whitelist that makes 'unauthorized seller' detection possible. The brand must already be tracked in this workspace. Use when the user says 'these are my authorized sellers for X', 'add Y to my authorized list', 'set my brand's approved resellers'. Pass the seller names exactly as they appear on Amazon.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand (must be a tracked workspace brand). | |
| sellers | Yes | Authorized seller names to save. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the description adds value by specifying that sellers must be passed exactly as they appear on Amazon and that the brand must be owned/managed. It does not detail overwrite-vs-append semantics, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action. Every sentence provides useful information without redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage examples, prerequisites, and input formatting. It lacks explicit mention of return behavior or whether the list is replaced or appended, but for a simple write operation with no output schema, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions are already present. The description adds extra nuance by requiring seller names to match Amazon exactly and clarifying the brand ownership condition, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Save' with the resource 'authorized sellers for a brand', clearly establishing the tool's purpose. It explicitly connects to the whitelist for unauthorized-seller detection and distinguishes from sibling tools like 'authorized_seller_list' by focusing on the save/set action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage triggers with example user phrases and states a prerequisite (brand must already be tracked). It does not explicitly name alternatives or exclusions, but the examples make the intended scenario clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_buybox_trajectoryARead-onlyInspect
Show how a brand's buybox concentration has changed over time. Returns weekly seller counts and observed buybox days for the trailing window. Use when the user asks 'is this brand getting more competitive', 'concentration trend for Nike', 'how has seller count changed over time', or 'buybox trajectory'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand name (case-insensitive). | |
| trend_in | No | Comma-separated trend labels to keep: CONCENTRATING, DECONCENTRATING, STABLE, INSUFFICIENT_DATA. If the brand's trend isn't in the list, an empty result is returned. | |
| since_weeks | No | Weeks of history to return (default 26, max 52). | |
| week_start_to | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| week_start_from | No | Keep only timeline weeks on/after this YYYY-MM-DD. | |
| max_observations | No | ||
| max_seller_count | No | ||
| min_observations | No | ||
| min_seller_count | No | Keep only timeline weeks with at least this seller_count. | |
| max_asins_touched | No | ||
| min_asins_touched | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No | ||
| max_seller_count_change_pct | No | ||
| min_seller_count_change_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns weekly seller counts and observed buybox days for a trailing window, adding value beyond the readOnlyHint annotation. It doesn't go into detail about filtering behavior or edge cases, but the annotation already signals a safe read operation, and this context is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, output, and usage triggers. Every sentence earns its place, with no filler or repetition. It is front-loaded with the core action and output, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 parameters, low schema coverage, no output schema), the description provides enough for selection and basic invocation (brand is required, output is described). However, it omits details about optional filters, default behavior, and response structure, which could leave an agent uncertain when constructing calls with non-default parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, and the description does not compensate. It implies the 'brand' parameter via examples but does not explain any of the 16 parameters, the meaning of filter options, or the behavior of trend_in. The description adds no parameter-level semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: showing how a brand's buybox concentration has changed over time, and specifies the output (weekly seller counts and observed buybox days). It uses a specific verb (Show) and resource (brand's buybox concentration), distinguishing it from sibling tools like asin_buybox_history or brands_gaining_sellers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit trigger phrases ('is this brand getting more competitive', 'concentration trend for Nike', etc.) and a clear usage context. It does not mention exclusions or alternative tools, but the guidance is sufficient for an agent to route queries appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_new_asinsARead-onlyInspect
Show ASINs that recently appeared for a brand. Use when the user asks 'new products for Nike', 'recently added ASINs', 'what new listings does this brand have', or any question about a brand's recent catalog additions. Each ASIN carries product brand, title, price (or price range) and fulfillment (FBA/FBM/AMZ + amz/fba pct).
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| brand | Yes | Brand name (case-insensitive). | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| since_days | No | How far back to look (default 30, max 180). | |
| last_seen_to | No | ||
| asin_contains | No | ||
| first_seen_to | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| last_seen_from | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | YYYY-MM-DD (since_days already bounds the lower edge). | |
| max_latest_price | No | ||
| max_seller_count | No | ||
| min_latest_price | No | ||
| min_seller_count | No | ||
| latest_buybox_seller | No | Exact most-recent buy-box seller (case-insensitive). | |
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No | ||
| latest_buybox_seller_contains | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation covers the safety profile, and the description adds useful behavioral context: it states that each ASIN carries brand, title, price/range, and fulfillment metrics. This goes beyond the annotation by describing output content, though it doesn't discuss pagination or default ordering, so a 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no fluff. It front-loads the main verb ('Show'), then gives usage trigger examples, then specifies return fields. Every sentence earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (26) and lack of output schema, the description is far from complete. It covers the core purpose and a few output fields, but leaves the vast majority of filtering nuances unexplained. An agent cannot fully understand the tool's capabilities from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31%, leaving most of the 26 parameters undocumented. The description offers only vague hints about recency and price range, and does not explain key filters like min_price, max_seller_count, or fulfillment_in. The description fails to compensate for the schema's low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Show ASINs that recently appeared for a brand.' It provides concrete example queries like 'new products for Nike' and 'recently added ASINs', which distinguishes it from sibling tools like brand_buybox_trajectory that track historical trends rather than new listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage triggers are provided: 'Use when the user asks...' with several concrete examples. This gives strong contextual guidance for when to invoke the tool. It does not mention alternatives or when-not-to-use, but the clarity of the trigger phrases earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brands_gaining_sellersARead-onlyInspect
Find brands that recently gained the most newly-OBSERVED sellers (sellers whose first-seen date on the brand falls in the window) — an observation signal, NOT confirmed market entry (sparse re-sampling can resurface long-present sellers as 'new'). Optional category filter. Use when the user asks 'brands gaining sellers in [category]', 'brands under hijacker pressure', 'who is seeing new entrants this month', or category-scoped seller-growth signals without naming a specific brand.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| scope | No | tracked = only brands on the user's watchlist; universe = all brands. Default universe. | |
| category | No | ||
| window_days | No | Days back (default 30, max 90). | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| min_new_sellers | No | Minimum new-seller count to surface (default 2). | |
| max_control_score | No | ||
| min_control_score | No | ||
| max_total_sellers_3m | No | ||
| min_total_sellers_3m | No | ||
| max_seller_churn_30d_pct | No | ||
| min_seller_churn_30d_pct | No | ||
| max_catalog_churn_30d_pct | No | ||
| min_catalog_churn_30d_pct | No | ||
| max_newly_observed_sellers_in_window | No | Upper bound on new-seller count (min is min_new_sellers). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description adds essential behavioral context that the 'new sellers' metric is an observation signal, not confirmed entry, due to sparse re-sampling. This prevents misinterpretation of results, though it does not cover output format or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with a parenthetical caveat and a list of use cases. It packs substantial meaning without fluff, though the long first sentence could be easier to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 17 parameters, no output schema, and minimal annotations, the description should cover return shape, filter interactions, and defaults. It explains the core purpose and the key caveat, but leaves many operational details unspecified, making it incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 35%, so the description should compensate by explaining many of the 17 parameters. It only references the category filter and implies a brand parameter, while leaving control_score, churn percentages, and count bounds unexplained. This is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds brands that recently gained the most newly-OBSERVED sellers, defining the precise signal. It distinguishes this from confirmed market entry and from brand-specific tools by specifying category-scoped seller-growth signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly enumerates example user queries ('brands gaining sellers in [category]', 'brands under hijacker pressure', etc.) and states 'Use when...' for category-scoped signals without a specific brand. It also warns that the signal is NOT confirmed market entry, helping agents decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_similarARead-onlyInspect
Find brands similar to a given brand by category, price tier, and competition level. Use when the user asks 'brands like Nike', 'similar brands to source', 'show me comparable brands', 'what else is in this niche', or any cohort/lookalike question.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Reference brand name (case-insensitive). | |
| limit | No | ||
| max_avg_price | No | ||
| min_avg_price | No | ||
| brand_contains | No | Only keep similar brands whose name contains this substring. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| max_seller_count | No | ||
| min_seller_count | No | Only similar brands with at least this many unique sellers (3m). | |
| max_control_score | No | ||
| min_control_score | No | ||
| max_buybox_days_3m | No | ||
| min_buybox_days_3m | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, so the description does not need to restate safety. It adds the selection criteria (category, price tier, competition level) but does not disclose output format, result limits, or other behavioral traits. This is consistent with the baseline for a read-only tool with light additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the core function, and the usage examples are concise. Every sentence contributes meaning, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 14 parameters, no output schema, and low schema coverage (29%), the description is incomplete. It fails to explain return values, parameter usage, or operational constraints, leaving significant gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, and the description does not explain the many filter parameters like min_asin_count, max_control_score, min_seller_count, etc. The phrase 'by category, price tier, and competition level' loosely maps to some parameters but does not provide the detailed semantics needed to use the 14-parameter input effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find brands similar to a given brand by category, price tier, and competition level.' This uses a specific verb (find) and resource (similar brands), and the example queries like 'brands like Nike' and 'what else is in this niche' distinguish it from sibling tools such as competitive_landscape or asin_comparables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage triggers: 'Use when the user asks 'brands like Nike', 'similar brands to source', ... or any cohort/lookalike question.' This clearly communicates when to use the tool. However, it does not mention alternatives or when not to use it, missing the full when/when-not contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brands_in_operator_networkARead-onlyInspect
Find brands that share operators/sellers with a target brand. Returns brands ranked by how many operators they share. Use when the user asks 'what brands are in X's network?', 'brands related to Ninja', 'who else do Ninja's sellers carry?', 'brands in the same seller network', or 'brand family'. This reveals the operator graph — brands connected through shared distribution channels.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The target brand to find network connections for. | |
| limit | No | ||
| brand_contains | No | Only keep related brands whose name contains this substring. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_seller_count | No | ||
| min_seller_count | No | ||
| max_control_score | No | ||
| min_control_score | No | ||
| max_shared_operators | No | ||
| min_shared_operators | No | Only related brands sharing at least this many operators. | |
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation. The description adds behavioral context by explaining the ranking basis ('ranked by how many operators they share') and the conceptual graph ('operator graph'), which is useful beyond the annotation. It does not go into data freshness, pagination, or output limits, but the annotation lowers the burden and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and result, followed by usage examples and a brief conceptual statement. The quoted example phrases are somewhat repetitive and could be condensed, but every sentence contributes useful context, so it remains concise overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 12 parameters, no output schema, and only readOnlyHint as annotation. The description explains the high-level purpose and returns ranking concept, but it omits the semantics of most optional filters and does not describe the output structure or field details. Given the low schema coverage and lack of output schema, the description is not complete enough for an agent to confidently use the tool beyond simple queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with 8 numeric filter parameters (control_score, observed_buybox_days, seller_count, shared_operators, limit) lacking descriptions in both schema and tool description. The description does not explain what these filters mean or how they interact, and it only weakly clarifies the 'shared operators' concept. This is insufficient for an agent to correctly construct parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('brands that share operators/sellers'), clearly stating what the tool does and how results are ranked. It distinguishes itself from siblings like brand_similar or operator_top_brands by framing the output around shared operators/sellers in a network, with concrete example queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear and explicit usage contexts with example user phrasings ('what brands are in X's network?', 'brand family'), which helps an agent know when to invoke it. However, it does not mention when not to use it or explicitly point to alternatives, so it misses the full when-not/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_under_attackARead-onlyInspect
Detect whether a brand is under competitive attack: an elevated NEW-ENTRANT RATE (brand-level newly-observed sellers vs the trailing-month baseline) combined with buy-box churn. Uses brand-level first-seen (a seller's first observation anywhere across the brand's ASINs), which is stable under scraper-coverage growth — not the inflated per-ASIN count. Use when the user asks 'is my brand being targeted', 'brand under attack', 'new sellers flooding my listings', 'is someone targeting this brand'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand name (case-insensitive). | |
| signals_in | No | Comma-separated signals that must be present: NEW_ENTRANT_SURGE, HIGH_BUYBOX_CHURN. Matches if the brand has any of them. | |
| since_weeks | No | Window to analyze (default 4, max 12). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| threat_level_in | No | Comma-separated threat levels to keep: HIGH, MODERATE, LOW. If the brand's level isn't in the list, an empty result is returned. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds valuable methodological context: it uses brand-level first-seen to avoid scraper-coverage inflation. This goes beyond the annotations, though it does not describe output format or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with no redundancy. The usage triggers are compact, and the methodology explanation is dense but clear. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a detection tool with five parameters and no output schema, the description adequately covers core algorithm, use cases, and context. It lacks sample output or return-value details, but the detection purpose is well conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters (100% coverage), so the baseline is 3. The description adds no parameter-specific details beyond the schema, but it frames the key concept (brand-level new-entrant rate) which indirectly informs the signals_in parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a detector of competitive brand attacks, using specific metrics (new-entrant rate + buy-box churn). It distinguishes itself from siblings like brand_buybox_trajectory and buybox_loss_alert by naming the exact detection logic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit user-phrase triggers ('is my brand being targeted', 'new sellers flooding my listings', etc.), which is clear when-to-use guidance. However, it does not mention alternatives or when not to use, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_xmarketARead-onlyInspect
Check whether a brand sells on Amazon US, Amazon UK, and/or Walmart. Returns per-marketplace seller count, ASIN count, observed buybox days, and control score. Use when the user asks 'does this brand sell on Walmart', 'cross-marketplace presence for Nike', 'is this brand on Amazon UK', or any multi-marketplace brand question.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand name (case-insensitive). | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| max_seller_count | No | ||
| min_seller_count | No | ||
| marketplace_id_in | No | Comma-separated marketplace ids to keep: 1=Amazon UK, 2=Amazon US, 3=Walmart US. | |
| max_control_score | No | ||
| min_control_score | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, and the description confirms read-only behavior by describing a 'check' operation. It adds specific return fields, enhancing transparency about what the tool provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a usage note, front-loaded with purpose and examples. Every sentence is essential, no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters and no output schema, yet the description does not specify the return structure (e.g., per-marketplace object) or explain the filter parameters. This leaves the agent with significant gaps in understanding how to invoke the tool and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%. The description only explains the brand parameter implicitly and marketplace_id_in vaguely, while the other 8 parameters (min/max filters) are left unexplained, despite low schema coverage requiring more description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks brand presence on three specific marketplaces and lists the return metrics. It also provides example queries, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use with example questions, but does not mention when not to use or differentiate from similar sibling tools like operator_xmarket_presence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buybox_loss_alertARead-onlyInspect
Find the ASINs where a brand you own has LOST the buy box to a seller outside your authorized list — ranked by estimated revenue at stake — so you can act on the costliest first. Each flagged ASIN carries its product brand, title and price (or price range) plus its fulfillment (FBA/FBM/AMZ). Save your authorized list first (authorized_seller_set) for precise flagging; without it, ASINs where a third-party operator holds the buy box are flagged. Use when the user asks 'where am I losing the buy box on ', 'buy-box loss on my ASINs', 'which of my listings did I lose'.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| brand | Yes | The brand you own/manage. | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| asin_contains | No | ||
| buybox_holder | No | Exact current buy-box holder (case-insensitive). | |
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| max_buybox_price | No | ||
| min_buybox_price | No | ||
| max_est_units_30d | No | ||
| min_est_units_30d | No | ||
| authorized_sellers | No | Optional. Your authorized sellers (else the saved list is used). | |
| buybox_holder_contains | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No | ||
| max_est_revenue_at_stake_30d | No | ||
| min_est_revenue_at_stake_30d | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses that results are ranked by estimated revenue at stake and that each ASIN includes brand, title, price, and fulfillment type. It also explains the fallback behavior when no authorized list is saved, which adds transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description packs essential information — purpose, ranking logic, output fields, prerequisite, and example queries — into three sentences with no filler. It is front-loaded with the most important action and differentiator.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 26 parameters and no output schema, the description covers the primary purpose, output contents, ranking behavior, fallback logic, and usage triggers. It falls short of explaining all parameter interactions or return pagination, but given the tool's complexity, it provides enough context for selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 27% schema description coverage, the description partially compensates by explaining the core 'brand' parameter and the notion of authorized sellers, and by defining the 'estimated revenue' metric. However, the numerous filter parameters (e.g., min/max thresholds) remain underexplained, leaving the agent to infer their semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Find') and a clearly defined resource ('ASINs where a brand you own has LOST the buy box to a seller outside your authorized list'), and immediately distinguishes itself from sibling tools by focusing on unauthorized loss and revenue-based ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool with example user queries ('where am I losing the buy box on <brand>', 'buy-box loss on my ASINs') and provides a prerequisite (save authorized list first). It does not explicitly discuss alternatives or exclusions, but the guidance is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
categories_amazon_retreatingARead-onlyInspect
Find categories where Amazon is retreating — net brand exits exceed entries over 90 days (amazon_expansion_net_90d < 0). Returns categories ordered by retreat magnitude. Use when the user asks 'where is Amazon pulling back?', 'which categories is Amazon leaving?', or 'Amazon retreat opportunities'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (capped at 10). Default 10. | |
| category_name | No | Exact category name (case-insensitive). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| max_brand_count | No | ||
| min_brand_count | No | ||
| velocity_tier_in | No | Comma-separated velocity tiers to keep. | |
| max_pct_amazon_pl | No | ||
| min_pct_amazon_pl | No | ||
| category_name_contains | No | ||
| max_amazon_expansion_net_90d | No | ||
| max_amz_retail_dominance_pct | No | ||
| min_amazon_expansion_net_90d | No | ||
| min_amz_retail_dominance_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so safety is covered. The description adds the ordering behavior and the meaning of 'retreating', which is useful context. However, it does not disclose any other behavioral traits such as how 'retreat magnitude' is computed, default marketplaces, or output structure beyond 'returns categories'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loads the purpose, and then quickly gives the definition and usage triggers. Every sentence earns its place, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 15 parameters and no output schema, the description gives the core concept and intended use but lacks detail about what the returned data includes and how the many filters interact with the retreat concept. It is adequate for a simple use case but not fully complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27%, so the description must compensate. It explains the core metric ('amazon_expansion_net_90d < 0') but does not describe the many filter parameters (e.g., max_asin_count, min_brand_count, category_name_contains, etc.). This leaves most parameters unexplained, offering little added value over the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find categories where Amazon is retreating') and defines the exact criterion (net brand exits exceed entries over 90 days, with the metric amazon_expansion_net_90d < 0). It also states the output ordering (by retreat magnitude), which clearly differentiates it from sibling tools like category_top_growers or category_new_entrants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides trigger phrases: 'where is Amazon pulling back?', 'which categories is Amazon leaving?', or 'Amazon retreat opportunities'. This gives clear context for when to use the tool, though it does not mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_metricsARead-onlyInspect
Return the full metric set for ONE category at any depth — a root OR a sub-category niche like 'Terrariums'. Covers demand (30-day revenue, units, velocity tier), competition (heat, diversity, brand/ASIN/seller counts), Amazon presence (retail dominance, private-label share, FBA penetration, 90-day brand expansion), price, ship-by days, and close-outs. Use for 'show me the metrics/stats for category X', 'how big is the X category', or to pull the numbers behind a niche question.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No | Exact category id (any depth). | |
| category_name | No | Category name (any depth, fuzzy). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description details the metric groups (demand, competition, Amazon presence, price, ship-by, close-outs) and notes the tool works at any category depth. This adds meaningful behavioral context without contradicting the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, followed by a concise metric breakdown and usage examples. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description compensates well for the lack of an output schema by listing metric groups and usage scenarios. It does not specify the exact return format or behavior when no category identifier is provided, but overall it is a complete enough guide for a read-only metrics tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds the 'one category' constraint and example niche but does not clarify mutual exclusivity of category_id/category_name or behavior when neither is provided. It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the full metric set for a single category, with a specific verb ('Return') and resource ('ONE category'). It enumerates the metric groups covered, which distinguishes it from sibling tools that focus on specific category lists like category_new_entrants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage examples like 'show me the metrics/stats for category X' and 'how big is the X category', giving clear context for when to use it. It implies a single-category scope but does not explicitly name alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_new_entrantsARead-onlyInspect
Find brands newly OBSERVED in a category — the first date our daily sampling saw the brand there falls in the window. An observation signal, NOT confirmed first-ever entry (sparse re-sampling can resurface a long-present brand as 'new'). Use when the user asks 'new brands in Electronics', 'what brands just entered this category', 'emerging brands in Toys', 'category new entrants'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| since_days | No | How far back to look (default 30, max 180). | |
| category_id | No | Root category ID. | |
| category_name | No | Category name (fuzzy match if category_id not provided). | |
| max_avg_price | No | ||
| min_avg_price | No | ||
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| max_seller_count | No | ||
| min_seller_count | No | ||
| first_observed_to | No | ||
| max_buybox_days_3m | No | ||
| min_buybox_days_3m | No | ||
| first_observed_from | No | YYYY-MM-DD lower bound on first-observed date. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint, which the description aligns with. It adds substantial behavioral context about the daily sampling methodology and the risk of false positives due to sparse re-sampling, which is critical for interpreting results and goes beyond the structured annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and a crucial caveat, followed by concrete usage examples. There is no redundancy or filler; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential purpose, usage, and caveats well, making the core functionality clear. However, given the 17-parameter schema and no output schema, it leaves some gaps such as whether a category is required (schema shows 0 required) and how filters like price or ASIN count combine with the core query. These are not critical for basic use but would be helpful for advanced invocations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (35%), and the tool description does not compensate. It only references the date-window concept and category name in examples, leaving many parameters like min_avg_price, max_asin_count, and first_observed_to unexplained. The description adds little semantic value over the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds brands newly observed in a category based on the first-observed date window, and explicitly distinguishes it from confirmed first-ever entry. It provides concrete query examples ('new brands in Electronics', 'what brands just entered this category'), making the purpose immediately understandable and differentiating it from sibling tools like brand_new_asins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly gives when-to-use examples and clarifies the tool's limitation ('An observation signal, NOT confirmed first-ever entry'), which helps an agent decide when to use it. However, it does not name alternative tools or provide direct 'when-not-to-use' guidance for tool selection, relying instead on the semantic caveat.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_top_growersARead-onlyInspect
Find brands in a category with the biggest recent growth in seller count and observations. Use when the user asks 'fastest growing brands in Toys', 'top growers in this category', 'which brands are trending up', or any category-scoped growth question.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| category_id | No | Root category ID. | |
| since_months | No | Months to compare (default 3, max 6). Compares latest month vs earliest. | |
| category_name | No | Category name (fuzzy match if category_id not provided). | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_prior_sellers | No | ||
| min_prior_sellers | No | ||
| max_obs_growth_pct | No | ||
| max_recent_sellers | No | ||
| min_obs_growth_pct | No | ||
| min_recent_sellers | No | ||
| max_seller_growth_pct | No | ||
| min_seller_growth_pct | No | ||
| max_prior_observations | No | ||
| min_prior_observations | No | ||
| max_recent_observations | No | ||
| min_recent_observations | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true annotation already covers safety. The description adds context that growth is measured by both seller count and observations, and that it is category-scoped. No additional behavioral traits (e.g., rate limits, required inputs) are disclosed, but for a read-only tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states purpose, the second gives usage examples. It is front-loaded, efficient, and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 19 optional parameters and no output schema, the description lacks critical guidance on how to specify the category (category_id vs category_name), default marketplace behavior, parameter interactions, or what the response contains. The examples help but are insufficient for advanced use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 26%, so the description must compensate. It does not explain the many filter parameters (e.g., limit, thresholds, min/max sellers, observations) or how to specify the category beyond 'category-scoped.' The example queries imply category_name usage but leave most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Find brands in a category with the biggest recent growth in seller count and observations,' which is a specific verb+resource+scope. It also includes example queries that clarify the intended usage and differentiate from non-category-scoped brand tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context with example user phrasings and states 'any category-scoped growth question.' However, it does not mention alternatives or when not to use this tool, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_undercompeted_brandsARead-onlyInspect
Find specific BRANDS within a category that have proven multi-seller demand but are still under-competed (a min-seller floor drops single-seller / brand-owner-only listings). Returns BRANDS — not niches or sub-categories. Use for 'undercompeted brands in ', 'low competition brands in Toys', 'which brands can I source in '. Do NOT use for 'under-served niches', 'niches in ', or 'find a niche to enter' — those are SUBCATEGORY questions; use find_underserved_niches instead.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| category_id | No | Root category ID to search within. | |
| max_sellers | No | Maximum unique sellers (default 20). | |
| min_sellers | No | Minimum unique sellers (default 10). Drops single-seller / brand-owner-only 'PL junk' so results show proven multi-seller demand. | |
| category_name | No | Category name (fuzzy match if category_id not provided). | |
| max_avg_price | No | Maximum average price in USD. Omit for no cap. | |
| min_avg_price | No | Minimum average price in USD. Omit for no floor. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| min_buybox_days | No | Minimum observed buybox days in last 3 months (default 30). | |
| max_velocity_90d | No | ||
| min_velocity_90d | No | ||
| max_control_score | No | ||
| min_control_score | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations set readOnlyHint=true, so the safety profile is already disclosed. The description adds behavioral context by explaining that the min-seller floor drops single-seller or brand-owner-only listings, and clarifies that the tool returns brands, not niches. Though the min-seller explanation partially duplicates the schema's min_sellers description, the explicit output type and exclusion of subcategories are non-obvious and useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and efficient: it states the core purpose in the first sentence, the output type and key mechanism in the second, and then provides concrete example queries and an explicit negative boundary. Every sentence earns its place, and the structure is easy to scan for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the primary purpose and usage, it does not address the many optional filters (e.g., control score, velocity, ASIN counts) or the return format (no output schema exists). For a tool with 17 optional parameters and no output schema, the description is only moderately complete—it would benefit from a brief note that additional filters exist and a description of the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 53%, leaving 8 of 17 parameters (limit, brand_contains, max_asin_count, min_asin_count, max_velocity_90d, min_velocity_90d, max_control_score, min_control_score) undocumented in both schema and description. The description does not compensate for these gaps; it only explains the min_sellers behavior already present in the schema. This leaves an agent without meaningful guidance for several filter parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find specific BRANDS within a category that have proven multi-seller demand but are still under-competed'. It names the resource (brands in a category) and the specific filter logic (min-seller floor). It also explicitly differentiates from niches and subcategories, and references sibling tool find_underserved_niches, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use for "undercompeted brands in <category>"...' and 'Do NOT use for...' with a named alternative tool (find_underserved_niches). This gives clear when-to-use and when-not-to-use instructions, fulfilling the dimension fully.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
collect_asin_nowAInspect
Pull a LIVE, on-demand snapshot of a single Amazon ASIN right now — current title, price, live offers and the sellers on the listing today — and return it alongside Webotee's historical brand and seller intelligence, including the ASIN's product brand, title and price (or price range) and its fulfillment (FBA/FBM/AMZ). Use when the user gives a specific ASIN and wants its CURRENT/today's data rather than the pre-collected dataset (e.g. 'check ASIN B0... right now', 'who's on this listing today and at what price'). Every Amazon marketplace; one ASIN per call.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The 10-character Amazon ASIN to collect live. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint:false, giving little safety context. The description adds useful behavioral details such as it returns live offers, sellers, and historical intelligence, and enforces one ASIN per call. However, it does not disclose potential side effects (e.g., whether it triggers a collection job) or latency, which would be valuable given the false readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with the core action. It contains useful details (returns, use cases, marketplace scope) without fluff. Slightly dense but each part earns its place; could be split for readability but remains effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and sparse annotations, the description covers key contextual elements: what data is returned, when to use it, constraints (one ASIN, all marketplaces), and examples. It lacks detail on output format or prerequisites, but the schema covers parameter format. It is sufficiently complete for an agent to decide and invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented in the schema. The description adds no extra semantic meaning beyond emphasizing 'specific ASIN' and 'every marketplace,' which are already implied by the schema. It meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: pulling a live, on-demand snapshot of a single ASIN including current price, offers, and sellers, plus historical intelligence. It uses a specific verb ('Pull') and resource ('Amazon ASIN'), and distinguishes itself from pre-collected data, making it highly clear and differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: when the user wants current/today's data for a specific ASIN rather than the pre-collected dataset, with concrete examples. It also notes 'one ASIN per call' and 'every marketplace,' but does not name specific alternative tools, just contrasts with the general dataset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
competitive_landscapeARead-onlyInspect
Map the competitive landscape for a brand or category root. Returns top 10 sellers by observed buybox days held, top 10 brands by winner-diversity HHI, plus week-over-week deltas. Use when the user asks 'who's winning this category?' or 'who controls the buybox here?'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | ||
| seller_name | No | Exact seller name in the sellers list (case-insensitive). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_brand_count | No | ||
| min_brand_count | No | ||
| category_root_id | No | ||
| max_control_score | No | ||
| min_control_score | No | ||
| max_winner_diversity | No | ||
| min_winner_diversity | No | ||
| seller_name_contains | No | ||
| max_unique_sellers_3m | No | ||
| min_unique_sellers_3m | No | ||
| max_seller_churn_30d_pct | No | ||
| min_seller_churn_30d_pct | No | ||
| max_catalog_churn_30d_pct | No | ||
| max_pct_asins_gated_to_3p | No | ||
| min_catalog_churn_30d_pct | No | ||
| min_pct_asins_gated_to_3p | No | ||
| max_bought_past_month_total | No | ||
| min_bought_past_month_total | No | ||
| max_amz_retail_dominance_pct | No | ||
| min_amz_retail_dominance_pct | No | ||
| max_total_observed_buybox_days | No | ||
| min_total_observed_buybox_days | No | ||
| max_brand_velocity_90d_units_day | No | ||
| min_brand_velocity_90d_units_day | No | ||
| dominant_category_velocity_tier_in | No | Comma-separated velocity tiers to keep in the brand list. | |
| max_seller_churn_30d_delta_vs_cat_pp | No | ||
| min_seller_churn_30d_delta_vs_cat_pp | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds substantial context about what the tool returns (top 10 sellers/brands, deltas) and its scope (brand/category root). This goes beyond the annotation without contradicting it, though it doesn't disclose computation details or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and includes concrete output details and example queries. Every sentence earns its place with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 30 optional parameters and no output schema, the description is far too sparse to guide correct invocation. It explains the high-level function but leaves the many filter parameters (e.g., min_control_score, max_winner_diversity) entirely unexplained, making it incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 10% (3 of 30 parameters have descriptions). The description only hints at 'brand or category root' as inputs but provides no explanation for the numerous min/max filter parameters, leaving the agent to guess their meanings. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb+resource: 'Map the competitive landscape for a brand or category root.' It also details the exact outputs (top 10 sellers by buybox days, top 10 brands by HHI, week-over-week deltas), which distinguishes it from siblings that focus on other metrics. This is highly specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context with example queries: 'who's winning this category?' or 'who controls the buybox here?'. It lacks explicit exclusions or alternative tool references, but the use-case framing is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_asin_sourcingARead-onlyInspect
Evaluate a single ASIN for FBA sourcing. Returns composite sourcing score (0-100), 5-dimension breakdown (velocity, gating, friction, margin, brand_posture), estimated 30-day demand (units_30d_final + est_revenue_30d) with its source/badge_band/confidence, a data_coverage flag (full vs velocity_only — so a null demand reads as a coverage gap, not zero sales), star rating + review count (with a rating_coverage flag), brand-level FBA/Amazon dominance, and a red-flag list. Also returns the product brand, title, and price (or price range) plus the ASIN's fulfillment (FBA/FBM/AMZ + amz/fba pct). Use when the user asks 'should I buy this?', 'how fast does this sell?', or shares an ASIN and wants a sourcing recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Optional purchase quantity for ROI sizing. | |
| asin | Yes | Amazon ASIN, 10-character alphanumeric. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint annotation, explaining subtle behaviors such as the data_coverage flag clarifying that a null demand indicates a coverage gap rather than zero sales. It also discloses the mix of metrics returned (score, breakdown, flags, red flags), giving the agent a thorough expectation of result semantics. This is significant context that the annotation alone does not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds value. The lead sentence states the core purpose, and subsequent sentences detail outputs and usage. While it is a long run-on paragraph, the information density justifies the length. Slightly better formatting could improve scannability, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully compensates by listing almost every returned field, including flags and their interpretation. It also covers when to use the tool and hints at the single-ASIN scope. Given the tool's complexity, the description provides sufficient context for an agent to set expectations and properly interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear documentation for all three parameters (asin, qty, marketplace_id). The description does not add extra meaning to parameter usage; it focuses on outputs. Per the rubric, a baseline of 3 is appropriate given the schema adequately explains each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Evaluate a single ASIN for FBA sourcing.' This clearly distinguishes the tool from sibling tools like evaluate_brand or evaluate_category_for_private_label by focusing on a single ASIN and sourcing. It also enumerates concrete outputs, leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit usage trigger: 'Use when the user asks 'should I buy this?', 'how fast does this sell?', or shares an ASIN and wants a sourcing recommendation.' This is clear context for when to invoke the tool. It does not mention exclusions or alternative tools, but the guidance is direct and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_brandARead-onlyInspect
Evaluate a brand for portfolio inclusion. Returns brand-level control posture, winner diversity (HHI), Amazon retail dominance %, FBA penetration %, catalog churn rate, total bought-past-month volume, estimated 30-day revenue, avg ship-by days, cross-brand operator count, plus the top 10 ASINs by composite sourcing score (each with product brand, title, price or price range, and fulfillment FBA/FBM/AMZ + amz/fba pct). Use when the user names a brand and asks 'is this worth carrying?', 'how does this brand look?', 'what is the churn rate?', or 'how fast does this brand ship?'.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Keep only this ASIN in top_asins. | |
| brand | Yes | Brand name (case-insensitive). | |
| max_price | No | ||
| min_price | No | ||
| max_gating | No | ||
| max_margin | No | ||
| max_rating | No | ||
| min_gating | No | ||
| min_margin | No | ||
| min_rating | No | ||
| max_velocity | No | ||
| min_velocity | No | ||
| asin_contains | No | ||
| product_brand | No | Exact product brand (case-insensitive) on top_asins. | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep on top_asins. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_composite_score | No | ||
| min_composite_score | No | ||
| max_number_of_ratings | No | ||
| min_number_of_ratings | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| distribution_verdict_in | No | Comma-separated distribution verdicts to keep, e.g. 'DOMINANT SELLER', 'OPEN DISTRIBUTION', 'HIGH BRAND HEAT'. If the brand's verdict isn't in the list, an empty result is returned. | |
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, and the description's 'Evaluate' and 'Returns' align as a read-only operation with no contradiction. The description adds substantial context by enumerating specific return metrics (e.g., 'winner diversity (HHI)', 'catalog churn rate') and the top-10 ASIN breakdown, going beyond the annotation's simple safety hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: a crisp purpose statement followed by a dense list of return values and usage triggers. No filler words; the long enumeration is necessary to convey what the tool returns, and the 'Use when' clause is immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 27 parameters and no output schema, the description covers the core use case well but omits how optional filters affect results (e.g., that min_price filters top_asins) and does not describe the result structure or edge cases. It is sufficient for basic brand evaluation but incomplete for advanced filtering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 6 of 27 parameters (22%) have schema descriptions, yet the tool description does not explain any of the optional filter parameters like min_price, max_gating, or fulfillment_in. It only references 'brand' through the usage examples, leaving the agent to infer parameter semantics from bare schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Evaluate a brand for portfolio inclusion,' a specific verb+resource that distinguishes it from siblings like evaluate_asin_sourcing (ASIN-level) and brand_similar (similar brands). It enumerates a detailed list of brand-level metrics and top ASINs, clarifying the tool's exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit triggers: 'Use when the user names a brand and asks ...' with four example questions. However, it does not mention when not to use this tool or name alternative tools for related tasks, so it lacks explicit exclusion/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_category_for_private_labelARead-onlyInspect
Assess whether a category or niche (ANY depth — e.g. 'Terrariums') is winnable for a NEW private-label brand. Use for 'is X winnable for private label', 'should I private-label X', 'is the X niche good for a new brand', 'can I launch my own brand in X'. Returns a per-signal pass/fail breakdown and a Strong / Moderate / Weak verdict based on Amazon's footprint, seller fragmentation, demand, and price band.
| Name | Required | Description | Default |
|---|---|---|---|
| verdict_in | No | Comma-separated verdicts to keep (Strong/Moderate/Weak). | |
| category_id | No | Exact category id (any depth). | |
| category_name | No | Category/niche name (any depth, fuzzy). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the annotation already covers safety. The description adds meaningful context by detailing the return value: a 'per-signal pass/fail breakdown and a Strong / Moderate / Weak verdict' based on 'Amazon's footprint, seller fragmentation, demand, and price band'. This goes beyond the annotation and helps the agent anticipate output structure, but it does not disclose data freshness or any limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, followed by concrete usage examples, and ends with a concise summary of the output. No filler or redundant content. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is reasonably complete given its moderate complexity and lack of an output schema. The description explains the return value (breakdown and verdict) and mentions the decision factors. The only gap is not clarifying whether category_id, category_name, or both are needed, but since all parameters are optional and the description implies flexibility, this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage, including descriptions for every parameter and clear marketplace_id value mappings. The description adds only minor context like 'ANY depth' and 'fuzzy', which are also reflected in the schema. Since schema does the heavy lifting, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Assess') and identifies a clear resource ('category or niche') with a distinct purpose ('winnable for a NEW private-label brand'). It provides concrete example queries like 'is X winnable for private label' and even mentions 'Terrariums' as an example, which distinguishes it from sibling evaluation tools like evaluate_brand or evaluate_asin_sourcing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use for' and lists several phrasings that trigger this tool, which gives strong when-to-use guidance. It does not explicitly contrast with alternative sibling tools, but the clear use cases and the mention of 'NEW private-label brand' set it apart. This is slightly above minimum viable because alternatives are not named, but usage context is well established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_brands_with_high_seller_churnARead-onlyInspect
Find brands experiencing high seller churn relative to their category. Returns brands where seller_churn_30d_delta_vs_cat_pp >= the specified threshold (default 5pp). Optionally filtered by category. Use when the user asks about 'brands losing sellers', 'high churn brands', or 'seller instability'.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | Max results (capped at 10). Default 10. | |
| scope | No | tracked = only brands on the user's watchlist; universe = all brands. Default universe. | |
| category | No | Category root name to filter (optional). | |
| max_delta_pp | No | Max delta vs category in percentage points. Omit for no ceiling. | |
| min_delta_pp | No | Min delta vs category in percentage points. Default 5. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_seller_churn_30d_pct | No | ||
| min_seller_churn_30d_pct | No | ||
| max_brand_velocity_90d_units_day | No | ||
| min_brand_velocity_90d_units_day | No | ||
| dominant_category_velocity_tier_in | No | Comma-separated velocity tiers to keep. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds the exact threshold behavior and optional category filtering. However, it does not disclose behaviors around the many other filters, result ordering, or pagination, so while it adds some value beyond the annotation, it is not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, but there is minor redundancy between 'Find brands experiencing high seller churn relative to their category' and 'Returns brands where seller_churn_30d_delta_vs_cat_pp >= the specified threshold'. Overall it is concise with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 13 parameters and no output schema, yet the description only covers the core threshold and category filter. It omits the meaning and usage of five undocumented parameters, as well as any return structure or additional behavior, leaving significant gaps for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 62%, so the schema carries most parameter meaning. The description adds the metric name (seller_churn_30d_delta_vs_cat_pp) and the default threshold, matching min_delta_pp, but it does not explain undocumented parameters like brand_contains, seller churn percentages, or velocity filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') with a well-defined resource ('brands experiencing high seller churn relative to their category') and states the precise criterion (delta >= threshold). This clearly distinguishes it from sibling tools like brands_gaining_sellers (opposite direction) and find_deconcentrating_brands (different metric).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the user asks about brands losing sellers, high churn brands, or seller instability', providing clear context for when to invoke this tool. It does not mention exclusions or alternative tools, but the intent phrases are sufficiently specific.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_deconcentrating_brandsARead-onlyInspect
Find brands where buybox concentration dropped over the last quarter — more sellers are entering, creating opportunity for new entrants. Use when the user asks 'brands losing control', 'deconcentrating brands', 'brands opening up to competition', 'gentrification opportunities', or any question about brands becoming less monopolized.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| since_weeks | No | Window to compare (default 12, max 26). Compares first half vs second half. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| min_buybox_days | No | Minimum observed buybox days to filter out inactive brands (default 30). | |
| max_control_score | No | ||
| min_control_score | No | ||
| max_new_seller_count | No | ||
| max_old_seller_count | No | ||
| min_new_seller_count | No | ||
| min_old_seller_count | No | ||
| max_seller_growth_pct | No | ||
| min_seller_growth_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's a safe read. The description adds interpretive behavior: the tool measures a drop in buybox concentration over the last quarter and interprets that as more sellers entering. This goes beyond the annotation by explaining the analytical lens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then usage triggers. No wasted words or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the clear purpose, the tool has 16 parameters and no output schema. The description does not explain what results look like, how 'deconcentration' is computed, or which thresholds matter. This is insufficient for an agent to confidently set parameters or interpret the returned data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (4 of 16 parameters), and the description does not compensate. It gives no guidance on parameters like min_control_score, min_new_seller_count, or max_seller_growth_pct, which are likely essential for tuning the 'deconcentrating' definition. The phrase 'last quarter' hints at since_weeks but is not explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and resource ('brands where buybox concentration dropped over the last quarter'), and explains the underlying signal ('more sellers are entering'). It also ties to user phrasing like 'brands losing control' and 'deconcentrating brands', making it easy to distinguish from generic search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists when to use the tool via example queries ('brands losing control', 'gentrification opportunities', etc.), which clearly signals relevant contexts. However, it does not mention when to avoid it or point to alternatives like find_undercompeted_brands or brands_gaining_sellers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_new_operatorsARead-onlyInspect
Find operators (sellers) we FIRST OBSERVED selling recently — their earliest observation in our data falls in the window. An observation signal, NOT confirmed market entry: sparse sampling can surface a long-present seller the first time we see them. Different from top_expanding_operators (existing operators adding brands). Use when the user asks 'new sellers this month', 'who just started selling', 'newly seen operators', or any question about emerging/newly-observed sellers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| min_brands | No | Minimum brands to filter out trivial sellers (default 5). | |
| since_days | No | How far back to look (default 30, max 180). | |
| seller_name | No | Exact seller name (case-insensitive). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_avg_rating | No | ||
| min_avg_rating | No | ||
| max_total_asins | No | ||
| min_total_asins | No | ||
| earliest_seen_to | No | ||
| earliest_seen_from | No | YYYY-MM-DD lower bound on earliest-seen date. | |
| max_avg_rating_count | No | ||
| min_avg_rating_count | No | ||
| seller_name_contains | No | ||
| max_operator_fba_share_pct | No | ||
| min_operator_fba_share_pct | No | ||
| max_total_observed_buybox_days | No | ||
| min_total_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, and the description builds on that with context about sparse sampling and the risk of surfacing long-present sellers. It clearly describes the behavioral nuance of 'first observed' rather than actual market entry, which goes well beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: definition, caveat, sibling distinction, and usage triggers. Front-loaded with the purpose and stays compact despite the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, filter-based tool with no output schema, the description provides sufficient orientation: purpose, caveat, alternatives, and trigger phrases. It does not describe result format or default ordering, but the tool's overall role is clearly contextualized. Slightly more detail about how the many filters combine would be useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 28%, and the description does little to compensate for the 18 parameters. It ties the date-window concept to early observations, but most filters (e.g., min_operator_fba_share_pct, max_total_observed_buybox_days) remain undefined. The description adds no meaning for the majority of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Find operators (sellers) we FIRST OBSERVED selling recently' and defines the core mechanism ('earliest observation in our data falls in the window'). It also explicitly differentiates from top_expanding_operators, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use trigger phrases ('new sellers this month', 'who just started selling', 'newly seen operators') and names the sibling alternative (top_expanding_operators) to avoid confusion. Also sets expectations by clarifying this is 'an observation signal, NOT confirmed market entry'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_product_across_webAInspect
Find where one product sits across the open web — a live cross-retailer price check — with every price anchored to Webotee's independently-observed Amazon buy-box. Give ONE identifier (asin, upc, gtin, or title + brand) and a mode: price_compare (default, all retailers vs the Amazon buy-box), cheaper (only sources below the buy-box), dropship (net margin after estimated Amazon fees), or supplier (wholesale-class sources). Returns each source's price, class, spread vs the buy-box, and a durability read from our 16-month history. The Amazon anchor also carries the product brand, title, and price (or price range) plus its fulfillment (FBA/FBM/AMZ + amz/fba pct). One product per call.
| Name | Required | Description | Default |
|---|---|---|---|
| upc | No | UPC code. | |
| asin | No | Amazon ASIN (the strongest anchor). | |
| gtin | No | GTIN code. | |
| mode | No | price_compare (default) | cheaper | dropship | supplier. | |
| brand | No | Brand (with title). | |
| title | No | Product title (use with brand to resolve the ASIN). | |
| source | No | Exact merchant/source name (case-insensitive). | |
| max_price | No | ||
| min_price | No | Only web sources priced >= this. | |
| currency_in | No | Comma-separated currencies to keep (e.g. USD). | |
| marketplace_id | No | Marketplace (2 = Amazon US). Default 2. | |
| source_class_in | No | Comma-separated source classes to keep (retailer/marketplace/wholesale). | |
| source_contains | No | ||
| max_spread_vs_buybox | No | ||
| min_spread_vs_buybox | No | ||
| max_dropship_net_margin | No | ||
| min_dropship_net_margin | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, suggesting the tool may perform actions beyond simple reads. The description adds value by explaining it is a 'live cross-retailer price check' and details the output fields (price, class, spread, durability read, Amazon anchor info). No contradictions with annotations. The description clarifies the behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, and covers all essential elements without redundancy. Every sentence adds value, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 17 parameters and no output schema, the description provides a solid overview but lacks details on many filter parameters and how to use them effectively. It adequately covers basic usage but falls short for complex queries that might require filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 65% coverage, and the description adds meaning to key parameters like identifier and mode, explaining their roles. However, many filter parameters (e.g., max_price, source_contains) remain undocumented in the description. Despite this, the description significantly enhances understanding of core parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding where a product sits across the open web, anchored to Amazon's buy-box. It specifies the action (find), resource (product across web), and scope (cross-retailer price check). This distinguishes it from sibling tools like asin_buybox_history or shopping_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists the required identifier (asin, upc, gtin, or title+brand) and modes (price_compare, cheaper, dropship, supplier) with brief explanations. It implies usage context (one product per call) but does not explicitly say when not to use this tool or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_single_seller_brandsARead-onlyInspect
Find brands where a single operator controls 100 percent of observed buybox days. These are either gated/exclusive or operator-acquired brands. Use when the user asks 'brands with one seller', 'exclusive brands', 'single-seller brands', 'monopoly brands', or any question about brands with no competition.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| min_asins | No | Minimum ASINs to filter out trivially small brands (default 10). | |
| category_id | No | Filter to a specific root category. Omit for all. | |
| max_avg_price | No | Maximum average price in USD. Omit for no cap. | |
| min_avg_price | No | Minimum average price in USD. Omit for no floor. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| dominant_seller | No | Exact dominant-seller name (case-insensitive). | |
| min_buybox_days | No | Minimum observed buybox days in last 3 months (default 30). | |
| max_control_score | No | ||
| min_control_score | No | ||
| dominant_seller_contains | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, and the description adds interpretive context beyond that: 'These are either gated/exclusive or operator-acquired brands.' It also clarifies the core metric (100% of observed buybox days), which enriches the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loads the primary function in the first sentence, then immediately provides use-case triggers in the second. There is zero fluff or repetition; every clause serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 13 parameters and no output schema, the description clearly explains the core concept and when to use it, which is sufficient for initial tool selection. However, it does not mention the filtering capabilities or result behavior beyond the definition, though the schema partially covers parameter details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 62% (8 of 13 parameters have descriptions), leaving several parameters undefined (limit, brand_contains, max_control_score, min_control_score, dominant_seller_contains). The tool description itself adds no parameter semantics, so it does not compensate for these gaps. With moderate schema coverage and zero parameter help from the description, this is a weak point.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find brands where a single operator controls 100 percent of observed buybox days.' This is a specific verb+resource+condition that distinguishes it from sibling tools like find_deconcentrating_brands or find_brands_with_high_seller_churn, which focus on different market dynamics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance by listing concrete user query patterns: 'brands with one seller', 'exclusive brands', 'single-seller brands', 'monopoly brands', or any question about brands with no competition. However, it does not explicitly mention when NOT to use it or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_sourcing_opportunitiesARead-onlyInspect
Given an Amazon ASIN, diagnose its business model (private-label / wholesale / arbitrage) and find real-world supplier, wholesale and arbitrage matches across the web, then return an HONEST sourcing read: a viability qualifier (green/yellow/red), the specific move + required differentiation, conservative economics, named risks (IP, tariffs, MOQ, saturation, gating, dropship policy) and validation steps. A credible lead generator, not get-rich advice. Scout+.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The Amazon ASIN (10 chars). | |
| marketplace_id | No | Marketplace (2 = US). Default 2. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, consistent with the description describing a read-only diagnostic. The description adds significant behavioral context: it details the output components (viability qualifier, specific move, differentiation, economics, risks, validation steps) and sets expectations with 'honest sourcing read' and 'not get-rich advice'. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise while covering input, process, output, and tone. Each sentence adds value, but the phrase 'Scout+' is cryptic and may confuse agents unfamiliar with the brand. Front-loaded with input and key action verbs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of output schema, the description fully explains what the agent can expect: business model diagnosis, real-world matches, and a structured sourcing read. It covers viability, move, differentiation, economics, risks, and validation steps, making it actionable without additional schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters: asin (10 chars) and marketplace_id (default 2, US). The description reiterates 'Given an Amazon ASIN' but does not add new meaning beyond the schema. Baseline score of 3 is appropriate per rules for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact input (ASIN), the diagnostic process (business model identification, supplier/wholesale/arbitrage matching), and the comprehensive output (viability qualifier, move, differentiation, economics, risks, validation steps). It clearly distinguishes from sibling tools like 'evaluate_asin_sourcing' by emphasizing real-world web matches and an 'honest sourcing read'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when analyzing an ASIN for sourcing opportunities and includes a qualifier 'not get-rich advice', but does not explicitly state when to avoid this tool or suggest alternatives among the many sibling tools (e.g., 'evaluate_asin_sourcing', 'alibaba_supplier_search'). Usage guidance is implicit, not directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_undercompeted_brandsARead-onlyInspect
Find brands with low seller competition but real sales presence. The flagship sourcing discovery tool. Use when the user asks 'find brands with few sellers', 'low competition brands', 'undercompeted brands under $50', 'brands I could source with little competition', or any variant of 'find me something to sell'. Pass seed_brand when user mentions a reference brand ('brands like Ninja', 'low competition in the same category as OXO') to constrain results to the same root category.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | ||
| seed_brand | No | Reference brand to derive category from. Results stay in the same root category. | |
| category_id | No | Filter to a specific root category ID. Overrides seed_brand if both given. | |
| max_sellers | No | Maximum unique sellers (competition ceiling). Default 20. | |
| min_sellers | No | Minimum unique sellers (default 10). Drops single-seller / brand-owner-only 'PL junk' so results show proven multi-seller demand (the default 10–20 window: under-competed but real). | |
| max_avg_price | No | Maximum average buybox price in USD. Omit for no price filter. | |
| min_avg_price | No | Minimum average buybox price in USD. Omit for no price filter. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| min_buybox_days | No | Minimum observed buybox days in last 3 months (sales floor). Default 30. | |
| include_catchall | No | Include reseller umbrella brands (PATIKIL, Uxcell, etc.). Default false. | |
| max_velocity_90d | No | ||
| min_velocity_90d | No | ||
| max_control_score | No | ||
| min_control_score | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint: true, and the description adds meaningful behavioral context: it emphasizes 'real sales presence' and explains that seed_brand constrains results to the same root category. The schema parameter descriptions further disclose that the default seller window drops single-seller 'PL junk,' which helps set expectations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose and keeps the main text to three sentences. The long list of example queries is somewhat verbose but earns its place by disambiguating natural-language variants. No filler beyond 'flagship,' which adds a small amount of positioning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 18 optional parameters and no output schema, the description explains the core discovery intent and seed_brand behavior, but it does not describe what the returned brand data looks like, whether results are paginated, or how the filter parameters combine. The detailed default explanations in the schema help, but the absence of output semantics leaves a noticeable gap for a flagship discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 56%, and the description adds valuable semantic examples for seed_brand ('brands like Ninja', 'low competition in the same category as OXO'). However, 8 parameters (limit, brand_contains, asin_count, velocity_90d, control_score filters) lack descriptions in both the schema and the tool description, leaving their exact semantics underspecified. This is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find brands with low seller competition but real sales presence.' This clearly defines the tool's scope and differentiates it from sibling tools like find_single_seller_brands by emphasizing multi-seller demand. Calling it 'the flagship sourcing discovery tool' reinforces its primary role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit 'Use when' guidance with concrete query examples ('find brands with few sellers', 'undercompeted brands under $50') and explains when to pass seed_brand. It does not, however, name alternatives or state when not to use this tool versus sibling discovery tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_underserved_nichesARead-onlyInspect
Find UNDER-SERVED NICHES — real SUBCATEGORIES with genuine demand but room to compete, ranked by private-label winnability from 2-year marketplace data. Returns CATEGORIES / sub-categories (e.g. 'Wireless Earbuds', 'Cable Organizers'), NEVER brands. This is the RIGHT tool for ANY niche-discovery question: 'under-served niches', 'niches in ', 'find a niche to enter', 'what niche should I sell in', 'underserved categories', 'gaps in ', 'where's the opportunity in '. When the user names a department or category (e.g. 'electronics', 'home & kitchen'), pass it as category_name to scope the niches to that area. Do NOT use category_undercompeted_brands or find_undercompeted_brands for niche questions — those return BRANDS, not niches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| niche | No | Exact niche (subcategory) name, case-insensitive. | |
| price_max | No | Maximum average price USD (default 70 — the PL margin band). | |
| price_min | No | Minimum average price USD (default 20 — the PL margin band). | |
| category_id | No | Root category id to scope to (overrides category_name). | |
| competition | No | 'low' (stricter Amazon-presence ceiling) or 'balanced' (default). | |
| category_name | No | Department/category to find niches within (e.g. 'electronics', 'home & kitchen', 'pet supplies'). Omit for niches across all departments. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| niche_contains | No | ||
| unhappy_shoppers | No | Bias toward niches where shoppers are underwhelmed (a credible dissatisfaction gap = a PL opening). Default false. | |
| pl_winnability_in | No | Comma-separated verdicts to keep (Strong/Moderate/Weak). | |
| max_competing_brands | No | ||
| max_seller_diversity | No | ||
| min_competing_brands | No | ||
| min_seller_diversity | No | ||
| max_avg_product_rating | No | ||
| max_monthly_demand_usd | No | ||
| min_avg_product_rating | No | ||
| min_monthly_demand_usd | No | ||
| max_amazon_retail_share_pct | No | ||
| min_amazon_retail_share_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals this is a safe read operation, and the description adds meaningful behavioral context: it returns subcategories only, never brands, ranks by private-label winnability, and leverages 2-year marketplace data. There is no contradiction with annotations, and the description goes beyond the structured metadata in explaining what the tool actually reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than strictly necessary but remains front-loaded: purpose first, then output constraints, then trigger phrases, then exclusions, then category_name usage. The example query list could be trimmed, but every sentence adds practical value for tool selection and invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core use case is covered very well—what the tool returns, when to use it, and when not to. However, with no output schema, the description does not explain return formatting, pagination, or default limit behavior, and the many optional filters remain semantically underdefined. Given the tool's complexity (21 parameters), this leaves some gaps for advanced or precise queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 43%, and the description compensates only for category_name (telling the agent to pass a department when named). The other 21 parameters—such as niche_contains, competition values, min/max price/demand/rating thresholds, and pl_winnability_in—are left without sufficient explanation, so the agent may not know how to format or combine them correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Find') and resource ('UNDER-SERVED NICHES' / subcategories), states that it returns categories and never brands, and clarifies it ranks by private-label winnability from 2-year marketplace data. It also explicitly distinguishes itself from brand-returning sibling tools like find_undercompeted_brands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance with example queries ('under-served niches', 'find a niche to enter', etc.) and says it is the RIGHT tool for any niche-discovery question. It also names forbidden alternatives (category_undercompeted_brands, find_undercompeted_brands), explains why they are wrong (they return brands), and instructs the agent to pass category_name when the user mentions a department.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gating_repricing_adviceARead-onlyInspect
Recommend ungate / arbitrage / avoid for an ASIN, with a 3-bullet rationale citing named metrics (gating_score, amz_retail_dominance_pct, fba_pct, brand_posture). Also returns the ASIN's product brand, title and price (or price range) plus fulfillment (FBA/FBM/Amazon). Use for 'should I try to ungate this?' / 'how should I price this?'.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds useful behavioral context by specifying the output structure (3-bullet rationale with specific metrics) and additional data returned (brand, title, price, fulfillment). This goes beyond the annotation's safety hint, though it does not disclose potential prerequisites or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first covers the main purpose and outputs, the second gives usage context. Every sentence adds value, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description carries the burden of explaining return values. It does this well by listing the recommendation type, rationale length, metrics cited, and the extra product fields. It does not explain edge cases (e.g., when a metric is unavailable) but the coverage is solid for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: marketplace_id is well-documented in the schema, while asin has no description. The tool description refers to 'an ASIN' but does not add further parameter semantics. The purpose of asin is self-evident from the tool name, and marketplace_id is fully covered in the schema, so the description is adequate but not strong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Recommend') and resource ('an ASIN'), and clearly distinguishes the tool's scope from siblings by naming the three decision types (ungate / arbitrage / avoid). It also mentions the unique output of a 3-bullet rationale with named metrics, making it distinct from other ASIN evaluation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use for 'should I try to ungate this?' / 'how should I price this?'', which provides clear context. However, it does not mention when not to use it or alternatives, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keyword_cross_marketplaceARead-onlyInspect
Check which of the 11 Amazon marketplaces a keyword was observed in Amazon's own autocomplete suggestions, with first/last observed dates and an example current suggestion-list position per marketplace. Use when a seller asks 'does anyone type X on Amazon Germany/Japan/…', compares keyword presence across countries, or plans a marketplace expansion (pair with brand_xmarket / operator_xmarket_presence). Exact-keyword match — not volumes, not rankings. Amazon marketplaces only.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The exact keyword to check (e.g. 'electric toothbrush'). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds behavioral details such as exact-keyword matching, exclusion of volumes/rankings, and the scope to Amazon-owned autocomplete data. It also explains the output includes first/last observed dates and an example position, giving agents a clearer picture of behavior without needing an output schema. Minor gap: no mention of empty results or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences: first states core purpose, second gives usage scenarios, third sets exclusions. Every sentence carries useful information with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description fully explains what to expect: per-marketplace observed presence, dates, and an example position. It also clarifies limitations (exact match, Amazon only). No important context is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description reinforces the exact-keyword requirement, but adds little beyond what the schema already specifies ('exact keyword to check'). The parameter is simple and well-documented; the description's addition is marginal but not harmful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks which of the 11 Amazon marketplaces a keyword appears in Amazon's autocomplete suggestions, including dates and position. It explicitly distinguishes from volumes/rankings tools and scopes to Amazon marketplaces, making it distinct from siblings like keyword_demand or brand_xmarket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: when a seller asks about cross-country search behavior, comparing presence, or planning marketplace expansion. It even names complementary tools (brand_xmarket / operator_xmarket_presence) and clarifies it's exact-match only, offering clear guidance on when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keyword_demandARead-onlyInspect
Keywords observed in Amazon's own autocomplete suggestions for a seed term, per marketplace: the current suggestion list(s) for the seed's prefix (each term with its position 1-10 within that list) plus related observed vocabulary starting with the seed, with the marketplaces each term was observed in. Use for listing/backend keyword language, 'what do buyers type for X', or seeding niche/product research with real buyer phrases. No volume figures and no organic-ranking data — observed suggestion vocabulary only. Amazon marketplaces only.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | Yes | Seed term (min 3 characters), e.g. 'electric toothbrush'. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the description adds that it only returns observed suggestion vocabulary and no volume/ranking data, clarifying the data scope. No contradictory statements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: definition first, then use cases, then limitations. It is a bit dense but each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explains the return content in detail: suggestion lists with positions, related vocabulary, and marketplaces. This is complete for a two-parameter read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions; the description adds that the seed term is used as a prefix for autocomplete suggestions and that results include positions 1-10, providing context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as retrieving keywords observed in Amazon's autocomplete suggestions for a seed term, per marketplace, listing positions and related vocabulary. It distinguishes from siblings like keyword_cross_marketplace by specifying autocomplete suggestions and marketplace scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states use cases: listing/backend keyword language, discovering buyer search phrasing, and seeding niche/product research. Also gives exclusions (no volume figures, no organic-ranking data), helping the agent decide when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_violations_todayBRead-onlyInspect
Show active MAP (Minimum Advertised Price) violations for products in the workspace. Use when the user asks 'MAP violations', 'who is selling below MAP', 'price violations today', 'are there any MAP breaches', or any MAP-enforcement question.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Filter to a specific brand. Omit for all workspace brands. | |
| limit | No | ||
| last_seen_to | No | ||
| first_seen_to | No | ||
| retailer_name | No | Exact retailer name (case-insensitive). | |
| brand_contains | No | Substring match on brand (use `brand` for an exact match). | |
| last_seen_from | No | ||
| first_seen_from | No | YYYY-MM-DD. | |
| retailer_domain | No | Exact retailer domain (case-insensitive). | |
| max_map_floor_usd | No | ||
| max_violation_pct | No | Maximum violation percentage below MAP. | |
| min_map_floor_usd | No | ||
| min_violation_pct | No | Minimum violation percentage below MAP (default 0, meaning any violation). | |
| max_observed_price_usd | No | ||
| min_observed_price_usd | No | ||
| product_title_contains | No | ||
| retailer_name_contains | No | ||
| retailer_domain_contains | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint:true, so the tool is safe. The description adds 'active' but doesn't clarify the default time scope (e.g., whether 'today' is implied by name). Behavioral traits beyond safety are limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the core purpose. The second sentence adds useful query examples. No wasted words, but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 18 parameters, no output schema, and low schema coverage, the description should explain key parameters (e.g., time filters, default behavior) but does not. It leaves significant gaps for the agent to understand proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 39% (7 out of 18 parameters have descriptions). The tool description adds no information about any parameters, leaving the agent to infer from names alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows active MAP violations for workspace products, using specific verb and resource. The example queries and sibling context differentiate it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists example user queries that trigger this tool (e.g., 'MAP violations', 'price violations today'), providing clear usage guidance. However, it does not mention when not to use it or suggest alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_competitorsARead-onlyInspect
Who's competing with the seller on their OWN products. Pass an ASIN from your catalog to see the full competitor list for that listing (who wins the buy-box, FBA/FBM, observed price, how long they've been on it) plus your own buy-box / undercut status. Omit the ASIN to get your most-contested products (most competing sellers / where you're being undercut). Requires a connected store (Starter+). Use for 'who am I competing with', 'am I losing the buy-box', 'who else sells B0...', 'where am I under pressure'.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Optional — a specific ASIN from your catalog. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, so the read-only nature is already known. The description adds useful behavioral context by detailing the return content (buy-box winner, FBA/FBM, observed price, seller tenure, and the user's buy-box/undercut status) and the alternative aggregate mode. It also discloses the store connection requirement, enhancing transparency beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Each sentence serves a purpose: defining the tool scope, explaining both invocation modes, stating the prerequisite, and listing example queries. The description is somewhat detailed but efficiently packed with no wasted words, and the structure flows logically from purpose to behavior to usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by detailing the response contents (competitor list, buy-box status, FBA/FBM, price, tenure) and both invocation modes. It also covers the prerequisite and example use queries, making it sufficiently complete for an AI agent to select and invoke the tool correctly in a variety of situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of both parameters, including a full list of marketplace IDs. The description goes beyond the schema by explaining that omitting ASIN triggers an aggregate mode (most-contested products) and that providing it returns a specific listing's competitor list, giving semantic meaning to the optionality.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Who's competing with the seller on their OWN products' and details what information is returned when passing an ASIN, distinguishing it from sibling tools by focusing on the seller's own catalog. It also explicitly lists example queries like 'who am I competing with' and 'am I losing the buy-box', making the purpose clear and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool ('Use for...') and describes two modes: with an ASIN for a specific listing's competitor list, or without it for most-contested products. It also sets a prerequisite ('Requires a connected store (Starter+)') and implicitly excludes non-own products with 'on their OWN products', giving clear usage context, though it doesn't mention alternative tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_opportunitiesARead-onlyInspect
What to source NEXT, adjacent to what the seller already sells. Seeds Webotee's undercompeted-brand and underserved-niche engines from the seller's OWN connected catalog (their dominant brands and categories), excluding brands they already carry. Requires a connected store (Starter+). Use for 'what should I source next', 'expand my catalog', 'adjacent opportunities', 'what else could I sell'.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the readOnlyHint annotation by disclosing key behavioral details: it seeds specific engines (undercompeted-brand and underserved-niche), uses the seller's own connected catalog as a source, excludes brands the seller already carries, and requires a connected store. These are valuable operational insights that directly inform an agent's expectations about the tool's mechanics and prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized, front-loading the core purpose in the first phrase. Each sentence adds distinct value: purpose, source/algorithm, prerequisites, and usage examples. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description effectively covers the tool's purpose, inputs, prerequisite, and filtering logic. The only minor gap is the lack of an explicit description of the return value/format, but since there is no output schema, a little more detail could have been added. Still, the description is sufficiently complete for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single parameter marketplace_id, including a detailed list of marketplace values. The description does not add additional semantic meaning about the parameter, so it neither improves nor detracts from the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'What to source NEXT, adjacent to what the seller already sells.' It specifies the resource (sourcing opportunities) and the scope (adjacent to existing catalog). It also distinguishes from siblings by emphasizing the seller's OWN connected catalog and the exclusion of existing brands, which sets it apart from generic sourcing tools like find_undercompeted_brands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases ('Use for 'what should I source next', 'expand my catalog', 'adjacent opportunities'...') and a prerequisite ('Requires a connected store (Starter+)'). While it doesn't explicitly name alternative tools, the phrase 'adjacent to what the seller already sells' implies when to use this tool versus broader discovery tools. This is clear context, but lacks explicit exclusion guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_productsARead-onlyInspect
The seller's OWN connected Amazon catalog fused with Webotee market intelligence. Each product shows EXACT account data (your price, your inventory, FBA/FBM, listing status) alongside OBSERVED/ESTIMATED market data (sourcing score, the observed market buy-box price, how many sellers are on the listing, estimated 30-day units, cross-marketplace spread) and a price_vs_market read (below_market / at_market / above_market). Requires a connected store (Starter+). Use when the seller asks about their own products, 'how am I priced vs the market', 'which of my products are under pressure', or 'show my catalog'.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Ordering: score (default), undercut, price, inventory. | score |
| brand | No | Optional — only products of this brand. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds rich behavioral context by specifying the exact data dimensions returned (account data vs observed/estimated market data) and the requirement for a connected store. It avoids contradicting annotations and adds value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient, delivering the key concept (fused catalog) and usage in two sentences. Every phrase adds value, though the first sentence is long and could be slightly restructured for easier scanning. Still well within acceptable length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the output fields and their nature (EXACT vs OBSERVED/ESTIMATED). It covers purpose, usage, prerequisites, and output semantics, making it complete for a read-only list tool. Slight gap: no mention of pagination or limits, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is well-described in the input schema (sort enum, brand optional, marketplace_id values). The description itself does not add parameter-level detail beyond what's already present, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: showing the seller's own connected Amazon catalog fused with market intelligence. It distinguishes from siblings by emphasizing 'seller's OWN' products and listing the specific data fields, which separates it from competitor-focused or opportunity-focused tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage triggers ('when the seller asks about their own products', 'how am I priced vs the market', etc.) and a prerequisite (connected store Starter+). It lacks explicit when-not-to-use or named alternatives, but the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_storeARead-onlyInspect
Store-level summary of the seller's connected Amazon catalog: number of products tracked, distinct brands, FBA vs FBM split, total on-hand inventory units (EXACT, from the account), average Webotee sourcing score, how many products are currently undercut, and how many have a cross-marketplace (Walmart) opportunity. Requires a connected store (Starter+). Use for 'how is my store doing', 'summarise my catalog', or a dashboard overview.
| Name | Required | Description | Default |
|---|---|---|---|
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds useful context about the need for a connected store and that inventory units are 'EXACT, from the account,' indicating data provenance. It is consistent with annotations and describes no side effects, but doesn't go beyond prerequisite and data accuracy details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence that front-loads the tool's purpose and lists all included metrics. While it runs long, every item adds value and there is no filler. It could be more scannable with bullet points, but the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional param, no output schema), and the description covers the summary content, prerequisites, and usage scenarios. The metric list doubles as expected output documentation. It lacks explicit return formatting or error handling but is adequate for a dashboard summary tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% because marketplace_id has a full description with allowed values and a default. The description itself does not mention the parameter, but the schema fully documents it, so the baseline of 3 applies without additional value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Store-level summary of the seller's connected Amazon catalog' and enumerates specific metrics (products tracked, brands, FBA/FBM split, inventory, sourcing score, undercut count, Walmart opportunity), clearly distinguishing it from sibling tools like my_products or my_competitors. The verb 'summary' and resource 'catalog' are explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: 'Use for 'how is my store doing', 'summarise my catalog', or a dashboard overview.' Also states a prerequisite 'Requires a connected store (Starter+)'. However, it does not name alternative tools or give exclusion criteria, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_brands_by_competitionARead-onlyInspect
Given one or more operator (seller) names, return the brands they carry ranked by seller competition level. Use when the user asks 'which brands sold by these operators have the least competition', 'out of these operators, show me brands with fewest sellers', 'low-competition brands for operator X', or any follow-up that chains operator names to brand-level competition metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by competitor count: 'asc' (least competition first, default) or 'desc'. | |
| brand | No | Exact brand (case-insensitive). | |
| limit | No | ||
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| operator_names | Yes | List of seller/operator names to look up. | |
| max_competitor_count | No | ||
| min_competitor_count | No | ||
| max_operator_fba_share_pct | No | ||
| min_operator_fba_share_pct | No | ||
| max_observed_buybox_days_3m | No | ||
| min_observed_buybox_days_3m | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds that results are ranked by seller competition level. It does not disclose pagination, default sorting behavior, or how competition is calculated, but with read-only annotations the bar is lower and the added context is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the core function, the second provides concrete usage examples. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 14 parameters and no output schema, the description should explain return structure and filter semantics more thoroughly. It only gives a high-level result indication and basic usage, leaving out pagination, filter options, and output fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, and the description does not compensate for the many undocumented filter parameters (min_competitor_count, brand_contains, min/max_asin_count, etc.). It only clarifies operator_names and the ranking concept, leaving most parameters without meaningful semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb+resource ('return the brands they carry') and clearly scopes the tool to operator names ranked by seller competition level. This distinguishes it from siblings like operator_top_brands or find_undercompeted_brands by the chaining of operators to brand-level competition metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance with concrete user query examples for low-competition brands. It lacks when-not-to-use or alternative tool mentions, but the usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_buybox_lossesARead-onlyInspect
For ONE operator (seller), find the ASINs where it's losing the buy-box — it carries the listing but holds less than max_buybox_share_pct of the buy-box — ranked by estimated 30-day revenue at risk. Each leak returns who's winning the box, the operator's vs the winner's sanitized price and the gap, how many sellers are on the listing, a situation (price_gap | tied_price | amazon_in_box | reseller_swarm), a suggested_action (reprice_to_win | enable_fba | defend_match_only | evaluate_or_exit), and a suggested_target_price when the box is winnable on price. Totals include the recoverable price-gap-only revenue. Use when the user asks 'where is seller X losing the buy-box', 'X's buy-box leaks', 'which ASINs should X reprice', 'where is X leaving money on the table', or 'what's X's revenue at risk'. Sortable by revenue-at-risk (default), price gap, buy-box share, or listing revenue.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort the leaks: revenue_at_risk (default), price_gap_pct (biggest recoverable gap), buybox_share (lowest first), or listing_revenue. | |
| limit | No | Leaks to return (default 25, max 100). This tool pages. | |
| min_price | No | Only ASINs whose listing price >= this (skip pennies). | |
| situation_in | No | Comma-separated situations to keep (price_gap, tied_price, amazon_in_box, reseller_swarm). | |
| operator_name | Yes | Seller/operator name. | |
| fulfillment_in | No | Comma-separated operator fulfillment to keep (FBA, FBM). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| min_est_revenue_30d | No | Only ASINs with estimated 30-day listing revenue >= this. | |
| max_buybox_share_pct | No | Only ASINs where the operator holds LESS than this share of the buy-box (0-1; default 0.75 — i.e. it's not dominating). | |
| exclude_amazon_in_box | No | Drop ASINs where Amazon holds the box (you can't win those). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, and the description adds substantial behavioral context: the precise definition of 'losing' (holds < threshold), the output fields (situation, suggested_action, suggested_target_price), and that totals include recoverable revenue. This goes far beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the core purpose, then efficiently covers output fields, use cases, and sortability. Every sentence adds value without filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters and no output schema, the description does an excellent job of explaining the return contract (who wins, price gap, situation, action, target price) and the filtering/ranking logic. It also includes practical usage examples, making it nearly complete for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some context about default sorting and threshold semantics, but it largely reiterates what the schema already documents. There is no significant enhancement beyond the structured parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'For ONE operator (seller), find the ASINs where it's losing the buy-box' and defines the loss condition as holding less than max_buybox_share_pct. It highlights the key output (ranked by estimated 30-day revenue at risk) and distinguishes itself from broader buy-box tools by scoping to a single operator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit natural-language use cases ('where is seller X losing the buy-box', 'which ASINs should X reprice') which clearly indicate when to use it. However, it does not mention when not to use it or alternatives like buybox_loss_alert, so it lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_category_dominanceARead-onlyInspect
Show which product categories an operator dominates. Returns categories ranked by the operator's brand count and observed buybox days in each. Use when the user asks 'what categories does this seller focus on', 'operator category breakdown', 'where does Amazon Warehouse dominate', or any category-scoped operator question.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category_name | No | Exact category name (case-insensitive). | |
| operator_name | Yes | Seller/operator name. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_brand_count | No | ||
| max_total_asins | No | ||
| min_brand_count | No | ||
| min_total_asins | No | ||
| category_name_contains | No | ||
| max_total_observed_buybox_days | No | ||
| min_total_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true in annotations, the description need not restate safety. It adds behavioral context by explaining the output is ranked by 'brand count and observed buybox days,' which tells the agent what to expect. However, it does not define 'dominates' precisely, nor mention aggregation periods or result limits. It adds some value but not deep transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states purpose and output; the second provides example queries and a general usage rule. Information is front-loaded and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 11 parameters, no output schema, and sparse schema descriptions. The description covers the core purpose and usage but omits any explanation of common filtering parameters, return value structure, or edge cases. Without output schema, the agent is left guessing the response shape and available filters, making this incomplete for complex invocations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27%, meaning most parameters (limit, min_brand_count, max_total_asins, category_name_contains, etc.) lack inline descriptions. The tool description does not compensate: it only references 'brand count' and 'observed buybox days' in the output but never explains how the filter parameters relate. With low schema coverage, the description was expected to clarify these parameters and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Show which product categories an operator dominates.' It specifies the output ('returns categories ranked by the operator's brand count and observed buybox days in each') and provides concrete example queries ('where does Amazon Warehouse dominate'), distinguishing it from operator-focused siblings like operator_top_brands or operator_classifier by emphasizing category scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit triggers: 'Use when the user asks "what categories does this seller focus on", "operator category breakdown", "where does Amazon Warehouse dominate", or any category-scoped operator question.' This strongly implies when to use it, though it does not name alternative tools or mention when not to use it, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_classifierARead-onlyInspect
Label what kind of operator a seller is — amazon, brand-direct, likely-authorized-retailer, arbitrage, or reseller — from our cross-brand operator signals (how many brands they span, their fulfilment mix, their primary brand). Use when the user asks 'what kind of seller is this', 'is this an authorized retailer or an arbitrage seller', 'classify this operator'. Heuristic label, not a legal determination. Amazon US/UK.
| Name | Required | Description | Default |
|---|---|---|---|
| operator_name | Yes | Seller/operator name. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds valuable context: the label is heuristic, not a legal determination, and is based on specific signals (brand span, fulfilment mix, primary brand). It also mentions market scope (Amazon US/UK), though the schema list is broader, creating a minor ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: it front-loads the core action, provides usage examples, and adds a caveat. There is no fluff; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage examples, the heuristic nature, and the signals involved. It does not detail the return format (and there is no output schema), but for a simple classification tool, this is sufficient. The market scope inconsistency (US/UK vs. schema's many marketplaces) is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to re-explain parameters. It adds slight context by referencing signals that inform the classification, but it does not significantly enhance the meaning of operator_name or marketplace_id beyond their schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: labeling operator types ('amazon, brand-direct, likely-authorized-retailer, arbitrage, or reseller') based on cross-brand signals. It uses a specific verb ('Label') and resource, and the use-case examples ('what kind of seller is this') distinguish it from sibling tools like operator_compare or operator_top_brands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'Use when' phrasing with example user queries, which clearly indicates when to invoke the tool. However, it lacks explicit 'when not' guidance or named alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_compareARead-onlyInspect
ASIN-level buy-box head-to-head between two operators (sellers). For the ASINs BOTH carry (contested), returns who holds the buy-box (winner), each operator's buy-box share, their sanitized average prices and the price gap, how many OTHER sellers are on the listing, whether Amazon holds the box, and a situation tag (amazon_in_box | reseller_swarm | tied_price | price_gap) — plus operator_a's estimated 30-day revenue-at-risk. Also returns each side's WHITESPACE: high-revenue ASINs that operator wins which the OTHER doesn't carry (expansion targets). Use when the user asks 'compare seller A vs seller B', 'where do these two sellers overlap / compete', 'who wins the buy-box between them', 'show me the head-to-head', or 'what does A sell that B doesn't'. Sortable by revenue-at-risk (default), price gap, or share gap.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort the contested list: revenue_at_risk (operator_a's 30d revenue at risk, default), price_gap (abs A-vs-B price gap), or share_gap (abs buy-box share gap). | |
| brand | No | Optional — scope the comparison to a single brand's ASINs (catalog sizes, contested, and whitespace are all limited to that brand). Omit for all brands. | |
| limit | No | Contested ASINs to return (default 25, max 100). This tool pages. | |
| operator_a | Yes | First operator/seller name (the focal seller — revenue-at-risk + situation are from A's view). | |
| operator_b | Yes | Second operator/seller name. | |
| contested_only | No | If true, skip the whitespace sections (only the head-to-head contested list). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| whitespace_for | No | Which side's whitespace to compute (default both). | |
| include_whitespace | No | Include each side's whitespace ASINs (default true). | |
| min_est_revenue_30d | No | Only contested ASINs with estimated 30-day listing revenue >= this. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is covered. The description adds behavioral context: default sort is revenue-at-risk, sortable by three fields, contested vs whitespace output, and 'This tool pages' in the limit parameter. It goes beyond the annotations by explaining the situation tags and the revenue-at-risk concept, though it doesn't discuss rate limits or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: first sentence defines the core comparison, second sentence lists outputs, third gives usage triggers, fourth notes sorting options. Every sentence adds distinct information with no filler or repetition. It is appropriately sized for a complex tool with 10 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no output schema, the description is quite complete: it explains the return data (winner, shares, prices, price gap, other sellers, Amazon box, situation tag, revenue-at-risk, whitespace) and covers default behaviors (sort, limit) indirectly. It doesn't explicitly describe pagination mechanics beyond 'This tool pages' in the schema, but the combination of schema and description is sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description enriches parameter meaning by defining 'contested' (ASINs both carry), 'whitespace' (high-revenue ASINs one operator wins that the other doesn't carry), and clarifying operator_a as the focal seller (revenue-at-risk and situation are from A's view). This adds value beyond the schema's terse parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb+resource: 'ASIN-level buy-box head-to-head between two operators (sellers)'. It enumerates the exact outputs (winner, buy-box share, prices, price gap, other sellers, situation tag, revenue-at-risk, whitespace) and clearly distinguishes this from sibling tools like operator_buybox_losses or operator_classifier by focusing on pairwise comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides trigger phrases: 'compare seller A vs seller B', 'where do these two sellers overlap / compete', 'who wins the buy-box between them', 'show me the head-to-head', or 'what does A sell that B doesn't'. This gives clear when-to-use guidance. However, it does not mention when not to use it or explicitly name alternative tools, so it misses the 'when-not/alternatives' component for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_concentrationARead-onlyInspect
Operator concentration (HHI) across a set of ASINs or a brand's catalog — reveals when the same operator quietly controls many of the 'independent' listings. Returns the HHI, a concentration label, and the top operators with how many listings each dominates. Use for private-label fragmentation checks: 'how concentrated is this niche', 'who controls this brand's listings', 'is one operator running most of these'. Amazon US/UK. Optional filters (all default to no filter): min/max hhi (gates the whole analysis by its concentration index); on the top_operators list — operator (exact, case-insensitive) + operator_contains, min/max share_pct, min/max listings_controlled.
| Name | Required | Description | Default |
|---|---|---|---|
| asins | No | ASIN set to analyze. | |
| brand | No | Or a brand whose catalog to analyze. | |
| limit | No | ||
| max_hhi | No | ||
| min_hhi | No | Only return the analysis if its HHI >= this (else empty top_operators). | |
| operator | No | Keep only this operator (exact, case-insensitive) in top_operators. | |
| max_share_pct | No | ||
| min_share_pct | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| operator_contains | No | ||
| max_listings_controlled | No | ||
| min_listings_controlled | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation covers the safety profile. The description adds meaningful behavioral context: min/max hhi gates the entire analysis, min_hhi can yield empty top_operators, filters default to no filter, and it explains the return components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then output, then usage examples, then filters. It is dense and every sentence adds value, though slightly long due to enumerating many filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters and no output schema, the description covers the main inputs, filters, marketplace context, and output shape. It does not explicitly state whether asins and brand are mutually exclusive or what happens if neither is provided, but the overall usage is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 42%, but the description compensates by explaining the semantics of min/max hhi, operator/operator_contains, min/max share_pct, and min/max listings_controlled, including exact case-insensitive matching. It does not mention the 'limit' parameter but covers most undocumented fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as computing an HHI concentration index across ASINs or a brand's catalog, and identifies the output (HHI, concentration label, top operators). It distinguishes itself from sibling operator tools by focusing specifically on concentration analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage examples ('how concentrated is this niche') and frames it for private-label fragmentation checks. It does not explicitly name alternative tools or state when not to use it, so it lacks full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_lost_brandsARead-onlyInspect
Show brands an operator recently stopped selling (churn signal). Use when the user asks 'what brands did this seller drop', 'operator churn', 'brands lost by X', or any question about an operator shrinking their catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand (case-insensitive). | |
| limit | No | ||
| since_days | No | Window to compare (default 30, max 180). Brands present before but absent in the last since_days. | |
| first_seen_to | No | ||
| operator_name | Yes | Seller/operator name. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | ||
| last_seen_week_to | No | ||
| last_seen_week_from | No | YYYY-MM-DD lower bound on last_seen_week. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates this is a read-only operation. The description adds useful context by clarifying what constitutes 'lost' brands (recently stopped selling) and framing it as a churn signal. However, it does not disclose how the 'recent' window is determined or other behavioral details, which is acceptable given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose ('Show brands an operator recently stopped selling') followed by concise usage examples. Every word earns its place, with no redundant information or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters and no output schema, the description covers the primary user intent and usage scenarios well. However, it does not explain operational nuances such as how date filters interact, what constitutes the churn window, or the shape of the output list. For a simple read-only list tool, this is a minimum-viable level of completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with 5 of 10 parameters lacking descriptions. The tool description does not elaborate on any parameter semantics; it only hints at 'recently' which loosely connects to since_days but offers no concrete guidance. This fails to compensate for the incomplete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Show brands an operator recently stopped selling') with a specific resource and scope. This distinguishes it from sibling tools like operator_new_brands by focusing on lost brands as a churn signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit trigger phrases such as 'what brands did this seller drop' and 'operator churn', giving clear when-to-use guidance. It does not discuss when not to use it or name alternatives, but the examples are specific enough for an agent to recognize the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_new_brandsARead-onlyInspect
Show brands an operator recently started selling. Use when the user asks 'what new brands did this seller pick up', 'operator new brands', 'what is Amazon Warehouse selling now that it wasn't before', or any question about an operator expanding their catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand (case-insensitive). | |
| limit | No | ||
| since_days | No | How far back to look for new brands (default 30, max 180). | |
| first_seen_to | No | ||
| operator_name | Yes | Seller/operator name. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | YYYY-MM-DD lower bound on first_seen. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds the notion of 'recently started selling' and 'expanding catalog', but does not disclose data freshness, pagination, or parameter behavior beyond what the schema provides. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first defines the action, the second lists example user phrasings. It is concise, front-loaded with the core purpose, and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters and no output schema. While the schema documents many parameters and the readOnly annotation covers safety, the description doesn't clarify undocumented parameters or return structure. It provides enough context for basic invocation via example queries but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not reference any parameters, and schema coverage is only 63% with limit, brand_contains, and first_seen_to left undocumented. The description fails to compensate for these gaps, offering no additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows brands an operator recently started selling, with specific example queries. It distinguishes from siblings by emphasizing 'recently started' and 'expanding catalog', though it doesn't explicitly name alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit trigger phrases such as 'what new brands did this seller pick up' and 'operator new brands', providing clear context for when to use the tool. It does not mention exclusions or alternatives, but the usage cases are well illustrated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_new_on_brandARead-onlyInspect
Operators newly OBSERVED on a brand in a recent window — counted at BRAND level: a seller's FIRST observation anywhere across the brand's ASINs falls in the window. This is coverage-robust (a long-present seller was almost certainly seen on some ASIN earlier, so they correctly drop out) — a trustworthy directional 'new on the brand' count, not the inflated per-ASIN number. Still first-OBSERVED, not provably first-to-market. Returns each operator with first_observed, how many of the brand's ASINs we've seen them on, and whether still active. Use for 'who's new on ', 'who's newly showing up on my brand', 'recent sellers on '. Amazon US/UK. since_days already bounds first_observed below; optional filters (all default to no filter): operator (exact, case-insensitive) + operator_contains, first_observed_from/_to, min/max n_asins_on_brand, min/max total_days_seen, min/max observed_buybox_days, still_active (true/false).
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand to watch. | |
| limit | No | ||
| operator | No | Exact operator/seller name (case-insensitive). | |
| since_days | No | Window in days (default 30, max 180). | |
| still_active | No | Keep only operators last seen within 7 days (true) or not (false). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| first_observed_to | No | ||
| operator_contains | No | ||
| first_observed_from | No | YYYY-MM-DD lower bound on first_observed. | |
| max_total_days_seen | No | ||
| min_total_days_seen | No | ||
| max_n_asins_on_brand | No | ||
| min_n_asins_on_brand | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the brand-level counting methodology, coverage-robustness, and the first-observed vs first-to-market limitation. It also details the output fields, adding meaningful behavioral context. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the core definition, then moves to methodology, output, use cases, and filters. It earns its length, though the filter list at the end is a bit unwieldy and could benefit from bullets. Overall, it is appropriately sized for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, no output schema, and only a readOnly hint, the description covers the purpose, methodology, output fields, marketplaces, and available filters. It does not mention limit or pagination, but otherwise provides a comprehensive picture for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description must compensate. It lists all optional filters and explains key semantics like since_days bounding first_observed and brand-level counting, but does not explain the meaning of parameters like min/max total_days_seen or min/max observed_buybox_days. The parameter names are somewhat self-explanatory, but the description only partially compensates for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely defines the tool as counting operators newly OBSERVED on a brand, with brand-level aggregation, and explicitly contrasts it with the inflated per-ASIN count. It specifies the return fields (first_observed, number of ASINs, still_active) and the use cases, making it unmistakable what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: "who's new on <brand>", "who's newly showing up on my brand", and "recent sellers on <brand>". It also clarifies the directional nature (not first-to-market). However, it does not explicitly name alternative sibling tools or state when not to use it in favor of another tool, so it misses the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_resells_whatARead-onlyInspect
The arbitrage sourcing feed: given an ASIN (or a seller/operator name), find the OTHER ASINs the operators on that listing also resell, ranked by sourcing fit (our composite sourcing score) then estimated 30-day sales. De-duped against the ASINs the user already tracks, so it surfaces NEW candidates. Use when the user says 'what else does this seller carry', 'find more like this from the same operators', 'arbitrage leads from this ASIN's sellers'. Each candidate ASIN also carries product brand, title, and price (or price range) plus its fulfillment (FBA/FBM/AMZ + amz/fba pct). Amazon US/UK. Optional filters (all default to no filter): min/max sourcing_score, est_units_30d, buybox_avg_price; resold_by_contains; the shared product/fulfillment block (product_brand, product_title_contains, min/max_price, fulfillment_in, amz/fba pct).
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | An ASIN whose operators to expand from. | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| operator_name | No | Or a seller/operator name directly. | |
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| max_est_units_30d | No | ||
| min_est_units_30d | No | ||
| max_sourcing_score | No | ||
| min_sourcing_score | No | Only candidates with sourcing score >= this. | |
| resold_by_contains | No | Keep candidates resold by a seller whose name contains this. | |
| max_buybox_avg_price | No | ||
| min_buybox_avg_price | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide readOnlyHint=true. The description adds substantial behavioral detail beyond that: ranking order (sourcing fit then 30-day sales), de-duplication against already-tracked ASINs, inclusion of product and fulfillment fields, and market coverage (US/UK). This goes well beyond the annotation's safety indication. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense, with every clause adding relevant information. It front-loads the core purpose and then systematically covers ranking, de-duplication, output fields, marketplaces, and filters. The use of semicolons to separate filter groups is efficient, though a bit run-on. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with 21 parameters and no output schema, the description is notably complete: it specifies input, ranking, de-duping, output fields, marketplace support, and filter categories. It omits details like pagination/limit behavior and some filter semantics, but the overall picture is strong enough for an agent to invoke the tool with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate. It does meaningfully explain the core input (asin or operator_name) and groups optional filters (min/max sourcing_score, est_units_30d, buybox_avg_price, etc.), adding semantics like 'all default to no filter'. However, several parameters lack explanation (e.g., limit, marketplace_id, min_fulfillment_amz_dom_pct, product_brand_contains), and the description doesn't fully bridge the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: given an ASIN or seller/operator name, find other ASINs that the same operators resell. It uses specific verbs ('find', 'resell', 'ranked') and describes the output (candidates with brand, title, price, fulfillment). It also distinguishes itself from siblings by explicitly listing user intents ('what else does this seller carry', 'arbitrage leads from this ASIN's sellers') that map to this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-to-use guidance via concrete example queries ('what else does this seller carry', 'find more like this from the same operators', 'arbitrage leads from this ASIN's sellers'). It does not name alternative tools or provide exclusionary guidance, so it falls short of a 5, but the context is strong enough to guide appropriate selection among the many sibling operator tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_top_asinsARead-onlyInspect
Show the ASINs an operator wins the buybox on most often, ranked by ESTIMATED 30-day sales by default. For each ASIN it returns the operator's estimated units sold and revenue in the last 30 days (est_units_30d, est_revenue_30d — the product's sales estimate weighted by the operator's buy-box share) plus the operator's BUYBOX SHARE (percent of observed days it held the buybox; normalized, not raw days). Sortable by est_sales (default), observed buybox days won, price, or days seen. Use when the user asks 'what ASINs does this seller win on', 'top ASINs for operator X', 'what does this seller sell the most of', 'best products for this seller', or any ASIN-level operator drill-down. Each ASIN also carries product brand, title, and price (or price range) plus its fulfillment (FBA/FBM/AMZ + amz/fba pct).
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| sort | No | Sort order: est_sales (estimated 30-day revenue, default), buybox_days (observed buybox days won), price, or days_seen. | |
| limit | No | Number of ASINs to return (default 10, max 50). | |
| max_price | No | ||
| min_price | No | ||
| est_basis_in | No | Comma-separated sales-estimate sources to keep. | |
| last_seen_to | No | ||
| asin_contains | No | ||
| first_seen_to | No | ||
| max_days_seen | No | ||
| min_days_seen | No | ||
| operator_name | Yes | Seller/operator name. | |
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| last_seen_from | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | YYYY-MM-DD. | |
| max_est_units_30d | No | ||
| min_est_units_30d | No | ||
| max_est_revenue_30d | No | ||
| min_est_revenue_30d | No | ||
| max_buybox_avg_price | No | ||
| max_buybox_share_pct | No | ||
| min_buybox_avg_price | No | ||
| min_buybox_share_pct | No | Only ASINs where the operator's buybox share >= this. | |
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint: true, so the agent knows this is a safe read operation. The description adds meaningful behavioral context beyond that: it explains that est_units_30d and est_revenue_30d are 'the product's sales estimate weighted by the operator's buy-box share,' and that buybox share is 'normalized, not raw days.' It also discloses sortable fields and that each result carries product details and fulfillment info. These details help the agent understand the semantics of the output without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the main purpose, then adds return-field semantics, sort behavior, and usage examples. Every sentence provides value—there is no filler or redundant restatement of the title. It could be split into bullets for readability, but it remains concise and well-structured for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 33 parameters and no output schema, the description needs to explain the shape of the response. It does so by listing the key return fields (est_units_30d, est_revenue_30d, buybox share, product brand, title, price, fulfillment) and clarifying the normalization of metrics. It also gives enough context for the agent to invoke the tool with confidence (operator and sort). While it doesn't enumerate every available filter, the core use case is fully covered, making it complete enough for selection and basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30%, so the description should compensate. It does add meaning for the sort parameter by explaining the enum values in context (e.g., est_sales is 'estimated 30-day revenue, default') and clarifies the main required parameter operator_name through examples. However, it does not describe the many filter parameters (price ranges, dates, fulfillment filters, etc.), and several params like est_basis_in remain ambiguous. The description focuses on output fields rather than input parameters, so it only partially compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Show the ASINs an operator wins the buybox on most often, ranked by ESTIMATED 30-day sales by default.' This clearly states what the tool does and the primary output. It distinguishes itself from siblings like operator_top_brands by focusing on ASIN-level drill-down rather than brand-level, and it includes specific example user queries that reinforce its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context with example user queries: 'what ASINs does this seller win on', 'top ASINs for operator X', etc., and notes it is for 'any ASIN-level operator drill-down.' This gives an agent clear signals for when to invoke the tool. It does not explicitly list exclusions or alternatives, but the emphasis on ASIN-level vs. brand-level (e.g., operator_top_brands) makes the boundary clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_top_brandsARead-onlyInspect
Show the brands an operator sells the most of, ranked by ESTIMATED 30-day sales by default. For each brand the operator carries it returns the operator's estimated units sold and revenue in the last 30 days (est_units_30d, est_revenue_30d — the estimated sales of the ASINs the operator wins for that brand, weighted by its buy-box share), the number of the brand's ASINs the operator wins, and observed buybox days. Use when the user asks 'what brands does this seller sell the most of', 'top brands for operator X', 'which brands make this seller the most money', or any brand-level operator drill-down by sales. For brand competition (fewest sellers) instead of sales, use operator_brands_by_competition.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: est_sales (estimated 30-day revenue, default), est_units, buybox_days (observed buybox days), or asin_count. | |
| brand | No | Exact brand (case-insensitive). | |
| limit | No | ||
| operator_name | Yes | Seller/operator name. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_asin_count | No | ||
| min_asin_count | No | ||
| max_est_units_30d | No | ||
| min_est_units_30d | No | ||
| max_est_revenue_30d | No | ||
| min_est_revenue_30d | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds useful context beyond that: the estimation methodology (weighted by buy-box share), return fields, and default ranking. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is appropriately structured with a clear purpose, return field details, usage guidance, and an alternative. It is a bit long but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and 14 parameters, the description covers the core return fields and default behavior well. However, it omits details on optional filters and the broader output structure, leaving some gaps for complex invocations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29%; description does not compensate for undocumented parameters such as limit, brand_contains, and min/max filter thresholds. It explains the default sort and returned metrics but leaves most parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool shows an operator's top brands by estimated 30-day sales, with a specific verb and resource. It also differentiates from sibling tool operator_brands_by_competition by explicitly naming it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit query examples ('what brands does this seller sell the most of') and an explicit alternative: 'For brand competition (fewest sellers) instead of sales, use operator_brands_by_competition.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
operator_xmarket_presenceARead-onlyInspect
Check whether an operator sells on Amazon US, Amazon UK, and/or Walmart. Returns per-marketplace brand count, ASIN count, and observed buybox days. Use when the user asks 'does this seller sell on Walmart too', 'cross-marketplace presence', 'is this operator on Amazon UK', or any multi-marketplace operator question.
| Name | Required | Description | Default |
|---|---|---|---|
| operator_name | Yes | Seller/operator name. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. Description adds value by detailing the exact metrics returned (brand count, ASIN count, buybox days), providing transparency beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: first sentence states function and output, second sentence gives usage examples. Perfectly front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately describes inputs and outputs. The return fields are explicitly listed, making it complete enough for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with a basic description ('Seller/operator name.'). The tool description adds context that the name is used to check multiple marketplaces, enhancing meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks operator presence on Amazon US, UK, and Walmart, and lists specific return values (brand count, ASIN count, buybox days). It distinguishes from siblings like brand_xmarket by focusing on operators rather than brands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states use cases: 'does this seller sell on Walmart too', 'cross-marketplace presence', 'is this operator on Amazon UK'. No mention of when not to use, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playbook_createAInspect
Save a reusable per-model research workflow (a 'playbook') the user can re-run or schedule. Provide a template_key (one of: brand_watch, new_brand_radar, replenishment_watch, arbitrage_feed, defend_my_niche, find_my_next_niche, brand_defense_daily, expansion_radar, dropship_watch, spread_hunter, map_sweep, operator_network_expose, gating_risk_guardian) with its scope, OR custom steps. scope holds the inputs every step shares (e.g. {"brand":"Nike"} or an ASIN). Use when the user says 'save this as a weekly check', 'make a playbook for ...', 'automate this research'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The playbook's label. | |
| scope | No | Shared inputs for the steps, e.g. {"brand":"Nike"}. | |
| steps | No | Custom ordered [{tool,args}] (instead of a template). | |
| schedule | No | Run cadence (default = template's or manual). | |
| template_key | No | Built-in template to seed from. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, and the description confirms a write operation ('Save'). The description explains that the tool accepts either a template_key with scope or custom steps. However, it does not disclose return value, idempotency, or potential overwrite behavior, which are gaps for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with three sentences, front-loading the purpose. It is concise but could be more structured with bullet points for template_key list. Overall, it is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 params, nested objects, no output schema), the description covers the two modes and usage examples. However, it lacks information about the return value (e.g., playbook ID) and error handling, which are important for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the schema (100% coverage). The description adds value by explaining the relationship between template_key and steps (OR), and clarifying that scope holds shared inputs. This complements the schema well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'save' and the resource 'playbook', specifying it creates a reusable research workflow. It distinguishes from sibling tools like playbook_list, playbook_run_now, playbook_schedule by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when the user says "save this as a weekly check", "make a playbook for ...", "automate this research".' This provides clear context for when to invoke. It does not mention alternatives or when not to use, but the usage guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playbook_listARead-onlyInspect
List the workspace's saved playbooks (name, schedule, last run) and the built-in templates available. Use when the user asks 'what playbooks do I have', 'show my saved workflows', 'what automations are set up'.
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Only active (true) or only paused (false) playbooks. | |
| schedule_in | No | Comma-separated cadences to keep (manual/daily/weekly). | |
| last_run_at_to | No | ||
| template_key_in | No | Comma-separated template keys to keep. | |
| last_run_at_from | No | YYYY-MM-DD; only playbooks last run on/after this. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by specifying the scope (saved and built-in) and the fields returned, complementing the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the first captures the core action and returns, the second provides usage examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the description adequately covers purpose, scope, and usage examples. Minor lack of pagination or ordering details but standard list behavior is assumed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (80%), so baseline is 3. The description does not provide additional parameter-specific details beyond what the schema already includes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists saved playbooks and built-in templates, with specific fields (name, schedule, last run). It distinguishes from sibling tools like playbook_create and playbook_run_now by focusing solely on listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit example queries are provided ('what playbooks do I have', 'show my saved workflows', 'what automations are set up'), giving clear guidance on when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playbook_run_nowAInspect
Run a saved playbook right now and return its digest (also saved to the in-app inbox). Use when the user says 'run my playbook', 'check my brand watch now', 'run that workflow'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context that the tool runs a playbook, returns a digest, and saves to the inbox, which is beyond the readOnlyHint=false annotation. However, it lacks details on side effects, permissions, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences cover the action, result, and usage examples efficiently. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple, the description omits parameter details and return value format. However, it provides usage examples and the result destination, which is sufficient for an experienced user.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain the 'name' parameter beyond implicit use in examples. Schema coverage is 0%, so the description fails to add meaning to the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a saved playbook immediately, returns its digest, and saves to the inbox. It distinguishes from sibling tools like playbook_schedule (scheduled) and playbook_create (creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage examples such as 'run my <name> playbook', indicating when to use this tool. However, it does not specify when not to use it or mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
playbook_scheduleAInspect
Set how often a saved playbook runs automatically (manual, daily, or weekly). Use when the user says 'run this weekly', 'schedule my playbook daily', 'stop the automatic runs' (manual).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| schedule | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, so description is consistent with a write operation. Adds schedule options context but no further behavioral details (e.g., permissions, side effects). Adequate but minimal extra value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first sentence states purpose, second gives usage examples. No redundant information, well front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description covers purpose and usage. However, it lacks context about the 'name' parameter and prerequisites (e.g., playbook must exist). Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains the 'schedule' parameter with its enum values, but does not describe the 'name' parameter (missing that it is the playbook name). Only partially compensates for one of two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Set' and resource 'saved playbook', with explicit schedule options (manual, daily, weekly). Distinguishes from sibling tools like playbook_create, playbook_list, playbook_run_now by focusing on scheduling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides specific usage examples ('run this weekly', 'schedule my playbook daily', 'stop the automatic runs') that cover the main cases. Does not explicitly mention when not to use or alternatives, but the examples make context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_page_contentARead-onlyInspect
The observed page-content record for one Amazon ASIN: description (with its source — prose vs 'About this item' bullets vs brand A+ content), feature bullets, breadcrumb category path, image-gallery URLs, variation count + parent ASIN, stock state, and first/last-observed timestamps. Set include_reviews=true to append the featured customer reviews shown on the page (author, rating, title, trimmed text, verbatim date, verified flag, helpful votes). Use when the user asks what a product's page says or shows — its description, bullets, images, categories, variations — or wants the reviews on a listing. Amazon marketplaces only.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The 10-character Amazon ASIN. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| include_reviews | No | Append the stored featured reviews (max 12). Default false — reviews are opt-in to keep the payload small. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds substantial behavioral context: it describes the record as 'observed' (implying stored/historical data), includes first/last-observed timestamps, notes that reviews are opt-in to keep the payload small, and caps reviews at 12. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: the first enumerates the record fields, the second explains the optional reviews parameter, the third gives usage guidance, and the fourth states the marketplace constraint. Front-loaded with the most important purpose information and no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description compensates by detailing the expected return fields (description, bullets, categories, images, variations, timestamps, etc.) and the conditional review data. It covers parameter behavior, usage context, and constraints, making it sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the include_reviews parameter semantics (appends featured reviews, max 12, opt-in to reduce payload size). It doesn't add extra meaning for asin or marketplace_id beyond their schema descriptions, but the added parameter context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear retrieval purpose: returning the observed page-content record for one ASIN, with an explicit enumeration of fields (description, feature bullets, breadcrumbs, image URLs, variation count, parent ASIN, stock state, timestamps, and optional reviews). It distinguishes itself from sibling tools by focusing on the rendered product listing page rather than analytics, search, or seller metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: "Use when the user asks what a product's page says or shows" and extends to reviews. It also restricts to Amazon marketplaces only, which serves as a when-not condition. However, it does not name alternative sibling tools or explain when not to use it beyond the marketplace constraint, so a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
risk_assessmentARead-onlyInspect
Risk + protection assessment for an ASIN or brand. Returns composite risk score (0-100), recent MAP violation events (≤10, each with the offending ASIN's product brand, title, price or price range and fulfillment FBA/FBM/Amazon), unauthorized seller list (≤10), and 1-3 recommended actions. Use for 'flag risk events on my brand' or 'is this ASIN risky?' style prompts.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | ||
| days | No | Lookback window for MAP events. Default 30. | |
| brand | No | ||
| kind_in | No | Comma-separated flagged-event kinds to keep (e.g. map_violations,amazon_dominated). | |
| max_count | No | ||
| max_price | No | ||
| min_count | No | ||
| min_price | No | ||
| severity_in | No | Comma-separated severities to keep (high/medium/low). | |
| buybox_seller | No | Exact offending buy-box seller (case-insensitive). | |
| event_date_to | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| event_date_from | No | YYYY-MM-DD. | |
| max_listed_price | No | ||
| min_listed_price | No | ||
| buybox_seller_contains | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds meaningful behavioral details: result limits (≤10 events/sellers, 1-3 actions), what each MAP violation includes, and that it works for either ASIN or brand. This goes beyond annotations, though it doesn't explain score computation or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences: purpose, outputs, and usage examples. It is front-loaded and every sentence earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 24 parameters and no output schema, the description provides a solid high-level picture and usage note, but it leaves the extensive list of optional filters unexplained. It is enough for a general understanding but insufficient for precise invocation without relying on the partial schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage, the description needed to compensate for the many undocumented filter parameters, but it only mentions ASIN/brand and output categories. It does not explain how parameters like min_price, max_price, severity_in, or date ranges affect the results, nor that all parameters are optional. This leaves the agent without guidance on which filters are relevant for the user's intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it performs a risk + protection assessment for an ASIN or brand and lists concrete outputs (composite risk score, MAP violations, unauthorized sellers, recommendations). This distinguishes it from siblings like map_violations_today or unauthorized_sellers by combining signals and adding an overall score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'Use for' prompts ('flag risk events on my brand' or 'is this ASIN risky?'), which gives clear context for when to invoke this tool. It does not explicitly name alternatives or exclusions, but the integration of multiple risk signals makes the intended use case evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsARead-onlyInspect
Free-text keyword search over Amazon product titles + descriptions. Use when the user names a PRODUCT TYPE or keywords (e.g. 'stainless steel water bottle', 'cat litter box', 'magnetic phone mount') rather than a specific brand, category, or ASIN. Returns the top matching products ranked by relevance with brand, price, 30-day demand, fulfillment (FBA/Amazon/FBM) and rating. Optional filters narrow the result by any returned field: product_brand, min/max_price, fulfillment_in (FBA/FBM/AMZ), min/max demand, and min/max rating.
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | Free-text product keywords, e.g. 'stainless steel water bottle'. | |
| max_price | No | ||
| min_price | No | ||
| max_rating | No | ||
| min_rating | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. Amazon only. | |
| max_rating_count | No | ||
| min_rating_count | No | ||
| max_demand_units_30d | No | ||
| min_demand_units_30d | No | ||
| max_demand_revenue_30d | No | ||
| min_demand_revenue_30d | No | ||
| product_brand_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the annotation already covers non-destructiveness. The description adds that results are ranked by relevance and includes brand, price, demand, fulfillment, and rating, which gives useful behavioral context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose in the first sentence. It uses a compact three-sentence structure that covers purpose, usage, and return values without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 19 parameters and no output schema, the description covers essential use cases, return fields, and filter options. However, it vaguely says 'any returned field' while listing only a subset of filters, and doesn't clarify all niche parameters like rating_count or demand_revenue, leaving some room for ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (21%), but the description compensates by summarizing the filter categories (product_brand, price, fulfillment, demand, rating) and listing the returned fields. It doesn't detail every parameter (e.g., rating_count, demand_revenue, FBA percentages), but the parameter names are largely self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs free-text keyword search over Amazon product titles and descriptions. It explicitly distinguishes from brand/category/ASIN-specific searches, and lists the return fields which clarifies the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use when the user names a product type or keywords rather than a brand/category/ASIN, which is clear when-to-use and when-not-to-use guidance. However, it does not name specific alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_cost_floorAInspect
Record the user's cost basis (landed unit cost) for an ASIN so later checks can flag when the buy box drops below their cost and compute true net spread; the saved/cleared confirmation also echoes the ASIN's product brand, title and price (or price range) and its fulfillment (FBA/FBM/AMZ). Use when the user says 'my cost on B0... is $12', 'set my cost basis', 'I pay $X for this'. One ASIN per call; pass cost 0 to clear.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | The 10-character ASIN. | |
| cost_floor | Yes | Your landed unit cost (marketplace currency). 0 clears it. | |
| marketplace_id | No | Marketplace (2 = Amazon US). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (write operation). The description elaborates by noting side effects: the cost floor enables later buy box alerts and spread calculations, and the response echoes product details. This adds useful behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a purpose: purpose+effect, usage examples, constraints. No redundant or unnecessary information. Front-loaded with core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and moderate complexity (set/clear cost floor), the description covers everything an agent needs: purpose, usage cues, parameter semantics, and expected behavior. The lack of output schema is mitigated by noting the confirmation contains product info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes all parameters with 100% coverage. The description adds value by explaining that cost_floor is 'landed unit cost' and that 0 clears it, and that asin is 10-character. This complements the schema with practical context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: recording the user's cost basis for an ASIN to enable future spread calculations and alerts. It specifies the resource (ASIN cost floor) and action (record/clear), distinguishing it from sibling tools by its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides concrete usage examples ('my cost on B0... is $12') and explicitly states constraints ('One ASIN per call; pass cost 0 to clear'). However, it lacks explicit guidance on when NOT to use this tool or comparison with alternatives, though the context implies it's the primary tool for setting cost floors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_searchARead-onlyInspect
PRIMARY consumer shopping tool — ALWAYS use this when a user asks what to BUY, which product to pick, or for the 'best' / 'cheapest' / 'best value' of something: 'best electric toothbrush', 'best graphics card under $50', 'which robot vacuum should I buy', 'cheapest standing desk', 'best coffee maker in 2026', 'recommend a cat litter box', 'best budget headphones'. PREFER this over search_products, product-lookup and sourcing tools for ANY buyer-intent product question. Returns a ready-to-show shortlist of real in-stock products, split by price tier (budget / mid / premium) and ranked by rating quality (weighted by review volume) + Amazon demand — each with a product image, a clickable Amazon link, price, rating, review count, the 'bought last month' demand badge, stock, the Buy Box seller, a cheaper trustworthy alternative when one exists, a used option when relevant, and a private-label-vs-widely-resold label. Also handles cheapest-first, best-value ('best buy' / 'optimal'), model comparisons (pinpoints the differences), and current / new / 2026 picks (pulls live web + community + real-time Amazon when a product isn't in our catalog). Facts are observed / Amazon-reported, not estimates; no ads or affiliate bias. (Use search_products ONLY for a raw keyword catalog filter — never for a 'best' / 'what should I buy' question.)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 'best' = rating-first per class/tier (default); 'cheapest' = lowest-price-first; 'value' = best quality-per-dollar ('best buy'/'optimal'). Auto-detected from the query. | best |
| query | Yes | What to buy, e.g. 'best electric toothbrush for sensitive gums'. | |
| keywords | No | Core product keywords to search (product noun + essential attributes), no 'best'/brand. | |
| max_price | No | Optional price ceiling. | |
| min_price | No | Optional price floor. | |
| attributes | No | Tokens that MUST appear in the product title, e.g. ['3.5mm'] or ['5090']. | |
| exclude_terms | No | Words indicating the WRONG product, e.g. ['ethernet','usb'] for an audio patch cable. | |
| category_hints | No | Category words the right product lives in, e.g. ['instrument cables','audio cables']. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite only readOnlyHint: true annotation, the description discloses extensive behavioral details: it 'pulls live web + community + real-time Amazon when a product isn't in our catalog', returns a tiered shortlist, ranks by 'rating quality weighted by review volume + Amazon demand', and claims 'Facts are observed / Amazon-reported, not estimates; no ads or affiliate bias.' These go far beyond the annotation and inform the agent of output structure and data sources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary use case and ALWAYS rule, which is excellent. It is long but each sentence adds value (output details, comparison handling, data accuracy claims). Minor redundancy in listing examples multiple times, but overall tightly packed for a complex shopping tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description thoroughly describes the return payload (real in-stock products, price tiers, product image, Amazon link, price, rating, review count, demand badge, stock, Buy Box seller, cheaper alternative, used option, private-label-vs-resold label). It also covers edge behaviors like live web pulls and comparison pin-pointing. With 9 parameters and no output schema, this description makes the tool self-sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter. The description adds meaning by explaining how the query parameter is interpreted across intents ('cheapest-first, best-value, model comparisons'), how sort is auto-detected, and the meaning of price tiers. It also clarifies the use of attributes/exclude_terms for disambiguation, though not exhaustive for all 9 params. This justifies above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the 'PRIMARY consumer shopping tool' with specific verbs ('buy', 'pick', 'recommend') and resource scope. It distinguishes itself by explicitly contrasting with search_products ('never for a best / what should I buy question'). The examples ('best electric toothbrush', 'cheapest standing desk') pin down intent precisely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'ALWAYS use this when a user asks what to BUY' and lists concrete scenarios. It also gives exclusions and alternatives: 'Use search_products ONLY for a raw keyword catalog filter — never for a best / what should I buy question.' This is model usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_expanding_operatorsARead-onlyInspect
Find sellers (operators) expanding into the most NEW brands in a recent window. Use when the user asks 'operators expanding into new brands', 'sellers growing fastest by brand count', 'who is moving into new brands this month', or any cross-cutting operator question without a specific seller named.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| seller_name | No | Exact seller/operator name (case-insensitive). | |
| window_days | No | Days back for 'new' brands (default 30, max 90). | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_avg_rating | No | ||
| min_avg_rating | No | ||
| min_new_brands | No | Minimum new-brand count to surface (default 3). | |
| max_total_asins | No | ||
| min_total_asins | No | ||
| max_total_brands | No | ||
| min_total_brands | No | ||
| max_avg_rating_count | No | ||
| min_avg_rating_count | No | ||
| seller_name_contains | No | ||
| max_new_brands_in_window | No | ||
| max_operator_fba_share_pct | No | ||
| min_operator_fba_share_pct | No | ||
| max_total_observed_buybox_days | No | ||
| min_total_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the agent knows this is a read operation. The description adds context about the 'recent window' and cross-cutting scope, but does not disclose details like how results are ordered, what the return structure looks like, or how 'new' is determined beyond the schema's window_days. With annotations, this level of added behavioral context is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences, front-loaded with the primary action and then followed by clear usage triggers. Every phrase earns its place and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool with 19 parameters, no output schema, and only minimal annotations. The description covers the core purpose and basic use case, but omits important behavioral details such as default window, minimum new-brand threshold, marketplace handling, sorting, and result output shape. It is inadequate for an agent to confidently invoke this tool across varied user questions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 21%, so the description must compensate for the 19 undocumented parameters. It does not explain any filter semantics beyond vaguely referencing 'new brands' and 'recent window.' The description adds no value over the schema for parameter understanding, and for most parameters neither the schema nor the description provides guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Find sellers (operators) expanding into the most NEW brands in a recent window.' It also clarifies the cross-cutting scope by noting 'without a specific seller named,' which distinguishes it from sibling tools like operator_new_brands that likely focus on a given seller.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit trigger phrases and a clear use case: 'Use when the user asks...' It also provides an exclusion criterion ('without a specific seller named'). However, it does not explicitly name alternative tools for the same type of question, so it stops short of a full when-to-use/when-not-to-use comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_sourcing_picksARead-onlyInspect
Find top sourcing-pick ASINs across the entire catalog with optional filters: max retail price, min retail price, category, brand, exclude gated, exclude Amazon private label. Use when the user asks 'top sourcing picks', 'best ASINs to source', 'ASINs under $X with rising demand', 'fastest growing ASINs', or any cross-cutting question where they have NOT named a specific entity yet. Each pick carries product brand, title and price (or price range) plus fulfillment (FBA/FBM/Amazon) alongside the sourcing scores.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| brand | No | ||
| limit | No | Number of products to return (default 10, max 50). | |
| scope | No | tracked = only ASINs from brands on the user's watchlist; universe = all. Default universe. | |
| category | No | ||
| max_rating | No | ||
| min_rating | No | ||
| asin_contains | No | ||
| exclude_gated | No | ||
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_retail_price | No | ||
| min_retail_price | No | ||
| exclude_amazon_pl | No | ||
| max_margin_signal | No | ||
| min_margin_signal | No | ||
| min_velocity_score | No | Minimum velocity sub-score (0-100). >=90 = 'rising demand' (top ~3%%), >=70 = 'moderate growth' (top ~10%%). >=50 covers 97%% of ASINs and is not a meaningful filter. | |
| max_composite_score | No | ||
| min_composite_score | No | ||
| max_sold_30d_revenue | No | ||
| min_sold_30d_revenue | No | ||
| max_gating_risk_score | No | ||
| max_number_of_ratings | No | ||
| min_gating_risk_score | No | ||
| min_number_of_ratings | No | ||
| product_title_contains | No | Keyword title search across the WHOLE catalog (FULLTEXT, token-AND any order — may also match the product description), ranked by sourcing score. Broader recall than a literal substring: 'ceiling fan mount' matches titles containing all three words in any order. | |
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint=true, so no safety contradiction. Description adds return shape (brand, title, price, fulfillment, sourcing scores) but does not disclose pagination, ranking logic, or how filters combine. With annotations covering the read-only behavior, this is baseline-adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action. The list of example queries is useful, and the return-field summary earns its place. Slightly dense but no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 30 parameters and no output schema, a concise description cannot cover everything. It provides usage context and a partial return-shape description, but lacks details on defaults (e.g., scope=universe, limit=10), sorting, and the full filter set. Adequate for orientation but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 23%, so the description must compensate. It lists six filters (price bounds, category, brand, exclude gated, exclude Amazon PL) but omits many others (scope, limit, fulfillment_in, ratings, composite scores, velocity). It gives no semantics for the listed filters beyond their names, leaving a large documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Find top sourcing-pick ASINs across the entire catalog with optional filters', clearly identifying the verb, resource, and scope. The usage examples and 'NOT named a specific entity yet' phrase distinguish it from entity-specific sibling tools like brand_xmarket or evaluate_asin_sourcing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit guidance on when to use: when user asks 'top sourcing picks', 'best ASINs to source', 'ASINs under $X with rising demand', 'fastest growing ASINs', or any cross-cutting question without a named entity. It does not name specific alternatives or exclusions, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_velocity_brandsARead-onlyInspect
Find top brands by 90-day unit velocity (brand_velocity_90d_units_day). Optional filters: scope (tracked = user's watchlist, universe = all), category, minimum velocity, exclude Amazon private label, exclude gated. Use when the user asks 'fastest selling brands', 'top velocity brands', 'brands I track by velocity', 'what brands move the most units?', or 'best selling brands in [category]'. When the user says 'my brands' or 'brands I track', set scope=tracked.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Exact brand match (case-insensitive). | |
| limit | No | Max results (capped at 10). Default 10. | |
| scope | No | tracked = only brands on the user's watchlist; universe = all brands. Default universe. | |
| category | No | Category root name to filter (optional). | |
| min_velocity | No | Minimum units/day threshold (optional). | |
| exclude_gated | No | Exclude brands gated to 3P sellers. Default true. | |
| brand_contains | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| exclude_amazon_pl | No | Exclude Amazon private label brands. Default true. | |
| max_control_score | No | ||
| min_control_score | No | ||
| max_sold_30d_revenue | No | ||
| max_winner_diversity | No | ||
| min_sold_30d_revenue | No | ||
| min_winner_diversity | No | ||
| max_seller_churn_30d_pct | No | ||
| min_seller_churn_30d_pct | No | ||
| max_pct_asins_gated_to_3p | No | ||
| min_pct_asins_gated_to_3p | No | ||
| dominant_category_velocity_tier_in | No | Comma-separated velocity tiers to keep. | |
| max_seller_churn_30d_delta_vs_cat_pp | No | ||
| min_seller_churn_30d_delta_vs_cat_pp | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds the key behavioral distinction of scope (tracked vs universe) and the mapping from user intent to parameter. However, it does not disclose return format, sorting order, pagination, or default limits beyond what schema already states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and front-loaded with the core purpose. The example query list is slightly redundant but compact and actionable; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 22 parameters and no output schema, the description gives a good high-level orientation but omits any description of the return payload and the meaning of the many numeric filter pairs, leaving the agent to guess about output shape and advanced filtering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 41%, leaving 59% of parameters (e.g., min/max_control_score, min/max_seller_churn_30d_pct) undocumented in both schema and description. The description only repeats the handful of already-documented filters and does not explain the advanced threshold parameters, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find top brands by 90-day unit velocity', clearly distinguishing this from sibling brand tools. It also names the exact metric (brand_velocity_90d_units_day) and lists example queries, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'Use when the user asks...' and provides a concrete rule for scope selection based on user phrasing ('When the user says "my brands"... set scope=tracked'). It lacks explicit when-not-to-use or alternative tool references, so not a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unauthorized_sellersARead-onlyInspect
List the sellers winning a brand's buy box — the resellers and arbitrage operators you're up against — each classified (authorized-retailer / arbitrage / Amazon / brand-direct / reseller). If you've saved an authorized list (authorized_seller_set) it instead flags the UNAUTHORIZED sellers. Use when the user asks 'which operators dominate the buy box on ', 'who else is selling my brand', 'unauthorized sellers on Nike', 'find rogue sellers', or any brand buy-box / protection question.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand name (case-insensitive). | |
| limit | No | ||
| seller_name | No | Exact seller name (case-insensitive). | |
| last_seen_to | No | ||
| first_seen_to | No | ||
| max_avg_price | No | ||
| min_avg_price | No | ||
| last_seen_from | No | ||
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| first_seen_from | No | YYYY-MM-DD. | |
| operator_type_in | No | Comma-separated classifications to keep (cold path only, when no authorized list is set): e.g. arbitrage, reseller, amazon, brand-direct, authorized-retailer. | |
| max_asins_touched | No | ||
| min_asins_touched | No | ||
| authorized_sellers | No | Optional. Authorized seller names — sellers NOT in this list are flagged. If omitted (and none saved), all buy-box-winning sellers are returned, classified. | |
| seller_name_contains | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds valuable behavioral context: the conditional switch to flag unauthorized sellers when an authorized list exists, and the classification of each seller into types. This goes beyond simple read-only expectations, though it stops short of describing return format or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes only necessary details: classification types, conditional behavior, and usage examples. Every phrase earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, no output schema), the description covers the core use case and conditional behavior well, but it omits important context such as how results are structured, how the 'unauthorized' flag appears, and how filters interact with the main query. The readOnly annotation partially reduces the burden, but clear gaps remain for an agent to fully understand the tool's response and filtering behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 35% (low), so the description should compensate for undocumented parameters. It does not explain filter parameters like limit, dates, prices, or marketplace beyond what the schema already provides. It only implicitly references 'brand', which is already described in the schema, so it adds almost no parameter-level value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource: 'the sellers winning a brand's buy box', with classification categories. It also explains the conditional behavior when an authorized list is saved, clearly differentiating it from sibling tools like authorized_seller_list or brand_buybox_trajectory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage triggers: 'Use when the user asks...' with concrete example queries ('unauthorized sellers on Nike', 'find rogue sellers'). It does not mention alternatives or exclusions, but the context is clear enough for an agent to know when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_addAInspect
Create or add to a saved tracking list the user can monitor over time. list_type is one of asin, brand, seller, niche; name is the user's label for the list; items are the identifiers to track (ASINs, brand names, seller names, or niche keys). Captures a baseline of the current observed state so a later 'what changed' check can show new sellers and score moves. Use when the user says 'track these ASINs', 'add Nike to my brand watchlist', 'start monitoring ...'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The list's label (e.g. 'Q4 arbitrage candidates'). | |
| items | Yes | Identifiers to add. | |
| list_type | Yes | asin | brand | seller | niche | |
| marketplace_id | No | Marketplace (2 = Amazon US). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, and the description confirms a write operation ('Create or add'). It adds behavioral context: 'Captures a baseline of the current observed state so a later 'what changed' check can show new sellers and score moves.' No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action. It efficiently covers purpose, parameters, and behavioral note without redundancy. Minor improvement could be to separate the enum explanation from the behavior note, but overall concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, 3 required, and no output schema, the description covers purpose, parameters, and expected outcome (baseline capture for later monitoring). It explains the default marketplace. The behavior about baseline is useful. Could be improved by hinting at return value or confirmation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds value by explaining the enum values for list_type (asin, brand, seller, niche) and clarifying that items are identifiers (ASINs, brand names, etc.) and name is a user label. This enriches understanding beyond the schema's brief texts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Create or add to a saved tracking list' and lists specific use cases like 'track these ASINs', 'add Nike to my brand watchlist', 'start monitoring ...'. It clearly distinguishes from sibling tools (e.g., watchlist_remove, watchlist_delta) by focusing on creation/addition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context with trigger phrases ('Use when the user says...') and explains the list_type options and items. While it does not explicitly state when not to use, the context is clear enough for an agent to decide, especially given the breadth of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_add_ruleARead-onlyInspect
Resolve a natural-language watchlist request into concrete ASINs the user can add. Use when the user says 'watch this brand', 'alert me when X loses a seller', 'add Nike to my watchlist', or any watchlist-creation intent. Returns matching ASINs with current scores plus product identity (brand, title, price or price range) and fulfillment (FBA/FBM/AMZ with amz/fba share) so the user can confirm which to add.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Specific ASIN to add. If provided, brand is ignored. | |
| brand | No | Brand name to find watchable ASINs for. | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| asin_contains | No | ||
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_composite_score | No | ||
| min_composite_score | No | Only candidates with sourcing composite score >= this. | |
| max_buybox_avg_price | No | ||
| min_buybox_avg_price | No | ||
| product_title_contains | No | ||
| max_observed_buybox_days | No | ||
| min_observed_buybox_days | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only; the description adds that it returns matching ASINs with scores, product identity, and fulfillment share, and says the user confirms before adding. This clarifies it's a pre-add resolution, not an actual add.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and follow-on details. Every clause adds useful context; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 19-parameter tool with low schema coverage and no output schema, the description gives a good overview of return content but lacks filtering behavior, defaults, and interplay of parameters. It's adequate for high-level understanding but not sufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 26%, and the description provides no parameter guidance beyond natural-language examples. It doesn't map phrases like 'brand' or 'price range' to the actual input fields, leaving 74% of parameters undocumented across both sources.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Resolve') and resource ('natural-language watchlist request into concrete ASINs'), with example phrases. It distinguishes itself from sibling watchlist tools by noting the user must 'confirm which to add', implying a resolution step rather than direct mutation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells agents when to use: 'Use when the user says...' with concrete natural-language triggers. It doesn't name watchlist_add as an alternative, but the examples make the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_deltaBRead-onlyInspect
Show what changed on the user's sourcing watchlist since last check. Returns each tracked ASIN with its score delta plus product identity (brand, title, price or price range) and fulfillment (FBA/FBM/AMZ with amz/fba share). Use when the user asks 'what changed on my watchlist', 'watchlist updates', 'any changes this week', or any watchlist-status question.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| since_days | No | How far back to look for changes (default 7, max 30). | |
| asin_contains | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | Marketplace to scope to: 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. One marketplace per call. | |
| max_score_delta | No | ||
| min_score_delta | No | ||
| max_current_score | No | ||
| min_current_score | No | Only tracked ASINs with current sourcing score >= this. | |
| max_previous_score | No | ||
| min_previous_score | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with a read operation. It adds useful behavioral context by specifying the 'since last check' semantics and the composition of the returned results, but it doesn't disclose things like pagination, rate limits, or data freshness limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with a clear verb and resource, followed by return-value details and usage triggers. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 21 optional parameters, sparse schema descriptions, and no output schema, the description is too minimal to be considered complete. It provides a high-level purpose but leaves most filtering capabilities and output formatting unexplained, making it difficult for an agent to use the tool effectively without additional prompting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, and the description does not compensate by explaining parameters like min_score_delta, fulfillment_in, or marketplace_id. It only names high-level concepts (score delta, FBA/FBM/AMZ share) without mapping them to the actual filter parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows what changed on the user's sourcing watchlist since last check, and enumerates the returned data (score delta, product identity, fulfillment). It distinguishes itself from watchlist_list and watchlist_stats by focusing on changes/deltas, but doesn't explicitly contrast with the similarly named sibling watchlist_diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit trigger phrases such as 'what changed on my watchlist', 'watchlist updates', and 'any changes this week', giving clear when-to-use guidance. However, it does not mention when not to use it or point to alternatives like watchlist_diff or watchlist_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_diffARead-onlyInspect
Show what changed on a saved tracking list versus its captured baseline — new sellers observed on the tracked ASINs and sourcing-score moves. Each changed ASIN also carries product identity (brand, title, price or price range) and fulfillment (FBA/FBM/AMZ with amz/fba share). Use when the user asks 'what changed on ', 'any updates on my watchlist', 'new sellers on the ASINs I track'. Re-run watchlist_add to reset the baseline to the current state.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Only the change row for this exact ASIN. | |
| name | Yes | The list name to diff. | |
| list_type | No | Defaults to asin. | asin |
| max_price | No | ||
| min_price | No | ||
| asin_contains | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| max_new_sellers | No | ||
| max_score_delta | No | ||
| min_new_sellers | No | Only ASINs that gained at least this many new sellers. | |
| min_score_delta | No | ||
| max_current_score | No | ||
| min_current_score | No | ||
| max_dropped_sellers | No | ||
| min_dropped_sellers | No | ||
| product_brand_contains | No | ||
| product_title_contains | No | ||
| max_current_seller_count | No | ||
| min_current_seller_count | No | ||
| max_fulfillment_amz_dom_pct | No | ||
| max_fulfillment_fba_pen_pct | No | ||
| min_fulfillment_amz_dom_pct | No | ||
| min_fulfillment_fba_pen_pct | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true; description confirms read-only behavior (showing changes). Adds context about baseline and reset, but no details on authentication or rate limits. With annotations present, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two concise sentences plus a clear use-case list and a helpful tip. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 24 parameters and no output schema, the description provides a high-level overview but lacks details on result structure, pagination, or error handling. Somewhat incomplete for complex usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (6/24 parameters have descriptions). The description does not explain the many filter parameters (e.g., min_price, max_new_sellers), so the burden is not met. Only mentions that output includes brand, title, price, fulfillment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool shows changes between a watchlist and its baseline, listing specific outputs (new sellers, score moves, product identity, fulfillment). It differentiates from sibling tools by mentioning watchlist_add for baseline reset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit use cases are provided: 'what changed on <list>', 'any updates on my watchlist', etc. Also gives alternative to reset baseline with watchlist_add. Lacks explicit when-not-to-use but is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_listARead-onlyInspect
List the workspace's saved tracking lists (name, type, item count, whether a baseline is set). Use when the user asks 'what am I tracking', 'show my watchlists', 'my saved lists'.
| Name | Required | Description | Default |
|---|---|---|---|
| list_type_in | No | Comma-separated list types to keep (asin/brand/seller/niche). | |
| updated_at_to | No | ||
| max_item_count | No | ||
| min_item_count | No | Only lists with at least this many items. | |
| updated_at_from | No | YYYY-MM-DD; only lists updated on/after this. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true. The description adds value by listing the output fields (name, type, item count, baseline). No contradictions or missing safety info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with core purpose and followed by usage cues. Every sentence serves a function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return fields (no output schema), which is essential. But omits the optional filtering capabilities (5 parameters). For a listing tool, filters are useful, but the basic output coverage is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% (some parameters defined). The description adds no parameter details—doesn't explain filters like list_type_in or date ranges. At baseline 3, but no additional guidance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists workspace watchlists with specific fields (name, type, item count, baseline). It distinguishes from siblings like watchlist_add/remove by being the listing tool. Example queries provide concrete usage context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides natural language triggers (e.g., 'what am I tracking', 'show my watchlists'), making it easy for the agent to recognize when to use this tool. No confusion with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_removeAInspect
Remove items from a saved tracking list, or delete the whole list. Provide list_type + name; give items to drop just those, or omit items to delete the entire list. Use when the user says 'stop tracking ...', 'remove ... from my watchlist', 'delete my ... list'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| items | No | Items to remove; omit to delete the list. | |
| list_type | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that omitting the items parameter deletes the entire list, which is critical behavioral info beyond the readOnlyHint=false annotation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences that front-load the main action and provide usage examples. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with 3 parameters and no output schema, the description covers removal vs deletion behavior and gives usage examples. Slightly more detail on list_type enum values could help but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only items has description). The description clarifies that items can be omitted to delete the list, and that list_type + name are required. This adds significant value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove items' or 'delete the whole list' and identifies the resource as a saved tracking list. It distinguishes from sibling tools like watchlist_add and watchlist_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides example user utterances ('stop tracking ...', 'remove ... from my watchlist', 'delete my ... list') that trigger this tool. No explicit when-not-to-use, but the positive guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_statsARead-onlyInspect
BULK report of key Amazon stats for the user's WHOLE watchlist in ONE call — every tracked ASIN in the workspace's sourcing watchlist for a marketplace, in a single pass. Use this report instead of looping a per-ASIN tool over the whole watchlist. Each tracked ASIN returns its composite sourcing score, distinct seller count, buy-box leader share, fulfillment (FBA/FBM/AMZ with amz/fba pct), product brand/title and price (or price range). Also returns a top-level summary across the whole watchlist (tracked total, scored count, average score, score buckets, Amazon-dominant / FBA-dominant counts, single-seller vs high-competition counts). Use when the user asks 'show stats for my whole watchlist', 'summarize my watchlist', 'which of my tracked ASINs are single-seller / Amazon-dominant / high-competition', 'score distribution of my watchlist', or any bulk watchlist overview. One call covers the entire watchlist — do NOT call a per-ASIN tool in a loop.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| sort | No | Sort order (all descending): score (composite sourcing score, default), seller_count (distinct sellers), buybox_share (buy-box leader share), amz_dominance, fba_penetration, or price. | |
| limit | No | ||
| max_price | No | ||
| min_price | No | ||
| asin_contains | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | Marketplace to scope to: 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. One marketplace per call. | |
| max_seller_count | No | ||
| min_seller_count | No | Only ASINs with >= this many distinct sellers. | |
| max_composite_score | No | ||
| min_composite_score | No | Only tracked ASINs with composite sourcing score >= this. | |
| max_buybox_share_pct | No | ||
| min_buybox_share_pct | No | Only ASINs where the buy-box leader's share >= this percent. | |
| max_amz_dominance_pct | No | ||
| min_amz_dominance_pct | No | Only ASINs with Amazon buy-box dominance >= this percent. | |
| product_brand_contains | No | ||
| max_fba_penetration_pct | No | ||
| min_fba_penetration_pct | No | Only ASINs with FBA penetration >= this percent. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation. The description adds meaningful behavioral context: it is a single-pass bulk report covering the entire watchlist, returns both per-ASIN stats and a top-level summary, and explicitly warns against looping. It does not cover rate limits or caps, but those are unlikely concerns for a read-only bulk call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key purpose ('BULK report... whole watchlist... in ONE call') and every sentence adds value: alternative usage, output details, summary structure, example triggers, and a loop warning. It is long but appropriately detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description thoroughly explains all return values (per-ASIN stats and top-level summary). It also covers usage scenarios and warns against inefficient looping. The only notable gap is the lack of parameter semantics for the numerous filter inputs, which is partially mitigated by the input schema's descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, so half of the 20 parameters lack explanations. The tool description does not compensate: it describes output fields but provides no guidance on how to use parameters like asin_contains, limit, min_price, or the various min/max filters. It only vaguely references 'a marketplace' without connecting to marketplace_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'BULK report of key Amazon stats for the user's WHOLE watchlist in ONE call', specifying a clear verb, resource, and scope. It explicitly distinguishes itself from per-ASIN looping tools, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance with concrete user phrase examples ('show stats for my whole watchlist', 'summarize my watchlist') and an explicit exclusion: 'do NOT call a per-ASIN tool in a loop.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_webwideARead-onlyInspect
Bulk web-wide (open-web / off-Amazon) price + MAP findings across your whole watchlist, in one call — reads already-collected results, does not run a live scan. Returns every tracked ASIN with its open-web source count, cheapest off-Amazon price (+ the domain), how many web sources violate MAP, how many are unauthorized sellers, the Amazon buy-box anchor price, and how much cheaper the web is vs Amazon. ASINs not yet scanned show 0 sources / never-scanned. Use for 'where is my whole watchlist cheaper off Amazon', 'web-wide MAP across everything I track', or 'which tracked products are undercut on the open web'. For a live single-product cross-retailer check use find_product_across_web instead.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | Exact ASIN match. | |
| sort | No | Order: web_violations (most MAP breaches first), cheapest_web_price, web_savings_vs_amazon (biggest off-Amazon discount first), last_scan. | |
| limit | No | ||
| asin_contains | No | ||
| product_brand | No | Exact product brand (case-insensitive). | |
| marketplace_id | No | Marketplace to scope the watchlist to: 1 = Amazon UK, 2 = Amazon US (default), 3 = Walmart US, 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR. | |
| domain_contains | No | Substring match on the cheapest-source domain. | |
| violations_only | No | Keep only ASINs with one or more web MAP violations. | |
| unauthorized_only | No | Keep only ASINs with one or more unauthorized web sellers. | |
| max_web_source_count | No | ||
| min_web_source_count | No | Only ASINs with at least this many distinct open-web sources. | |
| max_cheapest_web_price | No | ||
| min_cheapest_web_price | No | ||
| product_brand_contains | No | ||
| max_web_violation_count | No | ||
| min_web_violation_count | No | Only ASINs with at least this many MAP-violating web sources. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true is reinforced and expanded: 'reads already-collected results, does not run a live scan' and 'ASINs not yet scanned show 0 sources / never-scanned'. This adds meaningful behavioral context beyond the annotation and helps set expectations about data freshness and missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and efficiently front-loaded: it states the core behavior, return contents, missing-data behavior, use cases, and alternative tool in a compact block. Every sentence contributes useful information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully enumerates the return values (source count, cheapest off-Amazon price + domain, MAP violations, unauthorized sellers, Amazon buy-box anchor, savings). It also covers edge cases and alternative tools, making the tool's behavior complete for the agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 56%, and the description does not explain individual filter parameters beyond the summary. However, key parameters like sort and marketplace_id already have rich schema descriptions. The description adds high-level meaning but leaves some undocumented parameters (limit, asin_contains, min/max counts) without compensation, so it is adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb phrase ('Bulk web-wide price + MAP findings') with a clear resource ('your whole watchlist') and explicitly distinguishes itself from the sibling tool find_product_across_web by contrasting bulk watchlist-level reads with live single-product checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use-case examples ('where is my whole watchlist cheaper off Amazon', 'web-wide MAP across everything I track') and states an exclusion: for live single-product checks use find_product_across_web instead. This clearly tells the agent when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webotee_job_statusARead-onlyInspect
Check the status of a live Amazon refresh kicked off for an ASIN (returns its current snapshot when ready). job_id is the ASIN. Use after a tool says a live refresh is collecting.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job id (the ASIN being refreshed). | |
| marketplace_id | No | Marketplace (2 = Amazon US). Default 2. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and description adds that it returns a current snapshot when ready. No contradictions; adds useful context about timing relative to refresh initiation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Purpose and usage guideline are front-loaded and directly actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should hint at return format. Merely says 'snapshot when ready', not addressing polling behavior or error states. Adequate but leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline applies. Description reinforces that job_id is the ASIN but adds minimal new meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the status of a live Amazon refresh for an ASIN and returns its snapshot. It differentiates from siblings like collect_asin_now by specifying this is a follow-up action after initiating a refresh.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use after a tool says a live refresh is collecting, providing clear temporal context. Does not name alternatives but the sibling list implies collect_asin_now as the trigger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchARead-onlyInspect
Search the web (Google, via Serper) for a query — returns title + link + snippet. Use for supplier / wholesale / distributor research and review-gap articles.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Max results (default 10, cap 20). | |
| query | Yes | The search query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral insight beyond the readOnlyHint annotation by specifying the return format (title, link, snippet). It does not contradict annotations. Minor omission of rate limits or pagination details, but acceptable for a simple search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the core function and then provide specific use cases. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description adequately covers purpose, source, return format, and use cases. It does not cover query syntax or localization, but these are implicitly handled by the underlying search engine.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so param descriptions are already provided. The tool description adds no further explanation of the query or count parameters beyond what the schema offers. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool performs a web search via Google/Serper and returns title, link, snippet. It further specifies concrete use cases (supplier, wholesale, distributor research, review-gap articles), making the purpose highly distinct from sibling tools like shopping_search or search_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context and examples of when to use the tool ('supplier / wholesale / distributor research and review-gap articles'). However, it does not explicitly state when not to use it or list alternative tools, so while helpful, it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xmkt_pricing_compareARead-onlyInspect
Cross-marketplace (Amazon vs Walmart) pricing comparison. Returns matched pairs from mv_product_identity with current Amazon price, current Walmart price, delta %, and a coarse Amazon-FBA profitability check. Each pair also carries the Amazon ASIN's product brand, title and catalog price (or price range) plus fulfillment (FBA/FBM/Amazon). Use for arbitrage / sourcing questions ('cheaper on Walmart?'). Single-ASIN or by-brand.
| Name | Required | Description | Default |
|---|---|---|---|
| asin | No | ||
| brand | No | ||
| fulfillment_in | No | Comma-separated FBA/FBM/AMZ to keep. | |
| marketplace_id | No | Amazon-side marketplace for the comparison (Walmart US is always the other side). 1 = Amazon UK, 2 = Amazon US (default), 4 = Amazon CA, 5 = Amazon AU, 6 = Amazon DE, 7 = Amazon JP, 8 = Amazon IT, 9 = Amazon FR, 10 = Amazon ES, 11 = Amazon MX, 12 = Amazon BR | |
| max_amazon_price | No | ||
| min_amazon_price | No | ||
| max_walmart_price | No | ||
| min_walmart_price | No | ||
| max_match_confidence | No | ||
| min_match_confidence | No | Only matched pairs with Amazon<->Walmart match confidence >= this. | |
| product_title_contains | No | ||
| max_delta_pct_amz_vs_wmt | No | ||
| max_est_arbitrage_profit | No | ||
| min_delta_pct_amz_vs_wmt | No | Only pairs whose Amazon-vs-Walmart price delta percentage is >= this. | |
| min_est_arbitrage_profit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint=true, but the description adds valuable behavioral context: it returns matched pairs from mv_product_identity, includes delta %, a coarse FBA profitability check, and specific fields like brand, title, catalog price, and fulfillment. It also calls the profitability check 'coarse,' setting accurate expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, each serving a purpose: defining the operation, listing output fields, and stating usage. It is front-loaded and avoids unnecessary details, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters, no output schema, low schema coverage), the description is somewhat thin. It explains the return structure and use case, but lacks details about parameter interactions, confidence thresholds, and the profitability calculation, leaving gaps for an agent to interpret the tool's full capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is only 27%, and the description does not compensate for the many undocumented numeric parameters. It mentions inputs only indirectly (single-ASIN or by-brand) and does not explain filters like price ranges, confidence, or delta percentage, leaving the agent to guess parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs cross-marketplace pricing comparison between Amazon and Walmart, which is a specific resource and operation. It distinguishes from sibling tools by emphasizing arbitrage/sourcing and the Amazon-vs-Walmart pairing, unlike presence-based tools like brand_xmarket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: 'Use for arbitrage / sourcing questions' and supports 'Single-ASIN or by-brand' inputs. It does not specify when not to use it or name alternative tools, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceEnterprise-grade Amazon & Alibaba intelligence for Claude AI, enabling natural language market research, keyword analysis, and supplier discovery.62MIT
- AlicenseAqualityAmaintenanceReal-time Amazon Sponsored Products (SP) ad placements, keyword tracking, and comprehensive review data for AI Agents. Enables LLMs to autonomously conduct competitor ad audits, consumer sentiment analysis (VOC), and product optimization.196MIT
- FlicenseAqualityBmaintenanceConnects Claude to Amazon Seller Central via the SP-API for natural language queries on sales, inventory, reports, fees, reimbursements, and analytics.2044
- FlicenseAqualityCmaintenanceConnects Claude to your Amazon Seller Central account via the Selling Partner API, enabling queries for recent orders, sales summaries, FBA inventory, and financial events.4
Your Connectors
Sign in to create a connector for this server.