← 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).
- 0x4f61f866c290766c6c6037e0e12a8ec8991e47ae97b805262fa6dacd056e4635
- 0x1b40babc1c7d6d705c976011488d56c37789bae113b8c5d0fda710f7a3df18e3
- 0x65b61f4129ddef1760ca423e9691163313cbb66e9ad5fd63e4c529454ec74bd9
- 0xb84330a9acf39b84ba000d1b57b518e001f6d9ef36f3a720735b461e2c67314f
- 0x7b3dfbf0a1c96df93f8f7ec8fe8eb330bd5324f4cadb91ea92803c8243197a09
- 0xe7a7c0c24a36ce5c93b06e237e4c5a5857573aa744357fc55ccacc47bf64ce9a
- 0xb125b1e21f56b71c08dc3798a6aed8c310d441ce56f8cc395513ad7e32b356c3
- 0x40e80bfdca91edc5238f0249c01d1a2425300098442ce6b233223cb9406cd1df
- 0x73b35b3450a1dbd164059d50d28cfc2cc324c2dacec6196a49a9ef00680642a3
- 0x25c3395d16bc92003fc357ef7aeb66b0a7c092146429f8ee1aab7a425afa2a2e
- 0xd25d1e6f3235f0a8668d50ccc6590046abbfc89e6b0a4f59e8a3c6f8d983b72a
- 0x5067e540510b4775123aaa1b89e8e771fff48cda2d5217221586896ab145069b
- 0x94187c120b8099d2990297ee88e8eb9a21573805f8105e5ec8b85c062f211c25
- 0x4b9907277e91efb1f7d9761806af6ae068cc26782473322e3d536248ba73fc2e
- 0xda5db54125314643afd2553cc06bcc66d4fe0ce60c8998f4ce0b19c465813b51
- 0xd3872af0d8c282b0d088e008b24701ec7576ad8e40ceab245546a2e300818868
- 0x3ef2d6c56d2bc5990e646c07605e90ed24d1c642cbcca8f60a35422b8b7981ee
- 0x717b5d7cbc24826c5b1f7b7433bf30b76e9ba1370476af4e1b494a5211897cc3
- 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
- Day root
- 0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
- Chained
- 0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
- Published
- On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7