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

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (425475 rows).

  1. 0x0e27ffc8e9c6d82c1109c4826158c9459ad540a93634d622cba4627eea3d8d4e
  2. 0x41f3b6a7fc125dc8607601a591d72debf81b728ee63118484d8b6782f18e7e15
  3. 0xf99d4906b79ecb8b608d383443fd02237ef9655af9778dc3307eaf36a2ce7458
  4. 0x8b914406a0f46dea39cb3930670d81ac287b32ef2909bcbdf272a5ffb312c887
  5. 0x44796e537e7ab43719944c05ee8f1d53fd0208284c97bf8448a9a98f0138ae91
  6. 0x0026b017e74f84b2568a3603974c81ba6a473980989cd938254281b4351a336a
  7. 0x0cf966da55d025adb67326df14146c41d47c1b9638d1726144c69b2224a6314f
  8. 0x416f54f3b7da340f03ce991a77de956735d07de3ad5db77fc775648e3ae51d37
  9. 0x6a1f4fe8fab435e1c518bfc16f253daafa294238c0e96740fee48db2d40ed618
  10. 0xf0193d168b4a152534cc0dc5d0508b621e06b9f3eed11d5edf1492a8e1024487
  11. 0x205ea6ae33c11fb33dd6d7157ddbcde3d54ec17db6449ddaa15f078173c7a428
  12. 0xa2b0f26f4e84db03ad032393b2a3695ea5f33353da8a24629497d53b9a55a657
  13. 0x593c60077eaf63cd302a3d033a280b28ac4c98d73bae86915b770c7e408ad8db
  14. 0xa495b842d8f7d8efe4285381f8b862b8ab4fec0bfe90ede1e0c66f9fad72c871
  15. 0xb4a5f7c31f5cf0c432e074558e814e1cf79fb110d635b7af2aa4b424de125934
  16. 0x06da6e1933d86a9ec29befc4660e18827c5663bfa2083536fe460228c0434945
  17. 0xa82fcd0af08a38380e777cb578b71498d941c589c6401f31d445e1685adcc978
  18. 0x012ad914f3f945da3b6b48eddc7a1388613e4afc04339deb76c609611864e9b9
  19. 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON