addrbookFor publishers
← The evidence ledger

Evidence row 3984571

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 2b0c9c64-b32d-47ac-ae75-2ea947a4a23c
Recorded
Previous row
#3715769
Body SHA-256
a254b77a9bac34bd9bcacb853c2310dfc13d8968f1d0978397d7a4a83f8397f9
Leaf
0xb2a47e7aff970ca5d8de99b3c647934f67d393824821b089f344d3f3839f00e4

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Find the cheapest supplements by normalized price-per-unit within a category (and all its subcategories). This is the primary tool for \"what is the cheapest X?\" questions. Use list_categories first to pick a valid category_slug. Narrow it with filters (the category page's attribute filters, such as vegan or a form) and brand; every response lists the filters the category offers in available_filters.",
      "inputSchema": {
        "properties": {
          "brand": {
            "description": "Optional: only this brand, by name or slug as it appears in the results.",
            "type": "string"
          },
          "category_slug": {
            "description": "The category to search within, e.g. \"whey-protein\" or \"creatine\". Products in every subcategory are included, so a parent slug like \"protein-powder\" works too. Get valid slugs from list_categories.",
            "type": "string"
          },
          "filters": {
            "description": "Optional: only products carrying every one of these attributes, the filters of the category page, e.g. [\"is_vegan\", \"is_lab_tested\", \"form:powder\"]. A boolean attribute is its key; an option is \"key:value\", one value per key. Every response lists the ids this category offers in available_filters; an id it does not offer is rejected.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "in_stock_only": {
            "default": false,
            "description": "When true, only return products currently in stock.",
            "type": "boolean"
          },
          "limit": {
            "default": 10,
            "description": "Maximum number of products to return (1-50).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "market": {
            "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at, de, cz, pt, se, it. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
            "type": "string"
          }
        },
        "required": [
          "category_slug"
        ],
        "type": "object"
      },
      "name": "find_cheapest"
    },
    {
      "description": "Get full detail for one product by its id: price, normalized unit price, size, bulk/staffel tiers, buy link, and recent price history. Use the id returned by find_cheapest or search_products.",
      "inputSchema": {
        "properties": {
          "market": {
            "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at, de, cz, pt, se, it. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
            "type": "string"
          },
          "product_id": {
            "description": "The numeric product id, as returned in the `id` field by find_cheapest or search_products.",
            "type": "integer"
          }
        },
        "required": [
          "product_id"
        ],
        "type": "object"
      },
      "name": "get_product"
    },
    {
      "description": "List the supplement categories that currently hold priced products, each with a live product count, store count, lowest normalized unit price, and its comparison basis (per_kg / per_serving / per_capsule). Use this to discover a valid category_slug for find_cheapest.",
      "inputSchema": {
        "properties": {
          "market": {
            "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at, de, cz, pt, se, it. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_categories"
    },
    {
      "description": "Search the whole supplement catalog the way the website's search box does. A product name or brand is matched typo-tolerantly (e.g. \"kreatine\", \"theanin\" still match). In markets where the site reads queries, a request described in words, with qualities (vegan, sugar-free, lab-tested, a form, a brand), is answered as that category with those filters, cheapest per unit first, and interpreted_as says how it was read and what could not be applied. Use find_cheapest instead when you already know the category.",
      "inputSchema": {
        "properties": {
          "category_slug": {
            "description": "Optional: restrict results to this category and all of its subcategories, e.g. \"protein-powder\". Must be a slug from list_categories; an unknown slug is rejected.",
            "type": "string"
          },
          "in_stock_only": {
            "default": false,
            "description": "When true, only return products currently in stock.",
            "type": "boolean"
          },
          "limit": {
            "default": 20,
            "description": "Maximum number of products to return (1-50).",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "market": {
            "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at, de, cz, pt, se, it. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
            "type": "string"
          },
          "max_unit_price_cents": {
            "description": "Optional: only return products whose normalized unit price, rounded to whole cents, is at or below this many cents.",
            "minimum": 0,
            "type": "integer"
          },
          "query": {
            "description": "What the user is looking for, in their own words: a product name or brand (\"whey isolaat\" or \"magnesium bisglycinaat\"), or a need with its qualities (\"vegan eiwitrepen zonder toegevoegde suiker\" or \"lab-tested creatine powder\").",
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_products"
    }
  ]
}

What the leaf hashes

{"body":"a254b77a9bac34bd9bcacb853c2310dfc13d8968f1d0978397d7a4a83f8397f9","id":3984571,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794085584734502,"prev":3715769,"subject":"2b0c9c64-b32d-47ac-ae75-2ea947a4a23c","subject_kind":"endpoint"}

Proof

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

  1. 0xb2a47bdd00b5880530c176906ba14a4ab8965b6449b8821873a9e5c41b65d011
  2. 0x6d1add16ca025845d74e9313e9ea337cd1c8b91acc21681ad3ec3defe57d1af8
  3. 0x56e7d383153947365dbf0da79bd372398b60a63e33debb31256043e6b28e302f
  4. 0xe19ed6f6d1fac2644f23c631d1009b0f946806debffba25a703ba79a04a64c9c
  5. 0x9a82053f2db0e4499e65bc03368a4c5910c7fec4483000dfc27c09266fb1e30a
  6. 0x8aa36d37600317c5cbb5e7cca191ba24f9a59d61ae7b2f53d89d99d83870a98c
  7. 0x7303472d435dd4adc75bc8d86c0cd69eb3be53d24d5f5522127e90f7d6c88cb2
  8. 0xb3fb1a890fd77f45fbf7d5f099f86ef7bcba5af1834a332393ddda6bc61ef29f
  9. 0xae4af1004cac6368a81bc41d4a4a3236c0f862c848c3a0170601dacf0a5ab0bb
  10. 0xe7665fe847686cee8707518ec4e79eb821fed2ff67abe365af6407f7ae4fb3f7
  11. 0x6215d60bd3fb9336868220cbbce6a4d8d011a9af23826db330a3aa345b7aed1c
  12. 0xfc490f10297256f1dffccd6e4fa855d0725398203c90dd0a8a77405bdf014404
  13. 0xf4ed46d8eff25af1a9e80eed6f55719653e8cb1d0b480eb2d9009abe9c0a5315
  14. 0x6065413194326b10c0e957a6ed77fad045c76a708d9f5e291ca690223cf2d7ba
  15. 0x2afbeaef1e4de4b2a6d70326e3dc41f9f1c65d4fc46630d217fc932790b0680c
  16. 0x3235c8a33ac14441f1a12a6515f670286d48b48fa98eb1dce45d902e053abe01
  17. 0x9ea7c2ecc6985da4b761b0f9096b7858b3ac8e3e47717c3840537fb2ff31c6df
Day root
0x17da9e85e1b138541355d33543ff34e3503cd3a49d37728fb53643e2a0416a2d
Chained
0xed34bd4af17282643de8cb9591c84d0aa1b39e1e9ae9864941e543f5a15718cb
Published
On Arc Testnet, block 71280839: 0xc3f6784179e0ca32236ba89472473e882a81d03fcc5ce27ca58ded2e01e112aa

How to check it · This row as JSON