Инструмент: search_places
Вызывайте этот инструмент, когда пользователь просит найти места, компании, адреса, местоположения, достопримечательности или выполнить любой другой поиск, связанный с Google Картами.
Требования к входным данным (КРИТИЧЕСКИ ВАЖНО):
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'.
- Примеры:
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).
- Чтобы задать смещение в радиусе 5 км:
- Формат:
language_code(строка, необязательный параметр). Язык, на котором будет показана сводка результатов поиска.- Формат. Двухбуквенный код языка (ISO 639-1), за которым может следовать символ подчеркивания и двухбуквенный код страны (ISO 3166-1 alpha-2), например
en,ja,en_US,zh_CN,es_MX. Если код языка не указан, результаты будут на английском.
- Формат. Двухбуквенный код языка (ISO 639-1), за которым может следовать символ подчеркивания и двухбуквенный код страны (ISO 3166-1 alpha-2), например
region_code(строка, необязательный). Код региона пользователя в формате Unicode CLDR. Этот параметр используется для отображения информации о местах, например названия места для определенного региона, если оно доступно. Этот параметр может влиять на результаты в соответствии с действующим законодательством.- Формат. Двухбуквенный код страны (ISO 3166-1 alpha-2), например
US,CA.
- Формат. Двухбуквенный код страны (ISO 3166-1 alpha-2), например
page_size(целое число, необязательно). Максимальное количество мест, которое нужно вернуть (от1до10). Значение по умолчанию –5. Устанавливайте значение выше5, только если пользователю нужно сравнить более пяти мест. Значения от6до10приводят к увеличению стоимости и задержки.include_extended_details(логическое значение, НЕОБЯЗАТЕЛЬНО). Задайте для этого поля значениеtrue, если запрос пользователя требует подробных качественных данных, динамики в реальном времени или специализированных атрибутов объектов. Значение по умолчанию –false. Если задать значениеtrue, стоимость и задержка будут выше.
Инструкции по вызову инструмента
Геоданные (КРИТИЧЕСКИ ВАЖНО). Поисковый запрос должен содержать достаточно геоданных. Если местоположение неоднозначно (например, просто "пиццерии"), необходимо указать его в
text_query(например, "пиццерии в Нью-Йорке") или использовать параметрlocation_bias. При необходимости укажите город, штат/провинцию и регион/страну.Всегда указывайте максимально точные и подробные
text_query.Используйте
location_bias, только если координаты указаны явно или если определение местоположения по известному контексту пользователя уместно и необходимо для получения лучших результатов.Обоснованный ответ должен быть связан с источником с помощью информации из поля
attribution, если она доступна.
В примере кода ниже показано, как использовать curl для вызова инструмента MCP search_places.
| Запрос 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, "pageSize": integer, "includeExtendedDetails": boolean, // Union field |
| Поля | |
|---|---|
textQuery |
Обязательно. Текстовый запрос. |
languageCode |
Необязательное поле. Язык, на котором нужно составить краткий пересказ. Если код языка не указан или не распознан, будет возвращена сводка на английском языке. Например, "en" для английского языка. Актуальный список поддерживаемых языков: https://developers.google.com/maps/faq#languagesupport. |
regionCode |
Необязательное поле. Код страны или региона (CLDR) в формате Unicode, откуда поступает запрос. Этот параметр используется для отображения информации о месте, например названия места в определенном регионе, если оно доступно. Параметр может влиять на результаты в соответствии с действующим законодательством. Например, "US" для США. Подробную информацию можно найти на странице https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. Обратите внимание, что трехзначные коды регионов в настоящее время не поддерживаются. |
pageSize |
Необязательное поле. Максимальное количество мест в ответе (до 10). Сервис может вернуть меньше результатов, чем указано в этом значении. Значение по умолчанию – 5. Если запросить более 5 Places, будет активирован уровень Pro, что приведет к увеличению суммы к оплате и задержки. |
includeExtendedDetails |
Необязательное поле. Включает в ответ расширенные сведения о месте. Установите для этого поля значение Оставьте значение Если включить это поле, будет активирован уровень Pro, что приведет к увеличению суммы к оплате и задержки. |
Объединенное поле Поле |
|
locationBias |
Необязательный параметр, позволяющий ограничить результаты поиска определенным регионом. Если в поле |
LocationBias
| JSON-представление |
|---|
{
"circle": {
object ( |
| Поля | |
|---|---|
circle |
Необязательное поле. Окружность, заданная центральной точкой и радиусом. Параметр |
Круг
| JSON-представление |
|---|
{ "center": { object ( |
| Поля | |
|---|---|
center |
Обязательно. Центральная точка круга. |
Объединенное поле Поле |
|
radiusMeters |
Радиус круга в метрах. Радиус должен быть не более 50 000 метров. |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude |
Градусная мера широты. Должна попадать в диапазон [-90.0, +90.0]. |
longitude |
Градусная мера долготы. Должна попадать в диапазон [-180,0, +180,0]. |
Схема вывода
Ответ на запрос SearchText.
SearchTextResponse
| JSON-представление |
|---|
{
"places": [
{
object ( |
| Поля | |
|---|---|
places[] |
Только для вывода. Список мест, упомянутых в сводке. |
summary |
Только для вывода. Краткий пересказ результатов поиска на естественном языке. В сводке могут быть цитаты, пронумерованные с нуля, например "[0]", "[1]", "[2]" и т. д. Они соответствуют местам в поле |
contentToken |
Только для вывода. Зашифрованный токен, который содержит контекст поиска и может быть передан в сервисы визуальной отрисовки Google Карт, SDK или агентный набор инструментов интерфейса Карт (A2UI) для показа интерактивных компонентов интерфейса в результатах поиска. |
PlaceView
| JSON-представление |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Поля | |
|---|---|
place |
Название ресурса места в формате "places/{id}". |
id |
Идентификатор места, к которому относится адрес. |
googleMapsLinks |
Ссылки, которые запускают различные действия в Google Картах. |
attribution |
Обязательная атрибуция, которая должна показываться вместе с местом. |
Объединенное поле Поле |
|
location |
Местоположение этого места. |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude |
Градусная мера широты. Должна попадать в диапазон [-90.0, +90.0]. |
longitude |
Градусная мера долготы. Должна попадать в диапазон [-180,0, +180,0]. |
GoogleMapsLinks
| JSON-представление |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Поля | |
|---|---|
directionsUrl |
Ссылка на маршрут до места. В ссылке указан только пункт назначения и используется способ передвижения по умолчанию ( |
placeUrl |
Ссылка на это место. |
writeAReviewUrl |
Ссылка, по которой можно написать отзыв об этом месте в Google Картах. |
reviewsUrl |
Ссылка на отзывы об этом месте в Google Картах. |
photosUrl |
Ссылка на фотографии этого места в Google Картах. |
Атрибуция
| JSON-представление |
|---|
{ "title": string, "url": string } |
| Поля | |
|---|---|
title |
Заголовок, который будет показываться в атрибуции. |
url |
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: ❌