Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.googleapis.mapstools/mcp

REMOTE · MAPSTOOLS.GOOGLEAPIS.COM

Ground your AI applications with trusted geospatial data from Google Maps.

0 this week 77 Trust /100

Last scanned (1 hour ago)

Scores higher than 69% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Maps and Location

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability57
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4761 tokens (~952/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Stability: 0.97 → pass security
  • 4 Nov 26 0
    • Stability: pass → 0.97 functional
  • 28 Oct 26 0
    • “compute_routes” reworded the description of “arrivalTime” cosmetic
    • “compute_routes” reworded the description of “departureTime” cosmetic

    2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 27 Oct 26 −1
    • Tool “compute_routes” rewrote its description, which is the text the model reads security
    • Schema quality: 722 → 947 ▼ functional
    • “compute_routes” added an optional parameter “arrivalTime” cosmetic
    • “compute_routes” added an optional parameter “computeAlternativeRoutes” cosmetic
    • “compute_routes” added an optional parameter “departureTime” cosmetic
    • “compute_routes” added an optional parameter “includePolyline” cosmetic
    • “compute_routes” added an optional parameter “intermediateWaypoints” cosmetic
    • “compute_routes” added an optional parameter “locationBias” cosmetic
    • “compute_routes” added an optional parameter “routingPreference” cosmetic
    • “lookup_weather” added an optional parameter “airQualityOptions” cosmetic
    • “lookup_weather” added an optional parameter “capabilities” cosmetic
    • “lookup_weather” added an optional parameter “languageCode” cosmetic
    • “lookup_weather” added an optional parameter “weatherOptions” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 10 Sept 26 0
    • “search_places” added an optional parameter “includeExtendedDetails” cosmetic
    • “search_places” added an optional parameter “pageSize” cosmetic

    2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mapstools.googleapis.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=upload.video.google.com CN=WE2,O=Google Trust Services,C=US 7 Oct 2026 30 Dec 2026 ECDSA 256 ECDSA-SHA256 4fd2988de0124fb51204a277bb63ce4d
SANs: upload.video.google.com, *.clients.google.com, *.docs.google.com, *.drive.google.com, *.gdata.youtube.com, *.googleapis.com, *.photos.google.com, *.youtube-3rd-party.com, upload.google.com, *.upload.google.com, upload.youtube.com, *.upload.youtube.com and 5 more
CN=WE2,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff32d6b409d15d5965b05873a7c72e0
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mapstools.googleapis.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
googleapis.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
x-content-type-options nosniff
x-frame-options SAMEORIGIN

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mapstools.googleapis.com/mcp Verified 200
http (plaintext) http://mapstools.googleapis.com/mcp Inconclusive 405
MCP tools · 5 exposed · ~4,761 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compute_routes ~1,306

Computes 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 10 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. 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 user asks about traffic, congestion, or a traffic-adjusted ETA. It incurs higher cost and la…

NameTypeReqDescription
arrivalTimestring–Optional. Indicates that the route should be computed based on arrival time. Only one of this field or departureTime should be set.
computeAlternativeRoutesboolean–Optional. Whether to compute alternative routes in addition to the recommended route. Defaults to false, in which case only the recommended route is returned. When set to true, up to all available ro…
departureTimestring–Optional. Indicates that the route should be computed based on departure time. Only one of this field or arrivalTime should be set.
destination–yesRequired. Destination waypoint.
includePolylineboolean–Optional. Whether to include the encoded polyline in the response routes. Defaults to `false`. When set to `true`, `Route.encoded_polyline` is returned.
intermediateWaypointsarray–Optional. Intermediate stops between the origin and destination to pass through in order. At most 10 intermediate waypoints are supported. Intermediate waypoints are not supported when `travel_mode`…
locationBias––Optional. A location to bias the search results toward, for example to disambiguate waypoint text queries.
origin–yesRequired. Origin waypoint.
routingPreferencestring–Optional. Determines how traffic data is used to compute the route. `ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL` is not supported when `travel_mode` is `WALK` or `BICYCLE`. For `TRANSIT`, it enables re…
travelModestring–Optional. Specifies the mode of transportation.
NameTypeReqDescription
routesarray–Contains routes between the requested origin and destination, ordered from most recommended to least recommended. Only one route is returned unless `ComputeRoutesRequest.compute_alternative_routes` i…

No examples provided.

lookup_weather ~1,083

Retrieves comprehensive weather data including current conditions, hourly, and daily forecasts. **Specific Data Available:** Temperature (Current, Feels Like, Max/Min, Heat Index), Wind (Speed, Gusts, Direction), Celestial Events (Sunrise/Sunset, Moon Phase), Precipitation (Type, Probability, Quantity/QPF), Atmospheric Conditions (UV Index, Humidity, Cloud Cover, Thunderstorm Probability), and Geocoded Location Address. **Location & Location Rules (CRITICAL):** The location for which weather data is requested is specified using the `location` field. This field is a 'oneof' structure, meaning you MUST provide a value for ONLY ONE of the three location sub-fields below to ensure an accurate weather data lookup. 1. Geographic Coordinates (lat_lng) * Use it when you are provided with exact lat/lng coordinates. * Example: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles 2. Place ID (place_id) * An unambiguous string identifier (Google Maps Place ID). * The place_id can be fetched from the search_places tool. * Example: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Eiffel Tower 3. Address String (address) * A free-form string that requires specificity for geocoding. * City & Region: Always include region/country (e.g., "London, UK", not "London"). * Street Address: Provide the full address (e.g., "1600 Pennsylvania Ave NW, Washington, DC"). * Postal/Zip Codes: MUST be accompanied by a country name (e.g., "90210, USA", NOT "90210"). * Example: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}} **Usage Modes:** * **Current Weather:** Provide `location` only. Do not specify `date` and `hour`. * **Hourly Forecast:** Provide `location`, `date`, and `hour` (0-23). Use for specific times (e.g., "at 5 PM") or terms like "next few hours" or "later today". If the user specifies minute, round down to the nearest…

NameTypeReqDescription
airQualityOptions––Optional. Options specific to air quality requests. Ignored if `AIR_QUALITY` is not requested in `capabilities`.
capabilitiesarray–Optional. The environmental capabilities to include in the response.
date––Optional. The date of the required weather information. Note: This date is relative to the local timezone of the location specified in the location field. The date must be between 24 hours in the pas…
hourinteger–Optional. The hour of the requested weather information, in 24-hour format (0-23). This value is relative to the local timezone of the location specified in the location field. Hourly forecast beyond…
languageCodestring–Optional. The BCP-47 language code for localized text in the response (e.g. "en", "ja", "fr-CA"). Defaults to "en" if not specified.
location–yesRequired. The location to get the weather conditions for.
unitsSystemstring–Optional. The units system to use for the returned weather conditions. If not provided, the returned weather conditions will be in the metric system (default = METRIC).
weatherOptions––Optional. Options specific to weather requests. `weather_options.units_system` is supported in tandem with top-level `units_system` (tag 4) to preserve backwards compatibility for existing callers; r…
NameTypeReqDescription
airPressure––The hourly air pressure conditions.
airQuality––Air quality information at the requested location.
attribution––Required attribution to show with the weather.
cloudCoverinteger–The percentage of the sky covered by clouds (values from 0 to 100). define optional because it is not always available
feelsLikeMaxTemperature––The maximum (high) feels-like temperature throughout the day.
feelsLikeMinTemperature––The minimum (low) feels-like temperature throughout the day.
feelsLikeTemperature––The hourly measure of how the temperature feels like.
heatIndex––The hourly heat index temperature.
maxHeatIndex––The maximum heat index temperature throughout the day.
maxTemperature––The maximum (high) temperature throughout the day.
minTemperature––The minimum (low) temperature throughout the day.
moonEvents––The events related to the moon (e.g. moonrise, moonset).
pollen––Pollen information at the requested location.
precipitation––The precipitation probability and amount of precipitation accumulated
relativeHumidityinteger–The percent of relative humidity (values from 0 to 100). define optional because it is not always available
returnedLocation––Required. The location where the weather information is returned. This location is identical to the location in the request, but can be different from it if the requested location is a free text addr…
sunEvents––The events related to the sun (e.g. sunrise, sunset).
temperature––The hourly temperature
thunderstormProbabilityinteger–The thunderstorm probability (values from 0 to 100). define optional because it is not always available
timeZonestring–Resolved IANA timezone string for the location (e.g., "America/New_York", "Asia/Tokyo").
uvIndexinteger–The maximum ultraviolet (UV) index. define optional because it is not always available
weather––Weather conditions at the requested location.
weatherCondition––The weather condition
wind––The wind conditions

No examples provided.

resolve_maps_urls ~469

Resolves 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.

NameTypeReqDescription
urlsarrayyesRequired. The Google Maps URLs to be resolved. Each URL should be a valid Google Maps URL, for example, https://maps.app.goo.gl/..., https://www.google.com/maps/place/..., or https://maps.google.com/…
NameTypeReqDescription
entitiesarray–Output only. The list of resolved entities from the Google Maps URLs. Guaranteed to map 1:1 with the request `urls` indices. An empty message at index `i` (where no `entity` is set) indicates the res…
failedRequestsobject–Output only. A map communicating partial failures for the Google Maps URLs. The key is the index of the failed request in the `urls` field. The value is the error status detailing why the resolution…
saveToMapsUrlstring–Output only. A link to save all successfully resolved entities in Google Maps.

No examples provided.

resolve_names ~766

Resolves 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…

NameTypeReqDescription
locationBias––Optional. An optional region to bias the resolution results. If specified, the resolution results will be biased towards the entities that are closer to this region. Including `location_bias` or `reg…
queriesarrayyesRequired. A list of location queries to be resolved. You may specify up to 20 queries.
regionCodestring–Optional. An optional region code to bias the resolution results. If specified, the resolution results will be biased towards the entities that are in or near the specified region. This should be a C…
NameTypeReqDescription
failedRequestsobject–Output only. A map communicating partial failures. The key is the index of the failed request in the `queries` field. The value is the error status detailing why the resolution failed.
resultsarray–Output only. The list of resolved entities from the location queries. Guaranteed to map 1:1 with the request `queries` indices. An empty string at index `i` indicates the resolution failed for that q…
saveToMapsUrlstring–Output only. A link to save all successfully resolved entities in Google Maps.

No examples provided.

search_places ~1,137

Call 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…

NameTypeReqDescription
includeExtendedDetailsboolean–Optional. Includes extended place details in the response. Set this field to `true` when the user request requires rich qualitative insights, real-time dynamics, or specialized entity attributes: - Q…
languageCodestring–Optional. The language to request that the summary is returned in. If the language code is unspecified or unrecognized, the summary with a preference for English will be returned. For example, "en" f…
locationBias––An optional region to bias the search results to. If an explicit location is in `text_query`, it will be used to bias the search results instead of this field.
pageSizeinteger–Optional. The maximum number of places to return, up to 5. The service may return fewer than this value. The default value is 5.
regionCodestring–Optional. The Unicode country/region code (CLDR) of the location where the request is coming from. This parameter is used to display the place details, like region-specific place name, if available.…
textQuerystringyesRequired. The text query.
NameTypeReqDescription
contentTokenstring–Output only. An encrypted token that encapsulates the search context and can be passed to Google Maps visual rendering services, SDKs, or the Maps Agentic UI Toolkit (A2UI) to display interactive UI…
placesarray–Output only. The list of places that are mentioned in the summary.
summarystring–Output only. A natural language summary of the search results. The summary may contain zero-based citations like "[0]", "[1]", "[2]" etc. These citations map to the corresponding places in the `place…

No examples provided.

Install

How do I install the com.googleapis.mapstools/mcp server?

com.googleapis.mapstools/mcp is a hosted endpoint at https://mapstools.googleapis.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mapstools.googleapis.com

# add to Claude Code
claude mcp add --transport http com-googleapis-mapstools-mcp 'https://mapstools.googleapis.com/mcp'
Common questions

What is the com.googleapis.mapstools/mcp server?

com.googleapis.mapstools/mcp is listed in the public MCP registry as com.googleapis.mapstools/mcp. Ground your AI applications with trusted geospatial data from Google Maps. This page covers its hosted endpoint (https://mapstools.googleapis.com/mcp).

Is the com.googleapis.mapstools/mcp server safe to use?

com.googleapis.mapstools/mcp scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.googleapis.mapstools/mcp server expose?

com.googleapis.mapstools/mcp exposes 5 tools: search_places, lookup_weather, compute_routes, resolve_names, resolve_maps_urls. Their descriptions and schemas cost roughly 4,761 tokens of context every time the server is loaded.

Does the com.googleapis.mapstools/mcp server require authentication?

No. We connected to com.googleapis.mapstools/mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the com.googleapis.mapstools/mcp server still maintained?

com.googleapis.mapstools/mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.