{"id":2552378,"recorded_at":"2026-11-03T08:12:29.062767Z","observed_at":"2026-11-03T08:12:29.062707Z","subject_kind":"endpoint","subject":"40890296-07b1-4a52-b0d3-1946b3e08262","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"7b64c922a547aeedf3f285a3d5f694ca3738c092916e2add01fbd31b283d485d","prev_id":null,"leaf":"0x4f626a13ed96a66ba563874fb54e2e9f0dd745ca64b817056cce674764687d4b","leaf_text":"{\"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\"}","day":{"day":"2026-11-03","leaves":425475,"root":"0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a","chained":"0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43","anchor_chain":"eip155:5042002","anchor_tx":"0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7","anchor_block":70601990},"proof":["0x4f61f866c290766c6c6037e0e12a8ec8991e47ae97b805262fa6dacd056e4635","0x1b40babc1c7d6d705c976011488d56c37789bae113b8c5d0fda710f7a3df18e3","0x65b61f4129ddef1760ca423e9691163313cbb66e9ad5fd63e4c529454ec74bd9","0xb84330a9acf39b84ba000d1b57b518e001f6d9ef36f3a720735b461e2c67314f","0x7b3dfbf0a1c96df93f8f7ec8fe8eb330bd5324f4cadb91ea92803c8243197a09","0xe7a7c0c24a36ce5c93b06e237e4c5a5857573aa744357fc55ccacc47bf64ce9a","0xb125b1e21f56b71c08dc3798a6aed8c310d441ce56f8cc395513ad7e32b356c3","0x40e80bfdca91edc5238f0249c01d1a2425300098442ce6b233223cb9406cd1df","0x73b35b3450a1dbd164059d50d28cfc2cc324c2dacec6196a49a9ef00680642a3","0x25c3395d16bc92003fc357ef7aeb66b0a7c092146429f8ee1aab7a425afa2a2e","0xd25d1e6f3235f0a8668d50ccc6590046abbfc89e6b0a4f59e8a3c6f8d983b72a","0x5067e540510b4775123aaa1b89e8e771fff48cda2d5217221586896ab145069b","0x94187c120b8099d2990297ee88e8eb9a21573805f8105e5ec8b85c062f211c25","0x4b9907277e91efb1f7d9761806af6ae068cc26782473322e3d536248ba73fc2e","0xda5db54125314643afd2553cc06bcc66d4fe0ce60c8998f4ce0b19c465813b51","0xd3872af0d8c282b0d088e008b24701ec7576ad8e40ceab245546a2e300818868","0x3ef2d6c56d2bc5990e646c07605e90ed24d1c642cbcca8f60a35422b8b7981ee","0x717b5d7cbc24826c5b1f7b7433bf30b76e9ba1370476af4e1b494a5211897cc3","0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6"]}