Skip to main content
Glama

Google Maps MCP

Search Google Maps (SerpAPI)

google_maps_search

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.

Input Schema

NameRequiredDescriptionDefault
mNoAlternative map scale parameter, 1-15028132 (an alternative to the zoom level).
qNoSearch query, e.g. 'Coffee' or 'Restaurants'. Required for a search (type=search) unless place_id/data_cid is given.
zNoMap 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.
glNoCountry code for the search, e.g. 'us', 'uk', 'de'.
hlNoLanguage code, e.g. 'en', 'es', 'fr', 'pt-br'.
llNoMap center as '@lat,lon,zoomz' (latitude, longitude, zoom), e.g. '@40.7455096,-74.0083012,14z'. Zoom recommended 3z-15z.
latNoLatitude of the map center (used with lon; alternative to ll).
lonNoLongitude of the map center (used with lat; alternative to ll).
typeNo'search' (default) returns a list of places for q; 'place' returns details for a single place (requires place_id or data_cid).
startNoResult offset for pagination (0-based); 20 results per page, so use 20, 40, ….
nearbyNoSearch nearby the given coordinates. Default false.
data_cidNoGoogle Maps CID (data_cid) of a specific place (from a prior search result). Use with type=place; also feeds google_maps_reviews.
locationNoGeographic 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.
no_cacheNoForce a fresh SerpAPI fetch and bypass this server's result cache. Default false.
place_idNoGoogle 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.
max_priceNoMaximum price-level filter for places.
min_priceNoMinimum price-level filter for places.
min_ratingNoMinimum star-rating filter. Must be a string like '4.0' (a number such as 4.0 stringifies to '4' and breaks the filter).
open_stateNoOpen-state filter: 'now' = open now, '24h' = open 24 hours. Mutually exclusive with open_on_day/open_at_hour.
zero_traceNoEnterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false.
open_on_dayNoFilter to places open on a given day (mon-sun). Combine with open_at_hour. Mutually exclusive with open_state.
open_at_hourNoFilter to places open at a given hour, 0-23. Use with open_on_day. Mutually exclusive with open_state.
google_domainNoGoogle domain to use, e.g. 'google.com'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral-disclosure burden. It usefully explains the two response modes, pagination behavior, and that place_id/data_cid feed google_maps_reviews, but it omits caching/no_cache behavior, zero_trace implications, rate limits, and authentication expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it starts with the core action, then explains the two modes, pagination, map centering, and the link to google_maps_reviews. Every sentence adds usable information without repeating the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 23-parameter tool with no annotations and no output schema, the description covers the core search/place workflow but does not describe return-value shape or the behavior of the many filter parameters such as min_rating, price filters, open_state, and no_cache. The schema compensates for parameter documentation, but the overall context is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 23 parameters thoroughly. The description still adds cross-parameter workflow value by explaining that place_id/data_cid come from a prior search result and feed google_maps_reviews, plus how pagination advances by 20.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Search Google Maps via SerpAPI') and clearly distinguishes the two operating modes: type=search returns a list, while type=place returns full details for one place. It does not explicitly differentiate this tool from the sibling google_local_search, which is the main clarity gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear mode-selection guidance: type=search is the default for queries, type=place requires place_id or data_cid, and pagination uses start with +20 per page. However, it does not say when to use this tool instead of google_local_search or google_maps_directions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources