Google Maps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_MAPS_API_KEY | Yes | API key from Google Cloud Console | |
| GOOGLE_MAPS_API_TIMEOUT_MS | No | Request timeout in ms (default: 30000) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| maps_search_placesA | Search places by free-form text, e.g. "vegan restaurant in Bern" or "pharmacy open now". Returns name, address, coordinates, place ID, rating and price level per hit. Bias results toward an area with latitude + longitude + radius_meters, and page through more results with the returned nextPageToken. Use maps_search_nearby instead when the search must stay strictly inside a radius. |
| maps_search_nearbyA | List places inside a circle around a coordinate, optionally filtered by type (e.g. ["cafe", "bakery"]). Unlike maps_search_places the radius is a hard restriction, so this is the tool for "what is within 500 m of here" questions. |
| maps_place_detailsA | Full detail for one place ID: address components, phone numbers, website, opening hours, rating and business status. Set include_reviews to also get user reviews and the editorial summary, which costs more. Get the place ID from maps_search_places, maps_search_nearby, maps_geocode or maps_place_autocomplete. |
| maps_place_autocompleteA | Turn partially typed text into place suggestions with their place IDs. Cheaper and faster than a full search when the goal is only to resolve what the user meant, e.g. an ambiguous street or city name. |
| maps_geocodeA | Convert an address into coordinates, plus the normalised address components, place ID and viewport. Narrow ambiguous addresses with components, e.g. "country:CH". An empty results array means ZERO_RESULTS, not an error. |
| maps_reverse_geocodeA | Convert coordinates into the addresses at that point, ordered from most to least specific. Filter with result_type (e.g. "street_address") or location_type (e.g. "ROOFTOP") when only one kind of match is useful. |
| maps_place_id_lookupA | Resolve a place ID to its address and coordinates through the Geocoding API. Cheaper than maps_place_details when only the location is needed, but it returns no opening hours, phone number, rating or website. |
| maps_directionsA | Compute a route with turn-by-turn steps between two points, with optional waypoints. Supports DRIVE, WALK, BICYCLE, TWO_WHEELER and TRANSIT, live traffic for the motorised modes, toll/highway/ferry avoidance, alternative routes and waypoint order optimisation. Origin, destination and waypoints each accept an address, "latitude,longitude", or "place_id:...". Set include_steps=false when only total time and distance matter. |
| maps_distance_matrixA | Travel time and distance for every origin-destination pair, e.g. which of five depots is closest to a customer. Results carry originIndex and destinationIndex pointing back at the input arrays, and are not necessarily in order. Limit is 625 elements (origins x destinations), 100 for TRANSIT or TRAFFIC_AWARE_OPTIMAL. |
| maps_elevationA | Elevation in metres above sea level for up to 100 coordinate pairs. Pass samples together with two or more locations to get an evenly spaced elevation profile along that path. |
| maps_timezoneA | Time zone ID, name and UTC offset for a coordinate, including the daylight saving offset at the given moment. Pass timestamp when asking about a past or future date, since the DST offset depends on it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: search, nearby search, place details, autocomplete, geocoding, reverse geocoding, place ID lookup, directions, distance matrix, elevation, and timezone. Even the two search tools are explicitly differentiated (free text vs. strict radius), and place details vs. place ID lookup are distinguished by data richness.
All tools use the maps_ prefix with snake_case, but the pattern varies: some are verb_noun (search_places, place_details) while others are noun-only (elevation, timezone). Overall the naming is predictable and readable, but not perfectly uniform.
11 tools is a well-scoped size for a Maps server, covering the core Google Maps APIs without bloat. Each tool earns its place and the set feels neither sparse nor overwhelming.
The surface is remarkably complete for a read-only Maps API server: it includes place search and details, geocoding (forward and reverse), place ID resolution, directions, distance matrix, elevation, and timezone. No obvious missing operations that an agent would commonly need.