Skip to main content
Glama

Server Details

The Google Maps MCP server is a fully-managed server provided by the Maps Grounding Lite API that connects AI applications to Google Maps Platform services. It provides three main tools for building LLM applications: searching for places, looking up weather information, and computing routes with details like distance and travel time. The server acts as a proxy that translates Google Maps data into a format that AI applications can understand, enabling agents to accurately answer real-world location and travel queries.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 78 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have clearly distinct purposes: routing, weather, URL resolution, name resolution, and place search. The main overlap is between search_places and resolve_names, since both can map location names or addresses to Place IDs; descriptions help agents choose discovery vs. canonical resolution, but misselection remains possible.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: compute_routes, lookup_weather, resolve_maps_urls, resolve_names, search_places. The convention is predictable throughout.

Tool Count5/5

Five tools is well-scoped for a focused Google Maps server, with each tool covering a distinct capability: place search, name resolution, URL resolution, route computation, and weather lookup. No tool appears redundant or out of place.

Completeness4/5

Core read-only maps workflows are covered: search, canonical resolution, routing, and weather. Minor gaps exist, such as explicit reverse geocoding or a standalone place-details operation, but search_places can retrieve attributes through query text, so agents can generally work around them.

Available Tools

5 tools
compute_routesA
Read-only
Inspect

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

  6. location_bias (object - OPTIONAL): {"latitude": number, "longitude": number} used to disambiguate place names in waypoint addresses. If a name is ambiguous (e.g., "Springfield") and the user gave no region, keep the name as given in address and set location_bias toward the intended area instead of guessing a region.

  7. compute_alternative_routes (boolean - OPTIONAL): Set to true only when the user asks for route options or alternatives. Defaults to false, which returns only the recommended route.

  8. include_polyline (boolean - OPTIONAL): Set to true only when the route geometry (encoded_polyline) is needed. Defaults to false.

Instructions for Tool Call:

  • If the origin or the destination is missing, you MUST ask the user for clarification before calling the tool.

  • For "How far is A from B?" questions, use B as the origin and A as the destination.

Example Tool Call: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}

Instructions for Response:

  • When alternative routes are requested, routes are ordered from most to least recommended.

  • If routes is empty, tell the user no route was found. Do not guess a route.

  • Only state facts returned by the tool. Do NOT invent turn-by-turn directions, transit lines, stations, platforms, or transfers.

  • The grounded output must be attributed to the source using each route's attribution field when available.

NameRequiredDescriptionDefault
originYesRequired. Origin waypoint.
travelModeNoOptional. Specifies the mode of transportation.
arrivalTimeNoOptional. Indicates that the route should be computed based on arrival time. Only one of this field or departureTime should be set.
destinationYesRequired. Destination waypoint.
locationBiasNoOptional. A location to bias the search results toward, for example to disambiguate waypoint text queries.
departureTimeNoOptional. Indicates that the route should be computed based on departure time. Only one of this field or arrivalTime should be set.
includePolylineNoOptional. Whether to include the encoded polyline in the response routes. Defaults to `false`. When set to `true`, `Route.encoded_polyline` is returned.
routingPreferenceNoOptional. 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 realtime transit data, such as delays and cancellations.
intermediateWaypointsNoOptional. 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` is `TRANSIT`.
computeAlternativeRoutesNoOptional. 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 routes are returned, though alternatives may not be available for every request.

Output Schema

NameRequiredDescription
routesNoContains routes between the requested origin and destination, ordered from most recommended to least recommended. Only one route is returned unless `ComputeRoutesRequest.compute_alternative_routes` is set to true.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the read-only/non-destructive annotations, the description discloses cost and latency implications of traffic-aware routing, timing windows (7 days past/100 days future for transit, 365 days future for other modes), default behaviors, and response handling for empty routes. It additionally sets response guardrails against inventing turn-by-turn details and requires attribution.

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

Conciseness4/5

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

The description is long but well-organized with a purpose sentence, numbered input requirements, an example, and response instructions, so it stays navigable. Some content duplicates schema documentation (waypoint exclusivity, max 10 stops, enum behavior), which is useful but not strictly necessary.

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

Completeness5/5

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

Given 10 parameters, nested waypoint objects, and an output schema, the description covers everything an agent needs: mandatory origin/destination formats, optional parameter trade-offs, timing constraints, and response behavior. Return-value details are appropriately left to the output schema.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds decision semantics the schema lacks: set routing_preference to traffic-aware only on explicit traffic questions, use departure_time vs arrival_time based on user phrasing, set compute_alternative_routes and include_polyline only when specifically requested, and use location_bias to disambiguate names rather than guessing a region.

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

Purpose5/5

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

The opening sentence states a specific verb and resource ('Computes travel routes between an origin and a destination') and adds what is returned ('distance and duration'). It also distinguishes itself from the sibling search_places by warning not to call search_places first just to geocode a waypoint.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance for every optional parameter: departure_time vs arrival_time, when to enable traffic-aware routing ('ONLY when the user asks about traffic'), when to request alternatives or polyline, and when to ask the user for clarification. It also notes unsupported combinations (intermediate stops with TRANSIT, traffic-aware with WALK/BICYCLE).

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

lookup_weatherA
Read-only
Inspect

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 hour. Hourly forecast beyond 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past.

  • Daily Forecast: Provide location and date. Do not specify hour. Use for general day requests (e.g., "weather for tomorrow", "weather on Friday", "weather on 12/25"). If today's date is not in the context, you should clarify it with the user. Daily forecast beyond 10 days including today is not supported. Historical weather is not supported.

Parameter Constraints:

  • Timezones: All date and hour inputs must be relative to the location's local time zone, not the user's time zone.

  • Date Format: Inputs must be separated into {year, month, day} integers.

  • Units: Defaults to METRIC. Set units_system to IMPERIAL for Fahrenheit/Miles if the user implies US standards or explicitly requests it.

  • The grounded output must be attributed to the source using the information from the attribution field when available.

NameRequiredDescriptionDefault
dateNoOptional. 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 past and the next 10 days.
hourNoOptional. 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 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past.
locationYesRequired. The location to get the weather conditions for.
unitsSystemNoOptional. 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).
capabilitiesNoOptional. The environmental capabilities to include in the response.
languageCodeNoOptional. The BCP-47 language code for localized text in the response (e.g. "en", "ja", "fr-CA"). Defaults to "en" if not specified.
weatherOptionsNoOptional. 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; returns INVALID_ARGUMENT if both specify conflicting unit systems. Ignored if `WEATHER` is not requested in `capabilities`.
airQualityOptionsNoOptional. Options specific to air quality requests. Ignored if `AIR_QUALITY` is not requested in `capabilities`.

Output Schema

NameRequiredDescription
windNoThe wind conditions
pollenNoPollen information at the requested location.
uvIndexNoThe maximum ultraviolet (UV) index. define optional because it is not always available
weatherNoWeather conditions at the requested location.
timeZoneNoResolved IANA timezone string for the location (e.g., "America/New_York", "Asia/Tokyo").
heatIndexNoThe hourly heat index temperature.
sunEventsNoThe events related to the sun (e.g. sunrise, sunset).
airQualityNoAir quality information at the requested location.
cloudCoverNoThe percentage of the sky covered by clouds (values from 0 to 100). define optional because it is not always available
moonEventsNoThe events related to the moon (e.g. moonrise, moonset).
airPressureNoThe hourly air pressure conditions.
attributionNoRequired attribution to show with the weather.
temperatureNoThe hourly temperature
maxHeatIndexNoThe maximum heat index temperature throughout the day.
precipitationNoThe precipitation probability and amount of precipitation accumulated
maxTemperatureNoThe maximum (high) temperature throughout the day.
minTemperatureNoThe minimum (low) temperature throughout the day.
relativeHumidityNoThe percent of relative humidity (values from 0 to 100). define optional because it is not always available
returnedLocationNoRequired. 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 address that looks up to a coarse location (e.g. "Mountain View, CA").
weatherConditionNoThe weather condition
feelsLikeTemperatureNoThe hourly measure of how the temperature feels like.
feelsLikeMaxTemperatureNoThe maximum (high) feels-like temperature throughout the day.
feelsLikeMinTemperatureNoThe minimum (low) feels-like temperature throughout the day.
thunderstormProbabilityNoThe thunderstorm probability (values from 0 to 100). define optional because it is not always available

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description goes well beyond them by disclosing forecast horizon limits, the timezone-relativity rule for date/hour, the default unit system, and the attribution obligation on grounded output. Those are operational constraints an agent cannot infer from the annotations or schema alone.

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

Conciseness4/5

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

The description is long but strongly front-loaded and organized under bold headings, with the critical location rule called out first after the data summary. Some content is redundant with the schema (units default, date format) and the data-availability list is verbose, but nothing is filler.

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

Completeness4/5

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

With an output schema present, return-value explanation is correctly omitted, and the location/time/units semantics are thoroughly covered. The notable gap is that the schema also supports WEATHER / AIR_QUALITY / POLLEN capabilities and localized output via languageCode, none of which the description acknowledges, leaving an agent unaware it could request air quality or pollen from this endpoint.

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 coverage is 100%, so the baseline is 3, but the description earns extra credit by explaining the oneof exclusivity of the location sub-fields, the specificity required for a free-form address (region/country, full street address, zip must carry country), and the {year, month, day} shape plus local-timezone semantics for date/hour. It loses a point for never mentioning the `capabilities`, `airQualityOptions`, or `languageCode` parameters, and its examples use `lat_lng`/`place_id` while the schema uses `latLng`/`placeId`.

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

Purpose5/5

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

States a specific verb (Retrieves) and resource (weather data) and enumerates the concrete data classes returned (temperature, wind, celestial, precipitation, atmospheric, geocoded address). This is plainly distinct from the sibling tools (compute_routes, resolve_maps_urls, resolve_names, search_places), so an agent can route without opening a schema.

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

Usage Guidelines5/5

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

The Usage Modes section gives explicit when-to-use rules keyed on which parameters to supply: location only for current, location+date+hour for hourly, location+date for daily, with the natural-language phrasing that maps to each ('at 5 PM', 'next few hours', 'weather on Friday'). It also names the boundary conditions (hourly >120h unsupported, historical hourly up to 24h back, daily >10 days unsupported, historical daily unsupported) and points to search_places as the source for place_id.

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

resolve_maps_urlsA
Read-only
Inspect

Resolves a list of Google Maps URLs into canonical Google Maps Place IDs.

When to call this tool (CRITICAL):

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.

NameRequiredDescriptionDefault
urlsYesRequired. 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/.... Currently, only URLs pointing to a single place are supported. You may specify up to 20 URLs.

Output Schema

NameRequiredDescription
entitiesNoOutput 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 resolution failed for that URL. If the resolution failed, please check the `failed_requests` field for the error status.
saveToMapsUrlNoOutput only. A link to save all successfully resolved entities in Google Maps.
failedRequestsNoOutput 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 failed.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses high-value non-obvious behavior: this is a batch tool that can return mixed results, entities map 1:1 by index, failed entries appear as empty Entity messages, and failed_requests keys map to 0-based input indices. It also warns not to treat partial failure as total failure and not to hand-construct the save link.

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

Conciseness4/5

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

Headers and bold labels front-load the critical routing and error-handling guidance, and the error section is well-structured. It loses a point for the 'Input Requirements' block, which duplicates schema content verbatim rather than earning its space.

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

Completeness5/5

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

Even though an output schema exists, the description supplies the interpretation an agent needs for correct use of that output (index alignment, empty Entity on failure, failed_requests keyed by index) plus the save_to_maps_url workflow. Nothing needed to call or consume the result is missing.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single parameter, so the schema already documents format, examples, and the 20-URL cap. The description's 'Input Requirements' block largely restates that schema text, adding no syntax or semantics beyond it — baseline 3 applies.

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

Purpose5/5

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

The first sentence states a specific verb, resource, and output ('Resolves a list of Google Maps URLs into canonical Google Maps Place IDs'), so the transformation is unambiguous. It is clearly differentiable from siblings like resolve_names, search_places, and compute_routes without opening any schema.

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?

The 'When to call this tool (CRITICAL)' section gives a concrete trigger (user provides maps.app.goo.gl / google.com/maps/place links) and states the batch limit. It does not explicitly name sibling alternatives or when NOT to use it (e.g. vs. search_places for non-URL queries), leaving that to inference.

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

resolve_namesA
Read-only
Inspect

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 in the results list.

  • You MUST check the failed_requests map field in the response to identify which specific query index failed. The key of failed_requests represents the 0-based index of the failed query in the request. Do not assume the entire batch call failed because of a partial failure.

NameRequiredDescriptionDefault
queriesYesRequired. A list of location queries to be resolved. You may specify up to 20 queries.
regionCodeNoOptional. 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 CLDR region code. For example, "US" or "CA". Including `location_bias` or `region_code` often provides better results by narrowing the search space. If both `location_bias` and `region_code` are specified, `location_bias` takes precedence over `region_code`.
locationBiasNoOptional. 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 `region_code` often provides better results by narrowing the search space. If both `location_bias` and `region_code` are specified, `location_bias` takes precedence over `region_code`.

Output Schema

NameRequiredDescription
resultsNoOutput 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 query. If the resolution failed, please check the `failed_requests` field for the error status.
saveToMapsUrlNoOutput only. A link to save all successfully resolved entities in Google Maps.
failedRequestsNoOutput 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.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and the description adds real operational behavior beyond them: batch semantics, up to 20 queries, guaranteed 1:1 index mapping, and partial-failure handling via the failed_requests map. The save_to_maps_url instruction is also useful, though some of the return-value detail overlaps with the existing output schema.

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

Conciseness3/5

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

The purpose is front-loaded and the headed sections are easy to scan, but the body is long and heavily redundant: it restates field names, examples, and limits that the schema already documents at 100% coverage, so several sentences do not earn their place for an agent that can read the schema.

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

Completeness5/5

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

For a batch tool with an output schema, the description supplies everything needed to call it correctly and interpret results: mandatory vs optional inputs, the query cap, the 1:1 results-to-queries mapping, how to detect per-index failures, and how to surface save_to_maps_url. Nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3, and the description largely mirrors the schema rather than extending it — the query examples, the 20-query limit, and the specificity rule all already appear in the LocationQuery and queries schema descriptions. The location_bias format example and the location_bias-over-region_code precedence note are the main additions.

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 first sentence states a specific verb (Resolves), input (batch list of location queries) and output (canonical Google Maps Place IDs), and the specificity constraint ('General searches like restaurants or chain names like Starbucks are not supported') implicitly separates it from search_places. Siblings such as resolve_maps_urls are never named, so the differentiation is inferential rather than explicit.

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 a clear when-to-use context plus a genuine when-not rule: 'Do NOT call this tool if the downstream tools you plan to invoke already accept raw address or place name strings directly,' and it warns that vague queries are unsupported. It stops short of naming the specific sibling to use instead (search_places, resolve_maps_urls), so the routing is implied rather than spelled out.

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

search_placesA
Read-only
Inspect

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 applicable law.

    • Format: A two-letter country code (ISO 3166-1 alpha-2), e.g., US, CA.

Instructions for Tool Call:

  • Location Information (CRITICAL): The search must contain sufficient location information. If the location is ambiguous (e.g., just "pizza places"), you must specify it in the text_query (e.g., "pizza places in New York") or use the location_bias parameter. Include city, state/province, and region/country name if needed for disambiguation.

  • Always provide the most specific and contextually rich text_query possible.

  • Only use location_bias if coordinates are explicitly provided or if inferring a location from a user's known context is appropriate and necessary for better results.

  • The grounded output must be attributed to the source using the information from the attribution field when available.

NameRequiredDescriptionDefault
pageSizeNoOptional. The maximum number of places to return, up to 5. The service may return fewer than this value. The default value is 5.
textQueryYesRequired. The text query.
regionCodeNoOptional. 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. The parameter can affect results based on applicable law. For example, "US" for United States. For more information, see https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. Note that 3-digit region codes are not currently supported.
languageCodeNoOptional. 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" for English. Current list of supported languages: https://developers.google.com/maps/faq#languagesupport.
locationBiasNoAn 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.
includeExtendedDetailsNoOptional. 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: - Qualitative reviews, customer sentiment, and feedback. - Specific offerings like menu items, dishes, food specialties, beverages, or business highlights. - Qualitative atmosphere, interior decor, aesthetic, ambience, or mood. - Real-time data and specialized facility specs, visitor policies/tips, wait times. Leave `false` (default) for standard discovery searches (e.g., cuisines, store types), location/address lookups, contact info, operating hours, and standard metadata/amenities. Enabling this field will incur higher latency.

Output Schema

NameRequiredDescription
placesNoOutput only. The list of places that are mentioned in the summary.
summaryNoOutput 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 `places` field.
contentTokenNoOutput 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 components for the returned search results.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive), so the description adds the operational rules that matter: the search must contain sufficient location context or results degrade, and grounded output must be attributed using the `attribution` field. It also warns that verbose-detail requests add latency, though the schema description already states this. No contradiction with annotations.

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

Conciseness3/5

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

The trigger condition is correctly front-loaded, but the body is long and heavily formatted with duplicated guidance (location requirements appear in both the numbered list and the 'Instructions' section). Several paragraphs restate schema text verbatim (language_code/region_code formats), diluting the parts that carry new information.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description covers the main decision points: query formulation, location disambiguation, and when to request extended details. The one gap is that pageSize (maximum 5) is never acknowledged in the description, and the parameter-name mismatch above slightly undermines otherwise solid completeness.

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

Parameters2/5

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

Schema coverage is 100% so the baseline is 3, but the description actively introduces naming that does not match the schema: it refers to `text_query`, `location_bias`, `language_code`, `region_code` instead of textQuery/locationBias/languageCode/regionCode, and its location_bias example uses `radius_meters` where the schema defines `radiusMeters`. An agent copying that example would emit invalid arguments. The text_query example list is genuinely helpful, but the mismatched keys are a net risk rather than added meaning.

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

Purpose5/5

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

The opening sentence names a specific verb and resource ('find places, businesses, addresses, locations, points of interest') and scopes it to Google Maps search, which no sibling (compute_routes, lookup_weather, resolve_names, resolve_maps_urls) covers. An agent can route a 'find X near Y' request here without opening the schema.

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?

Gives an explicit trigger condition ('when the user's request is to find places...'), a rule that location must be resolvable either in text_query or via location_bias, and a constraint that location_bias should only be used with explicit coordinates or well-known user context. It never names a sibling tool as an alternative, so the boundary with resolve_names / resolve_maps_urls is left implicit.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedlookup_weather2 fields changed
      • changedOutput schema / $defs / WeatherCondition / properties / type / enum
        Previous value: -[
        -  "TYPE_UNSPECIFIED",
        -  "CLEAR",
        -  "MOSTLY_CLEAR",
        -  "PARTLY_CLOUDY",
        -  "MOSTLY_CLOUDY",
        -  "CLOUDY",
        -  "WINDY",
        -  "WIND_AND_RAIN",
        -  "LIGHT_RAIN_SHOWERS",
        -  "CHANCE_OF_SHOWERS",
        -  "SCATTERED_SHOWERS",
        -  "RAIN_SHOWERS",
        -  "HEAVY_RAIN_SHOWERS",
        -  "LIGHT_TO_MODERATE_RAIN",
        -  "MODERATE_TO_HEAVY_RAIN",
        -  "RAIN",
        -  "LIGHT_RAIN",
        -  "HEAVY_RAIN",
        -  "RAIN_PERIODICALLY_HEAVY",
        -  "LIGHT_SNOW_SHOWERS",
        -  "CHANCE_OF_SNOW_SHOWERS",
        -  "SCATTERED_SNOW_SHOWERS",
        -  "SNOW_SHOWERS",
        -  "HEAVY_SNOW_SHOWERS",
        -  "LIGHT_TO_MODERATE_SNOW",
        -  "MODERATE_TO_HEAVY_SNOW",
        -  "SNOW",
        -  "LIGHT_SNOW",
        -  "HEAVY_SNOW",
        -  "SNOWSTORM",
        -  "SNOW_PERIODICALLY_HEAVY",
        -  "HEAVY_SNOW_STORM",
        -  "BLOWING_SNOW",
        -  "RAIN_AND_SNOW",
        -  "HAIL",
        -  "HAIL_SHOWERS",
        -  "THUNDERSTORM",
        -  "THUNDERSHOWER",
        -  "LIGHT_THUNDERSTORM_RAIN",
        -  "SCATTERED_THUNDERSTORMS",
        -  "HEAVY_THUNDERSTORM"
        -]New value: +[
        +  "TYPE_UNSPECIFIED",
        +  "CLEAR",
        +  "MOSTLY_CLEAR",
        +  "PARTLY_CLOUDY",
        +  "MOSTLY_CLOUDY",
        +  "CLOUDY",
        +  "WINDY",
        +  "WIND_AND_RAIN",
        +  "LIGHT_RAIN_SHOWERS",
        +  "CHANCE_OF_SHOWERS",
        +  "SCATTERED_SHOWERS",
        +  "RAIN_SHOWERS",
        +  "HEAVY_RAIN_SHOWERS",
        +  "LIGHT_TO_MODERATE_RAIN",
        +  "MODERATE_TO_HEAVY_RAIN",
        +  "RAIN",
        +  "LIGHT_RAIN",
        +  "HEAVY_RAIN",
        +  "RAIN_PERIODICALLY_HEAVY",
        +  "LIGHT_SNOW_SHOWERS",
        +  "CHANCE_OF_SNOW_SHOWERS",
        +  "SCATTERED_SNOW_SHOWERS",
        +  "SNOW_SHOWERS",
        +  "HEAVY_SNOW_SHOWERS",
        +  "LIGHT_TO_MODERATE_SNOW",
        +  "MODERATE_TO_HEAVY_SNOW",
        +  "SNOW",
        +  "LIGHT_SNOW",
        +  "HEAVY_SNOW",
        +  "SNOWSTORM",
        +  "SNOW_PERIODICALLY_HEAVY",
        +  "HEAVY_SNOW_STORM",
        +  "BLOWING_SNOW",
        +  "RAIN_AND_SNOW",
        +  "HAIL",
        +  "HAIL_SHOWERS",
        +  "THUNDERSTORM",
        +  "THUNDERSHOWER",
        +  "LIGHT_THUNDERSTORM_RAIN",
        +  "SCATTERED_THUNDERSTORMS",
        +  "HEAVY_THUNDERSTORM",
        +  "CLEAR_AFTER_FOG_IN_THE_MORNING",
        +  "CLEAR_BUT_LATER_TURNING_CLOUDY",
        +  "CLEAR_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN",
        +  "CLEAR_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW",
        +  "CLEAR_BUT_THUNDERSTORMS_LATER",
        +  "CLEAR_IN_THE_MORNING_BUT_CLOUDY_IN_THE_EVENING",
        +  "CLEAR_IN_THE_MORNING_WITH_BRIEF_RAIN_IN_THE_EVENING",
        +  "CLEAR_MORNING_WITH_BRIEF_RAIN",
        +  "CLEAR_WITH_BRIEF_RAIN",
        +  "CLEAR_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
        +  "CLEAR_WITH_BRIEF_RAIN_LATER",
        +  "CLEAR_WITH_BRIEF_SNOW",
        +  "CLEAR_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
        +  "CLEAR_WITH_BRIEF_SNOW_LATER",
        +  "CLEAR_WITH_PERIODIC_CLOUDS_LATER",
        +  "CLEAR_WITH_PERIODIC_RAIN",
        +  "CLEAR_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER",
        +  "CLEAR_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
        +  "CLEAR_WITH_PERIODIC_RAIN_LATER",
        +  "CLEAR_WITH_PERIODIC_SNOW",
        +  "CLEAR_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
        +  "CLEAR_WITH_PERIODIC_SNOW_LATER",
        +  "CLEAR_WITH_RAIN_AFTER_MIDNIGHT",
        +  "CLEAR_WITH_RAIN_IN_THE_NIGHT",
        +  "CLEAR_WITH_RAIN_LATER",
        +  "CLEAR_WITH_SNOW_ALONG_THE_MOUNTAINS",
        +  "CLEAR_WITH_SNOW_LATER",
        +  "CLEAR_WITH_THUNDERSTORMS_ALONG_THE_MOUNTAINS",
        +  "CLEAR_WITH_THUNDERSTORMS_IN_THE_AFTERNOON",
        +  "CLOUDY_BUT_CLEAR_LATER",
        +  "CLOUDY_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN",
        +  "CLOUDY_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW",
        +  "CLOUDY_BUT_PERIODICALLY_CLEAR_LATER",
        +  "CLOUDY_BUT_THUNDERSTORMS_LATER",
        +  "CLOUDY_MORNING_WITH_BRIEF_RAIN",
        +  "CLOUDY_PERIODICALLY_CLEAR",
        +  "CLOUDY_SNOWING_IN_THE_EVENING",
        +  "CLOUDY_SNOWING_IN_THE_NIGHT",
        +  "CLOUDY_WITH_BRIEF_RAIN",
        +  "CLOUDY_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
        +  "CLOUDY_WITH_BRIEF_RAIN_LATER",
        +  "CLOUDY_WITH_BRIEF_SNOW",
        +  "CLOUDY_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
        +  "CLOUDY_WITH_BRIEF_SNOW_LATER",
        +  "CLOUDY_WITH_BRIEF_THUNDERSTORM",
        +  "CLOUDY_WITH_FOG_ON_THE_OCEAN_AND_AT_THE_SEASHORE",
        +  "CLOUDY_WITH_PERIODIC_RAIN",
        +  "CLOUDY_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER",
        +  "CLOUDY_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
        +  "CLOUDY_WITH_PERIODIC_RAIN_LATER",
        +  "CLOUDY_WITH_PERIODIC_SNOW",
        +  "CLOUDY_WITH_PERIODIC_SNOW_ACCOMPANIED_BY_THUNDER",
        +  "CLOUDY_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
        +  "CLOUDY_WITH_PERIODIC_SNOW_LATER",
        +  "CLOUDY_WITH_RAIN_AFTER_MIDNIGHT",
        +  "CLOUDY_WITH_RAIN_FROM_ABOUT_NOON",
        +  "CLOUDY_WITH_RAIN_FROM_EVENING",
        +  "CLOUDY_WITH_RAIN_LATER",
        +  "CLOUDY_WITH_SNOW_FROM_AROUND_NOON",
        +  "CLOUDY_WITH_SNOW_LATER",
        +  "FOG",
        +  "RAINSNOW_MIX_LATER_BECOMING_CLEAR_RAIN_AS_MAIN",
        +  "RAINSNOW_MIX_RAIN_AS_MAIN",
        +  "RAINY_BUT_PERIODICALLY_CLEAR",
        +  "RAIN_ACCOMPANIED_BY_LIGHTNING",
        +  "RAIN_ACCOMPANIED_BY_WINDSTORM",
        +  "RAIN_CLEAR_AT_NIGHT",
        +  "RAIN_CLEAR_FROM_AROUND_EVENING",
        +  "RAIN_CLEAR_FROM_AROUND_NOON",
        +  "RAIN_LATER_BECOMING_CLEAR",
        +  "RAIN_LATER_BECOMING_CLOUDY",
        +  "RAIN_LATER_BECOMING_SNOW",
        +  "RAIN_LATER_WITH_PERIODIC_SNOW",
        +  "RAIN_SNOW_AT_NIGHT",
        +  "RAIN_SNOW_IN_THE_EVENING",
        +  "RAIN_TEMPORARILY_BECOMING_SLEET",
        +  "RAIN_THAT_PERIODICALLY_STOPS",
        +  "RAIN_WITH_BRIEF_SNOW",
        +  "RAIN_WITH_PERIODIC_SNOW",
        +  "SNOWRAIN_MIX_LATER_BECOMING_CLEAR_SNOW_AS_MAIN",
        +  "SNOWRAIN_MIX_LATER_BECOMING_CLOUDY_SNOW_AS_MAIN",
        +  "SNOWRAIN_MIX_SNOW_AS_MAIN",
        +  "SNOW_ACCOMPANIED_BY_LIGHTNING",
        +  "SNOW_BECOMING_SLEET",
        +  "SNOW_LATER_CLEAR",
        +  "SNOW_LATER_CLOUDY",
        +  "SNOW_LATER_RAIN",
        +  "SNOW_PERIODICALLY_CLEAR",
        +  "SNOW_THAT_PERIODICALLY_STOPS",
        +  "SNOW_TURNING_TO_RAIN_AROUND_NOON",
        +  "SNOW_TURNING_TO_RAIN_IN_THE_EVENING",
        +  "SNOW_TURNING_TO_RAIN_IN_THE_NIGHT",
        +  "SNOW_WITH_BRIEF_RAIN",
        +  "SNOW_WITH_BRIEF_SLEET",
        +  "SNOW_WITH_PERIODIC_RAIN",
        +  "VERY_HOT",
        +  "SLEET",
        +  "HEAVY_RAIN_TO_RAINSTORM"
        +]
      • changedOutput schema / $defs / WeatherCondition / properties / type / x-google-enum-descriptions
        Previous value: -[
        -  "The weather condition is unspecified.",
        -  "No clouds.",
        -  "Periodic clouds.",
        -  "Party cloudy (some clouds).",
        -  "Mostly cloudy (more clouds than sun).",
        -  "Cloudy (all clouds, no sun).",
        -  "High wind.",
        -  "High wind with precipitation.",
        -  "Light intermittent rain.",
        -  "Chance of intermittent rain.",
        -  "Intermittent rain.",
        -  "Showers are considered to be rainfall that has a shorter duration than rain, and is characterized by suddenness in terms of start and stop times, and rapid changes in intensity.",
        -  "Intense showers.",
        -  "Rain (light to moderate in quantity).",
        -  "Rain (moderate to heavy in quantity).",
        -  "Moderate rain.",
        -  "Light rain.",
        -  "Heavy rain.",
        -  "Rain periodically heavy.",
        -  "Light snow that is falling at varying intensities for brief periods of time.",
        -  "Chance of snow showers.",
        -  "Snow that is falling at varying intensities for brief periods of time.",
        -  "Snow showers.",
        -  "Heavy snow showers.",
        -  "Light to moderate snow.",
        -  "Moderate to heavy snow.",
        -  "Moderate snow.",
        -  "Light snow.",
        -  "Heavy snow.",
        -  "Snow with possible thunder and lightning.",
        -  "Snow, at times heavy.",
        -  "Heavy snow with possible thunder and lightning.",
        -  "Snow with intense wind.",
        -  "Rain and snow mix.",
        -  "Hail.",
        -  "Hail that is falling at varying intensities for brief periods of time.",
        -  "Thunderstorm.",
        -  "A shower of rain accompanied by thunder and lightning.",
        -  "Light thunderstorm rain.",
        -  "Thunderstorms that has rain in various intensities for brief periods of time.",
        -  "Heavy thunderstorm."
        -]New value: +[
        +  "The weather condition is unspecified.",
        +  "No clouds.",
        +  "Periodic clouds.",
        +  "Party cloudy (some clouds).",
        +  "Mostly cloudy (more clouds than sun).",
        +  "Cloudy (all clouds, no sun).",
        +  "High wind.",
        +  "High wind with precipitation.",
        +  "Light intermittent rain.",
        +  "Chance of intermittent rain.",
        +  "Intermittent rain.",
        +  "Showers are considered to be rainfall that has a shorter duration than rain, and is characterized by suddenness in terms of start and stop times, and rapid changes in intensity.",
        +  "Intense showers.",
        +  "Rain (light to moderate in quantity).",
        +  "Rain (moderate to heavy in quantity).",
        +  "Moderate rain.",
        +  "Light rain.",
        +  "Heavy rain.",
        +  "Rain periodically heavy.",
        +  "Light snow that is falling at varying intensities for brief periods of time.",
        +  "Chance of snow showers.",
        +  "Snow that is falling at varying intensities for brief periods of time.",
        +  "Snow showers.",
        +  "Heavy snow showers.",
        +  "Light to moderate snow.",
        +  "Moderate to heavy snow.",
        +  "Moderate snow.",
        +  "Light snow.",
        +  "Heavy snow.",
        +  "Snow with possible thunder and lightning.",
        +  "Snow, at times heavy.",
        +  "Heavy snow with possible thunder and lightning.",
        +  "Snow with intense wind.",
        +  "Rain and snow mix.",
        +  "Hail.",
        +  "Hail that is falling at varying intensities for brief periods of time.",
        +  "Thunderstorm.",
        +  "A shower of rain accompanied by thunder and lightning.",
        +  "Light thunderstorm rain.",
        +  "Thunderstorms that has rain in various intensities for brief periods of time.",
        +  "Heavy thunderstorm.",
        +  "Clear after fog in the morning.",
        +  "Clear but later turning cloudy.",
        +  "Clear but later turning to rain and snow, with rain as the main constituent.",
        +  "Clear but later turning to snow and rain, with snow as the main constituent.",
        +  "Clear but thunderstorms later.",
        +  "Clear in the morning but cloudy in the evening.",
        +  "Clear in the morning with brief rain in the evening.",
        +  "Clear morning with brief rain.",
        +  "Clear with brief rain.",
        +  "Clear with brief rain and snow, with rain as the main constituent.",
        +  "Clear with brief rain later.",
        +  "Clear with brief snow.",
        +  "Clear with brief snow and rain, with snow as the main constituent.",
        +  "Clear with brief snow later.",
        +  "Clear with periodic clouds later.",
        +  "Clear with periodic rain.",
        +  "Clear with periodic rain accompanied by thunder.",
        +  "Clear with periodic rain and snow, with rain as the main constituent.",
        +  "Clear with periodic rain later.",
        +  "Clear with periodic snow.",
        +  "Clear with periodic snow and rain, with snow as the main constituent.",
        +  "Clear with periodic snow later.",
        +  "Clear with rain after midnight.",
        +  "Clear with rain in the night.",
        +  "Clear with rain later.",
        +  "Clear with snow along the mountains.",
        +  "Clear with snow later.",
        +  "Clear with thunderstorms along the mountains.",
        +  "Clear with thunderstorms in the afternoon.",
        +  "Cloudy but clear later.",
        +  "Cloudy but later turning to rain and snow, with rain as the main constituent.",
        +  "Cloudy but later turning to snow and rain, with snow as the main constituent.",
        +  "Cloudy but periodically clear later.",
        +  "Cloudy but thunderstorms later.",
        +  "Cloudy morning with brief rain.",
        +  "Cloudy, periodically clear.",
        +  "Cloudy, with snow in the evening.",
        +  "Cloudy, with snow at night.",
        +  "Cloudy with brief rain.",
        +  "Cloudy with brief rain and snow, with rain as the main constituent.",
        +  "Cloudy with brief rain later.",
        +  "Cloudy with brief snow.",
        +  "Cloudy with brief snow and rain, with snow as the main constituent.",
        +  "Cloudy with brief snow later.",
        +  "Cloudy with brief thunderstorm.",
        +  "Cloudy with fog on the ocean and at the seashore.",
        +  "Cloudy with periodic rain.",
        +  "Cloudy with periodic rain accompanied by thunder.",
        +  "Cloudy with periodic rain and snow, with rain as the main constituent.",
        +  "Cloudy with periodic rain later.",
        +  "Cloudy with periodic snow.",
        +  "Cloudy with periodic snow accompanied by thunder.",
        +  "Cloudy with periodic snow and rain, with snow as the main constituent.",
        +  "Cloudy with periodic snow later.",
        +  "Cloudy with rain after midnight.",
        +  "Cloudy with rain from about noon.",
        +  "Cloudy with rain from evening.",
        +  "Cloudy with rain later.",
        +  "Cloudy with snow from around noon.",
        +  "Cloudy with snow later.",
        +  "Fog.",
        +  "Rain-snow mix, later becoming clear, with rain as the main constituent.",
        +  "Rain-snow mix, with rain as the main constituent.",
        +  "Rainy but periodically clear.",
        +  "Rain accompanied by lightning.",
        +  "Rain accompanied by windstorm.",
        +  "Rain, clearing at night.",
        +  "Rain, clearing from around evening.",
        +  "Rain, clearing from around noon.",
        +  "Rain, later becoming clear.",
        +  "Rain, later becoming cloudy.",
        +  "Rain, later becoming snow.",
        +  "Rain, later with periodic snow.",
        +  "Rain and snow at night.",
        +  "Rain and snow in the evening.",
        +  "Rain, temporarily becoming sleet.",
        +  "Rain that periodically stops.",
        +  "Rain with brief snow.",
        +  "Rain with periodic snow.",
        +  "Snow-rain mix, later becoming clear, with snow as the main constituent.",
        +  "Snow-rain mix, later becoming cloudy, with snow as the main constituent.",
        +  "Snow-rain mix, with snow as the main constituent.",
        +  "Snow accompanied by lightning.",
        +  "Snow, becoming sleet.",
        +  "Snow, later clearing.",
        +  "Snow, later becoming cloudy.",
        +  "Snow, later becoming rain.",
        +  "Snow, periodically clearing.",
        +  "Snow that periodically stops.",
        +  "Snow turning to rain around noon.",
        +  "Snow turning to rain in the evening.",
        +  "Snow turning to rain at night.",
        +  "Snow with brief rain.",
        +  "Snow with brief sleet.",
        +  "Snow with periodic rain.",
        +  "Very hot.",
        +  "Sleet.",
        +  "Heavy rain to rainstorm."
        +]
  2. 2 tool updates
    • Changedcompute_routes5 fields changed
      • changedInput schema / $defs / Waypoint / properties / address / description
        Previous value: -"Human readable address or a plus code. See https://plus.codes for details."New value: +"Human readable address or a plus code. See https://plus.codes for details. Only one of the following fields should be set: this field, latLng, placeId."
      • changedInput schema / $defs / Waypoint / properties / latLng / description
        Previous value: -"A point specified using geographic coordinates."New value: +"A point specified using geographic coordinates. Only one of the following fields should be set: this field, placeId, address."
      • changedInput schema / $defs / Waypoint / properties / placeId / description
        Previous value: -"The Place ID associated with the waypoint."New value: +"The Place ID associated with the waypoint. Only one of the following fields should be set: this field, latLng, address."
      • changedInput schema / properties / arrivalTime / description
        Previous value: -"Optional. Indicates that the route should be computed based on arrival time."New value: +"Optional. Indicates that the route should be computed based on arrival time. Only one of this field or departureTime should be set."
      • changedInput schema / properties / departureTime / description
        Previous value: -"Optional. Indicates that the route should be computed based on departure time."New value: +"Optional. Indicates that the route should be computed based on departure time. Only one of this field or arrivalTime should be set."
    • Changedlookup_weather6 fields changed
      • changedInput schema / $defs / Location / properties / address / description
        Previous value: -"Human readable address or a plus code. See https://plus.codes for details."New value: +"Human readable address or a plus code. See https://plus.codes for details. Only one of the following fields should be set: this field, latLng, placeId."
      • changedInput schema / $defs / Location / properties / latLng / description
        Previous value: -"A point specified using geographic coordinates."New value: +"A point specified using geographic coordinates. Only one of the following fields should be set: this field, placeId, address."
      • changedInput schema / $defs / Location / properties / placeId / description
        Previous value: -"The Place ID associated with the location ."New value: +"The Place ID associated with the location . Only one of the following fields should be set: this field, latLng, address."
      • changedOutput schema / $defs / Location / properties / address / description
        Previous value: -"Human readable address or a plus code. See https://plus.codes for details."New value: +"Human readable address or a plus code. See https://plus.codes for details. Only one of the following fields should be set: this field, latLng, placeId."
      • changedOutput schema / $defs / Location / properties / latLng / description
        Previous value: -"A point specified using geographic coordinates."New value: +"A point specified using geographic coordinates. Only one of the following fields should be set: this field, placeId, address."
      • changedOutput schema / $defs / Location / properties / placeId / description
        Previous value: -"The Place ID associated with the location ."New value: +"The Place ID associated with the location . Only one of the following fields should be set: this field, latLng, address."
  3. 2 tool updates
    • Changedcompute_routes11 fields changed
      • addedInput schema / properties / arrivalTime
        Added value: +{
        +  "description": "Optional. Indicates that the route should be computed based on arrival time.",
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedInput schema / properties / computeAlternativeRoutes
        Added value: +{
        +  "description": "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 routes are returned, though alternatives may not be available for every request.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / departureTime
        Added value: +{
        +  "description": "Optional. Indicates that the route should be computed based on departure time.",
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedInput schema / properties / includePolyline
        Added value: +{
        +  "description": "Optional. Whether to include the encoded polyline in the response routes. Defaults to `false`. When set to `true`, `Route.encoded_polyline` is returned.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / intermediateWaypoints
        Added value: +{
        +  "description": "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` is `TRANSIT`.",
        +  "items": {
        +    "$ref": "#/$defs/Waypoint"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / locationBias
        Added value: +{
        +  "$ref": "#/$defs/LatLng",
        +  "description": "Optional. A location to bias the search results toward, for example to disambiguate waypoint text queries."
        +}
      • addedInput schema / properties / routingPreference
        Added value: +{
        +  "description": "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 realtime transit data, such as delays and cancellations.",
        +  "enum": [
        +    "ROUTING_PREFERENCE_UNSPECIFIED",
        +    "ROUTING_PREFERENCE_TRAFFIC_UNAWARE",
        +    "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL"
        +  ],
        +  "type": "string",
        +  "x-google-enum-descriptions": [
        +    "No routing preference specified. Defaults to `ROUTING_PREFERENCE_TRAFFIC_UNAWARE`.",
        +    "Computes routes without taking live traffic conditions into consideration. Suitable when traffic conditions don't matter or are not applicable. Using this value produces the lowest latency.",
        +    "Calculates routes taking live traffic conditions into consideration, when traffic data is available. For `TRANSIT`, uses realtime transit data, such as delays and cancellations, when available. This value will trigger the Pro tier and incur higher billing cost and latency. This is only available for allowlisted customers. If not allowlisted, the request will fall back to `ROUTING_PREFERENCE_TRAFFIC_UNAWARE`."
        +  ]
        +}
      • changedInput schema / properties / travelMode / enum
        Previous value: -[
        -  "ROUTE_TRAVEL_MODE_UNSPECIFIED",
        -  "DRIVE",
        -  "WALK"
        -]New value: +[
        +  "ROUTE_TRAVEL_MODE_UNSPECIFIED",
        +  "DRIVE",
        +  "WALK",
        +  "BICYCLE",
        +  "TRANSIT"
        +]
      • changedInput schema / properties / travelMode / x-google-enum-descriptions
        Previous value: -[
        -  "No travel mode specified. Defaults to `DRIVE`.",
        -  "Travel by passenger car.",
        -  "Travel by walking. NOTE: `WALK` routes are in beta and might sometimes be missing clear sidewalks or pedestrian paths. You must display this warning to the user for all walking that you display in your app."
        -]New value: +[
        +  "No travel mode specified. Defaults to `DRIVE`.",
        +  "Travel by passenger car.",
        +  "Travel by walking. NOTE: `WALK` routes are in beta and might sometimes be missing clear sidewalks or pedestrian paths. You must display this warning to the user for all walking that you display in your app.",
        +  "Travel by bicycle.",
        +  "Travel by public transit."
        +]
      • addedOutput schema / $defs / Route / properties / encodedPolyline
        Added value: +{
        +  "description": "An encoded polyline of the route. See https://developers.google.com/maps/documentation/utilities/polylinealgorithm",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / Route / properties / retrievalToken
        Added value: +{
        +  "description": "A token that can be used to retrieve this specific route in downstream tools, such as SearchAlongRoute. Valid for 10 minutes.",
        +  "type": "string"
        +}
    • Changedlookup_weather24 fields changed
      • addedInput schema / $defs / AirQualityOptions
        Added value: +{
        +  "description": "Options specific to air quality requests.",
        +  "properties": {
        +    "includePollutantConcentration": {
        +      "description": "Optional. If true, includes detailed pollutant concentrations and additional information (sources and effects) in the air quality response.",
        +      "type": "boolean"
        +    },
        +    "indexRegionCode": {
        +      "description": "Optional. Two-letter ISO 3166-1 alpha-2 country/region code (e.g. \"US\", \"FR\", \"CN\") used to select the preferred local Air Quality Index (AQI) scale alongside the Universal AQI (UAQI). If not specified, defaults to the region of the requested location.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / $defs / WeatherOptions
        Added value: +{
        +  "description": "Options specific to weather requests.",
        +  "properties": {
        +    "unitsSystem": {
        +      "description": "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).",
        +      "enum": [
        +        "UNITS_SYSTEM_UNSPECIFIED",
        +        "IMPERIAL",
        +        "METRIC"
        +      ],
        +      "type": "string",
        +      "x-google-enum-descriptions": [
        +        "The units system is unspecified.",
        +        "The imperial units system (e.g. Fahrenheit, miles, etc).",
        +        "The metric units system (e.g. Celsius, kilometers, etc)."
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / airQualityOptions
        Added value: +{
        +  "$ref": "#/$defs/AirQualityOptions",
        +  "description": "Optional. Options specific to air quality requests. Ignored if `AIR_QUALITY` is not requested in `capabilities`."
        +}
      • addedInput schema / properties / capabilities
        Added value: +{
        +  "description": "Optional. The environmental capabilities to include in the response.",
        +  "items": {
        +    "enum": [
        +      "CAPABILITY_UNSPECIFIED",
        +      "WEATHER",
        +      "AIR_QUALITY",
        +      "POLLEN"
        +    ],
        +    "type": "string",
        +    "x-google-enum-descriptions": [
        +      "Unspecified capability.",
        +      "Weather conditions (temperature, precipitation, wind, UV, etc.).",
        +      "Air quality information (AQI, pollutants, and health recommendations).",
        +      "Pollen information (tree, grass, weed, and plant species allergen levels)."
        +    ]
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / languageCode
        Added value: +{
        +  "description": "Optional. The BCP-47 language code for localized text in the response (e.g. \"en\", \"ja\", \"fr-CA\"). Defaults to \"en\" if not specified.",
        +  "type": "string"
        +}
      • addedInput schema / properties / weatherOptions
        Added value: +{
        +  "$ref": "#/$defs/WeatherOptions",
        +  "description": "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; returns INVALID_ARGUMENT if both specify conflicting unit systems. Ignored if `WEATHER` is not requested in `capabilities`."
        +}
      • addedOutput schema / $defs / AdditionalInfo
        Added value: +{
        +  "description": "Sources and health effects of a pollutant.",
        +  "properties": {
        +    "effects": {
        +      "description": "Potential health effects of exposure to the pollutant.",
        +      "type": "string"
        +    },
        +    "sources": {
        +      "description": "Main emission sources of the pollutant.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / AirQualityHourlyResult
        Added value: +{
        +  "description": "Hourly air quality information.",
        +  "properties": {
        +    "dateTime": {
        +      "description": "The timestamp for this hourly air quality entry.",
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "healthRecommendations": {
        +      "$ref": "#/$defs/HealthRecommendations",
        +      "description": "Health recommendations for different population groups."
        +    },
        +    "indexes": {
        +      "description": "Air quality indexes (e.g. Universal AQI and local AQI).",
        +      "items": {
        +        "$ref": "#/$defs/AirQualityIndex"
        +      },
        +      "type": "array"
        +    },
        +    "pollutants": {
        +      "description": "Detailed pollutant information, populated when `air_quality_options.include_pollutant_concentration` is true.",
        +      "items": {
        +        "$ref": "#/$defs/Pollutant"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / AirQualityIndex
        Added value: +{
        +  "description": "Represents an Air Quality Index (AQI) measurement.",
        +  "properties": {
        +    "category": {
        +      "description": "Textual air quality category (e.g. \"Good air quality\", \"Moderate air quality\").",
        +      "type": "string"
        +    },
        +    "displayName": {
        +      "description": "The index's display name (e.g. \"Universal AQI\", \"US EPA AQI\").",
        +      "type": "string"
        +    },
        +    "dominantPollutant": {
        +      "description": "The code of the dominant pollutant (e.g. \"pm25\", \"o3\").",
        +      "type": "string"
        +    },
        +    "value": {
        +      "description": "Numeric AQI value.",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "valueDisplay": {
        +      "description": "Formatted string representation of the AQI value.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / AirQualityResultData
        Added value: +{
        +  "description": "Air quality payload for the requested location.",
        +  "properties": {
        +    "attribution": {
        +      "$ref": "#/$defs/Attribution",
        +      "description": "Required attribution to show with the air quality data."
        +    },
        +    "hourlyResults": {
        +      "description": "Hourly air quality data for the requested time (contains 1 entry for Current Conditions or single-hour queries, up to 24 entries for a past or future date-only query, or current + remaining hours when date is today).",
        +      "items": {
        +        "$ref": "#/$defs/AirQualityHourlyResult"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Concentration
        Added value: +{
        +  "description": "Concentration measurement of a pollutant.",
        +  "properties": {
        +    "unit": {
        +      "description": "Measurement unit of the concentration.",
        +      "enum": [
        +        "UNIT_UNSPECIFIED",
        +        "PARTS_PER_BILLION",
        +        "MICROGRAMS_PER_CUBIC_METER"
        +      ],
        +      "type": "string",
        +      "x-google-enum-descriptions": [
        +        "Unspecified concentration unit.",
        +        "Parts per billion (ppb).",
        +        "Micrograms per cubic meter (µg/m³)."
        +      ]
        +    },
        +    "value": {
        +      "description": "Numeric concentration value.",
        +      "format": "float",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / DailyPollenForecast
        Added value: +{
        +  "description": "Pollen forecast for a single calendar day.",
        +  "properties": {
        +    "categories": {
        +      "description": "Broad pollen category breakdown (Tree, Grass, Weed).",
        +      "items": {
        +        "$ref": "#/$defs/PollenCategoryInfo"
        +      },
        +      "type": "array"
        +    },
        +    "date": {
        +      "$ref": "#/$defs/Date",
        +      "description": "Civil calendar date of the forecast."
        +    },
        +    "plantSpecies": {
        +      "description": "Granular plant species breakdown.",
        +      "items": {
        +        "$ref": "#/$defs/PlantSpeciesInfo"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Date
        Added value: +{
        +  "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
        +  "properties": {
        +    "day": {
        +      "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "month": {
        +      "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "year": {
        +      "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
        +      "format": "int32",
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / HealthRecommendations
        Added value: +{
        +  "description": "Health recommendations tailored to specific population groups.",
        +  "properties": {
        +    "athletes": {
        +      "description": "Guidance for athletes and active outdoor individuals.",
        +      "type": "string"
        +    },
        +    "children": {
        +      "description": "Guidance for children.",
        +      "type": "string"
        +    },
        +    "elderly": {
        +      "description": "Guidance for the elderly population.",
        +      "type": "string"
        +    },
        +    "generalPopulation": {
        +      "description": "Guidance for the general population.",
        +      "type": "string"
        +    },
        +    "heartDiseasePopulation": {
        +      "description": "Guidance for individuals with cardiovascular or heart disease.",
        +      "type": "string"
        +    },
        +    "lungDiseasePopulation": {
        +      "description": "Guidance for individuals with lung disease or respiratory conditions.",
        +      "type": "string"
        +    },
        +    "pregnantWomen": {
        +      "description": "Guidance for pregnant women.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PlantSpeciesInfo
        Added value: +{
        +  "description": "Information for a specific allergenic plant species.",
        +  "properties": {
        +    "code": {
        +      "description": "Machine-readable species code (e.g. \"BIRCH\", \"JAPANESE_CEDAR\", \"RAGWEED\").",
        +      "type": "string"
        +    },
        +    "crossReactions": {
        +      "description": "Known cross-reactive allergens (e.g. \"Alder, Hazel, Beech, and Oak pollen\").",
        +      "type": "string"
        +    },
        +    "displayName": {
        +      "description": "Localized display name of the plant species (e.g. \"Birch\").",
        +      "type": "string"
        +    },
        +    "family": {
        +      "description": "Botanical family name (e.g. \"Betulaceae (the Birch family)\").",
        +      "type": "string"
        +    },
        +    "inSeason": {
        +      "description": "Whether this plant species is currently in season.",
        +      "type": "boolean"
        +    },
        +    "index": {
        +      "$ref": "#/$defs/PollenIndex",
        +      "description": "Universal Pollen Index (UPI) measurement for this species."
        +    },
        +    "season": {
        +      "description": "Typical blooming season description (e.g. \"Late winter, spring\").",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PollenCategoryInfo
        Added value: +{
        +  "description": "Information for a broad pollen category (e.g. Tree, Grass, Weed).",
        +  "properties": {
        +    "displayName": {
        +      "description": "Display name of the category (e.g. \"Tree\", \"Grass\", \"Weed\").",
        +      "type": "string"
        +    },
        +    "healthRecommendations": {
        +      "description": "Actionable health advice for pollen-sensitive groups.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "inSeason": {
        +      "description": "Whether this pollen category is actively blooming in the region.",
        +      "type": "boolean"
        +    },
        +    "index": {
        +      "$ref": "#/$defs/PollenIndex",
        +      "description": "Universal Pollen Index (UPI) measurement for this category."
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PollenIndex
        Added value: +{
        +  "description": "Standardized Universal Pollen Index (UPI) measurement.",
        +  "properties": {
        +    "category": {
        +      "description": "Localized category classification (e.g. \"None\", \"Very Low\", \"Low\", \"Moderate\", \"High\", \"Very High\").",
        +      "type": "string"
        +    },
        +    "description": {
        +      "description": "Description of the pollen risk level.",
        +      "type": "string"
        +    },
        +    "value": {
        +      "description": "Numeric UPI value (0 to 5 scale).",
        +      "format": "int32",
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PollenResultData
        Added value: +{
        +  "description": "Pollen payload for the requested location.",
        +  "properties": {
        +    "attribution": {
        +      "$ref": "#/$defs/Attribution",
        +      "description": "Required attribution to show with the pollen data."
        +    },
        +    "dailyForecast": {
        +      "$ref": "#/$defs/DailyPollenForecast",
        +      "description": "Daily pollen forecast for the requested date."
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Pollutant
        Added value: +{
        +  "description": "Represents a specific air pollutant and its concentration.",
        +  "properties": {
        +    "additionalInfo": {
        +      "$ref": "#/$defs/AdditionalInfo",
        +      "description": "Additional information about the pollutant's sources and health effects."
        +    },
        +    "concentration": {
        +      "$ref": "#/$defs/Concentration",
        +      "description": "Measured concentration of the pollutant."
        +    },
        +    "displayName": {
        +      "description": "Short display name of the pollutant (e.g. \"PM2.5\", \"O3\").",
        +      "type": "string"
        +    },
        +    "fullName": {
        +      "description": "Full chemical or common name of the pollutant (e.g. \"Fine particulate matter (<2.5µm)\", \"Ozone\").",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / WeatherResultData
        Added value: +{
        +  "description": "Weather conditions payload for the requested location.",
        +  "properties": {
        +    "airPressure": {
        +      "$ref": "#/$defs/AirPressure",
        +      "description": "The hourly air pressure conditions."
        +    },
        +    "attribution": {
        +      "$ref": "#/$defs/Attribution",
        +      "description": "Required attribution to show with the weather."
        +    },
        +    "cloudCover": {
        +      "description": "The percentage of the sky covered by clouds (values from 0 to 100).",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "date": {
        +      "$ref": "#/$defs/Date",
        +      "description": "Civil calendar date of the daily weather forecast."
        +    },
        +    "dateTime": {
        +      "description": "The timestamp for this hourly or current weather entry.",
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "feelsLikeMaxTemperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The maximum (high) feels-like temperature throughout the day."
        +    },
        +    "feelsLikeMinTemperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The minimum (low) feels-like temperature throughout the day."
        +    },
        +    "feelsLikeTemperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The hourly measure of how the temperature feels like."
        +    },
        +    "heatIndex": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The hourly heat index temperature."
        +    },
        +    "maxHeatIndex": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The maximum heat index temperature throughout the day."
        +    },
        +    "maxTemperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The maximum (high) temperature throughout the day."
        +    },
        +    "minTemperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The minimum (low) temperature throughout the day."
        +    },
        +    "moonEvents": {
        +      "$ref": "#/$defs/MoonEvents",
        +      "description": "The events related to the moon (e.g. moonrise, moonset)."
        +    },
        +    "precipitation": {
        +      "$ref": "#/$defs/Precipitation",
        +      "description": "The precipitation probability and amount of precipitation accumulated."
        +    },
        +    "relativeHumidity": {
        +      "description": "The percent of relative humidity (values from 0 to 100).",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "sunEvents": {
        +      "$ref": "#/$defs/SunEvents",
        +      "description": "The events related to the sun (e.g. sunrise, sunset)."
        +    },
        +    "temperature": {
        +      "$ref": "#/$defs/Temperature",
        +      "description": "The hourly temperature."
        +    },
        +    "thunderstormProbability": {
        +      "description": "The thunderstorm probability (values from 0 to 100).",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "uvIndex": {
        +      "description": "The maximum ultraviolet (UV) index.",
        +      "format": "int32",
        +      "type": "integer"
        +    },
        +    "weatherCondition": {
        +      "$ref": "#/$defs/WeatherCondition",
        +      "description": "The weather condition."
        +    },
        +    "wind": {
        +      "$ref": "#/$defs/Wind",
        +      "description": "The wind conditions."
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / airQuality
        Added value: +{
        +  "$ref": "#/$defs/AirQualityResultData",
        +  "description": "Air quality information at the requested location."
        +}
      • addedOutput schema / properties / pollen
        Added value: +{
        +  "$ref": "#/$defs/PollenResultData",
        +  "description": "Pollen information at the requested location."
        +}
      • addedOutput schema / properties / timeZone
        Added value: +{
        +  "description": "Resolved IANA timezone string for the location (e.g., \"America/New_York\", \"Asia/Tokyo\").",
        +  "type": "string"
        +}
      • addedOutput schema / properties / weather
        Added value: +{
        +  "$ref": "#/$defs/WeatherResultData",
        +  "description": "Weather conditions at the requested location."
        +}
  4. 1 tool update
    • Changedsearch_places1 field changed
      • addedOutput schema / properties / contentToken
        Added value: +{
        +  "description": "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 components for the returned search results.",
        +  "readOnly": true,
        +  "type": "string"
        +}
  5. 2 tool updates
    • Changedresolve_maps_urls1 field changed
      • addedOutput schema / properties / saveToMapsUrl
        Added value: +{
        +  "description": "Output only. A link to save all successfully resolved entities in Google Maps.",
        +  "readOnly": true,
        +  "type": "string"
        +}
    • Changedresolve_names1 field changed
      • addedOutput schema / properties / saveToMapsUrl
        Added value: +{
        +  "description": "Output only. A link to save all successfully resolved entities in Google Maps.",
        +  "readOnly": true,
        +  "type": "string"
        +}
  6. 1 tool update
    • Changedcompute_routes1 field changed
      • changedOutput schema / properties / routes / description
        Previous value: -"Contains routes between the requested origin and destination. Currently only one route is returned."New value: +"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` is set to true."
  7. 1 tool update
    • Changedsearch_places2 fields changed
      • addedInput schema / properties / includeExtendedDetails
        Added value: +{
        +  "description": "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: - Qualitative reviews, customer sentiment, and feedback. - Specific offerings like menu items, dishes, food specialties, beverages, or business highlights. - Qualitative atmosphere, interior decor, aesthetic, ambience, or mood. - Real-time data and specialized facility specs, visitor policies/tips, wait times. Leave `false` (default) for standard discovery searches (e.g., cuisines, store types), location/address lookups, contact info, operating hours, and standard metadata/amenities. Enabling this field will incur higher latency.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / pageSize
        Added value: +{
        +  "description": "Optional. The maximum number of places to return, up to 5. The service may return fewer than this value. The default value is 5.",
        +  "format": "int32",
        +  "type": "integer"
        +}
  8. 1 tool update
    • Changedcompute_routes1 field changed
      • changedOutput schema / $defs / Route / description
        Previous value: -"Details about a route between two locations."New value: +"Details about a route between locations."
  9. 1 tool update
    • Changedlookup_weather10 fields changed
      • changedOutput schema / $defs / MoonEvents / properties / moonPhase / description
        Previous value: -"The moon phase (a.k.a. lunar phase)."New value: +"Optional. The moon phase (a.k.a. lunar phase)."
      • changedOutput schema / $defs / MoonEvents / properties / moonPhase / enum
        Previous value: -[
        -  "MOON_PHASE_UNSPECIFIED",
        -  "NEW_MOON",
        -  "WAXING_CRESCENT",
        -  "FIRST_QUARTER",
        -  "WAXING_GIBBOUS",
        -  "FULL_MOON",
        -  "WANING_GIBBOUS",
        -  "LAST_QUARTER",
        -  "WANING_CRESCENT"
        -]New value: +[
        +  "PHASE_UNSPECIFIED",
        +  "NEW_MOON",
        +  "WAXING_CRESCENT",
        +  "FIRST_QUARTER",
        +  "WAXING_GIBBOUS",
        +  "FULL_MOON",
        +  "WANING_GIBBOUS",
        +  "LAST_QUARTER",
        +  "WANING_CRESCENT"
        +]
      • changedOutput schema / $defs / PrecipitationProbability / properties / type / description
        Previous value: -"A code that indicates the type of precipitation."New value: +"Optional. A code that indicates the type of precipitation."
      • changedOutput schema / $defs / PrecipitationProbability / properties / type / enum
        Previous value: -[
        -  "PRECIPITATION_TYPE_UNSPECIFIED",
        -  "NONE",
        -  "SNOW",
        -  "RAIN",
        -  "LIGHT_RAIN",
        -  "HEAVY_RAIN",
        -  "RAIN_AND_SNOW",
        -  "SLEET",
        -  "FREEZING_RAIN",
        -  "PRECIPITATION_TYPE_HAIL"
        -]New value: +[
        +  "TYPE_UNSPECIFIED",
        +  "NONE",
        +  "SNOW",
        +  "RAIN",
        +  "LIGHT_RAIN",
        +  "HEAVY_RAIN",
        +  "RAIN_AND_SNOW",
        +  "SLEET",
        +  "FREEZING_RAIN",
        +  "PRECIPITATION_TYPE_HAIL"
        +]
      • changedOutput schema / $defs / Temperature / properties / unit / description
        Previous value: -"The code for the unit used to measure the temperature value."New value: +"Optional. The code for the unit used to measure the temperature value."
      • changedOutput schema / $defs / Temperature / properties / unit / enum
        Previous value: -[
        -  "TEMPERATURE_UNIT_UNSPECIFIED",
        -  "CELSIUS",
        -  "FAHRENHEIT"
        -]New value: +[
        +  "UNIT_UNSPECIFIED",
        +  "CELSIUS",
        +  "FAHRENHEIT"
        +]
      • changedOutput schema / $defs / WindDirection / properties / cardinal / description
        Previous value: -"The code that represents the cardinal direction from which the wind is blowing."New value: +"Optional. The code that represents the cardinal direction from which the wind is blowing."
      • changedOutput schema / $defs / WindDirection / properties / cardinal / enum
        Previous value: -[
        -  "CARDINAL_DIRECTION_UNSPECIFIED",
        -  "NORTH",
        -  "NORTH_NORTHEAST",
        -  "NORTHEAST",
        -  "EAST_NORTHEAST",
        -  "EAST",
        -  "EAST_SOUTHEAST",
        -  "SOUTHEAST",
        -  "SOUTH_SOUTHEAST",
        -  "SOUTH",
        -  "SOUTH_SOUTHWEST",
        -  "SOUTHWEST",
        -  "WEST_SOUTHWEST",
        -  "WEST",
        -  "WEST_NORTHWEST",
        -  "NORTHWEST",
        -  "NORTH_NORTHWEST"
        -]New value: +[
        +  "CARDINAL_UNSPECIFIED",
        +  "NORTH",
        +  "NORTH_NORTHEAST",
        +  "NORTHEAST",
        +  "EAST_NORTHEAST",
        +  "EAST",
        +  "EAST_SOUTHEAST",
        +  "SOUTHEAST",
        +  "SOUTH_SOUTHEAST",
        +  "SOUTH",
        +  "SOUTH_SOUTHWEST",
        +  "SOUTHWEST",
        +  "WEST_SOUTHWEST",
        +  "WEST",
        +  "WEST_NORTHWEST",
        +  "NORTHWEST",
        +  "NORTH_NORTHWEST"
        +]
      • changedOutput schema / $defs / WindSpeed / properties / unit / description
        Previous value: -"The code that represents the unit used to measure the wind speed."New value: +"Optional. The code that represents the unit used to measure the wind speed."
      • changedOutput schema / $defs / WindSpeed / properties / unit / enum
        Previous value: -[
        -  "SPEED_UNIT_UNSPECIFIED",
        -  "KILOMETERS_PER_HOUR",
        -  "MILES_PER_HOUR"
        -]New value: +[
        +  "UNIT_UNSPECIFIED",
        +  "KILOMETERS_PER_HOUR",
        +  "MILES_PER_HOUR"
        +]
  10. 1 tool update
    • Changedlookup_weather2 fields changed
      • changedOutput schema / $defs / PrecipitationProbability / properties / type / enum
        Previous value: -[
        -  "PRECIPITATION_TYPE_UNSPECIFIED",
        -  "NONE",
        -  "SNOW",
        -  "RAIN",
        -  "LIGHT_RAIN",
        -  "HEAVY_RAIN",
        -  "RAIN_AND_SNOW",
        -  "SLEET",
        -  "FREEZING_RAIN"
        -]New value: +[
        +  "PRECIPITATION_TYPE_UNSPECIFIED",
        +  "NONE",
        +  "SNOW",
        +  "RAIN",
        +  "LIGHT_RAIN",
        +  "HEAVY_RAIN",
        +  "RAIN_AND_SNOW",
        +  "SLEET",
        +  "FREEZING_RAIN",
        +  "PRECIPITATION_TYPE_HAIL"
        +]
      • changedOutput schema / $defs / PrecipitationProbability / properties / type / x-google-enum-descriptions
        Previous value: -[
        -  "Unspecified precipitation type.",
        -  "No precipitation.",
        -  "Snow precipitation.",
        -  "Rain precipitation.",
        -  "Light rain precipitation.",
        -  "Heavy rain precipitation.",
        -  "Both rain and snow precipitations.",
        -  "Sleet precipitation.",
        -  "Freezing rain precipitation."
        -]New value: +[
        +  "Unspecified precipitation type.",
        +  "No precipitation.",
        +  "Snow precipitation.",
        +  "Rain precipitation.",
        +  "Light rain precipitation.",
        +  "Heavy rain precipitation.",
        +  "Both rain and snow precipitations.",
        +  "Sleet precipitation.",
        +  "Freezing rain precipitation.",
        +  "Hail precipitation."
        +]
  11. 2 tool updates
    • Addedresolve_maps_urls
    • Addedresolve_names
  12. 3 tool updates
    • Changedcompute_routes2 fields changed
      • addedOutput schema / $defs / Attribution
        Added value: +{
        +  "description": "Required attribution to show with maps content.",
        +  "properties": {
        +    "title": {
        +      "description": "The title to display for the attribution.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "The URL to link to for the attribution.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / Route / properties / attribution
        Added value: +{
        +  "$ref": "#/$defs/Attribution",
        +  "description": "Required attribution to show with the route."
        +}
    • Changedlookup_weather4 fields changed
      • changedInput schema / properties / date / description
        Previous value: -"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 within the next 7 days."New value: +"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 past and the next 10 days."
      • changedInput schema / properties / hour / description
        Previous value: -"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 is only supported for the next 48 hours from the current time."New value: +"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 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past."
      • addedOutput schema / $defs / Attribution
        Added value: +{
        +  "description": "Required attribution to show with maps content.",
        +  "properties": {
        +    "title": {
        +      "description": "The title to display for the attribution.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "The URL to link to for the attribution.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / attribution
        Added value: +{
        +  "$ref": "#/$defs/Attribution",
        +  "description": "Required attribution to show with the weather."
        +}
    • Changedsearch_places2 fields changed
      • addedOutput schema / $defs / Attribution
        Added value: +{
        +  "description": "Required attribution to show with maps content.",
        +  "properties": {
        +    "title": {
        +      "description": "The title to display for the attribution.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "The URL to link to for the attribution.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / $defs / PlaceView / properties / attribution
        Added value: +{
        +  "$ref": "#/$defs/Attribution",
        +  "description": "Required attribution to show with the place."
        +}
  13. 3 tool updates
    • First observedcompute_routes
    • First observedlookup_weather
    • First observedsearch_places

Related MCP Connectors

  • The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.

  • The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.

    https://mcp.remote-mcp.com
  • The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.

  • The Google Compute Engine MCP server is a fully-managed Model Context Protocol server that provides tools to manage Google Compute Engine resources through AI agents. It enables capabilities including instance management (creating, starting, stopping, resetting, listing), disk management, handling instance templates and group managers, viewing machine and accelerator types, managing images, and accessing reservation and commitment information. The server operates as a zero-deployment, enterprise-grade endpoint at https://compute.googleapis.com/mcp with built-in IAM-based security.

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources