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 — the digit-only ids Local search returns are resolved for you.

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 — 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.
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 ("ChIJ…") from a prior result; a digit-only id is treated as a Google CID. 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, used with lat/lon or location; defaults to 14 when either is given without z or m.
m integer Alternative map-scale parameter (1–15028132).
nearby boolean
= false
Search nearby the given coordinates.
location string Geographic origin — 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.
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, data_id or data_cid; paginate with next_page_token.
Param Type Description
place_id string Place id ("ChIJ…") from google_maps_search; a digit-only value is resolved as a Google CID. Provide exactly one of place_id / data_id / data_cid.
data_id string Data id ("0x…:0x…") from google_maps_search; alternative to place_id.
data_cid string Google CID — the digit-only place_id google_local_search returns. Resolved to a data id with one place lookup.
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 — honored only with next_page_token, topic_id or query; the first page always returns 8.
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

google_maps_reviews · illustrative — the shape is the tool’s, the values are examples

{
  "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 }]
}

Fetching tools share one 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