Инструмент: 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), например
Инструкции по вызову инструмента
Информация о местоположении (КРИТИЧЕСКИ ВАЖНО). Поисковый запрос должен содержать достаточно информации о местоположении. Если местоположение указано неточно (например, просто "пиццерии"), необходимо уточнить его в параметре
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 |
Необязательное поле. Максимальное количество мест в ответе (до 5). Сервис может вернуть меньше результатов, чем указано в этом значении. Значение по умолчанию – 5. |
includeExtendedDetails |
Необязательное поле. Включает в ответ расширенные сведения о месте. Установите для этого поля значение Оставьте значение Если включить это поле, задержка увеличится. |
Объединенное поле Поле |
|
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: ❌