MCP Reference: mapstools.googleapis.com

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems like databases and web services, translating their responses into a format that the AI application can understand.

This is an MCP server provided by the Maps Grounding Lite API. The server provides tools for developers to build LLM applications on top of Google Maps Platform.

Server Endpoints

An MCP Service Endpoint is the network address and communication interface (usually a URL) of the MCP Server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The mapstools.googleapis.com MCP server has the following MCP endpoint:

MCP Tools

An MCP Tool is a function or executable capability that an MCP Server exposes to a LLM or AI application to perform an action in the real world.

The mapstools.googleapis.com MCP server has the following tools:

MCP Tools
search_places

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.

lookup_weather

Provides current conditions, hourly, and daily forecasts for any location. Use this tool for all weather-related inquiries.

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.

Input Requirements (CRITICAL):

  • Current Conditions: Requires only a location (e.g., city or address). Do not specify a date or hour.

  • Hourly Forecasts: Requires a location and an hour (0-23). Use if the user asks for weather at a specific time or using terms like 'next few hours' or 'later today.'

  • Daily Forecasts: Requires a location and a full date.

Date Handling (CRITICAL): User-provided dates and hours MUST be provided in the local timezone of the requested location. Dates MUST be broken down into separate integer parameters: year, month, and day. The required format for these parameters is: {"year": , "month": , "day": }

compute_routes

Computes a travel route between a specified origin and destination. Supported Travel Modes: DRIVE (default), WALK.

Input Requirements (CRITICAL): Requires both origin and destination. Each must be provided using one of the following methods, nested within its respective field:

  • address: (string, e.g., 'Eiffel Tower, Paris'). Note: The more granular or specific the input address is, the better the results will be.

  • lat_lng: (object, {"latitude": number, "longitude": number})

  • place_id: (string, e.g., 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') Note: This id can be obtained from the search_places tool. Any combination of input types is allowed (e.g., origin by address, destination by lat_lng). If either the origin or destination is missing, you MUST ask the user for clarification before attempting to call the tool.

Example Tool Call: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}