addrbookFor publishers
← The evidence ledger

Evidence row 2552017

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3a1b073e-3173-4a3f-bca7-70d98a2c2bd9
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
6c8a8d7d98387f96ba896a77092087ee925d5d232546a34da274b1f02fa2c856
Leaf
0x39ea96e95cc56edff2a3773217235cc3b127ca7acf6108fda14b3459cae22f89

What was observed

{
  "count": 2,
  "tools": [
    {
      "description": "Full details of one slowhop.com place: type, summary, highlights and the host's description (Polish), address and coordinates, setting, rating and recent reviews, every unit (house/room/tent: capacity, area, rooms and beds, pets accepted), check-in/out times and quiet hours, house rules, pets policy (kinds accepted, limit, rules), who it suits, food and kitchen, amenities (comfort, kitchen, garden, wellness included, extra-paid extras with prices), internet, nearby activities/restaurants/shops/sights with distances, getting there, fees, discounts (last-/first-minute, long stay, children), payment and cancellation terms, the lowest upcoming price and photos. With date_from/date_to it also prices the stay for the party with Slowhop's own calculator: whether it is bookable (free, minimum stay met, the group and pets fit), the exact total and per-night price in the place's currency (PLN in Poland) with a breakdown, the units used and a booking link. Get the slug from slowhop_search. Fetched live from Slowhop's own JSON API (typically well under 1 s via direct fetch; more when it falls back to an unblocker). Result: { source, fetchedAt, place: { id, slug, name, url, type, currency, summary, highlights, description, texts, location, rating, reviews_count, recent_reviews, host, max_guests, min_age, units, rent_type, check_in, check_out, quiet_hours, flexible_check_in, pets, house_rules, for_whom, food, amenities, internet, nearby, getting_there, fees, discounts, payment, lowest_price, instant_booking, photos }, stay?: { date_from, date_to, nights, adults, children_ages, pets, available, price, price_per_night, currency, breakdown: { nightly_rates, last_minute_discount, first_minute_discount, children_discount, children_fee, cleaning_fee, pets_fee }, meal_plan, min_nights, units, booking_url, calculator_quote?, note? } }. `stay.price` is the total for the whole stay and party (nightly rates after discounts + children's, cleaning and pet fees); `stay.available` is true, false (a `note` says why and what to change) or null when Slowhop's availability calendar did not answer (priced, but the minimum stay is unverified). When `available` is false, `price`, `price_per_night` and `breakdown` are null and `units` empty — never quote such a stay; if Slowhop's calculator still priced it (it ignores minimum stays and pets a place refuses), its figures are in `calculator_quote` { price, price_per_night, breakdown, units, note } for reference only.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "adults": {
            "description": "Adults. Default 2.",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "children_ages": {
            "description": "Each child's age in years (0–17), e.g. [4, 9] for two children — prices depend on ages. Default none.",
            "items": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "maxItems": 10,
            "type": "array"
          },
          "date_from": {
            "description": "Check-in date, YYYY-MM-DD — pass with date_to to price the stay.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "date_to": {
            "description": "Check-out date, YYYY-MM-DD, after date_from.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "no_cache": {
            "description": "Force a fresh fetch and bypass this server's result cache (5 min). Default false.",
            "type": "boolean"
          },
          "pets": {
            "description": "The animals coming along, one entry each: 'small_dog', 'medium_dog', 'big_dog', 'cat' (e.g. ['big_dog', 'cat']). Also limits results to places that accept them. Default none.",
            "items": {
              "enum": [
                "small_dog",
                "medium_dog",
                "big_dog",
                "cat"
              ],
              "type": "string"
            },
            "maxItems": 5,
            "type": "array"
          },
          "place": {
            "description": "The place's slug from slowhop_search (e.g. '6639-dom-na-mazurach-sasek-wielki'), its slowhop.com URL (…/pl/miejsca/<slug>.html), or its numeric id.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "place"
        ],
        "type": "object"
      },
      "name": "slowhop_place"
    },
    {
      "description": "Search slowhop.com, the Polish marketplace of 'slow' stays: houses and cabins in nature, agritourism, guesthouses, glamping, tiny houses and apartments with character, mostly in Poland (some in Czechia, Slovakia, Italy, Croatia…). Filter by place (region, town, country or a landscape word), check-in/check-out dates and party — adults, children's ages, pets (with dates only places free for that party are returned, priced for it) — plus Slowhop's own filters (by a lake, by the sea, in the mountains, sauna, hot tub, breakfast, pets welcome…), a nightly price range and last-/first-minute deals; sort by recommendation or price. Returns one page (24 by default) in Slowhop's order; pass a listing's `slug` to slowhop_place for the description, units, house rules, pets policy and the exact price breakdown. Fetched live from Slowhop's own JSON API (typically well under 1 s via direct fetch; more when it falls back to an unblocker). Result shape: { source, fetchedAt, query, search_url, resolved_place: { name, kind, radius_km? } | null, alternatives?, stay: { date_from, date_to, nights } | null, guests: { adults, children_ages, pets }, total_count, page, total_pages, count, listings: [...], note? } — the list key is `listings`; `total_count` counts matches across all pages (use `page` for more). Each listing: { available, restriction, id, slug, name, url, type, type_key, city, region, country, summary, price, price_per_night, price_per_night_before_discount, currency, cheapest_dates, meal_plan, max_guests, units_for_party, rating, reviews_count, instant_booking, only_on_slowhop, for_whom, host, image }. Prices are numbers in the listing's `currency` — PLN for places in Poland, usually EUR abroad — for the WHOLE party, never per person. WITH date_from + date_to: `price_per_night` is Slowhop's nightly price for this party averaged over the stay (it already includes cleaning, pet and children's fees) and `price` = price_per_night × nights, the total for the whole stay (within a few zł of the booking total; slowhop_place with the same dates gives the exact breakdown); `units_for_party` > 1 means it covers several houses/rooms; `url` opens the place with the same stay. Dated, the site also lists places it cannot book exactly as asked — each listing's `available` is true (bookable as asked) or false, with `restriction` { type: min_nights | max_nights | arrival_impossible | departure_impossible | stay_impossible, min_nights, max_nights } saying why; those have price null (price_per_night stays their nightly rate for those dates), come last, and the `note` counts them — never quote an available: false place for the dates asked; slowhop_place with the same dates gives the exact quote before booking. WITHOUT dates `available` is null, `price` is null, `price_per_night` is the lowest upcoming nightly price and `cheapest_dates` says for which stay; availability is not checked (the `note` says so). `price_per_night_before_discount` is set during a last-/first-minute discount. `meal_plan` is none | breakfast | half_board | full_board | all_inclusive; `rating` is 0–5 (null without reviews). An empty match answers count: 0 with a `note` saying why and what to change — that is a successful result, not an error.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "adults": {
            "description": "Adults. Default 2.",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "children_ages": {
            "description": "Each child's age in years (0–17), e.g. [4, 9] for two children — prices depend on ages. Default none.",
            "items": {
              "maximum": 9007199254740991,
              "minimum": -9007199254740991,
              "type": "integer"
            },
            "maxItems": 10,
            "type": "array"
          },
          "date_from": {
            "description": "Check-in date, YYYY-MM-DD, today or later. Pass together with date_to; without dates prices are the lowest upcoming 'from' prices and availability is not checked.",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "date_to": {
            "description": "Check-out date, YYYY-MM-DD, after date_from (at most 60 nights).",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "filters": {
            "description": "Slowhop's own filter ids. Alternatives of one kind match ANY — settings, types, who-for, accepted pets, the wellness facilities sauna/wooden_bath/pool/jacuzzi/bathtube/massages — while different kinds must ALL match (['lake', 'sauna'] = by a lake AND with a sauna; ['sauna', 'jacuzzi'] = either): the site's own logic. Setting: lake, sea, mountain, forest, countryside, shoreline, river, city. Type: agro_guesthouse (agritourism, guesthouse), cottages (houses incl. tiny houses), tiny_house, camping (glamping/camping), hotels, city_apartments, hostels, campers, yachts. Who for: children_loving, couples, without_neighbors, adults (adults and teens only), rarities, unique_view, good_design, modern_architecture, idyllic, historical_places, fixer_upper, pet-free, lots_of_animals, single, disability, celebrations, workshops_and_conferences. Food: breakfast, meals (meals on site), restaurant, kitchen_available, vegetarian, vegan, special_diets. Pets: small_dogs, medium_dogs, big_dogs, cats, fenced_area, leash_free. Wellness: sauna, wooden_bath (outdoor hot tub, 'balia'), pool, jacuzzi, bathtube, massages, fireplace. Active: forest-trails, trail (mountain trail), skiing-slope, running-ski (cross-country skiing), horseriding, kayaks, fishing, bikes_onsite. Other: solo / groups (workation), fast_internet, no_internet, electric-car-charger, kids-playground.",
            "items": {
              "enum": [
                "lake",
                "sea",
                "mountain",
                "forest",
                "countryside",
                "shoreline",
                "river",
                "city",
                "agro_guesthouse",
                "cottages",
                "tiny_house",
                "camping",
                "hotels",
                "city_apartments",
                "hostels",
                "campers",
                "yachts",
                "children_loving",
                "couples",
                "without_neighbors",
                "adults",
                "fixer_upper",
                "rarities",
                "unique_view",
                "modern_architecture",
                "good_design",
                "idyllic",
                "historical_places",
                "pet-free",
                "lots_of_animals",
                "single",
                "disability",
                "celebrations",
                "workshops_and_conferences",
                "breakfast",
                "meals",
                "restaurant",
                "kitchen_available",
                "vegetarian",
                "vegan",
                "special_diets",
                "small_dogs",
                "medium_dogs",
                "big_dogs",
                "cats",
                "fenced_area",
                "leash_free",
                "sauna",
                "wooden_bath",
                "pool",
                "jacuzzi",
                "bathtube",
                "massages",
                "fireplace",
                "forest-trails",
                "trail",
                "skiing-slope",
                "running-ski",
                "horseriding",
                "kayaks",
                "fishing",
                "bikes_onsite",
                "solo",
                "groups",
                "fast_internet",
                "no_internet",
                "electric-car-charger",
                "kids-playground"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "first_minute": {
            "description": "Only first-minute (early booking) deals. Default false.",
            "type": "boolean"
          },
          "last_minute": {
            "description": "Only last-minute deals. Default false.",
            "type": "boolean"
          },
          "limit": {
            "description": "Places per page, 1–48. Default 24.",
            "maximum": 48,
            "minimum": 1,
            "type": "integer"
          },
          "no_cache": {
            "description": "Force a fresh fetch and bypass this server's result cache (5 min). Default false.",
            "type": "boolean"
          },
          "page": {
            "description": "Results page, 1-based. Default 1.",
            "maximum": 9007199254740991,
            "minimum": 1,
            "type": "integer"
          },
          "pets": {
            "description": "The animals coming along, one entry each: 'small_dog', 'medium_dog', 'big_dog', 'cat' (e.g. ['big_dog', 'cat']). Also limits results to places that accept them. Default none.",
            "items": {
              "enum": [
                "small_dog",
                "medium_dog",
                "big_dog",
                "cat"
              ],
              "type": "string"
            },
            "maxItems": 5,
            "type": "array"
          },
          "place": {
            "description": "Where, resolved by Slowhop's own autocomplete: a region ('Mazury', 'Bieszczady', 'Kaszuby', 'Tatry', 'Roztocze', 'Toskania'), a town ('Zakopane', 'Kazimierz Dolny' — searched within radius_km), a country ('Chorwacja', 'Włochy'), or a landscape word ('góry', 'morze', 'jezioro', 'las', 'wieś' → Poland with that setting filter). Polish names work best. Omit to search everywhere.",
            "minLength": 1,
            "type": "string"
          },
          "price_max": {
            "description": "Maximum nightly price for the whole party, in PLN (Slowhop converts foreign prices).",
            "minimum": 0,
            "type": "number"
          },
          "price_min": {
            "description": "Minimum nightly price for the whole party, in PLN (Slowhop converts foreign prices).",
            "minimum": 0,
            "type": "number"
          },
          "radius_km": {
            "description": "Around a town only: search radius in km (default: the site's own, 20 km for a town).",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "sort": {
            "description": "'recommended' (Slowhop's order, default), 'price_asc' or 'price_desc' (by nightly price).",
            "enum": [
              "recommended",
              "price_asc",
              "price_desc"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "slowhop_search"
    }
  ]
}

What the leaf hashes

{"body":"6c8a8d7d98387f96ba896a77092087ee925d5d232546a34da274b1f02fa2c856","id":2552017,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793693522004066,"prev":null,"subject":"3a1b073e-3173-4a3f-bca7-70d98a2c2bd9","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. 0x39eae58091f09c5cc47c1d1ae4da9632c6d1856fe7300743a422d40bf3e3b319
  2. 0x512915b518fdad5faf76ef7ebdade4a3e68c93726aba7c1f5e54472971d2d46d
  3. 0xead0fcc58f820e8236258b5a48bbf5d8ff375cb1a5364a17a5bb13c0fc55c0d7
  4. 0xf692ebd496be1684eb4bcf78082e7ca2a5e3fd8ea131ff0a4c4c144c18374033
  5. 0x157cdba020814da992f1f1236921f86d5868f78b812417803465aff9d4ffbd48
  6. 0x34a3b7504ff36bba7403888400a5d96818673f3e223ff0c580d0f55e3676bbb0
  7. 0x7d5a1cc7f74edfeca39f1fc090a9366b63f077d925a6759d9c0390887a2553a3
  8. 0x9477c9c93b03463c7a3e0419da40afe2ee80524117804502ae7edb5b99d39e4d
  9. 0x75454983e07fa0cb01d4415fcd0992875336e2447981cb868dd8d3ddbbea9e44
  10. 0x9368c5a0f3960145800bc81aa25dbbaa4b68153b4423fb080222b049ea21111d
  11. 0x62206a91c63fc24bbd8028bae573b906efc8af174f81f99a69994c03894d7689
  12. 0xbc0e8f4cedab471dd5faf99b833903854f87b7d3d9323c3e331229a9891171c0
  13. 0x9ff0540c065d2c066aa07e30d42707c88f5f7729bc3c89880661802495922729
  14. 0x58aed1257fcd4ee1c84710e1858bdde1ba134c86ed73f1f35a7aeaeacd9398e4
  15. 0xb1fe1f6398b7faed977bc6cc75b0a8404ef5a6cb386ca30aebdb7450b7bb6dbe
  16. 0xb1804d44f1a591de3b8b8db8fe72e8ab6695e6d154862ee8ea77b6ac2b43b67d
  17. 0x87df2ed9052c264d606c076742aa7e54b69fc8344b21e972ebcb19d020b7ecf3
  18. 0x012ad914f3f945da3b6b48eddc7a1388613e4afc04339deb76c609611864e9b9
  19. 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON