addrbookFor publishers
← The evidence ledger

Evidence row 3006587

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 8022bdd5-867f-4875-8397-49e8353850dd
Recorded
Previous row
#2581798
Body SHA-256
7bcb260157f2d176513f0b2266bd5dda847e7eae46b6bed8086198e437602209
Leaf
0x8eb2bbfffb8e66bf4ba4abb278e9fd0769ef5ed938e5b3f1eb85b4c67202a8b0

What was observed

{
  "count": 22,
  "tools": [
    {
      "description": "Adds an IMPOSSIBREW beer to every delivery of the customer's subscription. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "add_to_subscription"
    },
    {
      "description": "Answers common UK questions about alcohol-free drinks in general, with a named public source for every line (UK law, government guidance, the NHS, UK health charities, peer-reviewed studies or, for halal, published religious rulings; US labels use the US regulator, TTB; hangover uses the Irish health service, HSE). Topics: labels (what alcohol-free, 0.0%, de-alcoholised and 0.5% mean), units (how much alcohol is in 0.5%), everyday_foods (trace alcohol in juice and bread), driving, alcohol_testing (EtG tests for work, licences or recovery), pregnancy, breastfeeding, under_18, cutting_down, stopping_drinking, sleep, hydration, gout, diabetes, blood_pressure, liver, medication, halal, gluten_free, hangover, calories, price (why it is not cheaper; duty), how_made, dry_january, exercise, vegan, can_it_get_you_drunk, best_buy (which alcohol-free beer to buy; says IMPOSSIBREW publishes this guide), labels_abroad (US label rules). Not medical or legal advice; it says when 0.0% is the better choice.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "topic": {
            "enum": [
              "labels",
              "units",
              "everyday_foods",
              "driving",
              "alcohol_testing",
              "pregnancy",
              "under_18",
              "cutting_down",
              "sleep",
              "hydration",
              "gout",
              "diabetes",
              "blood_pressure",
              "breastfeeding",
              "medication",
              "liver",
              "stopping_drinking",
              "halal",
              "gluten_free",
              "hangover",
              "calories",
              "price",
              "how_made",
              "dry_january",
              "exercise",
              "vegan",
              "can_it_get_you_drunk",
              "labels_abroad",
              "best_buy"
            ],
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "alcohol_free_guide"
    },
    {
      "description": "Returns approved facts from the official IMPOSSIBREW policy, the same source as the AI Brewer on impossibrew.co.uk. Topics: dietary (gluten, vegan, allergens, carbs, sugar), nutrition, ingredients (Social Blend, ABV), safety (pregnancy, medication, driving, daily limit), delivery, freshness, returns, subscriptions, offers, where_to_buy, lab_points, contact. The facts are the complete approved answer; IMPOSSIBREW makes no health-effect, gluten-removal or medical claims beyond them.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "topic": {
            "enum": [
              "dietary",
              "nutrition",
              "ingredients",
              "safety",
              "delivery",
              "freshness",
              "returns",
              "subscriptions",
              "offers",
              "where_to_buy",
              "lab_points",
              "contact"
            ],
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "ask_impossibrew"
    },
    {
      "description": "Returns six featured IMPOSSIBREW beers with current exact-pack prices and availability. Not a full store catalogue.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "maxLength": 120,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "browse_beers"
    },
    {
      "description": "Creates a new anonymous IMPOSSIBREW Shopify cart for a one-time or subscription purchase (frequency) and returns its checkout link (Shop Pay or card on impossibrew.co.uk). The cart is not linked to any customer account. Suits any request to buy, order, try or subscribe. Subscriptions are cancel-any-time and, exactly like the website, earn welcome gifts by box count: 2 boxes 1 free glass, 3 boxes 2 glasses, 4 boxes 2 glasses plus a T-shirt. A T-shirt size (S-4XL) is needed only when the result says need_shirt_size. Prices, discounts and gifts are Shopify's exact live readback. A one-time result also shows the same beers on subscription, with the saving and gifts. It does not place an order or take payment: the customer completes checkout on impossibrew.co.uk.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "frequency": {
            "enum": [
              "2_weeks",
              "1_month",
              "2_months",
              "3_months"
            ],
            "type": "string"
          },
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "packCans": {
                  "type": "integer"
                },
                "productId": {
                  "enum": [
                    "lager",
                    "pale",
                    "tipa",
                    "lemon",
                    "grapefruit",
                    "golden"
                  ],
                  "type": "string"
                },
                "quantity": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "required": [
                "productId",
                "quantity"
              ],
              "type": "object"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array"
          },
          "shirtSize": {
            "enum": [
              "S",
              "M",
              "L",
              "XL",
              "2XL",
              "3XL",
              "4XL"
            ],
            "type": "string"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "name": "build_basket"
    },
    {
      "description": "Build a ready-to-review one-time IMPOSSIBREW basket from the customer's constraints: specific beers, gluten-free only, number of cans and/or budget in GBP. Uses fresh live prices and availability and returns exact lines, subtotal and a Shopify cart link. Does not create an order, take payment or start a subscription; checkout happens on impossibrew.co.uk.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "beers": {
            "items": {
              "enum": [
                "lager",
                "pale",
                "tipa",
                "lemon",
                "grapefruit",
                "golden"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "type": "array"
          },
          "budgetGBP": {
            "maximum": 500,
            "minimum": 10,
            "type": "number"
          },
          "cans": {
            "maximum": 120,
            "minimum": 10,
            "type": "integer"
          },
          "glutenFree": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "build_box"
    },
    {
      "description": "Constructs an exact Shopify cart permalink for 1 to 12 one-time item lines after checking current variants and availability. Returns a link only: it does not create a cart, order, payment or subscription, and it does not handle recurring purchases or existing orders. Shipping and discounts are determined at checkout. IMPOSSIBREW customer support for existing orders: https://impossibrew.co.uk/pages/contact-us.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "productId": {
                  "enum": [
                    "lager",
                    "pale",
                    "tipa",
                    "lemon",
                    "grapefruit",
                    "golden"
                  ],
                  "type": "string"
                },
                "quantity": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                },
                "variantId": {
                  "pattern": "^\\d+$",
                  "type": "string"
                }
              },
              "required": [
                "productId",
                "variantId",
                "quantity"
              ],
              "type": "object"
            },
            "maxItems": 12,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "name": "build_shop_link"
    },
    {
      "description": "Cancels one of the customer's IMPOSSIBREW orders that has not left the warehouse, with the refund the AI Brewer states. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "cancel_order"
    },
    {
      "description": "Cancels the customer's IMPOSSIBREW subscription. Before cancelling, the AI Brewer may offer to keep it with a discount, a pause or a skip; only the option the customer accepts is applied. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "cancel_subscription"
    },
    {
      "description": "Changes the UK delivery address of one IMPOSSIBREW order that has not left the warehouse. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "change_delivery_address"
    },
    {
      "description": "Read-only. Looks up the customer's own IMPOSSIBREW orders and subscription: order status, tracking, delivery dates, subscription details, next delivery and store credit. This tool cannot change, cancel or refund anything. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "check_order"
    },
    {
      "description": "Returns IMPOSSIBREW's published comparison pages for named alternative brands: our source-backed position, kept separate from independent proof. Live prices and availability for our beers come from the product tools.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "competitors": {
            "items": {
              "enum": [
                "lucky-saint",
                "heineken-0-0",
                "guinness-0-0",
                "days-brewing",
                "athletic-brewing",
                "big-drop",
                "heaps-normal",
                "brewdog",
                "peroni-0-0",
                "budweiser-zero",
                "stella-artois-0-0",
                "corona-cero",
                "bero",
                "beavertown-lazer-crush",
                "mother-root",
                "adnams-ghost-ship",
                "nirvana-brewery",
                "birra-moretti-zero",
                "small-beer",
                "drop-bear-beer",
                "three-spirit",
                "collider",
                "erdinger",
                "heineken-0-0-ultimate",
                "brewdog-mello"
              ],
              "type": "string"
            },
            "maxItems": 3,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "competitors"
        ],
        "type": "object"
      },
      "name": "compare_alternatives"
    },
    {
      "description": "Compare 2 to 4 specific IMPOSSIBREW beers: flavour, exact pack prices, availability and source descriptions. Nutrition/allergens remain specific to each label.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "ids": {
            "items": {
              "enum": [
                "lager",
                "pale",
                "tipa",
                "lemon",
                "grapefruit",
                "golden"
              ],
              "type": "string"
            },
            "maxItems": 4,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "ids"
        ],
        "type": "object"
      },
      "name": "compare_beers"
    },
    {
      "description": "Compares available one-time IMPOSSIBREW packs using fresh store prices, with per-can and per-litre arithmetic. Rankings cover the same beer and can size only. It excludes delivery, checkout discounts and retailer prices, so it does not identify the cheapest overall deal.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "ids": {
            "items": {
              "enum": [
                "lager",
                "pale",
                "tipa",
                "lemon",
                "grapefruit",
                "golden"
              ],
              "type": "string"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "compare_pack_value"
    },
    {
      "description": "Returns online retailer buying destinations and verified UK venues, each with its source health. Retailer links are not live shelf-stock, delivery-coverage or price checks, and a listed venue does not prove current stock. Optional town/postcode text filters physical venues only.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "maxLength": 80,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "find_stockists"
    },
    {
      "description": "Returns product facts and the current exact variants, with variant IDs, for one beer. Variant IDs exist only in this result.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "id": {
            "enum": [
              "lager",
              "pale",
              "tipa",
              "lemon",
              "grapefruit",
              "golden"
            ],
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_product"
    },
    {
      "description": "Opens the IMPOSSIBREW shop: a swipeable picker of every beer with its official pack shot, per-can price and the subscribe-and-save gift ladder. The customer picks boxes and taps Subscribe or Buy once to get a real Shopify basket. Takes no arguments. The picker supplies its own product images.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "open_shop"
    },
    {
      "description": "Pauses the customer's IMPOSSIBREW subscription for 1, 2 or 3 months. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "pause_subscription"
    },
    {
      "description": "Composer typeahead: return product resource links for matching IMPOSSIBREW beer names. Resource readback supplies live facts.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "maxLength": 120,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "product_mentions"
    },
    {
      "description": "Passes a damaged, missing, wrong or late IMPOSSIBREW order to the support team as a case, with any details the customer gives. It does not issue refunds, credits or replacements; the support team decides and replies by email. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "report_order_problem"
    },
    {
      "description": "Resumes a paused IMPOSSIBREW subscription or restarts a cancelled one. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "resume_subscription"
    },
    {
      "description": "Skips the next delivery of the customer's IMPOSSIBREW subscription. This tool makes no other change. The AI Brewer shows the exact change and makes it only after the customer replies yes. The message goes to the AI Brewer, the same assistant as on impossibrew.co.uk, which checks identity (email plus delivery postcode, or an order number starting EC plus either). message is the customer's own words. The first call has no conversationId; each result returns the conversationId that continues the same conversation across these order tools. The reply is the AI Brewer's complete answer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "conversationId": {
            "pattern": "^[A-Za-z0-9_-]{8,64}$",
            "type": "string"
          },
          "message": {
            "maxLength": 1500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "skip_next_delivery"
    }
  ]
}

What the leaf hashes

{"body":"7bcb260157f2d176513f0b2266bd5dda847e7eae46b6bed8086198e437602209","id":3006587,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793795217285863,"prev":2581798,"subject":"8022bdd5-867f-4875-8397-49e8353850dd","subject_kind":"endpoint"}

Proof

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

  1. 0x8eb2d0043332b1db9f00d8a182d1ef4ae9ebf8d8c6cb43422998551c7faec13f
  2. 0x09e6c9fb728b3b4e8735ffb3f7beb1386cced7af0113ee9eca176b68b5b01c58
  3. 0x07e87d028457f853506541f42683bcbf3b5b0a18dc20f775fa24f86514d19186
  4. 0x23d01ea9fc0adc2f3a87a23b11b2fd66bbd8cf036360a19103feab9569964bdf
  5. 0x479a4e22d6f74e1c2f897c192114657d3e994267554ee2ad27f083f2a6713dcc
  6. 0xaf2dc5633cca6258990e0fa865ec2172d9a6b2226f5ca1d08c78a53ceb4b6bc0
  7. 0x6b43b9bbc30fc106269a1b6192356d7e257a440dcebf69752ae4bf42693a7d32
  8. 0x998013663dc38259df4dfa3c0d952e1a77e3a7de8aeaefaba29246533833bcb3
  9. 0x1749152904903a78a573c118f5c62ec00fbd100da0c4a158df3ddc612f221c62
  10. 0x2083fb0e958f16f0c935730b136c203fe01206b1210a6c0dfd6a6381a69312d7
  11. 0x88ff8021d2540f251f3a3d8c72d1b3d751aa370478e678d3a813580bfdd33592
  12. 0x5e78f89c3f053b5265e41fea0499dd712859397629d7bd0aa2d7e6d7daceda29
  13. 0xd84e0b56ee0eb916eb990380758b2244eff546befabc3190b353f069f1d3b3ea
  14. 0x3dc9944f5d504306845940639f1c155794c735779342a7507d33af5d2f7278a9
  15. 0xdf9a63a7db8101ed0a28aec6f2d247d6d7df856be1e744490c9b5261f2c856a8
  16. 0xcbeab7cdfbe295c259acb96245f397030a1d41f25243d4de19e7709db50be49e
  17. 0x7f4f557ace8b62cd85774371e24477cdc34df4d2aa68c04511d8678e3978a343
  18. 0xc3c363818e1d5142c4629be55f1c9e168a7466e628cfd2a858fe171aff1e91ca
  19. 0x10067354f57fa0cd86b7423e67cc1c7d107d7c9c6823df5246c4fb63b60575e5
Day root
0xd4eed8c0ea3c90ec6f262b19fcc3b849f30cb82a0f84b8b89569e48af7d0c1ee
Chained
0x59305749c32724a02a23c368834d8a36ae9908da93a915e2962fffe01b4e591b
Published
On Arc Testnet, block 70772483: 0x813d56041c1efd407e56047129b597b154a1cb26458bb2768fd0a4630ac97345

How to check it · This row as JSON