MCP Tools Reference: mapstools.googleapis.com

Инструмент: 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 только в том случае, если координаты указаны явно или если определение местоположения на основе известного пользователю контекста является целесообразным и необходимым для получения лучших результатов.

В следующем примере показано, как использовать 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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

Запрос сообщения для SearchText.

SearchTextRequest

JSON-представление
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "pageSize": integer,
  "pageToken": 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 .

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

pageSize

integer

Необязательно. Максимальное количество мест для возврата. Сервис может вернуть меньшее количество мест, чем это значение.

pageToken

string

Необязательный параметр. Токен страницы, полученный из предыдущего вызова функции SearchText . Укажите его, чтобы получить следующую страницу.

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

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

locationBias

object ( LocationBias )

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

LocationBias

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

object ( Circle )

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

Круг

JSON-представление
{
  "center": {
    object (google.type.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 ( google.type.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,
  "nextPageToken": string
}
Поля
places[]

object ( PlaceView )

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

summary

string

Только вывод. Краткое изложение результатов поиска на естественном языке. Краткое изложение может содержать нулевые ссылки, такие как "[0]", "[1]", "[2]" и т. д. Эти ссылки соответствуют местам в поле places ".

nextPageToken

string

Необязательный параметр. Токен, который можно отправить в качестве page_token для получения следующей страницы.

PlaceView

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

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

string

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

id

string

Идентификатор места, к которому относится данное место.

googleMapsLinks

object ( GoogleMapsLinks )

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

Поле объединения _location .

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

location

object ( google.type.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 Maps.

reviewsUrl

string

Ссылка для просмотра отзывов об этом месте на Google Maps.

photosUrl

string

Ссылка для просмотра отзывов об этом месте на Google Maps.

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

Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌