MCP Tools Reference: mapstools.googleapis.com

Инструмент: search_places

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

Требования к входным данным (КРИТИЧНО)

  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 (объект – НЕОБЯЗАТЕЛЬНО). Используйте этот параметр, чтобы в первую очередь показывать результаты рядом с определенной географической областью.

    • Формат: {"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, если она доступна.

В приведенном ниже фрагменте кода показано, как использовать curl для вызова инструмента search_places MCP.

Запрос curl
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "search_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Схема ввода

Запрос для SearchText.

SearchTextRequest

JSON-представление
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
Поля
textQuery

string

Обязательно. Текстовый запрос.

languageCode

string

Необязательное поле. Язык, на котором нужно вернуть краткий пересказ. Если код языка не указан или не распознан, будет возвращено краткое изложение на английском языке.

Например, "en" для английского языка.

Текущий список поддерживаемых языков можно найти на странице https://developers.google.com/maps/faq#languagesupport.

regionCode

string

Необязательное поле. Код страны или региона Unicode (CLDR), откуда поступил запрос. Этот параметр используется для показа сведений о месте, например названия места для определенного региона, если оно доступно. Параметр может влиять на результаты в соответствии с действующим законодательством.

Например, "US" для США.

Подробнее: https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html.

Обратите внимание, что трехзначные коды регионов в настоящее время не поддерживаются.

Объединенное поле _location_bias.

Поле _location_bias может иметь одно из следующих значений:

locationBias

object (LocationBias)

Необязательный регион, который будет учитываться при ранжировании результатов поиска. Если в поле text_query указано точное местоположение, оно будет использоваться для сортировки результатов поиска вместо этого поля.

LocationBias

JSON-представление
{
  "circle": {
    object (Circle)
  }
}
Поля
circle

object (Circle)

Необязательное поле. Окружность, заданная центральной точкой и радиусом. Символ radius_meters указывать необязательно. Если не задать этот параметр, результаты будут смещены в сторону центральной точки.

Круг

JSON-представление
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
Поля
center

object (LatLng)

Обязательно. Центр круга.

Объединенное поле _radius_meters.

Поле _radius_meters может иметь одно из следующих значений:

radiusMeters

number

Радиус круга в метрах. Радиус должен быть не более 50 000 метров.

LatLng

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Градусная мера широты. Значение должно находиться в диапазоне от -90,0 до +90,0.

longitude

number

Градусная мера долготы. Должна попадать в диапазон [-180.0, +180.0].

Схема вывода

Ответное сообщение для SearchText.

SearchTextResponse

JSON-представление
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string
}
Поля
places[]

object (PlaceView)

Используется только для вывода. Список мест, упомянутых в кратком пересказе.

summary

string

Используется только для вывода. Краткий пересказ результатов поиска на естественном языке. В кратком пересказе могут быть ссылки на источники, например [0], [1], [2] и т. д. Эти ссылки соответствуют местам в поле places.

PlaceView

JSON-представление
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
Поля
place

string

Название ресурса базового места в формате "places/{id}".

id

string

Идентификатор места, на котором основан объект.

googleMapsLinks

object (GoogleMapsLinks)

Ссылки для выполнения различных действий в Google Картах.

attribution

object (Attribution)

Обязательная атрибуция, которая будет показываться вместе с местом.

Объединенное поле _location.

Поле _location может иметь одно из следующих значений:

location

object (LatLng)

Позиция этого места.

LatLng

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Градусная мера широты. Значение должно находиться в диапазоне от -90,0 до +90,0.

longitude

number

Градусная мера долготы. Должна попадать в диапазон [-180.0, +180.0].

JSON-представление
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
Поля
directionsUrl

string

Ссылка на маршрут до места. Ссылка заполняет только целевое местоположение и использует режим путешествия по умолчанию DRIVE.

placeUrl

string

Ссылка на это место.

writeAReviewUrl

string

ссылку, чтобы написать отзыв об этом месте в Google Картах.

reviewsUrl

string

Ссылка на отзывы об этом месте на Google Картах.

photosUrl

string

Ссылка на фотографии этого места на Google Картах.

Атрибуция

JSON-представление
{
  "title": string,
  "url": string
}
Поля
title

string

Заголовок, который будет показываться в атрибуции.

url

string

URL, на который ведет ссылка для атрибуции.

Аннотации инструментов

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

Вместе со строкой заголовка определены следующие логические подсказки:

  • readOnlyHint: если значение равно true, инструмент не изменяет среду. Значение по умолчанию – false.
  • destructiveHint: если задано значение True, инструмент может выполнять деструктивные действия. Если задано значение false, инструмент может выполнять только действия по добавлению. Значение по умолчанию: true.
  • idempotentHint: если задано значение True, повторный вызов инструмента с теми же аргументами не окажет дополнительного влияния на его среду. Значение по умолчанию – false.
  • openWorldHint – если значение равно true, инструмент может взаимодействовать с внешними объектами. Если значение равно false, инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет открытым миром, а инструмент памяти – нет.

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌