addrbookFor publishers
← The evidence ledger

Evidence row 2552049

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d9aa1d82-695b-4e85-817b-817d85f03c6d
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e2f54b1bd6d352f4eb4a6093778b2cc5a1dd6db68357013b2902170bc4b48c31
Leaf
0x0e27f222944777c606b007b4f1804bd987cc336500e0aef3596babfc1643b65e

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Run one query on several Amazon stores in parallel (default pl, de, fr, it, es, nl; at most 10) and merge the results in PLN — the cheapest first by default. Costs one SerpAPI credit PER STORE (6 by default). By default foreign stores are asked to deliver to Poland (shipping_location 'PL'): they list only items they ship here, with the delivery cost in `delivery`, and usually print prices already in PLN (Amazon's conversion, Polish VAT) — shipping is never included in price_pln. shipping_location 'local' compares each store as its own customers see it (NBP-converted, no delivery guarantee). Identical ASINs across stores are grouped in `asin_matches` with each store's price and the cheapest one — the reliable way to compare the exact same product. Use a precise query (brand + model) and min_price_pln to keep accessories out of a price-sorted list. Result shape: { source, fetchedAt, query, marketplaces: [{ marketplace, country, currency, status ('ok' | 'no_results' | 'error'), total_results, count, search_url, error? }], count, products: [...], asin_matches?: [{ asin, title, offers: [{ marketplace, price, currency, price_pln, url }], cheapest: { marketplace, price_pln }, spread_pln }], fx: [...], note } — the list key is `products`; each product is { marketplace, position, asin, title, brand?, url, image?, price, price_text, currency, price_pln, old_price?, discount_percent?, rating, reviews, bought_last_month?, prime?, sponsored, delivery?, stock? }. A store that fails or finds nothing is reported in `marketplaces`, not as an error.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "brand": {
            "description": "One brand name, e.g. 'Sony' (Amazon's brand filter on every store).",
            "type": "string"
          },
          "delivery_zip": {
            "description": "Delivery postal code within shipping_location's country (or the store's), e.g. '00-001'.",
            "type": "string"
          },
          "exclude_autocorrected": {
            "description": "Drop results from an auto-corrected spelling of the query. Default false.",
            "type": "boolean"
          },
          "include_sponsored": {
            "description": "Keep sponsored slots. Default false.",
            "type": "boolean"
          },
          "limit": {
            "description": "Max products in the merged list. Default 40.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "limit_per_marketplace": {
            "description": "Max products kept per store. Default 10.",
            "maximum": 60,
            "minimum": 1,
            "type": "integer"
          },
          "marketplaces": {
            "description": "Stores to compare, codes or domains (pl, de, fr, it, es, nl, be, se, uk, tr, us, ca, mx, br, au, jp, in, cn, sg, ae, sa, eg). Default pl, de, fr, it, es, nl; at most 10 — one SerpAPI credit each.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "match_asin": {
            "description": "Group the same ASIN found on 2+ stores into asin_matches. Default true.",
            "type": "boolean"
          },
          "max_price_pln": {
            "description": "Highest price in PLN, applied like min_price_pln.",
            "minimum": 0,
            "type": "number"
          },
          "min_price_pln": {
            "description": "Lowest price in PLN: sent to each store in its currency (NBP rate, 10% slack) and enforced exactly on price_pln.",
            "minimum": 0,
            "type": "number"
          },
          "min_rating": {
            "description": "Keep products rated at least this (0–5).",
            "maximum": 5,
            "minimum": 0,
            "type": "number"
          },
          "min_reviews": {
            "description": "Keep products with at least this many ratings.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch, bypassing this server's 5-minute result cache. Default false.",
            "type": "boolean"
          },
          "order_by": {
            "description": "Order of the merged list: price_pln (default, cheapest first, unpriced last), relevance (the stores' own rankings interleaved) or rating.",
            "enum": [
              "price_pln",
              "relevance",
              "rating"
            ],
            "type": "string"
          },
          "query": {
            "description": "Search query, ideally brand + model, e.g. 'sony wh-1000xm5'.",
            "type": "string"
          },
          "shipping_location": {
            "description": "Deliver-to country for the foreign stores. Default 'PL'; 'local' = each store's own country (prices in its currency and VAT, delivery to Poland unchecked).",
            "type": "string"
          },
          "sort": {
            "description": "Sort sent to every store. Amazon's sort: relevance (default, Amazon's 'Featured'), price_asc, price_desc, rating (avg. customer review), newest, bestsellers. The price sorts are re-applied to the returned page by displayed price (Amazon sorts by its offer prices), with products that show no price listed last.",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "rating",
              "newest",
              "bestsellers"
            ],
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "amazon_compare"
    },
    {
      "description": "List the 22 Amazon stores the other amazon_* tools support — code, domain, country, currency, the NBP table its currency converts with, default and available languages, and whether it is in the EU (no customs to Poland). Static and free: call it to pick marketplaces without guessing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "amazon_marketplaces"
    },
    {
      "description": "Full details of one Amazon product by ASIN (or product URL — its store is used unless marketplace says otherwise) via SerpAPI's amazon_product engine; one credit, ~10–25 s. Returns every offer with PLN prices — the main price, each purchase option (new/used/…), other sellers — and the cheapest new one, plus variants (each with its own ASIN), rating histogram, specifications, bullet points, category path and a few top reviews. The same ASIN can be looked up on another store (ASINs are mostly shared across EU stores). Result shape: { source, fetchedAt, query, marketplace, asin, title, brand?, url, categories?, images?, rating, reviews, rating_histogram?: { '5': pct, … }, reviews_summary?, bought_last_month?, price, price_text, currency, price_pln, max_price?, old_price?, discount_percent?, coupons?, promotions?, delivery?, stock?, purchase_options?: [{ type, price, currency, price_pln, stock?, delivery?, features? }], other_sellers?: [{ sold_by, ship_from, price, currency, price_pln, delivery?, seller_rating?, seller_reviews?, seller_feedback? }], cheapest_offer?: { source, seller?, price_pln }, variants?: [{ dimension, options: [{ asin, name, selected? }] }], about_item?, specifications?, details?, top_reviews?, fx, note? }.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "asin": {
            "description": "ASIN (10 characters, e.g. 'B09Y2MYL5C', from an amazon_search result) or an Amazon product URL containing /dp/<ASIN>.",
            "type": "string"
          },
          "convert_to_pln": {
            "description": "Add price_pln at the NBP mid rate. Default true.",
            "type": "boolean"
          },
          "delivery_zip": {
            "description": "Delivery postal code within shipping_location's country (or the store's), e.g. '00-001'.",
            "type": "string"
          },
          "include_reviews": {
            "description": "Include up to 3 top reviews (600 chars each). Default true.",
            "type": "boolean"
          },
          "language": {
            "description": "Store language as <language>_<REGION>, e.g. 'en_GB' for English titles on amazon.de. Default: the store's own (de_DE on amazon.de) — each store only offers a few (amazon_marketplaces lists them).",
            "type": "string"
          },
          "marketplace": {
            "description": "Amazon store: its code (pl, de, fr, it, es, nl, be, se, uk, tr, us, ca, mx, br, au, jp, in, cn, sg, ae, sa, eg) or domain (amazon.de, amazon.co.uk…). Default pl. Overrides a URL's own store — to look the ASIN up elsewhere.",
            "type": "string"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch, bypassing this server's 5-minute result cache. Default false.",
            "type": "boolean"
          },
          "other_sellers": {
            "description": "Include the other sellers' offers. Default true.",
            "type": "boolean"
          },
          "shipping_location": {
            "description": "Deliver-to country as an ISO code, e.g. 'PL': a foreign store then lists only items it delivers there, adds delivery cost to `delivery`, and usually prints prices already converted to PLN by Amazon (VAT of the destination). 'local' (or omitted) = the store's own country.",
            "type": "string"
          }
        },
        "required": [
          "asin"
        ],
        "type": "object"
      },
      "name": "amazon_product"
    },
    {
      "description": "Search one Amazon store (22 countries; default amazon.pl) via SerpAPI, with every price also in PLN at the official NBP mid rate. Costs one SerpAPI credit per call (a repeat within 5 minutes is cached and free). Refine with sort, page, min_price/max_price (store currency; enforced on the displayed price), brand, category_node, min_rating/min_reviews (applied to the returned page), include_sponsored, and any refinement Amazon offers on that page via `rh`: the result's `filters` lists each option's rh (Prime, 4★ & up, New condition, sold by Amazon, deals, features…) — pass them comma-separated. A store printing PLN itself (shipping_location 'PL' on a foreign store) is taken as-is. Use amazon_compare for several stores at once and amazon_product for one ASIN's offers, sellers and specs. Result shape: { source, fetchedAt, query, marketplace: { code, domain, country, currency, language }, search_url, total_results (Amazon's own count, before this page's post-filters), query_displayed?, page, next_page, count, products: [...], filters?: { <group>: [{ name, rh }] }, categories?: [{ name, node }], related_searches?, fx: [{ currency, rate, table, table_no, effective_date, source: 'NBP' }], note? } — the list key is `products`. Each product: { position, asin, title, brand?, url (https://www.<store>/dp/<ASIN>), image?, price (number, in `currency`), price_text (as displayed), currency (ISO, read from the displayed price), price_pln, old_price?, discount_percent?, rating, reviews, bought_last_month?, prime? (only stores that mark it), sponsored, badges?, delivery?, stock?, coupon?, offers?, more_buying_choices?, variants?: [{ asin, title }], purchase_options? }. price_pln is null when there is no price or no NBP rate (the note says why). A search Amazon answers with nothing is count: 0 plus a note on what to relax — a successful result, not an error.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "brand": {
            "description": "One brand name as Amazon spells it, e.g. 'Sony' (Amazon's brand filter).",
            "type": "string"
          },
          "category_node": {
            "description": "Amazon browse-node id (digits) to search within — from a result's `categories`, or node=… in an Amazon category URL. Ids differ per store. Without a query this browses the category.",
            "type": "string"
          },
          "convert_to_pln": {
            "description": "Add price_pln at the NBP mid rate. Default true.",
            "type": "boolean"
          },
          "delivery_zip": {
            "description": "Delivery postal code within shipping_location's country (or the store's), e.g. '00-001'.",
            "type": "string"
          },
          "exclude_autocorrected": {
            "description": "Drop results Amazon adds from an auto-corrected spelling of the query. Default false.",
            "type": "boolean"
          },
          "include_filters": {
            "description": "Return the page's refinement `filters` (name + rh per option). Default true.",
            "type": "boolean"
          },
          "include_sponsored": {
            "description": "Keep sponsored slots (marked sponsored: true). Default false — ads repeat and distort ranking.",
            "type": "boolean"
          },
          "language": {
            "description": "Store language as <language>_<REGION>, e.g. 'en_GB' for English titles on amazon.de. Default: the store's own (de_DE on amazon.de) — each store only offers a few (amazon_marketplaces lists them).",
            "type": "string"
          },
          "limit": {
            "description": "Max products returned (1–60). Default 20.",
            "maximum": 60,
            "minimum": 1,
            "type": "integer"
          },
          "marketplace": {
            "description": "Amazon store: its code (pl, de, fr, it, es, nl, be, se, uk, tr, us, ca, mx, br, au, jp, in, cn, sg, ae, sa, eg) or domain (amazon.de, amazon.co.uk…). Default pl.",
            "type": "string"
          },
          "max_price": {
            "description": "Highest price in the store's currency, applied like min_price.",
            "minimum": 0,
            "type": "number"
          },
          "min_price": {
            "description": "Lowest price in the STORE's currency (EUR on amazon.de). Sent to Amazon, then enforced on the displayed price: out-of-range products and products without a price are dropped (the note counts them).",
            "minimum": 0,
            "type": "number"
          },
          "min_rating": {
            "description": "Keep products rated at least this (0–5), filtered on the returned page.",
            "maximum": 5,
            "minimum": 0,
            "type": "number"
          },
          "min_reviews": {
            "description": "Keep products with at least this many ratings, filtered on the returned page.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch, bypassing this server's 5-minute result cache. Default false.",
            "type": "boolean"
          },
          "page": {
            "description": "Result page, 1–20. Default 1.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "What you'd type in Amazon's search box, e.g. 'sony wh-1000xm5'. Required unless category_node is set.",
            "type": "string"
          },
          "rh": {
            "description": "Amazon refinements, comma-separated key:value pairs exactly as a previous result's `filters` list them (e.g. 'p_n_condition-type:776949031,p_72:419117031'). Ids are store-specific.",
            "type": "string"
          },
          "shipping_location": {
            "description": "Deliver-to country as an ISO code, e.g. 'PL': a foreign store then lists only items it delivers there, adds delivery cost to `delivery`, and usually prints prices already converted to PLN by Amazon (VAT of the destination). 'local' (or omitted) = the store's own country.",
            "type": "string"
          },
          "sort": {
            "description": "Amazon's sort: relevance (default, Amazon's 'Featured'), price_asc, price_desc, rating (avg. customer review), newest, bestsellers. The price sorts are re-applied to the returned page by displayed price (Amazon sorts by its offer prices), with products that show no price listed last.",
            "enum": [
              "relevance",
              "price_asc",
              "price_desc",
              "rating",
              "newest",
              "bestsellers"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "amazon_search"
    }
  ]
}

What the leaf hashes

{"body":"e2f54b1bd6d352f4eb4a6093778b2cc5a1dd6db68357013b2902170bc4b48c31","id":2552049,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793693527047205,"prev":null,"subject":"d9aa1d82-695b-4e85-817b-817d85f03c6d","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON