Skip to main content
Glama

amazon-product-research-mcp

operator_compare

Read-only

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoSort 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).
brandNoOptional — scope the comparison to a single brand's ASINs (catalog sizes, contested, and whitespace are all limited to that brand). Omit for all brands.
limitNoContested ASINs to return (default 25, max 100). This tool pages.
operator_aYesFirst operator/seller name (the focal seller — revenue-at-risk + situation are from A's view).
operator_bYesSecond operator/seller name.
contested_onlyNoIf true, skip the whitespace sections (only the head-to-head contested list).
marketplace_idNo1 = 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_forNoWhich side's whitespace to compute (default both).
include_whitespaceNoInclude each side's whitespace ASINs (default true).
min_est_revenue_30dNoOnly contested ASINs with estimated 30-day listing revenue >= this.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile, so the description's job is to add context — and it does extensively. It discloses return semantics: winner/share/price-gap output, the `situation` tag enum (amazon_in_box | reseller_swarm | tied_price | price_gap), revenue-at-risk computed from operator_a's perspective, and the whitespace/expansion-targets concept. No contradiction with annotations (read-only compare aligns perfectly).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler; the core purpose and output semantics are front-loaded before usage triggers and sort options. It is long relative to typical descriptions, but every clause carries information — there is no repetition of schema contents or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 carries the return-value burden and does so thoroughly: winner, shares, prices, gap, other-seller counts, Amazon box status, situation tags, revenue-at-risk, and whitespace are all explained. Minor gaps remain — 'sanitized prices' is undefined and the 'high-revenue' whitespace threshold is unspecified — but the optional parameters are fully handled by the schema, so the definition is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 10 parameters, so the baseline is 3. The description still adds meaning the schema lacks: it defines 'contested' as ASINs BOTH operators carry, frames whitespace as high-revenue expansion targets, and enumerates the `situation` tag values — all of which inform how contested_only, include_whitespace, whitespace_for, and the result structure should be interpreted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'ASIN-level buy-box head-to-head between two operators (sellers).' It enumerates concrete outputs — winner, buy-box share, sanitized prices, price gap, situation tag, revenue-at-risk, and whitespace — making the pairwise-contested scope unmistakable. This clearly differentiates it from single-operator tools (operator_top_asins), single-ASIN tools (asin_buybox_history), and cross-marketplace tools (xmkt_pricing_compare).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lists five concrete user-query triggers: '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', and 'what does A sell that B doesn't'. However, it never states when NOT to use it or names a specific alternative sibling, stopping just short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation2/5

The tool set is extremely granular, with multiple clusters that overlap in purpose (e.g., amazon_search_results/search_products/shopping_search; watchlist_delta/watchlist_diff; find_undercompeted_brands/category_undercompeted_brands; operator_new_brands/operator_new_on_brand). Although descriptions are detailed, the boundaries between many 'find opportunity' and 'watchlist change' tools are subtle enough that an agent could easily misselect.

Naming Consistency4/5

The vast majority follow a verb_noun snake_case convention with clear prefixes (asin_, brand_, category_, operator_, watchlist_, playbook_, find_, top_). A few noun-style exceptions (competitive_landscape, risk_assessment, brand_under_attack, buybox_loss_alert) break the pattern, but they are minor and do not obscure the overall scheme.

Tool Count1/5

With 82 tools, the server is far beyond the 50+ extreme threshold. Even though the domain is broad, many tools are highly granular variants (e.g., filter_brands_by_fba_share vs filter_operators_by_fba_share; watchlist_delta vs watchlist_diff) that could be merged or parameterized, imposing a heavy cognitive and context burden on agents.

Completeness5/5

The surface is extraordinarily complete for Amazon product research: discovery, ASIN/brand/category analytics, buybox and BSR history, sourcing evaluation, risk/MAP monitoring, watchlists, playbooks, operator intelligence, cross-marketplace checks, and live refreshes. Workflows like authorized_seller_set → buybox_loss_alert and watchlist_add → watchlist_delta are fully supported, with no obvious dead ends.