SERP ENGINE

Google Maps

Four tools over Google’s place data, live via SerpAPI. Local search returns the local-pack listings Google shows for a query; Maps search returns a list of places or — with type=place — the full details of one; reviews pages through a place’s review stream with topic filters; directions returns routes with distance, duration and step-by-step legs across seven travel modes. Place identifiers (place_id / data_id / data_cid) flow from the search tools into reviews and directions.

4 tools ~2–8 s cache: 5 min SerpAPI google_local / google_maps / reviews / directions

Thirty seconds, any client.

claude mcp add --transport http google-maps https://mcp.wondel.ai/google-maps/mcp

One command in your terminal — the server is available in every Claude Code session.

This server works with Claude, Claude Code, Claude Desktop, Claude Cowork, Cursor, VS Code, Windsurf — and any other MCP client. Stdio-only clients connect through npx mcp-remote.

4 tools, fully typed.

Parameters below are transcribed from the server’s own zod schemas — what you see is what the tool validates.

google_local_search Google Local pack listings: businesses with title, rating, reviews, type, address, phone and the place ids that feed the reviews tool. Paginate with start (+20 per page).
Param Type Description
q * string Search query, e.g. "Coffee" or "Pizza near Central Park".
location string Geographic origin of the search, e.g. "Austin, Texas, United States". Mutually exclusive with uule.
uule string Google-encoded location string; alternative to location.
ludocid string Google CID of a business listing, to scope results to that place.
tbs string Raw tbs string for advanced parameters not otherwise supported.
start integer
= 0
Result offset for pagination; ~20 per page (20, 40, …).
device enum
= desktop
Device to emulate. desktoptabletmobile
google_domain string Google domain, e.g. "google.com", "google.co.uk".
gl string Country code, e.g. "us", "de".
hl string Language code, e.g. "en", "pt-br".
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.
google_maps_search Search Google Maps for a list of places, or fetch one place’s full details with type=place. Center the map with ll or lat/lon/zoom; filter by rating, price and opening hours.
Param Type Description
q string Search query. Required for type=search unless place_id/data_cid is given.
type enum
= search
"search" lists places; "place" returns one place’s details (needs place_id or data_cid). searchplace
place_id string Place id from a prior result. Use with type=place; also feeds google_maps_reviews.
data_cid string Place CID from a prior result; alternative to place_id.
ll string Map center as "@lat,lon,zoomz", e.g. "@40.7455,-74.0083,14z".
lat number Latitude of the map center (with lon; alternative to ll).
lon number Longitude of the map center (with lat).
z integer Zoom level 3–30 (with lat/lon).
m integer Alternative map-scale parameter (1–15028132).
nearby boolean
= false
Search nearby the given coordinates.
location string Geographic origin, e.g. "New York, United States".
min_rating enum Minimum star rating — pass as a string like "4.0". 2.02.53.03.54.04.5
min_price integer Minimum price level.
max_price integer Maximum price level.
open_state enum Open now / open 24 h. Mutually exclusive with open_on_day / open_at_hour. now24h
open_on_day enum Open on a given day; combine with open_at_hour. montuewedthufrisatsun
open_at_hour integer Open at a given hour, 0–23 (with open_on_day).
start integer
= 0
Result offset; 20 per page (20, 40, …).
google_domain string Google domain, e.g. "google.com".
gl string Country code, e.g. "us".
hl string Language code, e.g. "en".
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.
google_maps_reviews A place’s reviews — author, rating, text, date — plus filterable topics. Provide exactly one of place_id or data_id; paginate with next_page_token.
Param Type Description
place_id string Place id from a search result. Provide exactly one of place_id / data_id.
data_id string Data id from a search result; alternative to place_id.
sort_by enum
= qualityScore
Review sort order. qualityScorenewestFirstratingHighratingLow
topic_id string Filter by a topic id from a prior response. Mutually exclusive with query.
query string Filter reviews by free text. Mutually exclusive with topic_id.
num integer Reviews per page, 1–20.
next_page_token string Pagination token from the previous response.
hl string Language code, e.g. "en".
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.
google_maps_directions Routes between two points with distance, duration and step-by-step legs. Seven travel modes, avoidances, transit preferences and departure/arrival times.
Param Type Description
start_addr string Starting address. Provide one of start_addr / start_coords / start_data_id.
start_coords string Starting GPS coordinates as "lat,lon".
start_data_id string Place data id of the start (from google_maps_search).
end_addr string Ending address. Provide one of end_addr / end_coords / end_data_id.
end_coords string Ending GPS coordinates as "lat,lon".
end_data_id string Place data id of the destination.
travel_mode integer
= 6
6 = Best, 0 = Driving, 1 = Cycling, 2 = Walking, 3 = Transit, 4 = Flight, 9 = Two-wheeler.
distance_unit integer 0 = km, 1 = miles.
avoid string Comma-separated: "highways", "tolls", "ferries".
prefer string Transit only — comma-separated: "bus", "subway", "train", "tram_light_rail".
route integer Transit only: 2 = fewer transfers, 3 = less walking, 4 = wheelchair accessible.
time string "depart_at:<unix>", "arrive_by:<unix>", or "last_available" (transit only).
gl string Country code, e.g. "us".
hl string Language code, e.g. "en".
no_cache boolean
= false
Force a fresh SerpAPI fetch, bypassing this server’s result cache.
zero_trace boolean
= false
Enterprise-only ZeroTrace mode — SerpAPI stores no search params or metadata.

Prompts that just work.

Best specialty coffee open right now near Plac Zbawiciela in Warsaw, with ratings.

google_local_search

What do reviewers complain about most at this restaurant?

google_maps_search + google_maps_reviews

Directions from Kraków Old Town to the Auschwitz Memorial by public transit, arriving before 10:00.

google_maps_directions

What comes back

{
  "source": "serpapi/google_maps_reviews",
  "fetchedAt": "2026-07-02T14:02:11.312Z",
  "query": { "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4", "sort_by": "newestFirst" },
  "reviews": [
    {
      "user": { "name": "…" },
      "rating": 5,
      "date": "a week ago",
      "snippet": "Best flat white in the neighbourhood…"
    }
  ],
  "topics": [{ "keyword": "espresso", "mentions": 41 }]
}

Abridged real response. Every payload carries the same envelope — source says where the data came from, fetchedAt says when, query echoes what you asked. Compact JSON in one text block, exactly how agents like it.

Add Google Maps
to your agent.

mcp.wondel.ai/google-maps/mcp

Authless · Read-only public data · Streamable HTTP at /mcp, legacy SSE at /google-maps/sse