google-maps-harness
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_MAPS_API_KEY | Yes | Required. The Maps Platform key. | |
| GOOGLE_MAPS_USE_PROXY | No | Skill only. Route through the proxy the environment names. | false |
| GOOGLE_MAPS_REGION_CODE | No | Two-letter region that breaks ties on ambiguous names. | |
| GOOGLE_MAPS_LANGUAGE_CODE | No | Language for place names and route instructions. | en |
| GOOGLE_MAPS_TIMEOUT_SECONDS | No | Connect and read timeout per request. | 10 |
| GOOGLE_MAPS_MAX_SECONDS_PER_CALL | No | Wall clock one tool call may spend upstream. | 30 |
| GOOGLE_MAPS_MAX_REQUESTS_PER_CALL | No | Upstream requests one tool call may make. | 25 |
| GOOGLE_MAPS_ALLOW_ATMOSPHERE_FIELDS | No | Lets place lookups request reviews and editorial summaries. | false |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_time_zoneA | Get the time zone in force at a coordinate: its IANA id, its name, and its offset from UTC including daylight saving. Pass the moment you care about, because the offset changes across the year. Use this before reasoning about whether somewhere is open, or what local time a meeting lands at. |
| get_elevationA | Get the elevation in metres above sea level at one point or at several. Pass coordinates as a list of 'lat,lng' strings, at most 50. Use it to judge terrain — how much a route climbs, whether a site is on a floodplain, how exposed a location is. |
| get_air_qualityA | Get current air quality at a coordinate: the local and universal air quality index, the dominant pollutant and its concentration, and health guidance for the general population and for sensitive groups. Needs the Air Quality API enabled on the project, which is separate from the other Maps APIs. |
| geocode_addressA | Turn an address, a landmark name, or a plus code into coordinates, a normalized address, and its component parts (street, city, postal code, country). Use this before any tool that needs a latitude and longitude. Returns several candidates when the text is ambiguous. |
| reverse_geocodeA | Turn a latitude and longitude into the addresses at that point, from the exact street address outward to the neighbourhood, city, and country. Use this to describe where a coordinate is. |
| geocode_place_idA | Look up the coordinates, normalized address, and address components of a place id returned by a place search. More precise than geocoding the place's name, and cheaper than a full details lookup when location is all you need. |
| validate_addressA | Check whether a postal address is real and deliverable, and get back the corrected, standardized version plus a note of anything that was missing, unconfirmed, or inferred. Use this before relying on an address a user typed; use geocode_address instead when you only need coordinates. |
| search_places_by_textA | Search for places by describing them in words — 'ramen near Union Square', 'hardware stores in Asheville NC', 'EV charging on I-81'. Returns up to 20 places per page and a token for the next page, to a maximum of 60 places. Set detail to control how much you get back and what it costs: essentials (address and coordinates), pro (adds names and business status), enterprise (adds ratings, hours, phone, and website), atmosphere (adds reviews and summaries; may be disabled). |
| search_places_nearbyA | List places inside a circle, ranked by popularity or by distance from its centre. Use this when you have a point and want what is around it; use search_places_by_text when you can describe what you want. Up to 20 places, no paging. Filter by type with values such as restaurant, pharmacy, gas_station, hospital, or park. |
| get_place_detailsA | Read everything Google holds about one place: address, coordinates, opening hours, rating, price level, phone, and website. Takes a place id from a search or autocomplete. Set detail to control cost — enterprise is the tier that carries hours, ratings, and contact details; atmosphere adds reviews and may be disabled. |
| autocomplete_placesA | Complete a partial place name or address into up to five candidates, each with a place id. Use this to pin down what the user meant before spending a search or a details lookup, and to turn a vague name into an id the other tools can use. The cheapest way to resolve a place. |
| compute_routeA | Get the driving, walking, cycling, or transit route between two places, with total time, distance, and any warnings. Each endpoint is written one of three ways: 'place_id:ChIJ...' from a place search (most precise), '40.7580,-73.9855' as a coordinate pair, or plain text for Google to resolve as an address. Traffic is included on DRIVE and TWO_WHEELER. Set include_steps only when you need turn-by-turn text; it makes the response much larger. |
| compute_route_matrixA | Get travel time and distance for every origin against every destination in one call — the comparison tool. Use it to pick the nearest branch, rank candidate sites by drive time, or check which of several suppliers is reachable inside a window. Each endpoint uses the same three forms as compute_route. Google bills this per pair, so origins times destinations is capped at 100. |
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 13 tools
Most tools have clearly distinct purposes: geocoding tools separate address, coordinate, and place ID lookups; search tools differ by text query vs. nearby; compute_route vs. compute_route_matrix are well-differentiated. However, search_places_by_text and search_places_nearby could overlap in some use cases (e.g., 'restaurants near me' vs. a point), and the descriptions partially compensate.
Tool names follow a consistent verb_noun pattern throughout (e.g., geocode_address, search_places_by_text, compute_route, get_place_details). All names are descriptive and predictable, making it easy to infer what each tool does from its name alone.
With 13 tools, the set is well-scoped for a Google Maps MCP server. Each tool covers a distinct geographic or mapping function—geocoding, search, routing, elevation, time zone, air quality, validation—without unnecessary bulk. The count feels complete and not overwhelming.
The server covers a comprehensive set of mapping operations: geocoding (forward, reverse, place ID, validation), place search (text, nearby, autocomplete, details), routing (single and matrix), and supplemental data (elevation, time zone, air quality). A minor gap is the lack of a tool for displaying maps or static map images, but this is not core to the MCP paradigm.