mcp
com.googleapis.mapstools/mcpVersion 1.0.0Ground your AI applications with trusted geospatial data from Google Maps.
Status
Responds62 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 13:59 UTC
- Latency
- 62 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://mapstools.googleapis.com/mcpResponds62 msNo sign-in
Claude Code
claude mcp add --transport http mapstools https://mapstools.googleapis.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: mapstools
Remote MCP server URL: https://mapstools.googleapis.com/mcpCursor
{
"mcpServers": {
"mapstools": {
"url": "https://mapstools.googleapis.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"mapstools","type":"http","url":"https://mapstools.googleapis.com/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
compute_routesComputes travel routes between an origin and a destination, optionally through intermediate stops. Returns the distance and duration for each route.
**Input Requirements (CRITICAL):**
1. **`origin` and `destination` (objects - MANDATORY):** Each must be provided using exactly one of:
* **`address`** (string, e.g., `'Eiffel Tower, Paris'`). Named places, landmarks, and businesses are resolved directly, so do NOT call `search_places` first just to geocode a waypoint. Include any city, region, or country the user mentioned.
* **`lat_lng`** (object, `{"latitude": number, "longitude": number}`).
* **`place_id`** (string, e.g., `'ChIJOwE_Id1w5EAR4Q27FkL6T_0'`), for example from `search_places`.
2. **`intermediate_waypoints` (array of objects - OPTIONAL):** Up to 25 stops to pass through, in order, between the origin and destination. Same format as `origin`. Not supported with `TRANSIT`. Only include stops the user asked for; specifying more than 10 intermediate waypoints will incur a higher cost and higher latency.
3. **`travel_mode` (enum - OPTIONAL):** `DRIVE` (default), `WALK`, `BICYCLE`, or `TRANSIT`.
4. **Timing (OPTIONAL - set at most ONE):** RFC 3339 timestamps with a UTC offset, e.g., `'2026-09-19T08:00:00-07:00'`. Defaults to departing now. For `TRANSIT`, the time can be up to 7 days in the past or up to 100 days in the future. For other modes, the time can be up to 365 days in the future and must not be in the past.
* **`departure_time`:** Use when the user says when they will leave (e.g., "tomorrow at 8am").
* **`arrival_time`:** Use when the user says when they must arrive (e.g., "be there by 9am").
5. **`routing_preference` (enum - OPTIONAL):**
* `ROUTING_PREFERENCE_TRAFFIC_UNAWARE` (default): ignores live traffic, incidents, and closures. Lowest latency.
* `ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL`: uses live traffic conditions when available. Not supported for `WALK` or `BICYCLE`. Set this ONLY when the u | No | Yes | No | No |
lookup_weatherRetrieves comprehensive environmental intelligence for a location, including Weather, Air Quality (AQI & pollutants), and Pollen (tree, grass, weed, and plant species allergen levels): current conditions, hourly forecasts/history, and daily forecasts for Weather and Air Quality; Pollen is a daily forecast only (today through +4 days, no hourly or past data).
**Available Environmental Domains & Capabilities (`capabilities`: `WEATHER`, `AIR_QUALITY`, `POLLEN` — CRITICAL):**
* **Mandatory Explicit Selection:** You **MUST** include at least one of `WEATHER`, `AIR_QUALITY`, or `POLLEN` in `capabilities` on every call. Omitting `capabilities` is **NOT allowed**.
* **Broad / Ambiguous Outdoor Queries (Full Ambient Outdoor Suite):** If the user asks a general outdoor, travel, or situational question without restricting to a specific domain (e.g., "What are outdoor conditions like right now for a run?"), **explicitly include all three capabilities** (`capabilities: ["WEATHER", "AIR_QUALITY", "POLLEN"]`) to return the complete ambient outdoor suite (Weather + Air Quality + Pollen); for a past `date`/`hour`, leave out `POLLEN`, which has no history.
* **Targeted Domain Selection (Specific Queries):** If the user asks specifically for only one or two domains (e.g., "What is the AQI in Seattle right now?"), include **only** the requested capabilities (`WEATHER`, `AIR_QUALITY`, and/or `POLLEN`). Only the requested domain(s) will be executed and returned.
**Specific Data Available by Domain:**
* **Weather (`weather`):** Temperature (Current, Feels Like, Max/Min, Heat Index), Wind (Speed, Gusts, Direction), Celestial Events (Sunrise/Sunset, Moon Phase), Precipitation (Type, Probability, Quantity/QPF), and Atmospheric Conditions (UV Index, Humidity, Cloud Cover, Thunderstorm Probability, Air Pressure).
* **Air Quality (`air_quality`):** Universal & Local Air Quality Indexes (AQI value, category, dominant pollutant), Health Recommendations across 7 sensitivity groups, and P | No | Yes | No | No |
resolve_maps_urlsResolves a list of Google Maps URLs into canonical Google Maps Place IDs.
**When to call this tool (CRITICAL):**
* Use this tool when the user provides one or more Google Maps sharing links or URLs (e.g. 'https://maps.app.goo.gl/...', 'https://www.google.com/maps/place/...', or 'https://maps.google.com/...') and you need to extract the underlying canonical Place IDs.
* You can specify up to 20 URLs to resolve in a single batch request.
**Input Requirements (CRITICAL):**
* **`urls` (array of strings - MANDATORY):** The list of Google Maps URLs to resolve. Each URL must be a valid, single-place Google Maps URL.
**Save to Google Maps:**
* The response includes a `save_to_maps_url` field: a single Google Maps link containing all successfully resolved places.
* When the user wants to save, share, or open the resolved places as a list in Google Maps (e.g. collecting places shared in a conversation), present this link to the user. Do NOT construct this link yourself.
**Error Handling (CRITICAL):**
* This is a batch processing tool. A request might return "mixed results" (e.g. some URLs resolve successfully while others fail).
* The output list of `entities` is guaranteed to map 1:1 with the input `urls` indices. A failed URL resolution will result in an empty `Entity` message (no fields are set) at its corresponding index in the `entities` list.
* You **MUST** check the `failed_requests` map field in the response to identify which specific URL index failed. The key of `failed_requests` represents the 0-based index of the failed URL in the request. Do not assume the entire batch call failed because of a partial failure.
| No | Yes | No | No |
resolve_namesResolves a batch list of specific location queries (landmark names or exact addresses) into canonical Google Maps Place IDs.
**Input Requirements (CRITICAL):**
1. **`queries` (array of objects - MANDATORY):** A list of location queries to resolve. You may specify up to 20 queries.
* **Each query object must have:**
* **`text` (string - MANDATORY):** The text query representing a specific place name or address to resolve.
* **Examples:** `'Googleplex, Mountain View, CA'`, `'1600 Amphitheatre Pkwy, Mountain View, CA'`, `'Eiffel Tower, Paris'`.
2. **`location_bias` (object - OPTIONAL):** Use this to prioritize results near a specific geographic area.
* **Format:** `{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}`
3. **`region_code` (string - OPTIONAL):** The Unicode CLDR region code (two-letter country code, e.g., `US`, `CA`) of the user to bias the results.
**Instructions for Tool Call:**
* Specificity (CRITICAL): Queries must represent a specific place name or address. General searches like `'restaurants'` or chain names like `'Starbucks'` are not supported.
* Do NOT call this tool if the downstream tools you plan to invoke already accept raw address or place name strings directly.
**Save to Google Maps:**
* The response includes a `save_to_maps_url` field: a single Google Maps link containing all successfully resolved places.
* When the user wants to save, share, or open the resolved places as a list in Google Maps, present this link to the user. Do NOT construct this link yourself.
**Error Handling (CRITICAL):**
* This is a batch processing tool. A request might return "mixed results" (e.g. some queries resolve successfully while others fail).
* The output list of `results` is guaranteed to map 1:1 with the input `queries` indices. A failed query will result in an empty `Result` message (no `entity` is set) at its corresponding index | No | Yes | No | No |
search_along_routeCall this tool when the user wants to find places, businesses, or points of interest along a travel route (e.g., "gas stations on my way to Tahoe", "coffee shops between SF and San Jose"). Calling this tool incurs higher cost than `search_places`, so use `search_places` instead when searching near a single location rather than along a route.
**Input Requirements (CRITICAL):**
1. **`text_query` (string - MANDATORY):** A natural language description of what to search for along the route.
* **Examples:** `'ev chargers'`, `'coffee'`, `'vegetarian restaurants'`, `'rest stops'`.
2. **Route specification (MANDATORY - provide exactly ONE of the following):**
* **`retrieval_token` (string):** The `retrieval_token` returned by a prior `compute_routes` call for a `DRIVE` route. Prefer this whenever the route was already computed. The token is valid for 10 minutes.
* **`route_endpoints` (object):** The route's `origin` and `destination`. Each must be provided using one of `address`, `lat_lng`, or `place_id`.
* **Example:** `{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}`
* **`encoded_polyline` (string):** An encoded polyline representing a `DRIVE` route.
3. **`travel_mode` (enum - OPTIONAL):** `DRIVE` (default), `WALK`, or `BICYCLE`. `WALK` and `BICYCLE` are only supported with `route_endpoints`. `TRANSIT` is not supported.
4. **`routing_preference` (enum - OPTIONAL):**
* `ROUTING_PREFERENCE_TRAFFIC_UNAWARE` (default): computes the route and detours without live traffic. Lowest latency.
* `ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL`: uses live traffic conditions when available. Not supported for `WALK` or `BICYCLE`. Set this ONLY when the user asks about traffic, congestion, or traffic-adjusted detour times. It incurs higher latency.
5. **`include_extended_details` (boolean - OPTIONAL):** Set to `true` only when the request requires qualitative review insights | No | Yes | No | No |
search_placesCall this tool when the user's request is to find places, businesses, addresses, locations, points of interest, or any other Google Maps related search.
**Input Requirements (CRITICAL):**
1. **`text_query` (string - MANDATORY):** The primary search query. This must clearly define what the user is looking for.
* **Examples:** `'restaurants in New York'`, `'coffee shops near Golden Gate Park'`, `'SF MoMA'`, `'1600 Amphitheatre Pkwy, Mountain View, CA, USA'`, `'pets friendly parks in Manhattan, New York'`, `'date night restaurants in Chicago'`, `'accessible public libraries in Los Angeles'`.
* **For specific place details:** Include the requested attribute (e.g., `'Google Store Mountain View opening hours'`, `'SF MoMa phone number'`, `'Shoreline Park Mountain View address'`).
2. **`location_bias` (object - OPTIONAL):** Use this to prioritize results near a specific geographic area.
* **Format:** `{"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}`
* **Usage:**
* **To bias to a 5km radius:** `{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}`
* **To bias strongly to the center point:** `{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}}` (omitting `radius_meters`).
3. **`language_code` (string - OPTIONAL):** The language to show the search results summary in.
* **Format:** A two-letter language code (ISO 639-1), optionally followed by an underscore and a two-letter country code (ISO 3166-1 alpha-2), e.g., `en`, `ja`, `en_US`, `zh_CN`, `es_MX`. If the language code is not provided, the results will be in English.
4. **`region_code` (string - OPTIONAL):** The Unicode CLDR region code of the user. This parameter is used to display the place details, like region-specific place name, if available. The parameter canaffect results based on | No | Yes | No | No |
Details
- Registry status
- Active
- Published
- Apr 19, 2026
- Updated
- Apr 19, 2026
- Website
- Not given
- Repository
- Not given
- Categories (suggested)
- Data and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared