← 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).
- 0xb2a47bdd00b5880530c176906ba14a4ab8965b6449b8821873a9e5c41b65d011
- 0x6d1add16ca025845d74e9313e9ea337cd1c8b91acc21681ad3ec3defe57d1af8
- 0x56e7d383153947365dbf0da79bd372398b60a63e33debb31256043e6b28e302f
- 0xe19ed6f6d1fac2644f23c631d1009b0f946806debffba25a703ba79a04a64c9c
- 0x9a82053f2db0e4499e65bc03368a4c5910c7fec4483000dfc27c09266fb1e30a
- 0x8aa36d37600317c5cbb5e7cca191ba24f9a59d61ae7b2f53d89d99d83870a98c
- 0x7303472d435dd4adc75bc8d86c0cd69eb3be53d24d5f5522127e90f7d6c88cb2
- 0xb3fb1a890fd77f45fbf7d5f099f86ef7bcba5af1834a332393ddda6bc61ef29f
- 0xae4af1004cac6368a81bc41d4a4a3236c0f862c848c3a0170601dacf0a5ab0bb
- 0xe7665fe847686cee8707518ec4e79eb821fed2ff67abe365af6407f7ae4fb3f7
- 0x6215d60bd3fb9336868220cbbce6a4d8d011a9af23826db330a3aa345b7aed1c
- 0xfc490f10297256f1dffccd6e4fa855d0725398203c90dd0a8a77405bdf014404
- 0xf4ed46d8eff25af1a9e80eed6f55719653e8cb1d0b480eb2d9009abe9c0a5315
- 0x6065413194326b10c0e957a6ed77fad045c76a708d9f5e291ca690223cf2d7ba
- 0x2afbeaef1e4de4b2a6d70326e3dc41f9f1c65d4fc46630d217fc932790b0680c
- 0x3235c8a33ac14441f1a12a6515f670286d48b48fa98eb1dce45d902e053abe01
- 0x9ea7c2ecc6985da4b761b0f9096b7858b3ac8e3e47717c3840537fb2ff31c6df
- Day root
- 0x17da9e85e1b138541355d33543ff34e3503cd3a49d37728fb53643e2a0416a2d
- Chained
- 0xed34bd4af17282643de8cb9591c84d0aa1b39e1e9ae9864941e543f5a15718cb
- Published
- On Arc Testnet, block 71280839: 0xc3f6784179e0ca32236ba89472473e882a81d03fcc5ce27ca58ded2e01e112aa