MCP Tools Reference: mapstools.googleapis.com

Tool: compute_routes

Berechnet eine Route zwischen einem angegebenen Start- und Zielort. Unterstützte Mobilitätsformen:DRIVE (Standard), WALK.

Eingabeanforderungen (WICHTIG): Erfordert sowohl Abreiseort als auch Zielort. Jede muss mit einer der folgenden Methoden im jeweiligen Feld angegeben werden:

  • address: (String, z. B. „Eiffelturm, Paris“) Hinweis: Je detaillierter oder spezifischer die eingegebene Adresse ist, desto besser sind die Ergebnisse.

  • lat_lng: (Objekt, {„latitude“: number, „longitude“: number})

  • place_id:: (String, z.B. „ChIJOwE_Id1w5EAR4Q27FkL6T_0“) Hinweis: Diese ID kann mit dem Tool „search_places“ abgerufen werden. Jede Kombination von Eingabetypen ist zulässig (z.B. Ursprung nach Adresse, Ziel nach lat_lng). Wenn entweder der Start- oder der Zielort fehlt, MÜSSEN Sie den Nutzer um eine Klarstellung bitten, bevor Sie versuchen, das Tool aufzurufen.

Beispiel für Tool-Aufruf: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • Die fundierte Ausgabe muss der Quelle zugeordnet werden. Verwenden Sie dazu die Informationen aus dem Feld attribution, sofern verfügbar.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool compute_routes aufrufen.

Curl-Anfrage
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 MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Eingabeschema

ComputeRoutesRequest.

ComputeRoutesRequest

JSON-Darstellung
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
Felder
origin

object (Waypoint)

Erforderlich. Ausgangspunkt.

destination

object (Waypoint)

Erforderlich. Ziel-Wegpunkt.

travelMode

enum (RouteTravelMode)

Optional. Gibt die Mobilitätsform an.

Zwischenstopp

JSON-Darstellung
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
Felder
Union-Feld location_type. Verschiedene Möglichkeiten, einen Ort darzustellen. Für location_type ist nur einer der folgenden Werte zulässig:
latLng

object (LatLng)

Ein Punkt, der mit geografischen Koordinaten angegeben wird.

placeId

string

Die Orts-ID, die dem Wegpunkt zugeordnet ist.

address

string

Eine lesbare Adresse oder ein Plus Code. Weitere Informationen finden Sie unter https://plus.codes.

LatLng

JSON-Darstellung
{
  "latitude": number,
  "longitude": number
}
Felder
latitude

number

Der Breitengrad in Grad. Er muss im Bereich [-90,0, +90,0] liegen.

longitude

number

Der Längengrad in Grad. Er muss im Bereich [-180,0, +180,0] liegen.

RouteTravelMode

Eine Reihe von Werten, mit denen die Art der Fortbewegung angegeben wird.

Enums
ROUTE_TRAVEL_MODE_UNSPECIFIED Keine Mobilitätsform angegeben. Die Standardeinstellung ist DRIVE.
DRIVE Mit dem Pkw reisen.
WALK Zu Fuß unterwegs sein HINWEIS: WALK-Routen befinden sich in der Betaphase und enthalten möglicherweise keine ausgewiesenen Gehwege oder Fußgängerwege. Sie müssen diese Warnung für alle in Ihrer App angezeigten Wanderungen einblenden.

Ausgabeschema

ComputeRoutesResponse.

ComputeRoutesResponse

JSON-Darstellung
{
  "routes": [
    {
      object (Route)
    }
  ]
}
Felder
routes[]

object (Route)

Enthält Routen zwischen dem angeforderten Start- und Zielort. Derzeit wird nur eine Route zurückgegeben.

Route

JSON-Darstellung
{
  "distanceMeters": integer,
  "duration": string,
  "attribution": {
    object (Attribution)
  }
}
Felder
distanceMeters

integer

Die Entfernung der Route in Metern.

duration

string (Duration format)

Die Zeit, die für die Navigation auf der Route benötigt wird.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

attribution

object (Attribution)

Erforderliche Quellenangabe, die mit der Route angezeigt werden muss.

Dauer

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzen werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre

nanos

integer

Vorzeichenbehaftete Bruchteile einer Sekunde mit Nanosekundenauflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld „0“ seconds und einem positiven oder negativen Feld nanos dargestellt. Bei Zeiträumen von einer Sekunde oder mehr muss ein Wert ungleich null für das Feld nanos dasselbe Vorzeichen wie das Feld seconds haben. Muss zwischen -999.999.999 und +999.999.999 (einschließlich) liegen.

Attribution

JSON-Darstellung
{
  "title": string,
  "url": string
}
Felder
title

string

Der Titel, der für die Quellenangabe angezeigt werden soll.

url

string

Die URL, auf die für die Quellenangabe verlinkt werden soll.

Tool-Annotationen

Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann ein Bestätigungs-Prompt an einen Nutzer gesendet werden soll.

Zusammen mit dem Titelstring werden die folgenden booleschen Hinweise so definiert:

  • readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.
  • destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.
  • idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.
  • openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Tool für die Websuche wäre beispielsweise Open World, ein Tool für das Gedächtnis nicht.

Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Hinweis „Nur lesen“: ✅ | Hinweis „Offene Welt“: ❌