Инструмент: 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 для вызова инструмента 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 |
| Поля | |
|---|---|
textQuery |
Обязательно. Текстовый запрос. |
languageCode |
Необязательное поле. Язык, на котором нужно вернуть краткий пересказ. Если код языка не указан или не распознан, будет возвращено краткое изложение на английском языке. Например, "en" для английского языка. Текущий список поддерживаемых языков можно найти на странице https://developers.google.com/maps/faq#languagesupport. |
regionCode |
Необязательное поле. Код страны или региона Unicode (CLDR), откуда поступил запрос. Этот параметр используется для показа сведений о месте, например названия места для определенного региона, если оно доступно. Параметр может влиять на результаты в соответствии с действующим законодательством. Например, "US" для США. Подробнее: https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. Обратите внимание, что трехзначные коды регионов в настоящее время не поддерживаются. |
Объединенное поле Поле |
|
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] и т. д. Эти ссылки соответствуют местам в поле |
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: ❌