addrbookFor publishers
← The evidence ledger

Evidence row 574754

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint eb26b735-5128-4cf7-9ad0-e4bf43201193
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d6bac3fa494d13f23713ffb040d27eb1ab2fda259ccb9c2688480df15640923a
Leaf
0xf1cfa05d35fc41611c9087e289bb75157cf5a6c4b78042c3353945b16a06c3c0

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "List the Swiss cantons supported by Joomil's `canton` filter. Returns the exact `name` value to pass to search_classifieds, plus a readable French label. Call this before filtering by canton — the API values are non-obvious (e.g. 'Bern' not 'Berne', 'Geneve' not 'Genève' or 'Geneva').",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_cantons"
    },
    {
      "description": "List active categories of the Joomil.ch marketplace. Returns a flat list with parent_id for hierarchy reconstruction. Omit parent_id for all categories, use parent_id=0 for root categories only, or pass a specific ID to get direct children of that category.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "parent_id": {
            "description": "Filter to direct children of this category ID. Omit for all categories. Use 0 for root categories only.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_categories"
    },
    {
      "description": "Get full details of a single classified ad on Joomil.ch by its numeric ID. Returns complete description, all images URLs, category breadcrumb (full_path), vendor info (name, certified status, pro company), expiry date and boost level. Use search_classifieds first to find relevant listing IDs.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Numeric listing ID — visible in the URL and in search_classifieds results",
            "exclusiveMinimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_classified"
    },
    {
      "description": "Search classified ads on Joomil.ch — Switzerland's leading French-speaking classifieds marketplace (since 2007). Returns a paginated list of public listings with title, description (truncated to 300 chars), price, location, category and vendor info. All parameters are optional — call with no arguments to browse the latest listings. Use get_classified to fetch full details of a specific listing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "canton": {
            "description": "Swiss canton filter — strict enum. Use get_cantons for the official list. WARNING: values are API-specific (e.g. 'Bern' not 'Berne', 'Geneve' not 'Genève'/'Geneva'). Supported: Geneve, Vaud, Valais, Fribourg, Neuchatel, Jura, Bern, Argovie, Zurich, Lucerne, Bale-Ville, Etranger.",
            "enum": [
              "Geneve",
              "Vaud",
              "Valais",
              "Fribourg",
              "Neuchatel",
              "Jura",
              "Bern",
              "Argovie",
              "Zurich",
              "Lucerne",
              "Bale-Ville",
              "Etranger"
            ],
            "type": "string"
          },
          "cat_id": {
            "description": "Category ID filter — includes subcategories automatically. Use get_categories to browse available categories.",
            "exclusiveMinimum": 0,
            "type": "integer"
          },
          "limit": {
            "description": "Results per page (1–50, default 20)",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "location": {
            "description": "City name or postal code (NPA) — partial match",
            "type": "string"
          },
          "offset": {
            "description": "Pagination offset. Use next_offset from previous response to get next page.",
            "minimum": 0,
            "type": "integer"
          },
          "price_max": {
            "description": "Maximum price in CHF (inclusive)",
            "minimum": 0,
            "type": "number"
          },
          "price_min": {
            "description": "Minimum price in CHF (inclusive)",
            "minimum": 0,
            "type": "number"
          },
          "q": {
            "description": "Full-text search query (searches title and description)",
            "type": "string"
          },
          "sort": {
            "description": "Sort order: recent (newest first, default), price_asc, price_desc, views",
            "enum": [
              "recent",
              "price_asc",
              "price_desc",
              "views"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search_classifieds"
    },
    {
      "description": "Infer search_classifieds filters from a natural-language query. Use this before search_classifieds when the user mentions a category, location, canton or price in free text. Returns a ready-to-use filters object, a category confidence score and warnings for uncertain matches.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Natural-language search request, e.g. 'appartement 3 pièces à Sion' or 'Tesla Model 3 moins de 25000 CHF'.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "suggest_filters"
    }
  ]
}

What the leaf hashes

{"body":"d6bac3fa494d13f23713ffb040d27eb1ab2fda259ccb9c2688480df15640923a","id":574754,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793141772966715,"prev":null,"subject":"eb26b735-5128-4cf7-9ad0-e4bf43201193","subject_kind":"endpoint"}

Proof

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

  1. 0xf1cf8b7e3a2a26fc7cdb27c0634f6b423df2ffae06e39e58322a63f559bbde79
  2. 0x26601a787511fb680dcc7a93c4b9f7411d20c5fe2da682e2fa28498c9f610798
  3. 0x0c9d8a18fddd374791b0779897a5310460c2088db25a2e9d69c0a7b42a04a2a2
  4. 0x154c3e9c1756dc1a953e490b22a499d13763624ce92caadf90c6708f6e8d3267
  5. 0x1c1abeb68a1a7a037584122be1f8e2b0b3a860aeda010edd863356c2b5c73989
  6. 0xca879b76daf21273332c4a399f1063adeb8d26291d0a87ccefdeb8742db64cc3
  7. 0x9ceb6bd1f710ed4f928e41d9599308bcdbbb962502f3ec756b44725747d6d6a2
  8. 0x9cdcfa95e6e56a7ac80cced4e7d19e486574d73e484e6edaa0b1f2b3d99b9e60
  9. 0x51ef2597384a6934f8b25f160171672fb04d4b2993539956ca83112ff8275a14
  10. 0x885dedb11c9f215b861626770d162230c3d583157caa062b453cc22d1d3d2674
  11. 0x2ea101b6388c288056f45a9fd999778249a27a3187a1c19c21450a69a4412959
  12. 0xc76e7a2a7d72384a3306a63b271737f83983bf378cba5d40efe61cfc57eb7d40
  13. 0x47993ad5e402c748d96928c5127292d12f5f590d15cf544698f6bb348ad7dc9b
  14. 0xce1471491ffb52101d7cd9884cca0fb37a9496f6e8250375054907d24a35d04f
  15. 0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629
  16. 0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON