Skip to main content
Glama

logimu-shopping-mcp

Server Details

Real Amazon (US, UK, DE, CA, AU) & Walmart shopping data for AI assistants: ranked product shortlists, current prices, live stock, real ratings, and price/BSR history from a 17M+ product warehouse. Free hosted endpoint, no signup — 30 queries a day.

Ownership verified
Status
Healthy
Uptime
100.0% over 66 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.4/5.0

Scored across 18 tools

Disambiguation4/5

Descriptions go out of their way to cross-reference siblings with explicit USE WHEN / DON'T USE clauses (shopping vs search vs serp, product vs offers, keywords vs keyword_rankings vs product_keywords), so most boundaries are decisive. The remaining risk is name-driven rather than description-driven: the three keyword tools and the discovery trio look interchangeable at a glance, and bestsellers/category/market_lists all answer 'what's big in a category' from different angles.

Naming Consistency3/5

Everything is snake_case, but the convention itself is mixed: most tools are bare resource nouns (product, brand, seller, category, deals, offers) while two are verb_noun (list_tracked, track_product) and one is an action multiplexer (batch). Singular/plural also flips unpredictably — brand/category/seller/product are singular, deals/offers/keywords/bestsellers are plural.

Tool Count4/5

At 18 tools this is slightly above the comfortable range, but the surface splits cleanly into live scrapes, derived dossiers, keyword intelligence, market lists, batch, tracking and account — no tool looks redundant with another. A batch multiplexer and an account tool are the only ones arguably absorbable elsewhere.

Completeness4/5

The lifecycle is well covered: discovery (shopping/search/serp/bestsellers/deals/market_lists), per-entity dossiers (product/brand/seller/category/offers), keyword intelligence both directions, bulk via batch, and tracking create/list/stop via track_product and list_tracked, plus account/allowance. Minor gaps: no dedicated reviews tool, no alert-listing or alert-edit operation separate from track_product, and tracking stop is an action inside track_product rather than its own surface.

Available Tools

18 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, offers, deals, 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); deals batches (deals department ids, or all for the whole deals page).
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
Behavior4/5

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

Annotations already declare destructive=true and not-idempotent, and the description adds substantial context beyond them: per-row billing, that failed/not-found/duplicate rows are never billed, serialized runs per marketplace, API-key requirement, HMAC-signed webhooks, and estimate-as-ceiling behavior. It stops short of describing run lifecycle failure modes or queue semantics in depth, but the coverage is well above the annotation baseline.

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-loads purpose, then the USE WHEN trigger, then action semantics, then cost/auth — a sensible order. It is very dense and partly repetitive ('estimate ... (free)' restated in the COST sentence) and would benefit from tighter phrasing, but almost every clause carries 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 29-parameter tool with no output schema, the description covers actions, kinds, cost/billing rules, auth requirements, and scheduling behavior. Nothing essential for correct invocation is missing, and the download-URL return hint compensates for the absent output schema.

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 90%, so the schema already documents most parameters and a baseline of 3 would apply. The description goes further by mapping action strings to concrete behaviors, explaining kind routing, and adding cost/tier notes (e.g. 'typically with include [history_only] at 0.05 a row') that the schema does 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 and resource: 'run any Logimu endpoint over a whole list in one job', and ties itself to the REST /v1/batches API. The explicit USE WHEN clause (more than a handful of ASINs, refresh, CSV) separates it cleanly from the single-item siblings like product and search.

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?

Enumerates every action with its precise effect (estimate/create/run/status/results/list/schedule/delete) and states when to reach for this tool over the single-item siblings ('more than a handful', 'daily/weekly refresh', 'wants a CSV'). The billing model and free-vs-billable distinction further guide the selection decision.

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.

dealsA
Read-onlyIdempotent
Inspect

LIVE Amazon Today's Deals: the deals page of one marketplace, read from Amazon at request time and filtered the way Amazon's own page filters it - department (category_id), deal collection (deal_types: lightning_deal, trending, coupons, started_today, ending_today; or any collection id an answer lists), percent off, price, Prime Exclusive, minimum rating, brand. USE WHEN the user asks what is on sale or discounted on Amazon right now, wants today's deals or lightning deals in a department, deals above a discount or under a price, coupon deals, or deals ending today. DON'T USE for one product's price history or past price drops (product with offer_history), for who sells a product right now (offers), for a keyword search (serp, shopping) or for what sells best in a category (bestsellers). RETURNS deals[] (position, asin, title, link, image, deal_id, deal_link, deal_type e.g. BEST_DEAL / LIGHTNING_DEAL, is_lightning_deal, deal_state, percent_claimed, ends_at, deal_price and list_price {value, currency, symbol, label}, percent_off, savings, deal_badge, is_prime_price, coupon {text, amount, promotion_id, link}, brand, brand_id, department_ids, product_group, product_type, variations), categories[] (category_id, name, selected: the departments to pass back as category_id), collections[] (id, name: pass back as collection), facets (brands with ids, reviewRating, price and percentOff ranges, accessType), selected_filters, filter_check (per requested filter: applied / not_applied / unverified), pagination (page, page_size, pages_fetched, start_index, returned, has_more, partial), amazon (marketplace_id, locale, currency), observed_at and cached. HONESTY: an empty deals list is a real answer (e.g. no lightning deals running at this hour); a filter Amazon did not apply (filter_check not_applied, e.g. a category_id that is not one of the marketplace's deals departments) is refused as an error, never billed, instead of serving the unfiltered page; unverified filters are served, so say so before relying on them; there is no total count (has_more says whether the last page came back full) and no deal start time; ends_at only where Amazon shows a countdown; list_price is Amazon's reference price with its own label (RRP, Was, Typical ...), null when the page shows none. LATENCY is SECONDS: ~10-30s a page (pages=5 up to ~2 min); an identical request within 15 min may come from our cache in milliseconds. 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 deals page fetched that returned at least one deal, whatever its size (30, 60, 90 or 120 deals are all 1 credit, so page_size=120 gives the most deals per credit), cached or fresh; a page with no deals, an empty list, a blocked or busy fetch and bad input are never billed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOptional: an Amazon deals URL (/deals, /events/deals or /gp/goldbox). The host decides the marketplace and its query string is kept (e.g. a filtered deals page copied from the browser).
pageNo1-based page of the deals list.
brandNoA brand id from facets.brands of a previous answer (e.g. 811979|dreame).
pagesNoConsecutive pages merged into one answer, starting at page (stops early on a short page). 1 credit per page that returned deals.
countryNoThe Amazon marketplace whose deals page to read. Required unless url is given; with url it must match the URL's marketplace.
discountNoRainforest form of min_discount (50_percent_off = at least 50% off). Not together with min_discount.
max_priceNoMaximum deal price in the marketplace currency (Amazon applies whole units; a fraction is rounded up).
min_priceNoMinimum deal price in the marketplace currency (Amazon applies whole units; a fraction is rounded down).
page_sizeNoDeals per page; Amazon serves steps of 30 only. Every page is 1 credit whatever its size, so 120 gives the most deals per credit.
collectionNoAny other collection id from collections[] of a previous answer (collections differ per marketplace and over time). Not together with deal_types.
deal_typesNoOne of Amazon's stable deal collections. Not together with collection.
category_idNoA deals department id from categories[] of a previous answer (Amazon applies one department at a time).
max_discountNoMaximum percent off (0-100).
min_discountNoMinimum percent off (0-100).
minimum_ratingNoOnly products rated at least this many stars (1-4).
prime_exclusiveNotrue = Prime Exclusive deals only.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), but the description goes well beyond structured fields: it discloses that an empty list is a real answer, that an unapplied filter is refused as an error rather than billed, that unverified filters are served with a caveat, that there is no total count and no deal start time, and that list_price is Amazon's labeled reference price. It also states latency (10-30s per page, cache within 15 min) and per-page credit billing, including which outcomes are never billed.

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 resource and the USE/DON'T USE routing, then organized into clear labeled sections (RETURNS, HONESTY, LATENCY, MARKETPLACES, COST) that make it skimmable despite its length. It is long and duplicates a little structured data (the marketplace list mirrors the country enum, page_size credit note restates the schema), but the RETURNS block is genuinely needed given no output schema exists.

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 16-parameter live-scraping tool with no output schema, the description supplies the full return shape (deals[], categories[], collections[], facets, selected_filters, filter_check, pagination, amazon, observed_at, cached), the honesty caveats, latency, marketplaces, and cost model. 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 description coverage is 100%, so the baseline is 3, and the description mostly echoes the filter set already documented in the schema. It does add cross-call flow meaning the schema lacks: category_id, brand, and collection values are meant to be passed back from categories[]/facets.brands/collections[] of a previous answer, which clarifies how the chained filter call is meant to be constructed.

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 (read Amazon's live Today's Deals page for one marketplace) and names exactly which siblings it is not for (product/offer_history, offers, serp, shopping, bestsellers). An agent can separate this from every other sibling without opening a 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 block enumerates the triggering intents (what's on sale now, lightning deals in a department, deals above a discount/under a price, coupons, ending today) and an explicit DON'T USE block routes to the correct alternatives for price history, sellers, keyword search, and bestsellers. 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.

keyword_rankingsA
Read-onlyIdempotent
Inspect

Page 1 of Amazon US search for a keyword, as Logimu last OBSERVED it (head search terms taken from Amazon's own autocomplete, each observed about once a week, all departments, one US delivery ZIP): the organic order with product facts (title, brand, price, rating) and each product's latest observed buy box (seller, AMZ / FBA / FBM, other sellers), the sponsored units present in the page HTML (Sponsored Brands banners and videos, server-rendered Sponsored Products; ones Amazon loads later by JavaScript are counted as slots only), the Overall Pick (Amazon's Choice) holder, Amazon's result count, page_summary (organic slots by brand and by buy-box seller, Amazon's own buy boxes, FBA / FBM, Sponsored Brands units by brand) and the products that entered or left page 1 since the previous observation, all dated. history=true adds every weekly observation and the rank series of the page's products. USE WHEN the user asks which products, brands or sellers hold page 1 for a search term, who advertises on it, or how the page changed. Amazon US only. NOT volume figures (Amazon publishes none for search terms and none is implied) and NOT live: a dated weekly sample, and the same search minutes apart differs by a few products - for a live page use the serp tool, for what Amazon suggests for a seed the keywords tool, for the keywords a product shows up for product_keywords. A keyword outside the observed set is free (keyword_not_found). COST: paid plan required (listed only for keys on a paid plan); 1 credit (+0.5 with history when more than one observation exists). Counts against the derived daily cap (default 2,000 calls per key).

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoAmazon US only: the map covers amazon.com search.us
historyNoAlso return every weekly observation and the products' rank series; +0.5 credit when more than one exists.
keywordYesA search term, e.g. 'micro sd card 128gb high endurance' (case-insensitive).

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, closed-world), but the description adds substantial context beyond them: paid-plan gating, 1 credit (+0.5 with history), the 2,000-call daily cap, the dated weekly-sample nature versus live results, and the free keyword_not_found behavior for out-of-set terms.

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?

It is front-loaded with the core purpose and the USE WHEN / NOT / COST routing appears in a sensible order. The cost/freshness detail is dense but every clause carries routing or behavioral information; the single unbroken paragraph is the only real structural weakness.

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 no-output-schema tool with a rich payload, the description enumerates what is returned (organic order, buy box, sponsored units, page_summary, entrants/leavers, history series), the cost model, the data-freshness caveat and the sibling alternatives. 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: it explains that history=true returns every weekly observation plus rank series and carries a cost implication, and confirms country is US-only against the amazon.com map. The keyword parameter's semantics are left entirely to the schema example.

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 states a precise verb+resource: the observed page-1 organic order for a keyword, with product facts, buy box, sponsored units, Overall Pick, result count and page_summary. It is unmistakably distinguishable from siblings like serp, keywords and product_keywords, which it names directly.

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 routing is provided: 'USE WHEN the user asks which products, brands or sellers hold page 1...' plus exclusions for volume figures, live pages, autocomplete suggestions and product-keyword mapping, each with the correct alternative tool (serp, keywords, product_keywords). 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.

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 - which products appear on page 1 for a term is keyword_rankings, the keywords a product shows up for is product_keywords. 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.6/5.0
Behavior4/5

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

Annotations already cover read-only, non-destructive, idempotent behavior, but the description goes well beyond them: credit cost (1 per lookup, +0.5 with history), free unknown seeds, the derived daily cap, paid-plan gating, 11-marketplace since-Aug-2026 harvest scope, and the caveat that positions are only comparable within one list. It omits any note on pagination or rate-limit error behavior, keeping it short of a 5.

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 resource and output shape are front-loaded, and the dense packaging of scope, routing, and cost is mostly earned. It is long and concatenated into single sentences, which slightly taxes scanning, but there is little filler.

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 fully characterizes the return payload (per-list positions, observation timestamps, marketplaces, related vocabulary), the compare matrix mode, the history mode, and the cost/limit model. 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: it explains what compare actually returns (the seed's primary list per marketplace plus a position matrix) and what history adds (every observation of each list as terms enter, leave, or move), which the terse schema descriptions do not convey.

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 opening states a specific verb+resource: Amazon autocomplete suggestion lists for a seed term, with precise output shape (one list per crawled prefix/department, position 1-10, first/last observed, marketplaces). It explicitly distinguishes itself from siblings keyword_rankings and product_keywords, so an agent can select it 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?

The 'USE WHEN' clause enumerates concrete triggers (what buyers type, backend keyword language, product-research seeds, country differences) and the 'NOT' clause names two exclusions with the correct alternative tool for each. This is explicit when/when-not/alternatives routing.

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; mode=live reads the walmart.com page now (2 credits, typically 8-15 s, one page: the cheapest other seller is not fetched; location names the store it was priced for) and mode=auto serves our record when observed within max_age_days, else reads live. 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 (2 on Walmart); 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.6/5.0
Behavior5/5

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

Annotations only declare read/idempotent/open-world, so the description adds substantial behavioral context the annotations cannot: credit costs per lane (free 1/30 daily cache-only, 0.5 keyed, 1 live, 2 Walmart live, 0.05 for history_only), that misses and partial scrapes are never billed, that mode=live errors for keyless callers and must not be offered, that track=true pins the ASIN into the hot lane as a side effect, and freshness/null semantics (content_observed_at:null means not yet crawled, never 'no description'). The opt-in track=true side effect sits in mild tension with readOnlyHint=true, but the default invocation is a pure read and the side effect is disclosed explicitly rather than hidden, so this is not a contradiction of 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.

Conciseness2/5

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

Purpose and routing are correctly front-loaded, but the body is an enormous single-paragraph monolith of deeply nested parentheses carrying changelog stamps ('since 2026-09-27', '2026-10-09', '2026-10-14') and field-by-field return documentation. Much of that granularity helps selection only marginally and crowds out the decision-relevant sentences; it is dense rather than redundant, but it is not appropriately sized.

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 return-value burden across 12 marketplaces, three modes and multiple cost lanes — and it discharges that burden exhaustively (freshness stamps, locked blocks, null semantics, seller feedback, per-seller fulfillment fields). An agent has everything it needs to call this correctly and to interpret the answer.

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 100%, so the baseline is 3; the description earns above that by adding cross-parameter semantics the schema cannot express — how mode interacts with max_age_days, that history_only refuses mode=live, that bsr_history/offer_history are keyed-only but not extra-billed, and that offer_history changes the shape of per-seller rows.

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 precise verb+resource+scope: 'Full dossier for ONE known product: its current snapshot plus its observed history.' It immediately distinguishes itself from siblings by naming the differentiator ('This is the ONLY tool that returns history: shopping and search return current values').

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?

Contains an explicit USE WHEN clause enumerating triggers (specific ASIN / Walmart item ID / product link / product_id from shopping or search, and the exact user questions that map here) and a DON'T USE clause routing discovery to shopping and filtered lists to search. Also covers marketplace selection, cost-lane gating and mode selection.

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

product_keywordsA
Read-onlyIdempotent
Inspect

REVERSE ASIN on Amazon US: every observed keyword (head search terms taken from Amazon's own autocomplete, page 1 observed about once a week) whose latest page 1 shows the product, organically with its rank or in a sponsored unit present in the page HTML, with the keyword's result count, the Overall Pick badge and the date; organic first, best rank first, with totals (keywords, organic, top 10, sponsored, Overall Pick). Pass asins (up to 10, the product first) to COMPARE it with competitors: each keyword row adds every competitor's organic rank, asins_on_page and gap (a competitor on page 1 organically, the product not); gaps=true keeps only those. history=true adds the first product's rank on each keyword over time. USE WHEN the user asks which keywords a product (theirs or a competitor's) shows up for, where competitors are visible and they are not, or how a product's position on a term moved. Coverage is head search terms and page 1 only (the coverage block gives the counts), so a product shows fewer keywords than a full search index would. NOT volume figures and NOT live: dated weekly samples. A product not seen on any observed page is free (asin_not_found). COST: paid plan required (listed only for keys on a paid plan); 1 credit per 25 keywords returned per ASIN compared (+0.5 with history when a keyword has more than one observation). Counts against the derived daily cap (default 2,000 calls per key).

ParametersJSON Schema
NameRequiredDescriptionDefault
asinNoA 10-character Amazon ASIN: the keywords it shows up for. Give asin OR asins.
gapsNoWith asins: only the keywords where a competitor is on page 1 organically and the first product is not.
asinsNoUp to 10 ASINs, the product first, then the competitors to compare it with.
limitNoKeywords per answer (1 credit per 25 returned, per ASIN).
offsetNoSkip this many keywords (paging).
countryNoAmazon US only: the map covers amazon.com search.us
historyNoAlso return the first product's rank on each keyword in every observation; +0.5 credit when a keyword has more than one.
placementNoOrganic and sponsored (default), organic only, or sponsored only.all

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), yet the description goes well beyond them: head-terms/page-1 coverage limits, weekly dated samples rather than live data, the free `asin_not_found` outcome, per-25-keyword credit pricing, the +0.5 history surcharge, paid-plan gating, and the derived daily cap. This is exactly the operational context an agent needs before calling a paid, sampled data 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?

Front-loads the core purpose and then layers comparison, history, coverage caveats and cost in a single dense paragraph where each clause carries information. No sentence is wasted, but the density of parenthetical asides makes it slightly harder to scan than an ideally structured definition.

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 an 8-parameter, paid, sampled data tool with no output schema, the description still covers the return shape (per-keyword rows with badge/date and comparison columns), coverage limits, edge cases (asin_not_found) and cost. Nothing an agent needs 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.

Parameters5/5

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

Schema coverage is already 100%, so the baseline would be 3, but the description adds real semantic meaning: passing `asins` turns the call into a competitor comparison that adds organic rank, asins_on_page and gap per row, `gaps=true` filters to that gap set, `history=true` returns the first product's rank across observations, and `limit` is tied to credit burn. This is considerably more than the schema restates.

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 ("REVERSE ASIN on Amazon US") and precisely defines the returned set: observed keywords whose latest page 1 shows the product, organic or sponsored, with rank, result count, badge and date. The scope statements ("head search terms and page 1 only", "NOT volume figures") separate it from a volume-oriented `keywords` tool and from a rank-tracking `keyword_rankings` tool.

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?

Gives an explicit USE WHEN clause covering three scenarios (which keywords a product ranks for, where competitors appear and the product does not, and rank movement over time), plus useful exclusions (not volume, not live). It does not name a specific sibling tool to prefer instead, which is the only thing separating it from a 5.

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, walmart (live walmart.com search: 2 credits per results page, at most 3 pages a call, location names the store it was priced for; category_id and refinements are Amazon-only). 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, or walmart (a live walmart.com search).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.9/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, open-world), and the description adds substantial context beyond them: ~8-13s typical latency up to ~90s with retries, live-only with no caching or mode parameter, API-key requirement, and per-page credit billing with the rule that blocked (502) and empty fetches are never billed. It also discloses result-field caveats (sponsored usually false, is_prime false means no icon, estimates vs counts).

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-loads the core purpose and is organized with clear USE/DON'T USE/RETURNS/HONESTY/LATENCY/COST headers, and nearly every sentence carries operational information. It is dense and lengthy, but the length is justified by the behavioral, cost and return-shape disclosures 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?

There is no output schema, so the description carries the return burden and does so fully by enumerating search_results field-by-field plus search_information, pagination, related_searches, refinements, ad_blocks/video_blocks and brand_stores, including their caveats. For a 9-parameter, live-fetch tool this is complete enough to invoke and interpret correctly.

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 coverage is 100%, yet the description still adds meaning the schema lacks: walmart caps at 3 pages per call at 2 credits per page, category_id and refinements are Amazon-only, refinements round-trips a prior response's refinements[*].value, and number_of_results truncates the returned list. This is genuinely additive rather than a restatement.

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 search-results (SERP) fetch') and immediately distinguishes the tool from siblings by naming shopping, search and product as alternatives for other jobs. An agent can tell it apart from the curated tools without opening a 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?

Contains explicit USE WHEN conditions (current ranking order, page-1 occupants, sponsored placements, refinements, or when curated tools found nothing) and explicit DON'T USE conditions naming the exact sibling for each alternative job (shopping, search, product). 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.

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 100 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.9/5.0
Behavior5/5

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

Annotations already declare this is a non-destructive read-only tool, but the description adds substantial behavior beyond that: ranking uses observed marketplace signals with no affiliate bias, zero results are genuine non-matches, data_source is always returned, revealed-preference signals should be weighted for popularity questions, and interpreted_as/match_quality caveats may appear. It also discloses the free/keyed credit model, detail expansion contents, and that detail is ignored on the free lane.

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 definition is front-loaded with USE/DON'T USE/RETURNS and never buries the core routing logic. It is extremely dense and very long, but for a 13-parameter open-world discovery tool most of the content earns its place; the main cost is readability, not wasted material.

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 return-shape burden, and it does so thoroughly: grouped shortlist structure, product fields, product_id meaning per marketplace, data_source attribution, honesty signals, and detail=true expansion contents. For a complex, multi-marketplace, 13-parameter tool, an agent has enough to invoke it correctly and interpret the response.

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 coverage is 100%, so the baseline would be 3, but the description goes well beyond structured fields by explaining literal keyword mechanics, why extra query terms narrow results, how to handle sizes/colors versus storage capacity, how to construct model strings, how marketplace language affects query phrasing, and why brand belongs in the brand parameter rather than q. It also clarifies the practical cost difference between basic and detail=true responses and what detail attaches.

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 states a specific verb and resource: curated product discovery that turns a keyword into a ranked, grouped shortlist. It explicitly distinguishes itself from the sibling tools product and search, including the exact conditions that should route the agent elsewhere. An agent can identify what this tool is and is not 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?

It gives explicit USE WHEN triggers such as 'best X', 'find me a Y under $Z', and 'what should I buy', and explicit DON'T USE conditions for ASIN-identified items and filtered datasets. It names the alternatives (product, search), includes worked examples, and even specifies the handoff when price-history analysis follows a shopping result.

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. 2 tool updates
    • Addedkeyword_rankings
    • Addedproduct_keywords
  2. 2 tool updates
    • Changedbatch1 field changed
      • changedInput schema / properties / category_ids / description
        Previous value: -"category / categories batches (ids, or root)."New value: +"category / categories batches (ids, or root); deals batches (deals department ids, or all for the whole deals page)."
    • Addeddeals
  3. 1 tool update
    • Changedserp2 fields changed
      • changedInput schema / properties / country / description
        Previous value: -"Amazon marketplace to search. No Walmart — live SERP is Amazon-only."New value: +"Amazon marketplace to search, or walmart (a live walmart.com search)."
      • changedInput schema / properties / country / enum
        Previous value: -[
        -  "us",
        -  "uk",
        -  "de",
        -  "ca",
        -  "au",
        -  "fr",
        -  "it",
        -  "es",
        -  "jp",
        -  "mx",
        -  "br"
        -]New value: +[
        +  "us",
        +  "uk",
        +  "de",
        +  "ca",
        +  "au",
        +  "fr",
        +  "it",
        +  "es",
        +  "jp",
        +  "mx",
        +  "br",
        +  "walmart"
        +]
  4. 12 tool updates
    • Addedaccount
    • Addedbatch
    • Addedbestsellers
    • Addedbrand
    • Addedcategory
    • Addedkeywords
    • Addedlist_tracked
    • Addedmarket_lists
    • Addedoffers
    • Addedseller
    • Addedserp
    • Addedtrack_product
  5. 1 tool update
    • Changedproduct2 fields changed
      • changedInput schema / properties / interval / description
        Previous value: -"With track=true: how often the lane re-reads the all-offers page."New value: +"With track=true: how often the lane re-reads the all-offers page (1h = 24 snapshots a day)."
      • changedInput schema / properties / interval / enum
        Previous value: -[
        -  "2h",
        -  "4h",
        -  "12h",
        -  "24h"
        -]New value: +[
        +  "1h",
        +  "2h",
        +  "4h",
        +  "12h",
        +  "24h"
        +]
  6. 1 tool update
    • Changedproduct2 fields changed
      • addedInput schema / properties / interval
        Added value: +{
        +  "default": "4h",
        +  "description": "With track=true: how often the lane re-reads the all-offers page.",
        +  "enum": [
        +    "2h",
        +    "4h",
        +    "12h",
        +    "24h"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / track
        Added value: +{
        +  "default": false,
        +  "description": "Answer 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.",
        +  "type": "boolean"
        +}
  7. 1 tool update
    • Changedproduct1 field changed
      • changedInput schema / properties / history_only / description
        Previous value: -"Return ONLY the stored history series - bsr_history, offer_history and buybox_price_history - with no snapshot, content or seller table, for 0.1 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)."New value: +"Return 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)."
  8. 1 tool update
    • Changedproduct4 fields changed
      • changedInput schema / properties / bsr_history / description
        Previous value: -"Attach 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). History charge +0.5 once per call, shared with offer_history."New value: +"Attach 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."
      • addedInput schema / properties / history_only
        Added value: +{
        +  "default": false,
        +  "description": "Return ONLY the stored history series - bsr_history, offer_history and buybox_price_history - with no snapshot, content or seller table, for 0.1 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).",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / history_points / description
        Previous value: -"With offer_history: points per series, the most recent N observed days (default 500, max 20,000). The default 10 x 500 is inside the +0.5; beyond it 0.5 credit per started 1,000 points (offer_history.extra_credits)."New value: +"With 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)."
      • changedInput schema / properties / offer_history / description
        Previous value: -"Attach the buy-box owner timeline and per-seller daily price series (US buy-box depth back to Dec 2024). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). History charge +0.5 once per call, shared with bsr_history."New value: +"Attach 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."
  9. 1 tool update
    • Changedproduct2 fields changed
      • changedInput schema / properties / bsr_history / description
        Previous value: -"Attach 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, API key required (free key works). History charge +0.5 once per call, shared with bsr_history."New value: +"Attach 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). History charge +0.5 once per call, shared with offer_history."
      • changedInput schema / properties / offer_history / description
        Previous value: -"Attach the buy-box owner timeline and per-seller daily price series (US buy-box depth back to Dec 2024). Amazon marketplaces only, API key required (free key works). History charge +0.5 once per call, shared with offer_history."New value: +"Attach the buy-box owner timeline and per-seller daily price series (US buy-box depth back to Dec 2024). Amazon marketplaces only; needs a paid-plan API key (from $19/mo). History charge +0.5 once per call, shared with bsr_history."
  10. 1 tool update
    • Removedseller

Publisher details

Operator
CP Development doo (operates Logimu) · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
None required to start: no signup, 30 free tool calls per day on stored data. A paid plan (from $19/month, API key from api.logimu.com as a Bearer token) adds unlimited use, live scrapes, full price/rank history, and the seller, brand, category and keyword tools. No admin approval, no custom OAuth app, no regional limits. · Publisher source

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources