com.webotee/amazon-product-research-mcp
REMOTE · APP.WEBOTEE.COM
Amazon brand, seller, niche & buy-box intelligence inside your own Claude or ChatGPT.
Available components
Last scanned (49 minutes ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 31109 tokens (~330/item across 94 items; 94 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage81
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 43% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 95 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- Stability: 0.97 → pass security
- 4 Nov 26 −1
- Stability: pass → 0.97 functional
- 2 Nov 26 0
- Authorization: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- HSTS header: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- MCP protocol: unverified → fail ▼ functional
- Endpoint reachability: unreachable → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- 1 Nov 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- HSTS header: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 31 Oct 26 0
- Tool “asin_keywords” rewrote its description, which is the text the model reads security
- Tool “keyword_rankings” rewrote its description, which is the text the model reads security
- “asin_keywords” reworded the description of “marketplace_id” cosmetic
- “keyword_rankings” reworded the description of “marketplace_id” cosmetic
- 29 Oct 26 0
- Tool “asin_keywords” rewrote its description, which is the text the model reads security
- Tool “keyword_rankings” rewrote its description, which is the text the model reads security
- “asin_keywords” added an optional parameter “marketplace_id” cosmetic
- “keyword_rankings” added an optional parameter “marketplace_id” cosmetic
- 19 Oct 26 +3
- The server rewrote its instructions, which are the text every model session reads security
- New tool “track_product”, which the server declares destructive security
- Tool “lookup_product_by_barcode” rewrote its description, which is the text the model reads security
- Tool “risk_assessment” rewrote its description, which is the text the model reads security
- Schema quality: 27904 → 30900 ▼ functional
- The server now declares the “prompts” capability functional
- First check of Schema quality: 100 functional
- New prompt “check_my_brand” functional
- New prompt “find_private_label_niche” functional
- New prompt “screen_supplier_list” functional
- New prompt “start_here” functional
- New tool “asin_keywords” functional
- New tool “bulk_product_lookup” functional
- New tool “keyword_rankings” functional
- New tool “list_tracked” functional
- New tool “live_bestsellers” functional
- New tool “live_offers” functional
- New tool “market_lists” functional
- New tool “product_dossier” functional
- New tool “start_here” functional
- New tool “webotee_account” functional
- “find_underserved_niches” reworded the description of “price_max” cosmetic
- “find_underserved_niches” reworded the description of “price_min” cosmetic
- 6 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “seller_profile” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://app.webotee.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.webotee.com | CN=YE2,O=Let's Encrypt,C=US | 14 Oct 2026 | 12 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 5bf965c74d3d97a196b457af50e92b12254 |
| SANs: app.webotee.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.webotee.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| webotee.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://app.webotee.com/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://app.webotee.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=15552000 |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
Protected resource metadata
| Document | https://app.webotee.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://app.webotee.com/mcp |
| Authorisation server | https://app.webotee.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.webotee.com/mcp | Verified | 200 | |
| http (plaintext) | http://app.webotee.com/mcp | HTTPS enforced | 301 | https://app.webotee.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
find_undercompeted_brands ~487
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Exact brand match (case-insensitive). |
| brand_contains | string | – | – |
| category_id | integer | – | Filter to a specific root category ID. Overrides seed_brand if both given. |
| include_catchall | boolean | – | Include reseller umbrella brands (PATIKIL, Uxcell, etc.). Default false. |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 | number | – | – |
| max_avg_price | number | – | Maximum average buybox price in USD. Omit for no price filter. |
| max_control_score | number | – | – |
| max_sellers | integer | – | Maximum unique sellers (competition ceiling). Default 20. |
| max_velocity_90d | number | – | – |
| min_asin_count | number | – | – |
| min_avg_price | number | – | Minimum average buybox price in USD. Omit for no price filter. |
| min_buybox_days | integer | – | Minimum observed buybox days in last 3 months (sales floor). Default 30. |
| min_control_score | number | – | – |
| min_sellers | integer | – | 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). |
| min_velocity_90d | number | – | – |
| seed_brand | string | – | Reference brand to derive category from. Results stay in the same root category. |
No output schema declared.
No examples provided.
find_underserved_niches ~619
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 <category>', 'find a niche to enter', 'what niche should I sell in', 'underserved categories', 'gaps in <department>', 'where's the opportunity in <category>'. 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 | Type | Req | Description |
|---|---|---|---|
| category_id | integer | – | Root category id to scope to (overrides category_name). |
| category_name | string | – | Department/category to find niches within (e.g. 'electronics', 'home & kitchen', 'pet supplies'). Omit for niches across all departments. |
| competition | string | – | 'low' (stricter Amazon-presence ceiling) or 'balanced' (default). |
| limit | integer | – | – |
| marketplace_id | integer | – | 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_retail_share_pct | number | – | – |
| max_avg_product_rating | number | – | – |
| max_competing_brands | number | – | – |
| max_monthly_demand_usd | number | – | – |
| max_seller_diversity | number | – | – |
| min_amazon_retail_share_pct | number | – | – |
| min_avg_product_rating | number | – | – |
| min_competing_brands | number | – | – |
| min_monthly_demand_usd | number | – | – |
| min_seller_diversity | number | – | – |
| niche | string | – | Exact niche (subcategory) name, case-insensitive. |
| niche_contains | string | – | – |
| pl_winnability_in | string | – | Comma-separated verdicts to keep (Strong/Moderate/Weak). |
| price_max | number | – | Maximum average price in the marketplace's own currency. Omit for that marketplace's PL margin band (Amazon US: 70). |
| price_min | number | – | Minimum average price in the marketplace's own currency. Omit for that marketplace's PL margin band (Amazon US: 20). |
| unhappy_shoppers | boolean | – | Bias toward niches where shoppers are underwhelmed (a credible dissatisfaction gap = a PL opening). Default false. |
No output schema declared.
No examples provided.
gating_repricing_advice ~189
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 | Type | Req | Description |
|---|---|---|---|
| asin | string | yes | – |
| marketplace_id | integer | – | 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. |
No output schema declared.
No examples provided.
keyword_cross_marketplace ~120
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 | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | The exact keyword to check (e.g. 'electric toothbrush'). |
No output schema declared.
No examples provided.
keyword_demand ~211
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 | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | 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. |
| seed | string | yes | Seed term (min 3 characters), e.g. 'electric toothbrush'. |
No output schema declared.
No examples provided.
keyword_rankings ~310
Page 1 of Amazon search for a keyword as last OBSERVED (head search terms from Amazon's own autocomplete, each observed about once a week): products in organic order with brand, price and their latest buy-box seller (AMZ = Amazon, FBA, FBM), the Sponsored Brands units in the page, the Amazon's Choice (Overall Pick) holder, Amazon's result count, who holds the page by brand and by seller, and the products that entered or left page 1 since the previous observation. Use for: who sells on page 1 for a search, which brands and resellers dominate it, who advertises on it. Dated weekly samples, not live and not volume figures (amazon_search_results reads the live page). The 11 Amazon marketplaces (marketplace_id; US default); prices are in the marketplace's currency.
| Name | Type | Req | Description |
|---|---|---|---|
| include_history | boolean | – | Add each weekly observation's ranks for the page's products. |
| keyword | string | yes | The search term, e.g. 'chest rigs tactical'. |
| marketplace_id | integer | – | 2 = Amazon US (default), 1 = UK, 6 = DE, 4 = CA, 5 = AU, 9 = FR, 8 = IT, 10 = ES, 7 = JP, 11 = MX, 12 = BR: the marketplaces the search-position map covers (all but US and UK since 2026-10-30, still… |
No output schema declared.
No examples provided.
list_tracked ~192
List the products this workspace keeps on a live refresh (set up with track_product), each with its current price, buy-box seller and fulfillment, stock state, seller count, the refresh interval and when it was last read, plus the most recent buy-box points (price and seller over time). Use when the user asks 'what changed on my tracked products', 'show my tracked ASINs', 'any buy-box changes'.
| Name | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | 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. |
| points | integer | – | How many recent buy-box points per product (max 24). |
No output schema declared.
No examples provided.
live_bestsellers ~278
Amazon Best Sellers list for one category, as Amazon shows it now: up to 100 products in rank order (rank, ASIN, title, price, rating, ratings count), the category's full breadcrumb path, and its subcategories with their URLs. With only marketplace_id (no url) it returns the marketplace's top-level best-seller categories, so you can walk the tree: root -> category -> subcategory, always with a URL from a previous answer. Use when the user asks what sells best in a category right now or wants a top-100 list. For keyword searches use amazon_search_results or search_products. Fresh lists take 15-35 seconds; Amazon refreshes them hourly, so recent lists return instantly. Amazon marketplaces only.
| Name | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | Without url: list this marketplace's top-level categories. 1=UK 2=US 4=CA 5=AU 6=DE 7=JP 8=IT 9=FR 10=ES 11=MX 12=BR. |
| pages | integer | – | 1 = ranks 1-50, 2 = ranks 1-100. |
| url | string | – | An Amazon Best Sellers URL (a category, or one from a previous answer's subcategories / categories / path). |
No output schema declared.
No examples provided.
live_offers ~331
LIVE Amazon offers for one product: every seller offering it right now, read from Amazon's 'All offers' view at request time (every page). Each offer has the seller and seller id, price, shipping, condition, buy box, FBA / FBM / Amazon, Prime, ships-from, the delivery promise and the seller's feedback; the answer adds the buy-box winner, offer counts by fulfillment, whether Amazon sells it, and the lowest new and used prices. Use when the user asks who sells a product right now, the current buy-box winner, the cheapest offer, or needs a fresh seller list before buying, sourcing or repricing. For history use product_dossier or asin_buybox_history. Takes 4-12 seconds. Amazon marketplaces only.
| Name | Type | Req | Description |
|---|---|---|---|
| asin | string | – | 10-character Amazon ASIN. Provide asin or barcode. |
| barcode | string | – | UPC / EAN / GTIN / ISBN-13 instead of an ASIN. |
| include_used | boolean | – | Also list used, refurbished and collectible offers. |
| marketplace_id | integer | – | 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. |
| zip | string | – | US 5-digit ZIP: the offers as a shopper at that ZIP sees them (Amazon US only; first page of offers). |
No output schema declared.
No examples provided.
lookup_product_by_barcode ~268
Look up products by retail barcode: UPC-12, EAN-13 or GTIN-14. Use when the user gives a numeric product barcode (from a shelf tag, an invoice, a supplier price list, a wholesale catalog) and wants to know which Amazon or Walmart listing it maps to — e.g. 'what is UPC 050875825598 on Amazon', 'match these barcodes to ASINs'. Returns the matched products (best match first — priced and recently observed rows lead) with ASIN, brand, title, price, rating and image. A barcode we have not seen on a listing is searched on Amazon itself (10-20 seconds the first time). One barcode per call; for a list use bulk_product_lookup.
| Name | Type | Req | Description |
|---|---|---|---|
| barcode | string | yes | The numeric barcode (UPC-12 / EAN-13 / GTIN-14; 8-14 digits). |
| marketplace_id | integer | – | 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 |
No output schema declared.
No examples provided.
map_violations_today ~290
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Filter to a specific brand. Omit for all workspace brands. |
| brand_contains | string | – | Substring match on brand (use `brand` for an exact match). |
| first_seen_from | string | – | YYYY-MM-DD. |
| first_seen_to | string | – | – |
| last_seen_from | string | – | – |
| last_seen_to | string | – | – |
| limit | integer | – | – |
| max_map_floor_usd | number | – | – |
| max_observed_price_usd | number | – | – |
| max_violation_pct | number | – | Maximum violation percentage below MAP. |
| min_map_floor_usd | number | – | – |
| min_observed_price_usd | number | – | – |
| min_violation_pct | number | – | Minimum violation percentage below MAP (default 0, meaning any violation). |
| product_title_contains | string | – | – |
| retailer_domain | string | – | Exact retailer domain (case-insensitive). |
| retailer_domain_contains | string | – | – |
| retailer_name | string | – | Exact retailer name (case-insensitive). |
| retailer_name_contains | string | – | – |
No output schema declared.
No examples provided.
market_lists ~342
Ranked discovery lists from observed Amazon buy-box data, 25 rows per page. kind=brand_movers: brands gaining (direction=up) or losing (down) distinct buy-box sellers fastest over 30 or 90 days. seller_movers: sellers whose buy-box footprint grew or shrank most. top_brands: brands ranked by buybox_days / sellers / control_score / asins / revenue / amazon_share, optionally within a root category_id. top_sellers: third-party sellers ranked by brands / buybox_days / asins / revenue (the biggest cross-brand operators). top_categories: categories ranked by asins / brands / heat / revenue / price / sellers (root categories, or the children of parent_id). Use to DISCOVER brands, sellers or categories - sourcing leads, brands under seller pressure, the biggest resellers - then drill in with evaluate_brand, seller_profile or category_metrics. Amazon marketplaces only.
| Name | Type | Req | Description |
|---|---|---|---|
| category_id | integer | – | top_brands: root category id to narrow to. |
| direction | string | – | movers: gaining (up) or losing (down). |
| kind | string | yes | – |
| marketplace_id | integer | – | 1=UK 2=US 4=CA 5=AU 6=DE 7=JP 8=IT 9=FR 10=ES 11=MX 12=BR. |
| page | integer | – | – |
| parent_id | integer | – | top_categories: list this category's children. |
| sort | string | – | top_*: the ranking field (see description). |
| window | integer | – | movers: comparison window in days. |
No output schema declared.
No examples provided.
my_competitors ~223
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 | Type | Req | Description |
|---|---|---|---|
| asin | string | – | Optional — a specific ASIN from your catalog. |
| marketplace_id | integer | – | 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 |
No output schema declared.
No examples provided.
my_opportunities ~165
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 | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | 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 |
No output schema declared.
No examples provided.
my_products ~251
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Optional — only products of this brand. |
| marketplace_id | integer | – | 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 |
| sort | string | – | Ordering: score (default), undercut, price, inventory. |
No output schema declared.
No examples provided.
my_store ~180
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 | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | 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 |
No output schema declared.
No examples provided.
operator_brands_by_competition ~328
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Exact brand (case-insensitive). |
| brand_contains | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 | number | – | – |
| max_competitor_count | number | – | – |
| max_observed_buybox_days_3m | number | – | – |
| max_operator_fba_share_pct | number | – | – |
| min_asin_count | number | – | – |
| min_competitor_count | number | – | – |
| min_observed_buybox_days_3m | number | – | – |
| min_operator_fba_share_pct | number | – | – |
| operator_names | array | yes | List of seller/operator names to look up. |
| sort | string | – | Sort by competitor count: 'asc' (least competition first, default) or 'desc'. |
No output schema declared.
No examples provided.
operator_buybox_losses ~544
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 | Type | Req | Description |
|---|---|---|---|
| exclude_amazon_in_box | boolean | – | Drop ASINs where Amazon holds the box (you can't win those). |
| fulfillment_in | string | – | Comma-separated operator fulfillment to keep (FBA, FBM). |
| limit | integer | – | Leaks to return (default 25, max 100). This tool pages. |
| marketplace_id | integer | – | 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_buybox_share_pct | number | – | 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). |
| min_est_revenue_30d | number | – | Only ASINs with estimated 30-day listing revenue >= this. |
| min_price | number | – | Only ASINs whose listing price >= this (skip pennies). |
| operator_name | string | yes | Seller/operator name. |
| situation_in | string | – | Comma-separated situations to keep (price_gap, tied_price, amazon_in_box, reseller_swarm). |
| sort | string | – | Sort the leaks: revenue_at_risk (default), price_gap_pct (biggest recoverable gap), buybox_share (lowest first), or listing_revenue. |
No output schema declared.
No examples provided.
operator_category_dominance ~251
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 | Type | Req | Description |
|---|---|---|---|
| category_name | string | – | Exact category name (case-insensitive). |
| category_name_contains | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 | number | – | – |
| max_total_asins | number | – | – |
| max_total_observed_buybox_days | number | – | – |
| min_brand_count | number | – | – |
| min_total_asins | number | – | – |
| min_total_observed_buybox_days | number | – | – |
| operator_name | string | yes | Seller/operator name. |
No output schema declared.
No examples provided.
operator_classifier ~190
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 | Type | Req | Description |
|---|---|---|---|
| marketplace_id | integer | – | 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_name | string | yes | Seller/operator name. |
No output schema declared.
No examples provided.
operator_compare ~521
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | 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. |
| contested_only | boolean | – | If true, skip the whitespace sections (only the head-to-head contested list). |
| include_whitespace | boolean | – | Include each side's whitespace ASINs (default true). |
| limit | integer | – | Contested ASINs to return (default 25, max 100). This tool pages. |
| marketplace_id | integer | – | 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 | number | – | Only contested ASINs with estimated 30-day listing revenue >= this. |
| operator_a | string | yes | First operator/seller name (the focal seller — revenue-at-risk + situation are from A's view). |
| operator_b | string | yes | Second operator/seller name. |
| sort | string | – | 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). |
| whitespace_for | string | – | Which side's whitespace to compute (default both). |
No output schema declared.
No examples provided.
operator_concentration ~370
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 | Type | Req | Description |
|---|---|---|---|
| asins | array | – | ASIN set to analyze. |
| brand | string | – | Or a brand whose catalog to analyze. |
| limit | integer | – | – |
| marketplace_id | integer | – | 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_hhi | number | – | – |
| max_listings_controlled | number | – | – |
| max_share_pct | number | – | – |
| min_hhi | number | – | Only return the analysis if its HHI >= this (else empty top_operators). |
| min_listings_controlled | number | – | – |
| min_share_pct | number | – | – |
| operator | string | – | Keep only this operator (exact, case-insensitive) in top_operators. |
| operator_contains | string | – | – |
No output schema declared.
No examples provided.
operator_lost_brands ~247
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Exact brand (case-insensitive). |
| brand_contains | string | – | – |
| first_seen_from | string | – | – |
| first_seen_to | string | – | – |
| last_seen_week_from | string | – | YYYY-MM-DD lower bound on last_seen_week. |
| last_seen_week_to | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 |
| operator_name | string | yes | Seller/operator name. |
| since_days | integer | – | Window to compare (default 30, max 180). Brands present before but absent in the last since_days. |
No output schema declared.
No examples provided.
operator_new_brands ~224
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Exact brand (case-insensitive). |
| brand_contains | string | – | – |
| first_seen_from | string | – | YYYY-MM-DD lower bound on first_seen. |
| first_seen_to | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 |
| operator_name | string | yes | Seller/operator name. |
| since_days | integer | – | How far back to look for new brands (default 30, max 180). |
No output schema declared.
No examples provided.
operator_new_on_brand ~489
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 <brand>', 'who's newly showing up on my brand', 'recent sellers on <brand>'. 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 | Type | Req | Description |
|---|---|---|---|
| brand | string | yes | The brand to watch. |
| first_observed_from | string | – | YYYY-MM-DD lower bound on first_observed. |
| first_observed_to | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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_n_asins_on_brand | number | – | – |
| max_observed_buybox_days | number | – | – |
| max_total_days_seen | number | – | – |
| min_n_asins_on_brand | number | – | – |
| min_observed_buybox_days | number | – | – |
| min_total_days_seen | number | – | – |
| operator | string | – | Exact operator/seller name (case-insensitive). |
| operator_contains | string | – | – |
| since_days | integer | – | Window in days (default 30, max 180). |
| still_active | boolean | – | Keep only operators last seen within 7 days (true) or not (false). |
No output schema declared.
No examples provided.
operator_resells_what ~548
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 | Type | Req | Description |
|---|---|---|---|
| asin | string | – | An ASIN whose operators to expand from. |
| fulfillment_in | string | – | Comma-separated FBA/FBM/AMZ to keep. |
| limit | integer | – | – |
| marketplace_id | integer | – | 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_avg_price | number | – | – |
| max_est_units_30d | number | – | – |
| max_fulfillment_amz_dom_pct | number | – | – |
| max_fulfillment_fba_pen_pct | number | – | – |
| max_price | number | – | – |
| max_sourcing_score | number | – | – |
| min_buybox_avg_price | number | – | – |
| min_est_units_30d | number | – | – |
| min_fulfillment_amz_dom_pct | number | – | – |
| min_fulfillment_fba_pen_pct | number | – | – |
| min_price | number | – | – |
| min_sourcing_score | number | – | Only candidates with sourcing score >= this. |
| operator_name | string | – | Or a seller/operator name directly. |
| product_brand | string | – | Exact product brand (case-insensitive). |
| product_brand_contains | string | – | – |
| product_title_contains | string | – | – |
| resold_by_contains | string | – | Keep candidates resold by a seller whose name contains this. |
No output schema declared.
No examples provided.
operator_top_asins ~712
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 | Type | Req | Description |
|---|---|---|---|
| asin | string | – | Exact ASIN match. |
| asin_contains | string | – | – |
| est_basis_in | string | – | Comma-separated sales-estimate sources to keep. |
| first_seen_from | string | – | YYYY-MM-DD. |
| first_seen_to | string | – | – |
| fulfillment_in | string | – | Comma-separated FBA/FBM/AMZ to keep. |
| last_seen_from | string | – | – |
| last_seen_to | string | – | – |
| limit | integer | – | Number of ASINs to return (default 10, max 50). |
| marketplace_id | integer | – | 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_buybox_avg_price | number | – | – |
| max_buybox_share_pct | number | – | – |
| max_days_seen | number | – | – |
| max_est_revenue_30d | number | – | – |
| max_est_units_30d | number | – | – |
| max_fulfillment_amz_dom_pct | number | – | – |
| max_fulfillment_fba_pen_pct | number | – | – |
| max_observed_buybox_days | number | – | – |
| max_price | number | – | – |
| min_buybox_avg_price | number | – | – |
| min_buybox_share_pct | number | – | Only ASINs where the operator's buybox share >= this. |
| min_days_seen | number | – | – |
| min_est_revenue_30d | number | – | – |
| min_est_units_30d | number | – | – |
| min_fulfillment_amz_dom_pct | number | – | – |
| min_fulfillment_fba_pen_pct | number | – | – |
| min_observed_buybox_days | number | – | – |
| min_price | number | – | – |
| operator_name | string | yes | Seller/operator name. |
| product_brand | string | – | Exact product brand (case-insensitive). |
| product_brand_contains | string | – | – |
| product_title_contains | string | – | – |
| sort | string | – | Sort order: est_sales (estimated 30-day revenue, default), buybox_days (observed buybox days won), price, or days_seen. |
No output schema declared.
No examples provided.
operator_top_brands ~418
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 | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Exact brand (case-insensitive). |
| brand_contains | string | – | – |
| limit | integer | – | – |
| marketplace_id | integer | – | 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 | number | – | – |
| max_est_revenue_30d | number | – | – |
| max_est_units_30d | number | – | – |
| max_observed_buybox_days | number | – | – |
| min_asin_count | number | – | – |
| min_est_revenue_30d | number | – | – |
| min_est_units_30d | number | – | – |
| min_observed_buybox_days | number | – | – |
| operator_name | string | yes | Seller/operator name. |
| sort | string | – | Sort order: est_sales (estimated 30-day revenue, default), est_units, buybox_days (observed buybox days), or asin_count. |
No output schema declared.
No examples provided.
operator_xmarket_presence ~90
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 | Type | Req | Description |
|---|---|---|---|
| operator_name | string | yes | Seller/operator name. |
No output schema declared.
No examples provided.
playbook_create ~234
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 | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The playbook's label. |
| schedule | string | – | Run cadence (default = template's or manual). |
| scope | object | – | Shared inputs for the steps, e.g. {"brand":"Nike"}. |
| steps | array | – | Custom ordered [{tool,args}] (instead of a template). |
| template_key | string | – | Built-in template to seed from. |
No output schema declared.
No examples provided.
playbook_list ~148
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 | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Only active (true) or only paused (false) playbooks. |
| last_run_at_from | string | – | YYYY-MM-DD; only playbooks last run on/after this. |
| last_run_at_to | string | – | – |
| schedule_in | string | – | Comma-separated cadences to keep (manual/daily/weekly). |
| template_key_in | string | – | Comma-separated template keys to keep. |
No output schema declared.
No examples provided.
playbook_run_now ~63
Run a saved playbook right now and return its digest (also saved to the in-app inbox). Use when the user says 'run my <name> playbook', 'check my brand watch now', 'run that workflow'.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
No output schema declared.
No examples provided.
playbook_schedule ~66
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 | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| schedule | string | yes | – |
No output schema declared.
No examples provided.
product_dossier ~420
Full dossier for ONE Amazon product, by ASIN or by retail barcode (UPC / EAN / GTIN / ISBN-13): current price, buy-box seller and condition, every current seller (price, FBA/FBM/Amazon, delivery), stock state, BSR and category, rating and review count, Amazon's bought-past-month badge, dimensions and weight, plus observed history - price changes, stock changes, sub-daily buy-box points for frequently refreshed products, rating history. Set include_history=true for the long series (per-seller offer history and the daily buy-box price back to 2023 on Amazon US, BSR history). Use when the user has a specific product and asks 'what does this sell for now', 'who is on this listing', 'has the price moved', 'is it in stock', 'analyse this ASIN', or gives a barcode from a supplier list. Answers from stored observations in milliseconds; refresh=true reads the live Amazon page (10-30 seconds). Amazon marketplaces only.
| Name | Type | Req | Description |
|---|---|---|---|
| asin | string | – | 10-character Amazon ASIN. Provide asin or barcode. |
| barcode | string | – | UPC-12 / EAN-13 / GTIN-14 / ISBN-13 instead of an ASIN. Resolved through observed listings, then Amazon's own search. |
| include_content | boolean | – | Attach the listing content: description, bullets, featured reviews. |
| include_history | boolean | – | Attach the long history series (offer history per seller, daily buy-box price, BSR history). |
| marketplace_id | integer | – | 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. |
| refresh | boolean | – | Read the live Amazon page now instead of the stored snapshot. |
No output schema declared.
No examples provided.
product_page_content ~272
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 (rating, title, trimmed text, verbatim date, verified flag, helpful votes; reviewer names are not stored, so author is always null). 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 | Type | Req | Description |
|---|---|---|---|
| asin | string | yes | The 10-character Amazon ASIN. |
| include_reviews | boolean | – | Append the stored featured reviews (max 12). Default false — reviews are opt-in to keep the payload small. |
| marketplace_id | integer | – | 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. |
No output schema declared.
No examples provided.
risk_assessment ~496
Risk + protection assessment for an ASIN or brand. Returns composite risk score (0-100), recent price-drop / MAP events (≤10: a buy-box price at least 10% below the product's usual price, won by a seller other than the brand's own store; each with the 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 | Type | Req | Description |
|---|---|---|---|
| asin | string | – | – |
| brand | string | – | – |
| buybox_seller | string | – | Exact offending buy-box seller (case-insensitive). |
| buybox_seller_contains | string | – | – |
| days | integer | – | Lookback window for MAP events. Default 30. |
| event_date_from | string | – | YYYY-MM-DD. |
| event_date_to | string | – | – |
| fulfillment_in | string | – | Comma-separated FBA/FBM/AMZ to keep. |
| kind_in | string | – | Comma-separated flagged-event kinds to keep (e.g. map_violations,amazon_dominated). |
| marketplace_id | integer | – | 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_count | number | – | – |
| max_fulfillment_amz_dom_pct | number | – | – |
| max_fulfillment_fba_pen_pct | number | – | – |
| max_listed_price | number | – | – |
| max_price | number | – | – |
| min_count | number | – | – |
| min_fulfillment_amz_dom_pct | number | – | – |
| min_fulfillment_fba_pen_pct | number | – | – |
| min_listed_price | number | – | – |
| min_price | number | – | – |
| product_brand | string | – | Exact product brand (case-insensitive). |
| product_brand_contains | string | – | – |
| product_title_contains | string | – | – |
| severity_in | string | – | Comma-separated severities to keep (high/medium/low). |
No output schema declared.
No examples provided.
search_products ~436
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 | Type | Req | Description |
|---|---|---|---|
| fulfillment_in | string | – | Comma-separated FBA/FBM/AMZ to keep. |
| keywords | string | yes | Free-text product keywords, e.g. 'stainless steel water bottle'. |
| marketplace_id | integer | – | 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_demand_revenue_30d | number | – | – |
| max_demand_units_30d | number | – | – |
| max_fulfillment_amz_dom_pct | number | – | – |
| max_fulfillment_fba_pen_pct | number | – | – |
| max_price | number | – | – |
| max_rating | number | – | – |
| max_rating_count | number | – | – |
| min_demand_revenue_30d | number | – | – |
| min_demand_units_30d | number | – | – |
| min_fulfillment_amz_dom_pct | number | – | – |
| min_fulfillment_fba_pen_pct | number | – | – |
| min_price | number | – | – |
| min_rating | number | – | – |
| min_rating_count | number | – | – |
| product_brand | string | – | Exact product brand (case-insensitive). |
| product_brand_contains | string | – | – |
No output schema declared.
No examples provided.
seller_profile ~468
The stored Amazon SELLER PROFILE for one seller - by seller id (the 'A...' code in /sp?seller=... or the seller_id on an offer) or by the seller/operator name the other tools use. RETURNS the seller's star rating, lifetime and 12-month rating counts, positive-feedback % (with its period), feedback per period (30 d / 90 d / 12 m / lifetime: average rating + count), the rating histogram, up to 5 recent feedback entries (date / rating / struck ONLY - never a buyer's name or text), the business block where the seller publishes one on Amazon (legal name, registration / VAT numbers, address, phone, e-mail, representative; null on au/ca), and tracking (since when and how often Webotee has observed the seller). include_history=true adds the rating-change points and storefront-size points, oldest first, UTC. USE WHEN the user asks who a seller is, how it is rated, whether its rating moved, or wants the legal entity behind a storefront. It reads Webotee's seller store (re-read about every 14 days) - it never fetches Amazon live; a seller not stored yet answers not_yet_tracked. For what a seller SELLS use the operator_* tools. Amazon marketplaces only.
| Name | Type | Req | Description |
|---|---|---|---|
| history_points | integer | – | include_history=true: the latest N change points per series (1-200). |
| include_history | boolean | – | Append history: rating change points + storefront-size points (oldest first, UTC). |
| marketplace_id | integer | – | 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_name | string | – | The seller / operator display name as the operator_* tools return it (resolved to a seller id on the chosen marketplace; the id wins when both are given). |
| seller_id | string | – | Amazon seller id: 'A' + 8-24 letters/digits. Give this OR operator_name. |
No output schema declared.
No examples provided.
set_cost_floor ~170
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 | Type | Req | Description |
|---|---|---|---|
| asin | string | yes | The 10-character ASIN. |
| cost_floor | number | yes | Your landed unit cost (marketplace currency). 0 clears it. |
| marketplace_id | integer | – | Marketplace (2 = Amazon US). |
No output schema declared.
No examples provided.
shopping_search ~595
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 | Type | Req | Description |
|---|---|---|---|
| attributes | array | – | Tokens that MUST appear in the product title, e.g. ['3.5mm'] or ['5090']. |
| category_hints | array | – | Category words the right product lives in, e.g. ['instrument cables','audio cables']. |
| exclude_terms | array | – | Words indicating the WRONG product, e.g. ['ethernet','usb'] for an audio patch cable. |
| keywords | string | – | Core product keywords to search (product noun + essential attributes), no 'best'/brand. |
| marketplace_id | integer | – | 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 |
| max_price | number | – | Optional price ceiling. |
| min_price | number | – | Optional price floor. |
| query | string | yes | What to buy, e.g. 'best electric toothbrush for sensitive gums'. |
| sort | string | – | 'best' = rating-first per class/tier (default); 'cheapest' = lowest-price-first; 'value' = best quality-per-dollar ('best buy'/'optimal'). Auto-detected from the query. |
No output schema declared.
No examples provided.
start_here ~80
A short guide to what Webotee can do and which tools to use, by selling model: wholesale and online arbitrage, private label, brand owners, and agencies. Use at the start of a session, when the user asks 'what can you do with Webotee', or when they only know one tool.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | – |
No output schema declared.
No examples provided.
top_expanding_operators ~361
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 | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| marketplace_id | integer | – | 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 | number | – | – |
| max_avg_rating_count | number | – | – |
| max_new_brands_in_window | number | – | – |
| max_operator_fba_share_pct | number | – | – |
| max_total_asins | number | – | – |
| max_total_brands | number | – | – |
| max_total_observed_buybox_days | number | – | – |
| min_avg_rating | number | – | – |
| min_avg_rating_count | number | – | – |
| min_new_brands | integer | – | Minimum new-brand count to surface (default 3). |
| min_operator_fba_share_pct | number | – | – |
| min_total_asins | number | – | – |
| min_total_brands | number | – | – |
| min_total_observed_buybox_days | number | – | – |
| seller_name | string | – | Exact seller/operator name (case-insensitive). |
| seller_name_contains | string | – | – |
| window_days | integer | – | Days back for 'new' brands (default 30, max 90). |
No output schema declared.
No examples provided.
How do I install the com.webotee/amazon-product-research-mcp server?
com.webotee/amazon-product-research-mcp is a hosted endpoint at https://app.webotee.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.webotee.com
claude mcp add --transport http com-webotee-amazon-product-research-mcp 'https://app.webotee.com/mcp'
What is the com.webotee/amazon-product-research-mcp server?
com.webotee/amazon-product-research-mcp is listed in the public MCP registry as com.webotee/amazon-product-research-mcp. Amazon brand, seller, niche & buy-box intelligence inside your own Claude or ChatGPT. This page covers its hosted endpoint (https://app.webotee.com/mcp).
Is the com.webotee/amazon-product-research-mcp server safe to use?
com.webotee/amazon-product-research-mcp scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.webotee/amazon-product-research-mcp server expose?
com.webotee/amazon-product-research-mcp exposes 94 tools: lookup_product_by_barcode, asin_bsr_history, amazon_search_results, evaluate_asin_sourcing, evaluate_brand, and 89 more. Their descriptions and schemas cost roughly 30,581 tokens of context every time the server is loaded.
Does the com.webotee/amazon-product-research-mcp server require authentication?
Yes. com.webotee/amazon-product-research-mcp asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the com.webotee/amazon-product-research-mcp server still maintained?
com.webotee/amazon-product-research-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.