Skip to main content
Glama

logimu-shopping-mcp

product

Read-onlyIdempotent

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. Amazon answers also carry the observed product-page content, the byline (authors[] with role_norm author/narrator/illustrator/editor/translator + author for books, audiobooks, music; 2026-09-29), the book/media format (format, format_norm, and formats[]: every format of the book, each its own ASIN with price and membership subscription_price, plus family_asin; 2026-09-30) block: description (with description_source), feature_bullets, images, breadcrumbs, variations with variation_count and parent_asin, stamped content_observed_at — content_observed_at:null with empty arrays means the content crawl has not captured this ASIN yet, never 'this product has no description/gallery'. For the ~17% of the catalog with no overall rank (media, books, niche items), bsr_leaf and bsr_leaf_category carry the best category rank instead. Every response carries a data_source field naming the marketplace the numbers were observed on (e.g. 'amazon US marketplace — observed listings') — attribute prices to that source when presenting them; they are marketplace listings, not manufacturer or site-wide prices. MARKETPLACES us, uk, de, ca, au, fr, it, es, jp, mx, br, walmart. Walmart takes a numeric item ID (or gtin= with the item's UPC) and returns the intelligence blocks plus its listing content: image_url, description, breadcrumbs, highlights (spec name/value pairs), warnings, upc, rating/review_count, was_price, in_stock, and shipping_cost per seller (no live scrape on Walmart). COST free lane 1 of 30 daily queries, cache only, and returns the snapshot + 30-day views (the full history streams, bsr_history, offer_history and live scrapes need an API key (plans from $19/mo) — the response's locked block lists exactly what a key unlocks). Keyed (2026-09-27): 0.5 credits from cache with everything included, 1 for a live scrape, +0.5 ONCE for history when bsr_history and/or offer_history come back (one charge for both). 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.

Input Schema

TableJSON 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
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
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, API key required (free key works). History charge +0.5 once per call, shared with bsr_history.
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). Amazon marketplaces only, API key required (free key works). History charge +0.5 once per call, shared with offer_history.
history_pointsNoWith 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).
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema 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). +0.5 credits when data is returned."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, API key required (free key works). History charge +0.5 once per call, shared with bsr_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). +0.5 credits when data is returned."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, API key required (free key works). History charge +0.5 once per call, shared with offer_history."
  2. Changed2 schema fields changed
    • addedInput schema / properties / history_points
      Added value: +{
      +  "default": 500,
      +  "description": "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).",
      +  "maximum": 20000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / history_sellers
      Added value: +{
      +  "default": 10,
      +  "description": "With 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.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / include_used / description
      Previous value: -"Include 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 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."New value: +"Include 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."
  4. Changed1 schema field changed
    • addedInput schema / properties / include_used
      Added value: +{
      +  "default": false,
      +  "description": "Include 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 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.",
      +  "type": "boolean"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / mode / description
      Previous value: -"cache = 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 a free API key (do not offer a live scrape to a keyless caller); with a key, live/auto scrape normally."New value: +"cache = 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."
  6. Changed2 schema fields changed
    • changedInput schema / properties / asin / description
      Previous value: -"10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart."New value: +"10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart. Provide either asin or gtin."
    • addedInput schema / properties / gtin
      Added value: +{
      +  "description": "GTIN / 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.",
      +  "type": "string"
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."New value: +"Marketplace 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."
  8. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace 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."New value: +"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."
  9. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."New value: +"Marketplace 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."
  10. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace 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."New value: +"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."
  11. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."New value: +"Marketplace 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."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "us",
      -  "uk",
      -  "de",
      -  "ca",
      -  "au",
      -  "walmart"
      -]New value: +[
      +  "us",
      +  "uk",
      +  "de",
      +  "ca",
      +  "au",
      +  "fr",
      +  "it",
      +  "es",
      +  "jp",
      +  "mx",
      +  "br",
      +  "walmart"
      +]
  12. Changed2 schema 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. +0.5 credits when data is returned."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, API key required (free key works). +0.5 credits when data is returned."
    • 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. +0.5 credits when data is returned."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, API key required (free key works). +0.5 credits when data is returned."
  13. Changed1 schema field changed
    • changedInput schema / properties / mode / description
      Previous value: -"cache = 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 free lane is always cache."New value: +"cache = 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 a free API key (do not offer a live scrape to a keyless caller); with a key, live/auto scrape normally."
  14. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. walmart = Walmart US."New value: +"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. 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."
  15. Changed6 schema fields changed
    • changedInput schema / properties / asin / description
      Previous value: -"10-character ASIN (or numeric Walmart item ID with country=walmart)"New value: +"10-character Amazon ASIN, or a numeric Walmart item ID when country=walmart."
    • 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 flagged censored). Amazon marketplaces only."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. +0.5 credits when data is returned."
    • addedInput schema / properties / country / description
      Added value: +"Marketplace to look the product up in. Amazon: us, uk, de, ca, au. walmart = Walmart US."
    • changedInput schema / properties / max_age_days / description
      Previous value: -"cache freshness window"New value: +"How old a cached observation may be before mode=auto triggers a live scrape."
    • addedInput schema / properties / mode / description
      Added value: +"cache = 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 free lane is always cache."
    • changedInput schema / properties / offer_history / description
      Previous value: -"attach the buy-box owner timeline + per-seller price series (daily, from the multi-seller offer stream; US buy-box depth to Dec 2024). Amazon marketplaces only."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. +0.5 credits when data is returned."
  16. Changed1 schema field changed
    • addedInput schema / properties / offer_history
      Added value: +{
      +  "default": false,
      +  "description": "attach the buy-box owner timeline + per-seller price series (daily, from the multi-seller offer stream; US buy-box depth to Dec 2024). Amazon marketplaces only.",
      +  "type": "boolean"
      +}
  17. Changed1 schema field changed
    • addedInput schema / properties / bsr_history
      Added value: +{
      +  "default": false,
      +  "description": "attach the full per-category BSR rank history (era-tagged daily points back to Oct 2023 for US; legacy top-100 segments flagged censored). Amazon marketplaces only.",
      +  "type": "boolean"
      +}
  18. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds substantial non-obvious behavior: cache-vs-live mechanics, the free lane's cache-only 30-queries/day cap, billing units and shared history charge, the locked block, 'never billed' rules for misses, the null-content_crawl caveat, and seller-feedback provenance. This is far beyond what the annotations convey.

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

Conciseness3/5

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

It is front-loaded well with USE WHEN / DON'T USE / RETURNS / COST sections, which helps navigation. However it is enormously bloated with version-stamped parentheticals ('since 2026-09-27', '2026-09-29'), exhaustive field enumerations, and nested detail that a selection-time reader does not need. Structure is good but discipline is poor.

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?

Despite no output schema, the description enumerates in depth what is returned (snapshot fields, price/stock history, offer table, fulfillment block, variation coverage, Walmart exceptions) plus cost and marketplace scope. For a tool of this complexity it is more than complete enough to call correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents asin, gtin, mode, country, bsr_history, offer_history, history_points and history_sellers in detail (including cost and key requirements). The description largely restates that behavior (free lane cache-only, key requirements, cost sharing), adding little the schema lacks. Baseline 3 is appropriate when the schema carries the load.

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 explicitly contrasts itself with siblings, noting it is 'the ONLY tool that returns history' while shopping and search return current values. An agent can distinguish it from search/shopping 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?

Gives explicit USE WHEN conditions (specific ASIN, Walmart item ID, product link, product_id, and named historical questions like 'has the price moved/dropped'), plus explicit DON'T USE routing ('to discover products from a keyword (use shopping)', 'to pull a filtered list (use search)'). Alternatives and conditions are fully spelled out.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources