MCP Reference: mapstools.googleapis.com

Это MCP-сервер, предоставляемый API Maps Grounding Lite. Сервер предоставляет разработчикам инструменты для создания LLM-приложений на основе платформы Google Maps.

Сервер протокола контекста модели (MCP) выступает в качестве прокси-сервера между внешним сервисом, предоставляющим контекст, данные или возможности для приложения, использующего большие языковые модели (LLM) или искусственного интеллекта. Серверы MCP соединяют приложения ИИ с внешними системами, такими как базы данных и веб-сервисы, преобразуя их ответы в формат, понятный приложению ИИ.

Настройка сервера

Перед использованием необходимо включить серверы MCP и настроить аутентификацию . Дополнительную информацию об использовании удаленных серверов MCP Google и Google Cloud см. в разделе «Обзор серверов MCP Google Cloud» .

Серверные конечные точки

Конечная точка сервиса MCP — это сетевой адрес и интерфейс связи (обычно URL) сервера MCP, который приложение ИИ (хост для клиента MCP) использует для установления безопасного стандартизированного соединения. Это точка контакта для LLM, позволяющая запросить контекст, вызвать инструмент или получить доступ к ресурсу. Конечные точки Google MCP могут быть глобальными или региональными.

Сервер Maps Grounding Lite API MCP имеет следующую глобальную конечную точку MCP:

  • https://mapstools.googleapis.com/mcp

Инструменты MCP

Инструмент MCP — это функция или исполняемый файл, который сервер MCP предоставляет приложению LLM или AI для выполнения действий в реальном мире.

Инструменты

Сервер mapstools.googleapis.com MCP содержит следующие инструменты:

Инструменты MCP
search_places

Используйте этот инструмент, когда пользователь запрашивает информацию о местах, компаниях, адресах, локациях, достопримечательностях или выполняет любой другой поиск, связанный с Google Maps.

Требования к входным данным (КРИТИЧЕСКИ ВАЖНЫ):

  1. text_query (строка - ОБЯЗАТЕЛЬНО): Основной поисковый запрос. Он должен четко определять, что ищет пользователь.

    • Примеры: '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' .
    • Для получения подробной информации о конкретном месте: укажите запрашиваемый атрибут (например, 'Google Store Mountain View opening hours' , 'SF MoMa phone number' , 'Shoreline Park Mountain View address' ).
  2. location_bias (object - OPTIONAL): Используйте это для определения приоритета результатов, полученных вблизи определенной географической области.

    • Формат: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Применение:
      • Для смещения в радиус 5 км: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Чтобы сместить акцент в сторону центральной точки: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (без radius_meters ).
  3. language_code (строка - НЕОБЯЗАТЕЛЬНО): Язык, на котором будет отображаться сводка результатов поиска.

    • Формат: двухбуквенный код языка (ISO 639-1), за которым, при желании, следует нижнее подчеркивание и двухбуквенный код страны (ISO 3166-1 alpha-2), например, en , ja , en_US , zh_CN , es_MX . Если код языка не указан, результаты будут на английском языке.
  4. region_code (строка - НЕОБЯЗАТЕЛЬНО): Код региона Unicode CLDR пользователя. Этот параметр используется для отображения сведений о месте, таких как название места в конкретном регионе, если таковое имеется. Параметр может влиять на результаты в зависимости от применимого законодательства.

    • Формат: двухбуквенный код страны (ISO 3166-1 alpha-2), например, US , CA

Инструкции по вызову специалиста:

  • Информация о местоположении (КРИТИЧЕСКИ ВАЖНО): Поиск должен содержать достаточно информации о местоположении. Если местоположение неоднозначно (например, просто «пиццерии»), необходимо указать его в text_query (например, «пиццерии в Нью-Йорке») или использовать параметр location_bias . При необходимости для уточнения следует указать название города, штата/провинции и региона/страны.

  • Всегда указывайте максимально конкретный и контекстно насыщенный text_query .

  • Используйте location_bias только в том случае, если координаты указаны явно или если определение местоположения на основе известного пользователю контекста является целесообразным и необходимым для получения лучших результатов.

  • Полученные результаты должны быть указаны с указанием источника с использованием информации из поля attribution , если таковая имеется.

lookup_weather

Получает исчерпывающие данные о погоде, включая текущие условия, почасовые и суточные прогнозы.

Доступны следующие данные: температура (текущая, ощущаемая, максимальная/минимальная, индекс жары), ветер (скорость, порывы, направление), небесные явления (восход/заход солнца, фаза луны), осадки (тип, вероятность, количество/QPF), атмосферные условия (УФ-индекс, влажность, облачность, вероятность грозы) и адрес с геолокацией.

Местоположение и правила определения местоположения (КРИТИЧЕСКИ ВАЖНО):

Местоположение, для которого запрашиваются данные о погоде, указывается с помощью поля « location . Это поле имеет структуру типа «один из», то есть для обеспечения точного поиска данных о погоде НЕОБХОДИМО указать значение ТОЛЬКО для ОДНОГО из трех подполей местоположения, указанных ниже.

  1. Географические координаты (широта_долгота)

    • Используйте этот метод, если вам предоставлены точные координаты широты и долготы.
    • Пример: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Лос-Анджелес
  2. Идентификатор места (place_id)

    • Однозначный строковый идентификатор (идентификатор места в Google Maps).
    • Идентификатор места (place_id) можно получить с помощью инструмента search_places.
    • Пример: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Эйфелева башня
  3. Адресная строка (адрес)

    • Строка произвольной формы, требующая конкретизации для геокодирования.
    • Город и регион: Всегда указывайте регион/страну (например, "Лондон, Великобритания", а не "Лондон").
    • Адрес: Укажите полный адрес (например, "1600 Pennsylvania Ave NW, Washington, DC").
    • Почтовые индексы: ОБЯЗАТЕЛЬНО должны сопровождаться названием страны (например, "90210, США", а НЕ "90210").
    • Пример: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}

Режимы использования:

  • Текущая погода: Укажите только location . Не указывайте date и hour .

  • Почасовой прогноз: укажите location , date и hour (0-23). ​​Используйте для конкретных временных промежутков (например, «в 17:00») или для терминов типа «в ближайшие несколько часов» или «позже сегодня». Если пользователь указывает минуты, округлите до ближайшего часа в меньшую сторону. Почасовой прогноз на период более 120 часов вперед не поддерживается. Исторические почасовые прогнозы погоды поддерживаются на период до 24 часов назад.

  • Ежедневный прогноз: укажите location и date . Не указывайте hour . Используйте для общих запросов на день (например, «погода на завтра», «погода в пятницу», «погода 25 декабря»). Если сегодняшняя дата отсутствует в контексте, следует уточнить это у пользователя. Ежедневный прогноз на период более 10 дней, включая сегодняшний день, не поддерживается. Исторические данные о погоде не поддерживаются.

Ограничения параметров:

  • Часовые пояса: Все введенные date и hour должны быть относительными к местному часовому поясу местоположения , а не к часовому поясу пользователя.
  • Формат даты: Входные данные должны быть разделены на целые числа в формате {year, month, day} .
  • Единицы измерения: по умолчанию — METRIC . Установите units_system в значение IMPERIAL для градусов Фаренгейта/миль, если пользователь подразумевает стандарты США или явно запрашивает их.
  • Полученные результаты должны быть указаны с указанием источника с использованием информации из поля attribution , если таковая имеется.

compute_routes

Вычисляет маршрут между указанными пунктами отправления и назначения. Поддерживаемые режимы передвижения: АВТОМОБИЛЬ (по умолчанию), ПЕШКОМ.

Требования к входным данным (КРИТИЧЕСКИ ВАЖНО): Необходимо указать как источник , так и получателя . Каждый из них должен быть предоставлен одним из следующих способов, вложенным в соответствующее поле:

  • Адрес: (строка, например, 'Эйфелева башня, Париж'). Примечание: чем точнее или детальнее входной адрес, тем лучше будут результаты.

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

  • place_id: (строка, например, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') Примечание: Этот идентификатор можно получить с помощью инструмента search_places. Допускается любая комбинация типов ввода (например, пункт отправления по адресу, пункт назначения по широте и долготе). Если пункт отправления или назначения отсутствует, ОБЯЗАТЕЛЬНО запросите у пользователя уточнение, прежде чем пытаться вызвать инструмент.

Пример вызова инструмента: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • Полученные результаты должны быть указаны с указанием источника с использованием информации из поля attribution , если таковая имеется.
resolve_names

Преобразует пакетный список запросов на определение местоположения (названия достопримечательностей или точные адреса) в канонические идентификаторы мест Google Maps.

Требования к входным данным (КРИТИЧЕСКИ ВАЖНЫ):

  1. queries (массив объектов - ОБЯЗАТЕЛЬНО): Список запросов местоположения для обработки. Вы можете указать до 20 запросов.

    • Каждый объект запроса должен содержать:
      • text (строка - ОБЯЗАТЕЛЬНО): текстовый запрос, представляющий конкретное название места или адрес для обработки.
        • Примеры: 'Googleplex, Mountain View, CA' , '1600 Amphitheatre Pkwy, Mountain View, CA' , 'Eiffel Tower, Paris' .
  2. location_bias (object - OPTIONAL): Используйте это для определения приоритета результатов, полученных вблизи определенной географической области.

    • Формат: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (строка - НЕОБЯЗАТЕЛЬНО): Код региона Unicode CLDR (двухбуквенный код страны, например, US , CA ) пользователя, который будет использоваться для корректировки результатов.

Инструкции по вызову специалиста:

  • Специфичность (КРИТИЧЕСКИ ВАЖНО): Запросы должны содержать конкретное название места или адрес. Общие запросы, такие как 'restaurants' или названия сетей, например 'Starbucks' не поддерживаются.
  • НЕ вызывайте этот инструмент, если инструменты, которые вы планируете использовать, уже принимают напрямую необработанные строки адресов или имен мест.

Обработка ошибок (КРИТИЧЕСКИ ВАЖНО):

  • Это инструмент пакетной обработки. Запрос может возвращать «смешанные результаты» (например, некоторые запросы выполняются успешно, а другие завершаются с ошибкой).
  • Гарантируется, что выходной список results будет соответствовать индексам входных queries в соотношении 1:1. В случае неудачного запроса в соответствующем индексе списка results будет отображаться пустое сообщение Result ( entity не задана).
  • Необходимо проверить поле карты failed_requests в ответе, чтобы определить, какой именно индекс запроса не сработал. Ключ поля failed_requests представляет собой индекс (начиная с 0) неудачного запроса в запросе. Не следует предполагать, что весь пакетный вызов завершился неудачей из-за частичной ошибки.
resolve_maps_urls

Преобразует список URL-адресов Google Maps в канонические идентификаторы мест Google Maps.

Когда следует запускать этот инструмент (КРИТИЧНО):

  • Используйте этот инструмент, если пользователь предоставляет одну или несколько ссылок или URL-адресов для обмена данными в Google Maps (например, 'https://maps.app.goo.gl/...', 'https://www.google.com/maps/place/...' или 'https://maps.google.com/...'), и вам необходимо извлечь соответствующие канонические идентификаторы мест.
  • В одном пакетном запросе можно указать до 20 URL-адресов для обработки.

Требования к входным данным (КРИТИЧЕСКИ ВАЖНЫ):

  • urls (массив строк - ОБЯЗАТЕЛЬНО): Список URL-адресов Google Maps для разрешения. Каждый URL-адрес должен быть действительным URL-адресом Google Maps, указывающим на конкретное место.

Обработка ошибок (КРИТИЧЕСКИ ВАЖНО):

  • Это инструмент пакетной обработки. Запрос может возвращать «смешанные результаты» (например, некоторые URL-адреса обрабатываются успешно, а другие — нет).
  • Гарантируется, что выходной список entities будет соответствовать индексам входных urls в соотношении 1:1. Неудачное разрешение URL-адреса приведет к появлению пустого сообщения Entity (без заданных полей) по соответствующему индексу в списке entities .
  • Необходимо проверить поле failed_requests в ответе, чтобы определить, какой именно индекс URL-адреса не сработал. Ключ поля failed_requests представляет собой индекс URL-адреса, для которого ошибка произошла (начиная с 0), в запросе. Не следует предполагать, что весь пакетный вызов завершился неудачей из-за частичной ошибки.

Получить технические характеристики инструмента MCP

Чтобы получить спецификации всех инструментов MCP на сервере MCP, используйте метод tools/list . В следующем примере показано, как использовать curl для вывода списка всех инструментов и их спецификаций, доступных в данный момент на сервере MCP.

Запрос Curl
                      
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'