addrbookFor publishers
← The evidence ledger

Evidence row 2552378

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 40890296-07b1-4a52-b0d3-1946b3e08262
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
7b64c922a547aeedf3f285a3d5f694ca3738c092916e2add01fbd31b283d485d
Leaf
0x4f626a13ed96a66ba563874fb54e2e9f0dd745ca64b817056cce674764687d4b

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Search the Google Local pack via SerpAPI — the local business listings Google shows for a query. Returns local_results, each with title, rating, reviews, type, address, phone and the place identifiers (place_id / data_id / data_cid) that feed google_maps_reviews. Provide a query q and optionally a location (or a pre-encoded uule). Paginate with start (+20 per page).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "device": {
            "description": "Device to emulate: 'desktop' (default), 'tablet' or 'mobile'.",
            "enum": [
              "desktop",
              "tablet",
              "mobile"
            ],
            "type": "string"
          },
          "gl": {
            "description": "Country code for the search, e.g. 'us', 'uk', 'de'.",
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "google_domain": {
            "description": "Google domain to use, e.g. 'google.com', 'google.co.uk'.",
            "type": "string"
          },
          "hl": {
            "description": "Language code, e.g. 'en', 'es', 'fr', 'pt-br'.",
            "type": "string"
          },
          "location": {
            "description": "Geographic origin of the search — a SerpAPI canonical city-level name, e.g. 'Warsaw,Masovian Voivodeship,Poland'. For a small town or a district, put the place in q instead. Mutually exclusive with uule.",
            "type": "string"
          },
          "ludocid": {
            "description": "Google CID of a business listing, to scope results to that place.",
            "type": "string"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch and bypass this server's result cache. Default false.",
            "type": "boolean"
          },
          "q": {
            "description": "Search query, e.g. 'Coffee' or 'Pizza near Central Park'.",
            "type": "string"
          },
          "start": {
            "description": "Result offset for pagination (0-based); ~20 results per page, so use 20, 40, ….",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "tbs": {
            "description": "Advanced search parameters not otherwise supported, passed through as a raw tbs string.",
            "type": "string"
          },
          "uule": {
            "description": "Google-encoded location string (an alternative to location). Mutually exclusive with location.",
            "type": "string"
          },
          "zero_trace": {
            "description": "Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false.",
            "type": "boolean"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "google_local_search"
    },
    {
      "description": "Get directions between two points via SerpAPI. Provide a start point (one of start_addr, start_coords 'lat,lon', or start_data_id) and an end point (one of end_addr, end_coords, or end_data_id) — the data_ids come from google_maps_search results. Returns the route(s) with distance, duration and step-by-step legs. Shape the route with travel_mode (driving/transit/walking/…), avoid, and time. Result shape: { source, fetchedAt, query, search_metadata, search_parameters, places_info: [{ address, data_id, gps_coordinates }], durations: [{ travel_mode, duration, formatted_duration }], directions: [...] } — the list key is `directions`. Each direction: { travel_mode, via, distance (meters), duration (seconds), formatted_distance, formatted_duration, typical_duration_range, extensions, trips: [{ travel_mode, title, distance, duration, formatted_distance, formatted_duration, details: [{ title, action, distance, duration }] }] } plus, for transit, start_time, end_time, arrive_around, cost, currency; a Flight entry has only { travel_mode, icon, flight }.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "avoid": {
            "description": "Comma-separated route features to avoid: 'highways', 'tolls', 'ferries'.",
            "type": "string"
          },
          "distance_unit": {
            "anyOf": [
              {
                "const": 0,
                "type": "number"
              },
              {
                "const": 1,
                "type": "number"
              }
            ],
            "description": "Distance unit: 0=km, 1=miles."
          },
          "end_addr": {
            "description": "Ending address, e.g. 'Dallas, TX'. Provide one of end_addr/end_coords/end_data_id.",
            "type": "string"
          },
          "end_coords": {
            "description": "Ending GPS coordinates as 'lat,lon'.",
            "type": "string"
          },
          "end_data_id": {
            "description": "Place data id of the ending point (from a google_maps_search result).",
            "type": "string"
          },
          "gl": {
            "description": "Country code, e.g. 'us', 'uk', 'de'.",
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "hl": {
            "description": "Language code, e.g. 'en', 'es', 'fr'.",
            "type": "string"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch and bypass this server's result cache. Default false.",
            "type": "boolean"
          },
          "prefer": {
            "description": "Comma-separated transit preferences (travel_mode=3 only): 'bus', 'subway', 'train', 'tram_light_rail'.",
            "type": "string"
          },
          "route": {
            "anyOf": [
              {
                "const": 2,
                "type": "number"
              },
              {
                "const": 3,
                "type": "number"
              },
              {
                "const": 4,
                "type": "number"
              }
            ],
            "description": "Transit route option (travel_mode=3 only): 2=Fewer transfers, 3=Less walking, 4=Wheelchair accessible."
          },
          "start_addr": {
            "description": "Starting address, e.g. 'Austin, TX'. Provide one of start_addr/start_coords/start_data_id.",
            "type": "string"
          },
          "start_coords": {
            "description": "Starting GPS coordinates as 'lat,lon', e.g. '30.1974,-97.6663'.",
            "type": "string"
          },
          "start_data_id": {
            "description": "Place data id of the starting point (from a google_maps_search result).",
            "type": "string"
          },
          "time": {
            "description": "Departure/arrival time: 'depart_at:<unix>', 'arrive_by:<unix>', or 'last_available' (transit only).",
            "type": "string"
          },
          "travel_mode": {
            "anyOf": [
              {
                "const": 0,
                "type": "number"
              },
              {
                "const": 1,
                "type": "number"
              },
              {
                "const": 2,
                "type": "number"
              },
              {
                "const": 3,
                "type": "number"
              },
              {
                "const": 4,
                "type": "number"
              },
              {
                "const": 6,
                "type": "number"
              },
              {
                "const": 9,
                "type": "number"
              }
            ],
            "description": "Travel mode: 6=Best (default), 0=Driving, 1=Cycling, 2=Walking, 3=Transit, 4=Flight, 9=Two-wheeler."
          },
          "zero_trace": {
            "description": "Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "google_maps_directions"
    },
    {
      "description": "Fetch the reviews of a Google Maps place via SerpAPI. Provide exactly one of place_id, data_id or data_cid — all come from google_maps_search or google_local_search results. A digit-only id (the `place_id` that google_local_search returns is a Google CID) is accepted in any of the three fields and resolved to the Maps data_id automatically via one place lookup. Returns reviews (author, rating, text, date) plus the topics you can filter by. Paginate with next_page_token from the previous response.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "data_cid": {
            "description": "Google CID of the place — the digit-only `place_id` google_local_search returns. Resolved to the Maps data_id via one place lookup. Provide exactly one of place_id, data_id or data_cid.",
            "type": "string"
          },
          "data_id": {
            "description": "Google Maps data_id of the place ('0x…:0x…' from google_maps_search). Provide exactly one of place_id, data_id or data_cid.",
            "type": "string"
          },
          "hl": {
            "description": "Language code, e.g. 'en', 'es', 'fr', 'pt-br'.",
            "type": "string"
          },
          "next_page_token": {
            "description": "Pagination token from the previous response, to fetch the next page of reviews.",
            "type": "string"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch and bypass this server's result cache. Default false.",
            "type": "boolean"
          },
          "num": {
            "description": "Number of reviews per page, 1-20 — only honoured together with next_page_token, topic_id or query; the initial page always returns 8 and the parameter is dropped there.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "place_id": {
            "description": "Google Maps place_id of the place ('ChIJ…' from google_maps_search). A digit-only value is treated as a Google CID and resolved automatically. Provide exactly one of place_id, data_id or data_cid.",
            "type": "string"
          },
          "query": {
            "description": "Filter/search reviews by free text. Mutually exclusive with topic_id.",
            "type": "string"
          },
          "sort_by": {
            "description": "Review sort order: 'qualityScore' (most relevant, default), 'newestFirst', 'ratingHigh', 'ratingLow'.",
            "enum": [
              "qualityScore",
              "newestFirst",
              "ratingHigh",
              "ratingLow"
            ],
            "type": "string"
          },
          "topic_id": {
            "description": "Filter reviews by a topic id (from a prior response). Mutually exclusive with query.",
            "type": "string"
          },
          "zero_trace": {
            "description": "Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "google_maps_reviews"
    },
    {
      "description": "Search Google Maps via SerpAPI. type=search (default) returns a list of places for a query q — paginate with start (+20 per page). type=place returns the full details of a single place identified by place_id or data_cid (both obtainable from a prior search result). Center the map with ll ('@lat,lon,zoomz') or lat/lon/z. The place_id / data_cid in results feed google_maps_reviews.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "data_cid": {
            "description": "Google Maps CID (data_cid) of a specific place (from a prior search result). Use with type=place; also feeds google_maps_reviews.",
            "type": "string"
          },
          "gl": {
            "description": "Country code for the search, e.g. 'us', 'uk', 'de'.",
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "google_domain": {
            "description": "Google domain to use, e.g. 'google.com'.",
            "type": "string"
          },
          "hl": {
            "description": "Language code, e.g. 'en', 'es', 'fr', 'pt-br'.",
            "type": "string"
          },
          "lat": {
            "description": "Latitude of the map center (used with lon; alternative to ll).",
            "type": "number"
          },
          "ll": {
            "description": "Map center as '@lat,lon,zoomz' (latitude, longitude, zoom), e.g. '@40.7455096,-74.0083012,14z'. Zoom recommended 3z-15z.",
            "type": "string"
          },
          "location": {
            "description": "Geographic origin of the search — a SerpAPI canonical city-level name, e.g. 'Warsaw,Masovian Voivodeship,Poland'. For a small town or a district, put the place in q instead. SerpAPI requires z or m alongside it — z defaults to 14 when neither is given.",
            "type": "string"
          },
          "lon": {
            "description": "Longitude of the map center (used with lat; alternative to ll).",
            "type": "number"
          },
          "m": {
            "description": "Alternative map scale parameter, 1-15028132 (an alternative to the zoom level).",
            "maximum": 15028132,
            "minimum": 1,
            "type": "integer"
          },
          "max_price": {
            "description": "Maximum price-level filter for places.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "min_price": {
            "description": "Minimum price-level filter for places.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "min_rating": {
            "description": "Minimum star-rating filter. Must be a string like '4.0' (a number such as 4.0 stringifies to '4' and breaks the filter).",
            "enum": [
              "2.0",
              "2.5",
              "3.0",
              "3.5",
              "4.0",
              "4.5"
            ],
            "type": "string"
          },
          "nearby": {
            "description": "Search nearby the given coordinates. Default false.",
            "type": "boolean"
          },
          "no_cache": {
            "description": "Force a fresh SerpAPI fetch and bypass this server's result cache. Default false.",
            "type": "boolean"
          },
          "open_at_hour": {
            "description": "Filter to places open at a given hour, 0-23. Use with open_on_day. Mutually exclusive with open_state.",
            "maximum": 23,
            "minimum": 0,
            "type": "integer"
          },
          "open_on_day": {
            "description": "Filter to places open on a given day (mon-sun). Combine with open_at_hour. Mutually exclusive with open_state.",
            "enum": [
              "mon",
              "tue",
              "wed",
              "thu",
              "fri",
              "sat",
              "sun"
            ],
            "type": "string"
          },
          "open_state": {
            "description": "Open-state filter: 'now' = open now, '24h' = open 24 hours. Mutually exclusive with open_on_day/open_at_hour.",
            "enum": [
              "now",
              "24h"
            ],
            "type": "string"
          },
          "place_id": {
            "description": "Google Maps place_id of a specific place — an opaque string like 'ChIJ…' from a google_maps_search result. A digit-only id is a Google CID (what google_local_search calls place_id) and is sent as data_cid automatically. Use with type=place; also feeds google_maps_reviews.",
            "type": "string"
          },
          "q": {
            "description": "Search query, e.g. 'Coffee' or 'Restaurants'. Required for a search (type=search) unless place_id/data_cid is given.",
            "type": "string"
          },
          "start": {
            "description": "Result offset for pagination (0-based); 20 results per page, so use 20, 40, ….",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "description": "'search' (default) returns a list of places for q; 'place' returns details for a single place (requires place_id or data_cid).",
            "enum": [
              "search",
              "place"
            ],
            "type": "string"
          },
          "z": {
            "description": "Map zoom level, 3-30 (higher = more zoomed in). Used with lat/lon or location; defaults to 14 when either is given without z or m.",
            "maximum": 30,
            "minimum": 3,
            "type": "integer"
          },
          "zero_trace": {
            "description": "Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "google_maps_search"
    }
  ]
}

What the leaf hashes

{"body":"7b64c922a547aeedf3f285a3d5f694ca3738c092916e2add01fbd31b283d485d","id":2552378,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793693549062707,"prev":null,"subject":"40890296-07b1-4a52-b0d3-1946b3e08262","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. 0x4f61f866c290766c6c6037e0e12a8ec8991e47ae97b805262fa6dacd056e4635
  2. 0x1b40babc1c7d6d705c976011488d56c37789bae113b8c5d0fda710f7a3df18e3
  3. 0x65b61f4129ddef1760ca423e9691163313cbb66e9ad5fd63e4c529454ec74bd9
  4. 0xb84330a9acf39b84ba000d1b57b518e001f6d9ef36f3a720735b461e2c67314f
  5. 0x7b3dfbf0a1c96df93f8f7ec8fe8eb330bd5324f4cadb91ea92803c8243197a09
  6. 0xe7a7c0c24a36ce5c93b06e237e4c5a5857573aa744357fc55ccacc47bf64ce9a
  7. 0xb125b1e21f56b71c08dc3798a6aed8c310d441ce56f8cc395513ad7e32b356c3
  8. 0x40e80bfdca91edc5238f0249c01d1a2425300098442ce6b233223cb9406cd1df
  9. 0x73b35b3450a1dbd164059d50d28cfc2cc324c2dacec6196a49a9ef00680642a3
  10. 0x25c3395d16bc92003fc357ef7aeb66b0a7c092146429f8ee1aab7a425afa2a2e
  11. 0xd25d1e6f3235f0a8668d50ccc6590046abbfc89e6b0a4f59e8a3c6f8d983b72a
  12. 0x5067e540510b4775123aaa1b89e8e771fff48cda2d5217221586896ab145069b
  13. 0x94187c120b8099d2990297ee88e8eb9a21573805f8105e5ec8b85c062f211c25
  14. 0x4b9907277e91efb1f7d9761806af6ae068cc26782473322e3d536248ba73fc2e
  15. 0xda5db54125314643afd2553cc06bcc66d4fe0ce60c8998f4ce0b19c465813b51
  16. 0xd3872af0d8c282b0d088e008b24701ec7576ad8e40ceab245546a2e300818868
  17. 0x3ef2d6c56d2bc5990e646c07605e90ed24d1c642cbcca8f60a35422b8b7981ee
  18. 0x717b5d7cbc24826c5b1f7b7433bf30b76e9ba1370476af4e1b494a5211897cc3
  19. 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON