Инструмент: resolve_names
Преобразует пакетный список запросов на определение местоположения (названия достопримечательностей или точные адреса) в канонические идентификаторы мест Google Maps.
Требования к входным данным (КРИТИЧЕСКИ ВАЖНЫ):
queries(массив объектов - ОБЯЗАТЕЛЬНО): Список запросов местоположения для обработки. Вы можете указать до 20 запросов.- Каждый объект запроса должен содержать:
-
text(строка - ОБЯЗАТЕЛЬНО): текстовый запрос, представляющий конкретное название места или адрес для обработки.- Примеры:
'Googleplex, Mountain View, CA','1600 Amphitheatre Pkwy, Mountain View, CA','Eiffel Tower, Paris'.
- Примеры:
-
- Каждый объект запроса должен содержать:
location_bias(object - OPTIONAL): Используйте это для определения приоритета результатов, полученных вблизи определенной географической области.- Формат:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- Формат:
region_code(строка - НЕОБЯЗАТЕЛЬНО): Код региона Unicode CLDR (двухбуквенный код страны, например,US,CA) пользователя, который будет использоваться для корректировки результатов.
Инструкции по вызову специалиста:
- Специфичность (КРИТИЧЕСКИ ВАЖНО): Запросы должны содержать конкретное название места или адрес. Общие запросы, такие как
'restaurants'или названия сетей, например'Starbucks'не поддерживаются. - НЕ вызывайте этот инструмент, если инструменты, которые вы планируете использовать, уже принимают напрямую необработанные строки адресов или имен мест.
Обработка ошибок (КРИТИЧЕСКИ ВАЖНО):
- Это инструмент пакетной обработки. Запрос может возвращать «смешанные результаты» (например, некоторые запросы выполняются успешно, а другие завершаются с ошибкой).
- Гарантируется, что выходной список
resultsбудет соответствовать индексам входныхqueriesв соотношении 1:1. В случае неудачного запроса в соответствующем индексе спискаresultsбудет отображаться пустое сообщениеResult(entityне задана). - Необходимо проверить поле карты
failed_requestsв ответе, чтобы определить, какой именно индекс запроса не сработал. Ключ поляfailed_requestsпредставляет собой индекс (начиная с 0) неудачного запроса в запросе. Не следует предполагать, что весь пакетный вызов завершился неудачей из-за частичной ошибки.
В следующем примере показано, как использовать curl для вызова инструмента MCP resolve_names .
| Запрос 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": "resolve_names", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
Запрос сообщения для ResolveNames.
ResolveNamesRequest
| JSON-представление |
|---|
{ "queries": [ { object ( |
| Поля | |
|---|---|
queries[] | Обязательно. Список запросов местоположения, которые необходимо обработать. Вы можете указать до 20 запросов. |
locationBias | Необязательный параметр. Необязательная область для смещения результатов разрешения. Если указана, результаты разрешения будут смещены в сторону объектов, расположенных ближе к этой области. Включение Если указаны параметры |
regionCode | Необязательный параметр. Необязательный код региона для корректировки результатов поиска. Если он указан, результаты поиска будут смещены в сторону объектов, находящихся в указанном регионе или рядом с ним. Это должен быть код региона CLDR. Например, "US" или "CA". Включение Если указаны параметры |
LocationQuery
| JSON-представление |
|---|
{ "text": string } |
| Поля | |
|---|---|
text | Обязательно. Текстовый запрос для определения конкретного геопространственного объекта на Google Maps, например, места или адреса. Чем точнее запрос, тем точнее определение. Например, "Сан-Франциско", "Googleplex, Маунтин-Вью, Калифорния", "1600 Amphitheatre Parkway, Маунтин-Вью, Калифорния" или "Эйфелева башня, Париж". Запросы должны содержать конкретный адрес или название места. Общие местоположения, такие как название сети (например, Starbucks) или поисковый запрос типа "рестораны", не поддерживаются. |
LocationBias
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
type поля объединения. Тип смещения местоположения. type может принимать только одно из следующих значений: | |
viewport | Область просмотра, определенная ограничивающим прямоугольником. |
Видовое окно
| JSON-представление |
|---|
{ "low": { object ( |
| Поля | |
|---|---|
low | Обязательно. Нижняя точка области просмотра. |
high | Обязательно. Самая высокая точка в области просмотра. |
LatLng
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude | Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0]. |
Схема вывода
Ответное сообщение для ResolveNames.
ResolveNamesResponse
| JSON-представление |
|---|
{ "results": [ { object ( |
| Поля | |
|---|---|
results[] | Только вывод. Список разрешенных сущностей из запросов местоположения. Гарантированное соответствие 1:1 с индексами |
failedRequests | Только вывод. Карта, отображающая частичные сбои. Ключом является индекс неудачного запроса в поле Объект, содержащий список пар |
Результат
| JSON-представление |
|---|
{ "entity": { object ( |
| Поля | |
|---|---|
entity | Только вывод. Полученная сущность из запроса местоположения. |
confidence | Только вывод. Уровень достоверности разрешения. |
Сущность
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Поле объединения entity . Разрешённый тип сущности. entity может быть только одной из следующих: | |
place | Название ресурса найденного места. |
FailedRequestsEntry
| JSON-представление |
|---|
{
"key": integer,
"value": {
object ( |
| Поля | |
|---|---|
key | |
value | |
Статус
| JSON-представление |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Поля | |
|---|---|
code | Код состояния, который должен быть значением перечисления |
message | Сообщение об ошибке, предназначенное для разработчика, должно быть на английском языке. Любое сообщение об ошибке, предназначенное для пользователя, должно быть локализовано и отправлено в поле |
details[] | Список сообщений, содержащих подробную информацию об ошибке. Существует общий набор типов сообщений, используемых API. Объект, содержащий поля произвольного типа. Дополнительное поле |
Любой
| JSON-представление |
|---|
{ "typeUrl": string, "value": string } |
| Поля | |
|---|---|
typeUrl | Определяет тип сериализованного сообщения Protobuf с помощью URI-ссылки, состоящей из префикса, заканчивающегося косой чертой, и полного имени типа. Пример: type.googleapis.com/google.protobuf.StringValue Эта строка должна содержать как минимум один символ Префикс произвольный, и предполагается, что реализации Protobuf просто удалят все до последнего символа Все строковые URL-адреса должны представлять собой допустимые ссылки URI с дополнительным ограничением (для текстового формата): содержимое ссылки должно состоять только из буквенно-цифровых символов, экранированных символов в процентном кодировании и символов из следующего набора (за исключением внешних обратных кавычек): В первоначальном проекте |
value | Содержит сериализацию Protobuf типа, описываемого параметром type_url. Строка, закодированная в формате Base64. |
Уверенность
Уровень уверенности в принятой резолюции.
| Перечисления | |
|---|---|
CONFIDENCE_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
MEDIUM | Средний уровень достоверности указывает на то, что решение, вероятно, верное, но могут быть и другие варианты. |
HIGH | Высокая степень достоверности указывает на то, что разрешение корректно и соответствует конкретному географическому объекту (например, конкретному месту). |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ✅ | Подсказка об открытом мире: ❌