Skip to main content
Glama

Logimu

Server Details

Amazon (11 marketplaces) and Walmart US product data: search, prices, stock, history, sellers.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
ncosic/logimu-shopping-mcp
GitHub Stars
1
Server Listing
logimu-shopping-mcp

TDQS

A4.6/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct data surface (discovery vs. dossier vs. live offers vs. entity profiles vs. tracking), and the descriptions carry explicit USE WHEN / DON'T USE cross-references that name the correct alternative for each adjacent case. The nearest overlaps — product vs. offers, and shopping vs. search vs. serp — are each resolved by stated boundaries (history vs. live offers; curated shortlist vs. filtered list vs. live SERP).

Naming Consistency4/5

The set follows a mostly consistent resource-noun convention in snake_case (account, brand, category, offers, product, seller, shopping, market_lists, bestsellers). The two verb-prefixed names (list_tracked, track_product) deviate from that pattern, though they form a coherent pair and remain readable.

Tool Count5/5

Fifteen tools is a good fit for a domain spanning discovery, product dossiers, entity intelligence, bulk jobs, and monitoring. Every tool maps to a distinct capability with no obvious filler or redundancy.

Completeness4/5

Coverage is broad: discovery (shopping, search, serp, bestsellers), product intelligence (product, offers), entities (brand, seller, category), rankings (market_lists), keywords, bulk (batch), and tracking lifecycle (track_product with action=stop, list_tracked). Minor gaps remain — reviews are only embedded in other calls, and Walmart support is uneven across tools.

Available Tools

15 tools
accountA
Read-onlyIdempotent
Inspect

ACCOUNT: the calling key's balance, plan, 30-day usage by endpoint and its product-tracking allowance (snapshots a day: total, used, remaining) - the same as REST GET /v1/account. USE WHEN the user asks how many credits are left, what a job will leave, what the key has been used for, or how much tracking room there is. COST free, never billed. API key required (keyed lanes); without one, nothing to report.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, lowering the bar. The description adds genuinely useful non-annotation context: cost is free/never billed, it requires an API key, and without a key 'nothing to report.' It does mention the data is a daily snapshot, which is helpful, but doesn't clarify freshness/timing or the response shape.

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, front-loaded with the resource and scoping, then usage triggers, then cost/auth constraints. Every sentence earns its place, though the parenthetical 'snapshots a day: total, used, remaining' is slightly cramped.

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 zero-param read-only tool with full annotation coverage, the description covers purpose, triggers, cost, and auth requirement. No output schema exists, so it could say more about return shape, but the enumeration of plan/usage/tracking fields largely compensates.

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?

Zero parameters, so the baseline is 4. Description adds accurate framing that the tool acts on the calling key rather than a passed identifier, which is the key semantic point for a parameterless tool.

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?

Names a specific resource (the calling key's balance, plan, usage, and tracking allowance) and enumerates exactly what data it exposes, ending with an equivalence to REST GET /v1/account. This clearly distinguishes it from siblings like track_product or list_tracked, which are write/list operations.

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?

The USE WHEN clause gives four explicit trigger conditions (credits left, job cost projection, usage history, tracking room), and COST free plus API key required establishes constraints. No alternative tool is named, but none of the siblings clearly overlaps this read-only account resource.

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

batchA
Destructive
Inspect

BATCHES: run any Logimu endpoint over a whole list in one job and come back for the results - the same batch API as REST /v1/batches (see https://api.logimu.com/docs#batch). action=estimate prices a list before anything is billed (free); action=create makes a named, re-runnable batch (add start=true to launch its first run at once); action=run launches a run of an existing batch; action=status reports a batch (runs, line stats) or, with run_id, one run's progress (rows done, credits so far, queue position); action=results returns completed result rows of a run, mid-run too (limit / offset to page; jsonl_url and csv_url give the full download); action=list lists the key's batches; action=schedule repeats a batch daily / weekly / monthly (credit_ceiling, webhook_url); action=delete removes a batch. USE WHEN the user has more than a handful of ASINs, barcodes, search terms, seller ids, brands or seeds to run, wants a daily/weekly refresh, or wants a CSV. Kinds: product (asins or gtins - or source=tracked for the ASINs this key tracks, typically with include [history_only] at 0.05 a row), search (terms, live SERP), seller / brand / category / keywords (paid plans), and every other endpoint as its own kind (shopping, warehouse_search, bestsellers, seller_products, seller_brands, seller_network, brand_sellers, brand_network, keywords_compare, categories, category_search, brands_top, brands_movers, sellers_top, sellers_movers, categories_top) with the endpoint's query parameters in params. Each row bills what the endpoint bills; failed, not-found and duplicate rows are never billed; runs are serialized per marketplace. COST estimate / status / results / list are free; create + run queue billable rows (the estimate is the ceiling). API key required (keyed lanes).

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoestimate / create: product (default), search, seller, brand, category, keywords, or any endpoint kind named in the description.product
modeNoproduct / seller batches: cache = warehouse only, live = scrape every row, auto = warehouse when fresh enough (required on create for product batches).
nameNocreate: the batch's name (1-120 characters).
urlsNobestsellers batches: Best Sellers URLs.
asinsNoproduct batches: the ASINs (or Walmart item ids).
gtinsNoproduct batches: barcodes instead of ASINs.
limitNoresults: rows to return (page with offset; the download URLs carry everything).
pagesNosearch batches: pages per term (1-3); ranked-list batches: pages of 25 rows (1-40).
seedsNokeywords / keywords_compare batches: seed terms.
startNocreate: also launch the first run at once.
termsNosearch / shopping / warehouse_search / category_search batches: the queries.
actionYesWhat to do (see the tool description).
brandsNobrand, brand_sellers, brand_network batches.
offsetNoresults: rows to skip.
paramsNoendpoint kinds: the endpoint's query parameters, fixed for every row.
run_idNoFor status (one run's progress) and results.
sourceNoproduct batches: tracked = the ASINs this key tracks on the marketplace instead of a list.
countryNoestimate / create: us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart (search batches Amazon only).us
includeNoExtras: history (seller / brand / category / keywords), reviews, used, offer_history, bsr_history, history_only (product), blocks (search).
batch_idNoFor run / status / results / schedule / delete.
scheduleNoschedule: how often the batch re-runs (none stops the schedule).
seller_idsNoseller, seller_products, seller_brands, seller_network batches.
webhook_urlNoschedule: POSTed on run completion / pause, HMAC-SHA256 signed; the secret is returned once.
category_idsNocategory / categories batches (ids, or root).
max_age_daysNo
credit_ceilingNoschedule: a firing whose fresh estimate exceeds this does not run (email instead); default 2x the estimate.
history_pointsNo
history_sellersNo
schedule_enabledNoschedule: pause without deleting.

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations (destructiveHint=true, readOnlyHint=false) by disclosing billing behavior ('failed, not-found and duplicate rows are never billed'), that estimate is free while create/run bill, that runs serialize per marketplace, that an API key is required, and that webhooks are HMAC-SHA256 signed with a one-time secret. This is unusually rich for a mutation tool.

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?

The core purpose and the action list are front-loaded, and given 8 actions and 29 params most sentences earn their place. It is nonetheless a dense single block with heavy parenthetical nesting, making it harder to scan than a bulleted breakdown would be.

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?

With no output schema, the description still covers returns (result rows, jsonl_url/csv_url downloads, status line stats, queue position), auth requirements, and cost semantics. An agent has everything needed to choose an action and predict the outcome.

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 already 90%, so the schema carries most of the burden, but the description adds real meaning: it maps each action= value to its effect, explains source=tracked ('the ASINs this key tracks'), and calls out costs like the 0.05/row history_only case. It does not fully disambiguate every optional param, so it stays just above baseline.

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 with scope: 'run any Logimu endpoint over a whole list in one job' and pins it to the REST /v1/batches API. An agent can immediately distinguish this bulk runner from the single-item siblings (product, search, seller).

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?

'USE WHEN the user has more than a handful of ASINs... wants a daily/weekly refresh, or wants a CSV' gives a concrete threshold that implicitly separates it from single-item calls. However, it never names a sibling tool as the alternative for the under-threshold case, so routing is inferred rather than stated.

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

bestsellersA
Read-onlyIdempotent
Inspect

LIVE Amazon Best Sellers list for one category: up to 100 products in Amazon's rank order, the category's full breadcrumb name, and its subcategories with their URLs. Given a marketplace's root best-sellers URL (or just a country) it returns the top-level categories instead, so you can walk the tree: root -> category -> subcategory, always by the URLs a previous answer returned. USE WHEN the user asks what sells best in a category or department right now, wants a top-100 or best-seller list, or wants to browse Amazon's best-seller categories. DON'T USE for a keyword search (serp is Amazon's live results page, shopping a curated shortlist), for one known ASIN (product), or for a product's rank history (product with bsr_history). RETURNS page_type 'category': current_category (name, full_name = the breadcrumb path, path[] with each ancestor's name/url/node_id, node_id, url), subcategories[] (name, url, node_id), bestsellers[] (rank, asin, title, link, image, rating, ratings_total, price) and pagination; page_type 'root': categories[] (name, url, node_id). Every answer carries observed_at (when the list was fetched from Amazon) and cached. HONESTY: names are in the page's language (German pages are local; fr, it, es, jp, mx and br pages are requested in English); ranks are Amazon's at fetch time; price is null when the card shows none; node_id is null for departments whose URL carries only a slug. LATENCY is SECONDS: ~15-35s for a fresh top 100, ~15s for a root list; Amazon refreshes these lists hourly, so an answer may come from our cache (up to 30 min for a category, 24 h for the root list) and then returns in milliseconds. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br (the marketplace comes from the URL; no Walmart). COST API key required (the free no-signup lane cannot run live fetches). 1 credit per page of 50 products returned (the full top 100 = 2), cached or fresh; the root list is free; a category Amazon does not have, a blocked fetch and an empty list are never billed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoAn Amazon Best Sellers URL: a category (e.g. https://www.amazon.com/gp/bestsellers/kitchen/289814, or any URL from a previous answer's subcategories / categories / path) or a marketplace's root (https://www.amazon.de/gp/bestsellers/). The marketplace comes from the host.
pagesNo1 = ranks 1-50 (1 credit), 2 = ranks 1-100 (default, 2 credits). Ignored for the root list.
countryNoWithout url: that marketplace's root list of top-level categories (start here when you have no URL yet). With url: must match the URL's marketplace.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, and the description still adds substantial operational context: seconds-scale latency (~15-35s fresh, ms when cached), cache TTLs (30 min category, 24 h root), credit pricing including free root and unbilled failure modes, API-key requirement, and honesty caveats about language, null prices and null node_ids. This is exactly the beyond-annotations content the dimension rewards.

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?

Front-loaded with purpose, then USE/DON'T USE, RETURNS, HONESTY, LATENCY, MARKETPLACES, COST — every block is load-bearing for a live, billed, cached fetcher. It is long, and the RETURNS enumeration could be trimmed slightly, but there is no filler and no repetition.

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?

No output schema exists, so the description carries the full return-shape burden and does so thoroughly (both page_type variants, field-by-field, plus observed_at/cached). Combined with latency, billing and marketplace coverage, an agent has everything needed to call it correctly and set expectations.

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 the baseline is 3, but the description adds real semantics beyond the schema: the marketplace is derived from the URL host, the url/country pair must agree, and — most importantly — the tree-walking contract that subsequent calls should reuse URLs returned by a previous answer. It stops short of adding format syntax the schema lacks, so a 4 rather than a 5.

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+resource ('LIVE Amazon Best Sellers list for one category') with the exact payload (top 100 in rank order, breadcrumb name, subcategories) and the dual-mode behavior (category URL vs. root URL returns top-level categories). An agent can distinguish it from serp, product and shopping without opening the schema.

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?

Explicit USE WHEN conditions (what sells best in a category right now, top-100 list, browsing best-seller categories) and explicit DON'T USE with named alternatives: keyword search -> serp, curated shortlist -> shopping, one ASIN -> product, rank history -> product with bsr_history. This is as close to a routing table as a description gets.

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

brandA
Read-onlyIdempotent
Inspect

Amazon BRAND dossier from Logimu's own buy-box observations (derived intelligence, not estimates): catalog size, how many sellers win the buy box, control score (share of buy-box days won by FBA offers), winner diversity, Amazon's own retail share, FBA penetration, seller concentration (HHI) and churn, seller-pressure trend grades, since when we have observed the brand, its dominant category with p25/p50/p75 benchmarks, and the top-10 sellers by observed buy-box days with their feedback records. USE WHEN the user asks who sells a brand, how contested / Amazon-dominated / FBA-heavy a brand is, whether a brand is gaining or losing sellers, or wants to vet a brand for wholesale / arbitrage / brand protection. OPTIONS: sellers=true adds the full seller list (25 per page, page=N); network=true adds the brand's SELLER MAP - the brands connected to it because the same third-party sellers win the buy box on both (edges weighted by shared sellers, one hop, max 50); history=true adds up to 24 calendar months (ASINs, sellers, buy-box days, price, rating). All 11 Amazon marketplaces, no Walmart. HONESTY: 'observed since' is our data horizon, not the brand's age; a 404 means we have not observed the brand (names are matched as Amazon prints them). COST: paid plan required (the tool is listed only for keys on a paid plan). 1 credit for the dossier, +0.5 once when history comes back non-empty, +1 per page of sellers, +1 for the network. Unknown brand: 0.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeller-list page (with sellers=true).
brandYesBrand name as Amazon prints it (case-insensitive).
countryNoAmazon marketplace.us
historyNoAdd history.monthly (up to 24 months). +0.5 credit when non-empty.
networkNoAdd the seller map: connected brands + weighted edges. +1 credit.
sellersNoAdd the full seller list (25 per page). +1 credit per page.
network_limitNoEdges to return with network=true (1-50).

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations' read-only/idempotent safety profile, the description discloses paid-plan requirements, per-option credit costs, the data horizon caveat ('observed since' is not brand age), 404 behavior for unobserved brands, and marketplace scope. These are exactly the operational details an agent needs before invoking the tool.

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?

Despite being dense, the description is front-loaded: it defines the dossier, then states when to use it, then options, then scope, then honesty caveats, then cost. Every section earns its place for a tool with seven parameters, multiple optional expansions, usage-dependent costs, and no output schema.

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?

With no output schema, the description carries the burden of explaining what is returned and does so thoroughly, including field families, optional expansions, pagination, marketplace coverage, data freshness caveats, and cost model. No material gap remains for correct invocation.

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

Parameters5/5

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

Schema description coverage is 100%, so the baseline would be 3, but the description adds material meaning: sellers=true returns 25 per page and supports page=N; network=true returns a one-hop seller map with up to 50 weighted edges; history=true returns up to 24 calendar months with specific fields; and each option carries its own credit cost.

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 names a specific resource ('Amazon BRAND dossier') and enumerates its contents in detail, making clear this is brand-level buy-box intelligence rather than a generic product or seller lookup. It also distinguishes the data source ('Logimu's own buy-box observations, derived intelligence, not estimates'), which separates it from sibling tools that may surface estimates or different entities.

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?

It gives an explicit 'USE WHEN' list covering who sells a brand, how contested or Amazon-dominated it is, seller trends, and vetting for wholesale/arbitrage/brand protection. It does not name sibling alternatives or state when not to use this tool, so it stops short of the highest tier.

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

categoryA
Read-onlyIdempotent
Inspect

Amazon CATEGORY landscape from Logimu's observations: size (ASINs, brands, sellers), pricing and rating averages, Amazon's own retail share, FBA penetration, Amazon private-label share, seller concentration (HHI top-5), heat (competitive intensity), 30-day catalog churn, demand signals (bought-past-month, revenue signal, velocity tier), root-level benchmark percentiles, the sub-categories and - for root categories - the top-10 brands by observed buy-box days. USE WHEN the user asks how competitive / Amazon-dominated / FBA-heavy a category is, how big it is, which brands lead it, or wants to size a private-label or wholesale entry. Give category_id (Logimu's category id - the one every search result carries; or node_id for an Amazon browse-node id) OR q (a name fragment, English alias included) - with q the tool first returns matching categories (free) so you can pick the id - OR list=true to walk the taxonomy (the marketplace's root categories, or the children of parent_id; free). history=true adds months of products / brands / sellers. All 11 Amazon marketplaces. COST: paid plan required (listed only for keys on a paid plan). 1 credit per category profile, +0.5 with non-empty history; the name lookup and the taxonomy listing are free; unknown id: 0.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoInstead of an id: part of a category name or path (English alias included) - returns candidate categories, free.
listNoWalk the taxonomy: the marketplace's root categories, or the children of parent_id. Free.
countryNoAmazon marketplace.us
historyNoAdd history.monthly. +0.5 credit when non-empty.
node_idNoInstead of category_id: the Amazon browse-node id.
parent_idNoWith list=true: list this category's children instead of the roots.
category_idNoLogimu category id (warehouse id, as returned by every search result and listing).

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds substantial value beyond them: the credit cost model (1 credit, +0.5 with history, 0 for unknown id), which operations are free, the 11-marketplace scope, and the paid-plan requirement. This is exactly the kind of behavioral context annotations can't express.

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?

Long but dense and front-loaded: what it returns, then USE WHEN, then input modes, then cost. Nearly every clause carries information, though the enumeration of return fields is on the verbose side and could be tightened.

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?

There is no output schema, so the description must carry return semantics - and it does, listing the full set of profile fields, the sub-category/brand behavior for root vs non-root categories, and what history=true appends. Nothing an agent needs to call this correctly is missing.

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 per-parameter docs are already present, but the description adds cross-parameter semantics the schema alone doesn't convey: the OR relationship between category_id/node_id, q, and list=true, and that q returns candidates first (free) so the caller can pick an id. That mutual-exclusivity and sequencing is genuine added meaning.

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+resource ('Amazon CATEGORY landscape') and enumerates exactly what the profile contains: size, pricing/rating averages, Amazon retail share, FBA penetration, private-label share, HHI concentration, churn, demand signals, benchmarks, sub-categories and top brands. An agent can immediately tell this is a category-level analytics tool, distinct from product/brand/seller siblings.

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?

Explicit 'USE WHEN' clause names the triggers (how competitive / Amazon-dominated / FBA-heavy, how big, which brands lead, sizing a private-label or wholesale entry). It also documents the three invocation modes and when to choose each, plus the free vs paid conditions.

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

keywordsA
Read-onlyIdempotent
Inspect

Amazon's OWN autocomplete suggestion lists for a seed term, from Logimu's continuous harvest (since Aug 2026, 11 marketplaces): up to 6 lists - one per crawled prefix / department - each term with its position 1-10 WITHIN that list, when it was first and last observed and the marketplaces it was observed in, plus related observed vocabulary starting with the seed. history=true adds every observation of each list since the harvest began (a term entering, leaving or moving position). compare='us,uk,de' instead returns the seed's primary list on each marketplace and a matrix of positions per marketplace. USE WHEN the user asks what buyers type for X, wants listing / backend keyword language, seeds for product research, or how a term's suggestions differ by country. NOT volume figures (Amazon publishes none for its suggestions and none are implied), NOT a product-ranking map - for products pass a term to the shopping tool. Positions are comparable only within one list. COST: paid plan required (listed only for keys on a paid plan), 1 credit per lookup or compare, +0.5 with history when at least one closed observation exists; an unknown seed is free. Counts against the derived daily cap (default 2,000 calls per key).

ParametersJSON Schema
NameRequiredDescriptionDefault
seedYesA seed term or prefix, at least 3 characters, e.g. 'electric toothbrush'.
compareNoComma-separated marketplaces to compare instead of one lookup, e.g. 'us,uk,de' (2-11).
countryNoAmazon marketplace (ignored when compare is given).us
historyNoAlso return each list's observation history (+0.5 credit when a closed observation exists).

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, but the description adds substantial context beyond them: paid-plan gating, 1 credit per lookup, +0.5 with history, free for unknown seeds, and the daily cap of 2,000 calls. It also discloses the output shape (up to 6 lists, positions 1-10, first/last observed, marketplaces).

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?

Front-loaded with purpose, then usage triggers, exclusions, and cost in a logical order; nearly every clause carries distinct information. It is dense and long, but the density is justified by the tool's complexity rather than padding.

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 four-parameter tool with no output schema, the description covers return structure, cost model, limits, and country comparability. An agent has everything needed to call it correctly and interpret the result.

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 the schema already defines the parameters, but the description adds real meaning: history returns every observation since the harvest began, and compare returns each marketplace's primary list plus a position matrix. The comparability caution ('positions are comparable only within one list') is meaningful semantics the schema lacks.

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: it returns Amazon's own autocomplete suggestion lists for a seed term from a continuous harvest. It clearly distinguishes itself from siblings like shopping and search by declaring what it is not (volume figures, product-ranking map).

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?

Explicit 'USE WHEN' triggers (what buyers type, backend keyword language, product research seeds, country differences) and explicit routing away ('for products pass a term to the shopping tool'). When-not conditions are also given (not volume, not product rankings).

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

list_trackedA
Read-onlyIdempotent
Inspect

LIST the products this API key tracks (track_product): each with its status, interval, expiry, whether the hot lane has picked it up, the lane's last and next read, plus the plan's tracking allowance (snapshots a day: total, used, remaining). USE WHEN the user asks what is being tracked, whether a tracking is live, how much allowance is left, or wants to stop one (the id goes to DELETE /v1/track/{id} on the REST API). Stopped trackings stay listed for 30 days. COST 0 credits. Paid plans only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum rows to return.
offsetNoRows to skip (paging; total says how many there are).
statusNoOnly trackings in this state (default: all, newest first).
countryNoOnly this marketplace's trackings (default: every marketplace).
events_forNoA tracking id: return that tracking's webhook events instead of the list - which notify_if threshold fired on which observation, the payload, and the delivery state (pending / delivered / failed, attempts, last error).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds non-obvious behavior: stopped trackings remain listed for 30 days, the operation costs 0 credits, and it is gated to paid plans only. Since there is no output schema, spelling out the returned fields (hot-lane pickup, lane last/next read, allowance totals) further enriches the behavioral picture.

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?

The description uses clear caps-prefixed sections (USE WHEN, COST) and front-loads the core purpose, and every sentence carries information. The opening sentence is long and packs many return fields into one clause, which slightly hurts scannability.

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 read-only listing tool the description covers purpose, usage triggers, retention, cost, plan gating, and even the shape of returned data, so no output schema is needed. Everything an agent needs to select and call the tool correctly is present.

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

Parameters3/5

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

Schema description coverage is 100%, so limit, offset, status, country, and events_for are all documented in the schema itself. The description adds no extra syntax or semantics for these parameters beyond what the schema provides, so the baseline 3 applies.

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+resource ('LIST the products this API key tracks') and immediately distinguishes itself from the sibling track_product by framing it as the resource that track_product populates. It also enumerates the returned fields, so the agent knows exactly what the tool surfaces.

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?

The 'USE WHEN' clause gives concrete triggers (what is being tracked, whether a tracking is live, allowance remaining) and routes the stop-one case to the sibling action (id goes to DELETE /v1/track/{id}), which is explicit when-to-use guidance and an alternative path.

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

market_listsA
Read-onlyIdempotent
Inspect

Ranked LISTS from Logimu's observations, 25 per page: kind=brand_movers (brands gaining or losing 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 observed buy-box 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 cross-brand operators), top_categories (categories ranked by asins / brands / heat / revenue / price / sellers, root categories by default, or the children of parent_id). USE WHEN the user wants to DISCOVER brands, sellers or categories rather than look one up - sourcing leads, brands under seller pressure, the biggest resellers, which categories are hot. Then drill in with the brand / seller / category tools. All 11 Amazon marketplaces. COST: paid plan required (listed only for keys on a paid plan), 1 credit per page of 25 rows returned (an empty page is free). Daily cap per key on the derived family (default 2,000 calls).

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
pageNo
sortNotop_*: the ranking field (see description).
windowNomovers: comparison window in days.
countryNoAmazon marketplace.us
directionNomovers: gaining (up) or losing (down).up
parent_idNotop_categories: list this category's children instead of roots.
category_idNotop_brands: root category id to narrow to.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations (which only cover read-only/idempotent safety): it discloses the paid-plan requirement, the exact cost model (1 credit per 25-row page, empty page free), and the daily per-key cap of 2,000 calls on the derived family. These are precisely the operational facts an agent needs before invoking.

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?

Long but front-loaded: the kind inventory leads, then usage guidance, then cost. The parenthetical ranking details are dense but each earns its place given the five-way kind switch. Minor density cost keeps it off a 5.

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 complex 8-parameter, 5-kind discovery tool with no output schema, the description covers purpose, per-kind semantics, usage routing, and full cost/limit context. An agent can select and invoke it correctly without further information.

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 75% and the description meaningfully extends it — it explains what each kind ranks by, which sort fields apply per kind, and the distinct behaviors of category_id (narrow top_brands) versus parent_id (children of top_categories). It adds value, though the sort field mapping is left as 'see description' rather than fully itemized.

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+resource ('Ranked LISTS from Logimu's observations, 25 per page') and enumerates all five kind values with what each ranks, so the agent knows exactly what data comes back. It clearly distinguishes itself from the sibling look-up tools (brand/seller/category), which retrieve a known entity rather than rank a set.

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?

'USE WHEN the user wants to DISCOVER brands, sellers or categories rather than look one up' gives an explicit when-to-use, with concrete scenarios (sourcing leads, brands under seller pressure, biggest resellers). It then routes the agent onward with 'Then drill in with the brand / seller / category tools,' naming alternatives and the follow-up path.

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

offersA
Read-onlyIdempotent
Inspect

LIVE Amazon offers page for one product: every seller offering it right now, read from Amazon's 'All offers' view at request time, every page of it (up to 10). Each offer has the seller and seller_id, price, shipping_cost, condition, buy box, FBA / FBM / Amazon, Prime, ships-from, the delivery promise and the seller's feedback record; the answer adds the buy box and the page's own header (title, image, rating, review count). No product page is fetched. USE WHEN the user asks who sells a product right now, wants every current offer, the cheapest new or used offer or the buy-box winner as of this minute, or needs a fresh seller list before buying, sourcing or repricing. DON'T USE for brand, BSR, listing content, reviews or price / offer history (product), for a keyword search (shopping, serp) or for a brand's or a seller's long-run buy-box record (brand, seller). RETURNS asin, marketplace, observed_at, title, image_url, rating, reviews_count, currency, price (the buy box), buybox_seller, buybox_seller_id, seller_count, no_sellers, pages_fetched, buybox_condition / buybox_condition_source / buybox_condition_detail (new | used | null = no featured offer; the pinned offer's condition text or the used storefront's name, e.g. Amazon Resale), current_sellers (sellers[] buy box first, then price ascending: seller, seller_id, price, shipping_cost, condition, condition_class, is_buybox, is_fba, is_prime, fulfillment, ships_from, delivery, seller_rating, plus buybox_days_30d and the 30-day buy-box shares from our observations; offer_count, used_offer_count, lowest_new, lowest_used), fulfillment (offer counts by AMZ / FBA / FBM, whether Amazon sells or holds the buy box) and seller_ratings; with gtin also gtin_resolution (source, confidence, barcode_verified). HONESTY: no_sellers=true means Amazon lists no offer for the product right now, an answer confirmed by a second, independent fetch before it is served; a fetch that fails is reported as an error, never as no sellers. LATENCY is SECONDS: typically 4-12s (one page ~4s; a long list walks every page). MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br (no Walmart). COST API key required (the free no-signup lane cannot run live fetches). 0.5 credit when the answer carries at least one offer; a no-offers answer, an ASIN Amazon does not have, a barcode nothing resolves and a failed or busy fetch are never billed.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNoOptional (2026-10-14): a US 5-digit ZIP - the offers page as Amazon shows it to a shopper at that ZIP, with location (Amazon's confirmed 'Deliver to' answer) and deliverable (whether the item is offered to that ZIP right now; Amazon Fresh and Whole Foods items deliver only to some ZIPs, and an out-of-area ZIP shows the same unavailable box as a stock-out). Page 1 of the offers only, a one-off session, nothing stored. country=us only. 1 credit when the answer carries an offer; a ZIP Amazon rejects is guidance, never billed.
asinNoThe product's 10-character Amazon ASIN (a print book's ISBN-10 works too). Provide asin or gtin.
gtinNoA barcode instead of an ASIN: UPC-12, EAN-13, GTIN-14 or ISBN-13. Resolved cheapest evidence first: a listing we observe that carries it, a book's ISBN-10, the same product on another Amazon marketplace, then Amazon's own search (organic results only). gtin_resolution says which, and barcode_verified whether the listing itself carries the barcode. A barcode nothing resolves is never billed.
countryNoThe Amazon marketplace to read the offers page on.us
include_usedNotrue also lists the used, refurbished, open-box and collectible offers in current_sellers.sellers. Either way current_sellers carries used_offer_count, lowest_new and lowest_used, and every row its condition. Not billed extra.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover readOnly/openWorld/idempotent/destructive, and the description goes well beyond them: latency in seconds, billing rules (0.5 credit, never billed on no-offers/failed fetch), API key requirement, supported marketplaces, and an HONESTY clause explaining that no_sellers is confirmed by a second independent fetch while failures surface as errors. This is rich behavioral context an agent could not get from annotations.

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?

Dense but well-structured with labeled sections (USE WHEN / DON'T USE / RETURNS / HONESTY / LATENCY / MARKETPLACES / COST) and front-loaded purpose. It is long, and some RETURNS field enumeration borders on restating schema-level detail, but nearly every sentence carries actionable information.

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 live-fetch tool with no output schema, the description fully documents the return shape (asin, price, buybox_seller, current_sellers fields, fulfillment, seller_ratings, gtin_resolution), plus cost, latency and failure semantics. An agent has everything needed to call it correctly.

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 the baseline is 3, but the description adds real meaning beyond the schema: zip is scoped to page 1 and country=us, gtin resolution order and barcode_verified semantics, and per-parameter billing nuances (include_used not billed extra, unresolved barcode never billed). Slightly redundant with the schema in places, hence not a 5.

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 precise verb and resource ('LIVE Amazon offers page for one product: every seller offering it right now'), including scope (up to 10 pages, no product page fetched). It explicitly distinguishes itself from siblings product, shopping, serp, brand and seller, so an agent can route without opening any schema.

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?

Explicit USE WHEN list ('who sells a product right now', 'cheapest new or used offer', 'buy-box winner as of this minute') and an explicit DON'T USE list naming the sibling tools to use instead (product, shopping, serp, brand, seller). Nothing is left to inference.

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

productA
Read-onlyIdempotent
Inspect

Full dossier for ONE known product: its current snapshot plus its observed history. USE WHEN the user has a specific ASIN, Walmart item ID, product link, or a product_id returned by shopping or search, and asks about price history, historical prices, price changes, 30-day history, stock history, seller history, buy-box history, historical analysis, 'analyse this product', 'is this a good buy', 'has the price moved/dropped', 'who is selling this', 'is it in stock'. This is the ONLY tool that returns history: shopping and search return current values, so any historical question about a product they listed comes here. DON'T USE to discover products from a keyword (use shopping) or to pull a filtered list (use search). RETURNS current price, BSR, rating, review count, stock, buy-box seller and seller count, plus an observed_at freshness stamp, full price_history and stock_history back to first observation (keyed; the free lane carries the 30-day views), change events tagged with the buy-box seller at each change, the current all-seller offer table with 30-day buy-box days (each seller row carries fulfillment AMZ/FBA/FBM and delivery days), a fulfillment block (buy-box AMZ/FBA/FBM, offer counts, whether Amazon sells and holds the buy box, buy-box delivery days and dispatch latency), the bought-past-month badge (measured aggregate buyer behavior, not an estimate), brand stats, and since 2026-09-27: dimensions (item weight + package size as printed plus parsed metric weight_g / *_cm), deal_history (list price, savings and coupon/promotion text as segments of consecutive observations, with a current view), bought_past_month_history (the badge over time; null = page seen without a badge), rating_history (rating_count + rating per observed day with ratings_gained_30d/90d), and variation_coverage (the variation matrix as last seen with, per child, whether we track it and its latest 30-day price - current state, not history). With offer_history=true every per-seller point also carries that day's shipping cost, fba and prime, and the answer carries buybox_price_history (2026-10-09): the lowest buy-box price of every observed day, oldest first, each point labelled source offers (our offer observations, every Amazon marketplace, from 2026-04-17) or daily_snapshot (the legacy daily snapshot, Amazon US back to Nov 2023) - the deepest price series we hold; a gap between two dates is a stretch we did not observe. Since 2026-10-14 every Amazon answer also carries buybox_price_points_hot: every all-offers-page observation of the last 30 days, newest last, {ts, price, seller, seller_id, fulfillment, offer_count} - sub-daily for ASINs in our hot lane, which refreshes popular and customer-polled ASINs every few hours (null when none; history_only carries it too) - and tracking: the lane's state for the ASIN (hot, interval_min, last_fetched_at) or null. Since 2026-10-15 Amazon answers carry buybox_condition (new | used | null = no featured offer; with buybox_condition_source product_page | offers_page and buybox_condition_detail: the pinned offer's condition text, used_only_buybox, or the used storefront's name - Amazon Resale / Amazon Warehouse win the buy box like any seller and read as Amazon retail before), buybox_state (what the lane's newest all-offers read saw: in_stock | no_buybox | out_of_stock, with buybox_state_observed_at and stock_state_source when it decided stock_state; stock_state, in_stock and out_of_stock always agree), and on LIVE answers variation_status (page_is_sibling | page_is_other | null) + page_asin when Amazon served another ASIN's page for the one asked (cache answers: null). Amazon answers also carry the observed product-page content, the byline (authors[] with role_norm author/narrator/illustrator/editor/translator + author for books, audiobooks, music; 2026-09-29), the book/media format (format, format_norm, and formats[]: every format of the book, each its own ASIN with price and membership subscription_price, plus family_asin; 2026-09-30) block: description (with description_source), feature_bullets, images, breadcrumbs, variations with variation_count and parent_asin, stamped content_observed_at — content_observed_at:null with empty arrays means the content crawl has not captured this ASIN yet, never 'this product has no description/gallery'. For the ~17% of the catalog with no overall rank (media, books, niche items), bsr_leaf and bsr_leaf_category carry the best category rank instead. Every response carries a data_source field naming the marketplace the numbers were observed on (e.g. 'amazon US marketplace — observed listings') — attribute prices to that source when presenting them; they are marketplace listings, not manufacturer or site-wide prices. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart. Walmart takes a numeric item ID (or gtin= with the item's UPC) and returns the intelligence blocks plus its listing content: image_url, description, breadcrumbs, highlights (spec name/value pairs), warnings, upc, rating/review_count, was_price, in_stock, and shipping_cost per seller (no live scrape on Walmart). COST free lane 1 of 30 daily queries, cache only, and returns the snapshot + 30-day views (the full history streams, bsr_history, offer_history and live scrapes need an API key (plans from $19/mo) — the response's locked block lists exactly what a key unlocks). Keyed: 0.5 credits from cache with everything included - bsr_history and offer_history too, no extra charge since 2026-10-10 - and 1 for a live scrape; history_only=true returns just the history series for 0.05 credit. Misses and partial scrapes are never billed; a miss may return a hint (found on another marketplace, or retry with mode=live). SELLER FEEDBACK (2026-09-18): every response carries seller_ratings - one entry per seller the answer names (current offers, cheapest new/used, buy-box holder and, with offer_history, every historical seller) with seller_positive_pct, seller_feedback_count, seller_rating and observed_at from a nightly seller-feedback table; offer_history.sellers[] rows carry the same fields directly. Amazon's own offers have no feedback. Not billed.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYes10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart. Provide either asin or gtin.
gtinNoGTIN / UPC / EAN barcode (12, 13 or 14 digits; punctuation and leading zeros are tolerated), resolved to an ASIN in the requested marketplace. USE WHEN the user gives a barcode instead of an ASIN — scanned off a package, from a supplier sheet, or copied from a listing. A barcode can legitimately map to several ASINs; the best match is returned and the rest are listed in gtin_matches. Never billed when the barcode is unknown to us.
modeNocache = stored observation only; live = force an on-demand scrape (Amazon only, takes a few seconds); auto = serve cache when fresher than max_age_days, otherwise scrape. The no-signup free lane is cache-only: mode=live returns an error asking for an API key (from $19/mo) (do not offer a live scrape to a keyless caller); with a key, live/auto scrape normally.auto
trackNoAnswer AND track (paid plans): after this answer the ASIN is pinned into our hot lane, which re-reads its all-offers page every `interval` for 30 days and adds every read to buybox_price_points_hot - the same as the track_product tool. No extra credits (the plan's daily tracked-snapshot allowance is drawn); the answer is served even when the tracking is refused and its `track` block says why. Amazon only.
countryNoMarketplace to look the product up in. Amazon: us, uk, de, ca, au, fr, it, es, jp, mx, br. walmart = Walmart US (United States only). Pick the marketplace matching the user's country or locale when known (a German user -> de, a Canadian user -> ca); default us.us
intervalNoWith track=true: how often the lane re-reads the all-offers page (1h = 24 snapshots a day).4h
bsr_historyNoAttach the full per-category BSR rank history (era-tagged daily points back to Oct 2023 for US; legacy top-100 segments are flagged censored). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). Included in the record, no extra credits.
history_onlyNoReturn ONLY the stored history series - bsr_history, offer_history and buybox_price_history - with no snapshot, content or seller table, for 0.05 credit. USE WHEN the user tracks price or rank over time for many products and does not need the current listing. Amazon marketplaces only, served from stored observations (mode=live is refused); needs a paid-plan API key (from $19/mo).
include_usedNoInclude used, refurbished, open-box and collectible offers in current_sellers (default false keeps the new-condition list). Every seller row always carries condition (the marketplace's own label) and condition_class (new, used_like_new, used_very_good, used_good, used_acceptable, used, refurbished, open_box, collectible, unknown); current_sellers always carries used_offer_count, lowest_new (the cheapest new offer - the list is buy-box first, not price-sorted) and lowest_used (the cheapest second-hand offer) even without opting in. With offer_history it returns one series per seller+condition_class. Cached, live and historical data alike; not billed extra.
max_age_daysNoHow old a cached observation may be before mode=auto triggers a live scrape.
offer_historyNoAttach the buy-box owner timeline and per-seller daily price series (US buy-box depth back to Dec 2024) plus buybox_price_history, the lowest buy-box price of every observed day (Amazon US back to Nov 2023). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). Included in the record, no extra credits.
history_pointsNoWith offer_history: points per series, the most recent N observed days (default 500, max 20,000). Wider series are included too, no extra credits (offer_history.points_extra still reports the points beyond the default 10 x 500).
history_sellersNoWith offer_history: how many of the most-observed sellers carry a point series (default 10, max 50). Every observed seller is always listed as a summary row with points_total.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations: it discloses the paywall boundary (free lane is cache-only, full history needs a key from $19/mo), exact credit costs (0.5 cache, 1 live, 0.05 history_only), rate limits (1 of 30 daily queries), billing behavior (misses never billed), the side effect of track=true (pins the ASIN into the hot lane), and freshness semantics for content_observed_at. This is unusually rich behavioral disclosure.

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

Conciseness2/5

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

Purpose and usage are correctly front-loaded, but the body is an enormous single flowing paragraph bloated with changelog-style version stamps ('Since 2026-09-27', '2026-10-09', '2026-10-14', '2026-09-30') and field-by-field return enumeration that an agent does not need to select or invoke the tool. Many sentences do not earn their place in a selection aid.

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 13-parameter tool with no output schema and a broad marketplace scope, the description is exhaustive: it enumerates return blocks, distinguishes Amazon vs Walmart behavior, states the marketplace enum, covers keyed vs free-lane variants, and explains null semantics (content_observed_at:null, bought_past_month_history null). Nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema_description_coverage is 100%, so the schema already documents all 13 parameters thoroughly (enums, defaults, USE WHEN notes on gtin/history_only). The description restates much of the same (offer_history, history_only, track, mode, country) without adding much syntax or format detail beyond the schema, so the baseline of 3 applies.

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?

Opens with 'Full dossier for ONE known product: its current snapshot plus its observed history', a precise verb+resource+scope. It explicitly distinguishes itself from siblings: 'This is the ONLY tool that returns history: shopping and search return current values.' An agent can tell immediately what it does and how it differs.

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?

Gives an explicit USE WHEN list of triggering questions and identifier types, names the exact alternatives for the excluded cases ('DON'T USE to discover products from a keyword (use shopping) or to pull a filtered list (use search)'), and adds a routing rule for historical questions. When/when-not/alternatives are all present.

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

sellerA
Read-onlyIdempotent
Inspect

Amazon SELLER profile by seller id, optionally with the products the seller sells. USE WHEN the user asks about a third-party seller / merchant / storefront (who they are, how they are rated, what they sell) - the seller id is the 'A...' code in /sp?seller=... or the seller_id on any offer the product tool returns. RETURNS seller (name, rating, lifetime and 12-month rating counts, positive %, is_amazon), feedback_summary per period (30 d / 90 d / 12 m / lifetime: average rating + count - Amazon no longer publishes positive/neutral/negative splits), rating_histogram, recent_feedback (up to 5 entries as date / rating / struck ONLY - never the buyer's name or text), and business (legal name, registration / VAT numbers, address, phone, email, representative) where the seller publishes it on Amazon - all 11 marketplaces; au and ca pages carry no business block, so it is null there. With products=true, also seller_products: mode=live the storefront as Amazon shows it now (the serp object, SECONDS), mode=cache the products we OBSERVED the seller offering (25 per page, buy-box days, observed price range, <100 ms). MODES for the profile: cache = our stored observation - the seller page as our tracker last read it (the full profile; sellers are re-read about every 14 days), or the page fetched in the last 24 h, or for sellers not stored yet the warehouse rating record; live = fetch the seller page now (5-20 s, up to ~30 s); auto (default) = stored when younger than max_age_days (default 14), else live. tracking{} says since when we have observed the seller (observed_first_seen), when last (last_observed) and how often - OBSERVED, never 'founded' or 'active since'. With history=true also history{}: the seller's rating change points (positive %, star rating, counts per 30 d / 90 d / 12 m / lifetime) and storefront-size points, oldest first, UTC - change points, each value holds until the next; the series starts 2026-10-04 at the earliest, so expect 1-2 points per seller for now. HONESTY: a 404 means Amazon has no seller page for that id on that marketplace (or we never observed it, in cache mode); a 502 is a collection failure, not a fact about the seller - retry. An empty storefront does not confirm the seller exists. LOOKUP: give seller_id, or name (resolved through observed buy-box data to the id, free). COST: paid plan required - the tool is listed only for keys on a paid plan (no free lane). Profile: 1 credit live, 0.5 from cache, auto bills what was served; history=true +0.5 once when at least one point comes back. Products: 1 credit per storefront page fetched (live) or per page of 25 observed products (cache). Feedback, business details and tracking are included at no extra charge. Not found, unavailable, blocked, empty storefront, empty history: 0. DERIVED (2026-10-05): brands=true adds the operator footprint - the brands this seller was observed winning the buy box on, with buy-box days (+1 credit per page of 25); network=true adds the connected sellers that win on the same brands (+1 credit).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoProfile lane (see description). products=true uses products_mode.auto
nameNoInstead of seller_id: the seller's display name as Amazon prints it (e.g. 'Total Office Solutions'). Resolved through observed buy-box data to the seller id; a name we have never observed, or one with no id on record, returns guidance - nothing is billed.
pageNoProducts page (cache: 25 per page; live: Amazon's page 1-10).
brandsNoAlso return the operator footprint: brands this seller was observed winning the buy box on (16 months), 25 per page (brands_page). +1 credit per page.
countryNoAmazon marketplace. No Walmart - seller pages are Amazon-only.us
historyNoAlso return history{} (rating + storefront-size change points, oldest first, UTC). +0.5 credit when non-empty.
networkNoAlso return connected sellers: sellers winning the buy box on the same brands, strongest overlap first (max 50). +1 credit.
max_pageNolive products only: auto-paginate up to this page (max 10); billed per page fetched.
productsNoAlso return the seller's products (billed separately, see description).
seller_idNoAmazon seller id: 'A' + 8-24 letters/digits.
brands_pageNo
max_age_daysNoauto only: how old the stored observation may be before fetching live (default 14 = the tracker's cadence).
products_modeNocache = observed products (fast); live = the storefront now (seconds).cache
history_pointsNohistory=true: the latest N change points per series (1-5000).

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this read-only/idempotent, and the description still adds substantial non-structured context: HTTP status semantics (404 = no page or never observed, 502 = collection failure to retry), the fact that an empty storefront does not confirm existence, caching/refresh cadence (~14 days), and a full per-operation credit model. Nothing here is derivable from 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.

Conciseness4/5

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

Long, but front-loaded with purpose, USE WHEN, RETURNS, and modes before the cost block. Most sentences carry unique operational information; a few (mode/products_mode behavior) restate what the schema enums already say, which keeps it from a 5.

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?

No output schema exists, so the description carries the full return burden and does so explicitly: seller fields, feedback_summary periods, rating_histogram, recent_feedback contents and privacy limits, business block behavior per marketplace, and the products/history add-ons. An agent has everything needed to call and interpret results.

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 93%, so the schema already documents most parameters. The description still adds cross-parameter meaning the schema cannot: how mode=auto bills 'what was served', the live fetch timing (5-20s, up to ~30s), the cache page size of 25, and the +0.5/+1 surcharges for history/brands/network.

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?

Opens with a specific verb+resource: 'Amazon SELLER profile by seller id, optionally with the products the seller sells.' It also distinguishes itself from the sibling product tool by noting the seller id appears 'on any offer the product tool returns,' so an agent can route without opening either schema.

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?

Explicit 'USE WHEN the user asks about a third-party seller / merchant / storefront (who they are, how they are rated, what they sell)' plus a concrete LOOKUP rule (seller_id or name). Costs and modes are also tied to concrete situations.

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

serpA
Read-onlyIdempotent
Inspect

LIVE Amazon search-results (SERP) fetch: a real browser navigates Amazon's search page RIGHT NOW and returns the parsed organic result grid plus everything around it. USE WHEN the user wants what Amazon's search page shows THIS MINUTE for a query — current ranking order, who is on page 1, sponsored/ad placements, related searches, refinement filters — or when the curated tools found nothing and the user wants Amazon itself checked. DON'T USE for ordinary product discovery (shopping is <100ms and curated), for filtered datasets (search), or for one known ASIN (product). RETURNS search_results (position, asin, title, link, image, rating, ratings_total, price, list_price, recent_sales badge, sponsored, is_prime), search_information (Amazon's OWN result-count estimate — 'over 20,000' is an estimate, not a count), pagination, related_searches, refinements (round-trip: pass a refinements[*].value back in), ad_blocks / video_blocks (sponsored placements; their links are Amazon ad-redirectors, NOT clean product URLs) and brand_stores (organic store headers only — legitimately empty on sponsored-heavy pages). HONESTY: results per page is Amazon's choice (16-48, varies); sponsored is usually false because Amazon puts paid placements in separate carousels; is_prime false means 'no icon rendered', not 'not Prime'; recent_sales is the verbatim badge string in the page's own language; spelling_correction reports Amazon's autocorrect, it cannot disable it. LATENCY is SECONDS — typically ~8-13s, up to ~90s when the retry ladder runs; tell the user it is a live fetch. Every call is live: there is no cached SERP and no mode parameter. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br (no Walmart). COST API key required (the free no-signup lane cannot run live fetches). 1 credit per page ACTUALLY fetched — max_page=3 can stop at 2 when Amazon runs out; blocked fetches (502) and empty result sets are never billed.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesThe search query, exactly as a shopper would type it into Amazon's search box. Query in the marketplace's own language.
pageNoStart page (1-10).
countryNoAmazon marketplace to search. No Walmart — live SERP is Amazon-only.us
sort_byNoAmazon's own sort orders; default is Amazon's Featured.
max_pageNoAuto-paginate page..max_page and concatenate (positions stay continuous across pages). Max 10 pages per request; billed per page actually fetched.
category_idNoAmazon browse-node id to scope the search (becomes &node=).
refinementsNoAmazon rh= refinement value. Round-trips: feed back any refinements[*].value from a previous serp response.
exclude_sponsoredNoDrop inline sponsored results. Often a no-op — Amazon usually keeps paid placements in separate carousels outside the organic grid.
number_of_resultsNoTruncate the returned result list.

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond annotations with latency expectations, Amazon's own quirks (sponsored usually false, is_prime semantics, estimates vs counts, ad-redirector links), marketplace list, API key requirement, and billing rules. This is rich context structured fields cannot carry.

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

Conciseness3/5

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

Front-loads purpose and usage well, but the RETURNS/HONESTY blocks are dense run-on sentences that hurt scanability despite every claim being substantive.

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?

Complete for a live-fetch tool: covers when to use, latency, cost, marketplace support, return shape, and Amazon-specific caveats. An agent can call it correctly without further context.

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 baseline is 3; description adds genuine meaning by clarifying round-trip refinements, that sponsored exclusion is often a no-op, and that max_page can stop early when Amazon runs out.

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 ('LIVE Amazon search-results (SERP) fetch') and distinguishes from siblings by naming shopping, search, and product as different tools with different jobs.

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?

Explicit USE WHEN conditions (current ranking order, sponsored placements, fallback when curated tools found nothing) and explicit DON'T USE for three named alternatives with reasons.

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

shoppingA
Read-onlyIdempotent
Inspect

Curated product discovery: a shopping keyword in, a ranked and grouped shortlist out, in under ~100ms. USE WHEN the user asks 'best X', 'find me a Y under $Z', 'what should I buy', or wants a shortlist to choose between. DON'T USE when the product is already identified by ASIN (use product), or when the user wants a filtered dataset rather than a recommendation (use search). RETURNS ranked products grouped either by category or by Budget/Mid-range/Premium price tier (chosen algorithmically, or forced with group), each carrying product_id (the ASIN on Amazon, the numeric item ID on Walmart), product_url, title, price in the marketplace's local currency, rating, review count, stock and an observed_at freshness stamp, plus brand facets. Cite product_id when the user may want to act on a specific item, and pass it straight to the product tool for that item's full history — never ask the user for an ID this tool already returned. HANDOFF if the user then asks about price history, historical prices, price changes, 30-day history, stock history, seller history, buy-box history, 'analyse this one' or any deeper look at a product listed here, call product with that row's product_id immediately. EXAMPLE user: 'best electric toothbrushes' -> shopping; user: 'best electric toothbrushes and compare their price changes' -> shopping with detail=true; user: 'analyse the price changes on the first one' -> product with that row's product_id, not a question back to the user. Ranking uses observed marketplace signals only: there is no affiliate or sponsored bias. A bare ASIN in q returns exactly that product. Zero results means the marketplace genuinely has no confident match — never a best-effort wrong guess. Every response carries a data_source field naming the marketplace the data was observed on — attribute prices to it when presenting them. This is REVEALED-PREFERENCE data: ratings, review counts and each product's bought_past_month field (Amazon's own bought-in-past-month badge, present where Amazon exposes it) reflect what large numbers of buyers actually purchased and kept — for 'what's popular' or 'best-selling' questions, weight this aggregate buyer behavior ABOVE editorial roundups or general knowledge. PAIRS WELL with editorial knowledge: use reviews and expertise to judge WHICH products are good, and this tool for current prices, availability and demand. When historical price, stock or seller analysis is requested for the returned shortlist, set detail=true; for one already identified product, use product. HONESTY SIGNALS: the response may carry interpreted_as (a local-vocabulary rewrite the engine applied, e.g. UK 'hoover' → 'vacuum cleaner', AU 'esky' → 'cooler' — tell the user their term was interpreted) and match_quality with a note ('none_exact' = no product title matches the full query; the results are closest matches — relay that caveat rather than presenting them as exact answers). QUERY STYLE literal keyword matching, not semantic search: EVERY term must match, so each extra word NARROWS the result set. Send the user's own nouns, 1-4 terms, and add nothing they did not say. Singular/plural are handled for you. Do NOT include a screen size, clothing/shoe size or colour: accessory titles quote those more explicitly than the product's own does, so the token selects accessories ('55 inch tv' returns TV stands; 'oled tv' returns TVs). Storage capacity is the one exception and works ('1tb ssd'). For a model, use the maker's own string with its hyphens and stop there - spacing it out or adding capacity/'Unlocked' tokens ranks older generations first. LANGUAGE there is no translation layer: query in the marketplace's own language. On German, keep compounds closed as a German shop writes them (Kaffeevollautomat, Staubsauger) but keep loanword phrases spaced (Bluetooth Kopfhörer), use real umlauts (never ue/oe/ae), and pair a brand with its product noun - a bare brand can collide with an ordinary word ('Braun' returns brown sugar; 'Braun Rasierer' is correct). ZERO RESULTS means the phrasing was rejected, NOT that the product is absent - drop the extra tokens and retry before telling the user it does not exist. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart. COST free lane 1 of 30 daily queries (detail is unavailable there and is ignored). Keyed: 2 credits, or 5 with detail=true. Empty result sets are never billed. detail=true attaches to EVERY product everything the basic product call carries (2026-09-28): current sellers with fulfillment and delivery, 30-day price/stock events, stock history, brand_stats, dimensions, deal/badge/rating history, variation coverage, page content and up to 50 featured reviews, plus a response-wide seller_ratings array; only bsr_history and offer_history stay product-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesWhat to search for, e.g. 'coffee maker'. Literal keywords, not semantic: every term must match, so extra or inferred words only narrow the result set. Query in the marketplace's own language - there is no translation. A bare ASIN returns exactly that product.
sortNorelevance (default) | price (cheapest first) | rating. USE price when the user asks for the cheapest, rating when they ask for the best-reviewed.relevance
brandNoRestrict to one exact brand. USE WHEN the user names a brand they want ('Anker charger'); prefer this over putting the brand in q.
groupNoHow to group the shortlist. auto = choose category or price tiers automatically; category = group by product category; price = group into Budget/Mid-range/Premium; none = one flat ranked list.auto
limitNoMax products to return (default 20).
detailNoAttach per-product intelligence to every product returned (30-day price and stock change events, full stock history and state, bought-past-month badge, current sellers). Keyed accounts only. 5 credits per query instead of 2.
formatNoBooks/media only: return only this format - kindle, paperback, hardcover, mass_market, audiobook, audio_cd, board_book, spiral, library_binding or other (comma-separate several). USE WHEN the user wants a specific edition ('LOTR in paperback', 'the audiobook').
countryNoMarketplace to search. Amazon: us, uk, de, ca, au, fr, it, es, jp, mx, br. walmart = Walmart US (United States only). Pick the marketplace matching the user's country or locale when known (a German user -> de, a Canadian user -> ca); default us. Prices are returned in that marketplace's local currency.us
collapseNotrue (default): one row per book, its other formats listed in the row's `formats` (each with its own ASIN and price). false: every format as its own row.
in_stockNoOnly products currently in stock.
max_priceNoMaximum price, in the marketplace's local currency. USE WHEN the user gives a budget or says cheap/affordable/under X — pass the number here rather than putting the word in q, where it is matched as a literal word in the product title and throws away real results.
min_priceNoMinimum price, in the marketplace's local currency. USE WHEN the user sets a floor ('at least £50', 'nothing cheap').
include_unavailableNofalse (default): only products with a current offer, so the shortlist is buyable. true: also list items that currently have NO offer on the marketplace (Amazon 'Currently unavailable': price null, in_stock false). USE WHEN the user asks about a specific discontinued or sold-out product; otherwise leave it off.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare the safe read-only, idempotent, non-destructive profile, yet the description adds substantial undisclosed behavior: ~100ms latency, no affiliate/sponsored bias, zero-results semantics, the data_source attribution requirement, interpreted_as and match_quality caveats, and a detailed credit/free-lane cost model. Its only shortfall is not covering pagination or result-count edges beyond the limit parameter.

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?

Front-loaded correctly with purpose and routing first, then return shape, then query mechanics and cost. However it runs very long and duplicates the literal-keyword/query-style guidance that already appears in the q parameter description, so some sentences do not fully earn their place.

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?

There is no output schema, so the description carries the full burden of describing returns, and it does: product_id with per-marketplace meaning, product_url, title, price currency, rating, review count, stock, observed_at, brand facets, plus the match_quality/interpreted_as signals and grouping behavior. For a 13-param multi-marketplace tool this is complete enough to call blind.

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%, so the baseline is 3, but the description adds real meaning beyond the schema: the literal keyword-matching rule with the accessory trap explanation ('55 inch tv' returns TV stands), the storage-capacity exception, capitalization/language rules per marketplace, and the brand-token collision example. These are operational semantics the schema fields do not carry.

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?

Opens with a specific verb+resource+scope ('Curated product discovery: a shopping keyword in, a ranked and grouped shortlist out') and immediately distinguishes itself from both siblings: product for ASIN-identified lookups, search for filtered datasets rather than recommendations. An agent can route correctly without opening any schema.

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?

Explicit USE WHEN / DON'T USE WHEN blocks naming the exact alternatives ('use product' for a known ASIN, 'use search' for a filtered dataset), plus trigger phrases ('best X', 'find me a Y under $Z'). Handoff rules are spelled out with concrete examples, including the detail=true vs product decision boundary.

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

track_productA
Idempotent
Inspect

TRACK a product: pin an Amazon ASIN into our hot lane so its all-offers page is re-read every hour or every 2, 4, 12 or 24 hours, for as long as the plan is active (or a ttl_days you set), with e-mail and webhook alerts on the thresholds you give; every read lands in the product's history as a sub-daily buy-box point (price, buy-box seller, fulfillment, offer count - buybox_price_points_hot on the product tool). USE WHEN the user wants to watch a product's price, buy box or seller count more often than our normal cadence: repricing, MAP and buy-box monitoring, a competitor's listing, a launch, a deal. Posting the same ASIN again renews it and changes its interval. DON'T USE to read data (product, offers): tracking only schedules the reads. COST 0 credits: what a plan sells is a daily allowance of tracked snapshots (Solo 2,500 a day = 416 products every 4 hours, Starter 6,000, Growth 18,000, Standard 40,000, Scale 170,000, Volume 710,000); when the allowance is spent the answer says so with the upgrade link, and when only a longer interval fits it is granted (granted_interval). RETURNS id, asin, country, status (active / paused / expired / stopped), interval, granted_interval, requested_interval, snapshots_per_day, expires_at, in_lane, last_snapshot_at, next_due_at, pending (true until the lane picks it up, within ~10 minutes), allowance (plan, snapshots_per_day, used, remaining). action=stop ends a tracking at once (by id from list_tracked, or by asin + country) and releases its allowance; the row stays listed 30 days as stopped. BULK (2026-10-14): asins (up to 1,000) with action=track / stop, and action=sync to make the active set equal to a list (dry_run first). STOCK STATES: every read is in_stock (a buy box), no_buybox (offers, no featured offer) or out_of_stock (no offers, confirmed twice); availability_change / out_of_stock / back_in_stock alert on the transitions, price alerts compare buy-box prices only. Paid plans only (the allowance belongs to a subscription). MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br (no Walmart).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoWith action=stop: the tracking id (from list_tracked). Or give asin + country, or ids / asins.
idsNoWith action=stop: several tracking ids at once (up to 1,000).
asinNoThe product's 10-character Amazon ASIN (one product). Or give asins.
asinsNoBulk (2026-10-14): up to 1,000 ASINs in one call - with action=track all get the same interval / ttl_days / alerts (results[] in input order: created / renewed / refused / invalid, the allowance consumed in input order, never all-or-nothing); with action=stop they are stopped; with action=sync they are the full list the active set becomes.
actionNotrack (default) creates or renews the tracking(s); stop ends one or many at once; sync (2026-10-14) makes the key's active set on one marketplace EQUAL to asins: missing ones are created, active ones not listed are stopped, the rest are left as they are - dry_run first to see the counts.track
countryNoThe Amazon marketplace to track the product on.us
dry_runNoWith action=sync: return what would be created and stopped without writing.
intervalNoHow often the lane re-reads the all-offers page. A shorter interval costs more of the daily allowance (1h = 24 snapshots a day, 2h = 12, 4h = 6, 12h = 2, 24h = 1).4h
ttl_daysNoOptional: stop after this many days (1-365). Omit (or 0) and the tracking runs for as long as the plan is active - a lapsed plan keeps it 7 days, then it pauses and resumes with the plan.
notify_ifNoWith webhook_url and / or alert_email: the thresholds. price_below / price_above (a buy-box price), price_change_pct (percent move of the buy-box price since the last in-stock read), buybox_seller_change (true: a different seller holds the buy box, between two in-stock reads), offer_count_below / offer_count_above (a count), availability_change (true: the stock STATE changed - in_stock, no_buybox = offers exist but Amazon shows no featured offer, out_of_stock = no offers at all, confirmed by a second read; the event carries both codes), out_of_stock (true: shorthand for a change to out_of_stock), back_in_stock (true: a change to in_stock). {} attaches the webhook and fires on nothing.
alert_emailNoOptional: e-mail alerts for the notify_if thresholds - 'true' for the account's own address, or an address. One e-mail per event, at most 50 a day per tracking. 'false' detaches. Works with or without webhook_url.
webhook_urlNoOptional: an https URL Logimu POSTs to when a notify_if threshold fires on a new observation (signed X-Logimu-Signature: sha256=HMAC-SHA256(secret, body); the secret is returned once in webhook_secret). An empty string detaches it.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=false; the description adds cost (0 credits), plan allowance tiers and exhaustion behavior with upgrade link, granted_interval fallback, ~10 minute pending window, stop semantics and the 30-day stopped row retention, paid-plans-only gating, and supported marketplaces. Nothing here contradicts the idempotent/destructive annotations.

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?

Front-loaded with the core verb and organized under clear capitalized signposts (USE WHEN, DON'T USE, COST, RETURNS, BULK, STOCK STATES), so an agent can scan to the needed block. It is however very long, and the interval cost table, ttl_days lapse behavior, notify_if semantics and bulk rules are largely restated from the input schema rather than adding new information.

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?

No output schema exists, and the description compensates with an explicit RETURNS field list (id, asin, status, interval, granted_interval, snapshots_per_day, expires_at, in_lane, pending, allowance, etc.) plus the stock-state vocabulary. Combined with cost, plan gating, marketplace scope and alert semantics, an agent has everything needed to call this 12-parameter, multi-mode tool correctly.

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%, so the baseline is 3 and the schema already carries per-parameter detail. The description still adds cross-parameter meaning the schema does not: the allowance cost model tied to interval (Solo 2,500/day = 416 products at 4h), the interaction of action=stop with id/asin+country/ids/asins, and action=sync's dry_run-first workflow.

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 ('TRACK a product: pin an Amazon ASIN into our hot lane') plus the resulting mechanism (all-offers page re-read on an interval, snapshots landing in the product's history). It explicitly distinguishes itself from siblings by naming 'product' and 'offers' as the read tools it is not, and 'list_tracked' as the id source.

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?

Gives an explicit USE WHEN list (repricing, MAP/buy-box monitoring, competitor listings, launches, deals) and an explicit DON'T USE ('to read data (product, offers): tracking only schedules the reads'). It also names the alternative cadence ('more often than our normal cadence') and the idempotent re-post behavior.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • First observedaccount
    • First observedbatch
    • First observedbestsellers
    • First observedbrand
    • First observedcategory
    • First observedkeywords
    • First observedlist_tracked
    • First observedmarket_lists
    • First observedoffers
    • First observedproduct
    • First observedsearch
    • First observedseller
    • First observedserp
    • First observedshopping
    • First observedtrack_product

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Live Amazon marketplace data for AI agents: product details, prices, reviews, keyword search, best-sellers, deals, offers and stock, and seller profiles across 20 marketplaces.
    12
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only access to normalized Amazon marketplace data, including product details, search, offers, reviews, sellers, categories, deals, best sellers, identifiers, stock, and sales estimates across 13 marketplaces.
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).
    19
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Real-time, structured Amazon data for AI agents across 21 marketplaces: product details, seller offers, search results, 12-month sales history, Best Sellers Rank, package dimensions, and seller intelligence. 16 tools including free bulk-job monitoring and account usage tracking, available as a hosted endpoint or via npx.
    17
    25 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.