MCP Tools Reference: mapstools.googleapis.com

Инструмент: compute_routes

Вычисляет маршрут между указанными пунктами отправления и назначения. Поддерживаемые режимы передвижения: АВТОМОБИЛЬ (по умолчанию), ПЕШКОМ.

Требования к входным данным (КРИТИЧЕСКИ ВАЖНО): Необходимо указать как источник , так и получателя . Каждый из них должен быть предоставлен одним из следующих способов, вложенным в соответствующее поле:

  • Адрес: (строка, например, 'Эйфелева башня, Париж'). Примечание: чем точнее или детальнее входной адрес, тем лучше будут результаты.

  • lat_lng: (object, {"latitude": number, "longitude": number})

  • place_id: (строка, например, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') Примечание: Этот идентификатор можно получить с помощью инструмента search_places. Допускается любая комбинация типов ввода (например, пункт отправления по адресу, пункт назначения по широте и долготе). Если пункт отправления или назначения отсутствует, ОБЯЗАТЕЛЬНО запросите у пользователя уточнение, прежде чем пытаться вызвать инструмент.

Пример вызова инструмента: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

В следующем примере показано, как использовать curl для вызова инструмента MCP compute_routes .

Запрос 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": "compute_routes",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Схема ввода

ComputeRoutesRequest.

ComputeRoutesRequest

JSON-представление
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
Поля
origin

object ( Waypoint )

Обязательно. Начальная точка маршрута.

destination

object ( Waypoint )

Обязательно. Пункт назначения.

travelMode

enum ( RouteTravelMode )

Необязательно. Указывает вид транспорта.

Путевая точка

JSON-представление
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
Поля
Поле объединения location_type . Различные способы представления местоположения. location_type может принимать только одно из следующих значений:
latLng

object ( google.type.LatLng )

Точка, заданная с использованием географических координат.

placeId

string

Идентификатор места, связанный с путевой точкой.

address

string

Адрес в удобочитаемом виде или код «плюс». Подробности см. на сайте https://plus.codes .

LatLng

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0].

Схема вывода

ComputeRoutesResponse.

ComputeRoutesResponse

JSON-представление
{
  "routes": [
    {
      object (Route)
    }
  ]
}
Поля
routes[]

object ( Route )

Содержит маршруты между запрошенным пунктом отправления и назначения. В настоящее время возвращается только один маршрут.

Маршрут

JSON-представление
{
  "distanceMeters": integer,
  "duration": string
}
Поля
distanceMeters

integer

Пройденное расстояние по маршруту в метрах.

duration

string ( Duration format)

Время, необходимое для прохождения маршрута.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

Продолжительность

JSON-представление
{
  "seconds": string,
  "nanos": integer
}
Поля
seconds

string ( int64 format)

Секунды, выраженные знаком, представляют собой промежуток времени. Должны находиться в диапазоне от -315 576 000 000 до +315 576 000 000 включительно. Примечание: эти границы вычисляются по формуле: 60 сек/мин * 60 мин/час * 24 часа/сутки * 365,25 дней/год * 10000 лет

nanos

integer

Доли секунды со знаком, отображаемые с наносекундным разрешением. Длительности менее одной секунды обозначаются полем 0 seconds и положительным или отрицательным значением поля nanos . Для длительностей в одну секунду и более ненулевое значение поля nanos должно иметь тот же знак, что и поле seconds . Должен находиться в диапазоне от -999 999 999 до +999 999 999 включительно.

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

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