Skip to main content
Glama

amazon-product-research-mcp

amazon_search_results

Read-only

Fetch a LIVE Amazon search-results page (SERP) right now — the ranked organic + sponsored listings a shopper would see this minute for a query, with position, ASIN, title, price, rating and badges. Use when the user wants CURRENT ranking/visibility: 'who ranks for "dog bed" on Amazon right now', 'is my ASIN on page 1 for this keyword', 'what's sponsored vs organic for this search'. This is a real-time fetch (takes ~10-40 seconds) — for warehouse keyword search use search_products; for buying advice use shopping_search. Amazon marketplaces only; up to 3 pages per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoStart page (default 1).
sort_byNoAmazon sort order (default: featured).
max_pageNoAuto-paginate through this page (max 3 per call).
search_termYesThe query exactly as a shopper would type it.
marketplace_idNo1=UK 2=US 4=CA 5=AU 6=DE 7=JP 8=IT 9=FR 10=ES 11=MX 12=BR (Amazon only; no Walmart).
exclude_sponsoredNoDrop sponsored placements from the results.

TDQS

A4.9/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, so the safety profile is covered. The description adds important behavior beyond the annotation: it is a real-time fetch with ~10-40 seconds latency, restricted to 'Amazon marketplaces only,' and capped at 'up to 3 pages per call.' These constraints are not available anywhere else and manage agent expectations.

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

Conciseness5/5

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

The description is front-loaded with the core action, then gives example triggers, alternatives, and constraints in a logical order. Every sentence adds a distinct fact—returned fields, latency, alternative tools, marketplace restriction—so nothing feels redundant or wasted.

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

Completeness5/5

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 six parameters, the description covers the return contents, when to use it, latency, pagination cap, and marketplace scope. An agent has all the information needed to select the tool and invoke it correctly without additional lookups.

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 coverage is 100%, so each of the six parameters is already individually documented in the schema. The description doesn't need to restate them but adds value by imposing a usage limit on the page parameter ('up to 3 pages per call') and reinforcing marketplace scoping, which goes beyond the schema's default-value notes.

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?

The description opens with a specific verb and resource: 'Fetch a LIVE Amazon search-results page (SERP)' and lists the exact data returned (position, ASIN, title, price, rating, badges). It also names the sibling tools it is not (search_products, shopping_search), so an agent can distinguish the tool immediately without opening other definitions.

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

Usage Guidelines5/5

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

It explicitly states when to use the tool: 'Use when the user wants CURRENT ranking/visibility' and gives three concrete example queries. It also provides clear exclusions: 'for warehouse keyword search use search_products; for buying advice use shopping_search.' This is direct, actionable routing 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.