Tool: compute_routes
Berechnet Reiserouten zwischen einem Start- und einem Zielort, optional über Zwischenstopps. Gibt die Entfernung und Dauer für jede Route zurück.
Eingabeanforderungen (WICHTIG):
originunddestination(Objekte – ERFORDERLICH): Jedes muss mit genau einer der folgenden Optionen angegeben werden:address(String, z. B.'Eiffel Tower, Paris'). Benannte Orte, Sehenswürdigkeiten und Unternehmen werden direkt aufgelöst. Rufen Sie also NICHT zuerstsearch_placesauf, nur um einen Wegpunkt zu geocodieren. Berücksichtigen Sie alle Städte, Regionen oder Länder, die der Nutzer erwähnt hat.lat_lng(Objekt,{"latitude": number, "longitude": number}).place_id(String, z. B.'ChIJOwE_Id1w5EAR4Q27FkL6T_0'), z. B. vonsearch_places.
intermediate_waypoints(Array von Objekten – OPTIONAL): Bis zu 25 Zwischenstopps, die in der angegebenen Reihenfolge zwischen Start und Ziel angefahren werden sollen. Gleiches Format wieorigin. Wird mitTRANSITnicht unterstützt. Geben Sie nur die vom Nutzer angeforderten Zwischenstopps an. Wenn Sie mehr als 10 Zwischenwegpunkte angeben, fallen höhere Kosten und eine höhere Latenz an.travel_mode(Enum – OPTIONAL):DRIVE(Standard),WALK,BICYCLEoderTRANSIT.Zeitpunkt (OPTIONAL – höchstens EINEN festlegen): RFC 3339-Zeitstempel mit UTC-Abweichung, z.B.
'2026-09-19T08:00:00-07:00'. Die Standardeinstellung ist „Jetzt abfahren“. FürTRANSITkann die Zeit bis zu 7 Tage in der Vergangenheit oder bis zu 100 Tage in der Zukunft liegen. In anderen Modi kann die Zeit bis zu 365 Tage in der Zukunft liegen und darf nicht in der Vergangenheit liegen.departure_time: Verwenden, wenn der Nutzer angibt, wann er abreist (z.B. „morgen um 8:00 Uhr“).arrival_time: Verwenden Sie diesen Parameter, wenn der Nutzer angibt, wann er ankommen muss (z.B. „bis 9:00 Uhr da sein“).
routing_preference(enum – OPTIONAL):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(Standard): Live-Verkehrsinformationen, Verkehrsbehinderungen und Sperrungen werden ignoriert. Niedrigste Latenz.ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: Verwendet die aktuelle Verkehrslage, sofern verfügbar. Wird fürWALKoderBICYCLEnicht unterstützt. Setzen Sie diese Option NUR, wenn der Nutzer nach dem Verkehr, Staus oder einer verkehrsabhängigen voraussichtlichen Ankunftszeit fragt. Es verursacht höhere Kosten und Latenz.
location_bias(Objekt – OPTIONAL):{"latitude": number, "longitude": number}wird verwendet, um Ortsnamen in Wegpunktadressen eindeutig zu machen. Wenn ein Name mehrdeutig ist (z.B. „Springfield“) und der Nutzer keine Region angegeben hat, behalte den Namen wie inaddressangegeben bei und setzelocation_biasauf den beabsichtigten Bereich, anstatt eine Region zu erraten.compute_alternative_routes(boolesch – OPTIONAL): Setzen Sie diesen Wert nur dann auftrue, wenn der Nutzer nach Routenoptionen oder Alternativen fragt. Der Standardwert istfalse. Damit wird nur die empfohlene Route zurückgegeben.include_polyline(boolesch – OPTIONAL): Legen Sie diesen Wert nur dann auftruefest, wenn die Routengeometrie (encoded_polyline) benötigt wird. Die Standardeinstellung istfalse.
Anweisungen für den Toolaufruf:
- Wenn der Start- oder Zielort fehlt, MÜSSEN Sie den Nutzer um Klärung bitten, bevor Sie das Tool aufrufen.
- Verwenden Sie bei Fragen wie „Wie weit ist A von B entfernt?“ B als
originund A alsdestination.
Beispiel für einen Toolaufruf: {"origin":{"address":"Eiffelturm"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}
Anweisungen für die Antwort:
- Wenn alternative Routen angefordert werden, werden die Routen von der am meisten empfohlenen bis zur am wenigsten empfohlenen Route sortiert.
- Wenn
routesleer ist, teile dem Nutzer mit, dass keine Route gefunden wurde. Raten Sie nicht, welche Route die richtige ist. - Wenn Sie Orte entlang einer
DRIVE-Route finden möchten, übergeben Sie dieretrieval_tokender Route ansearch_along_route. Das Token ist 10 Minuten lang gültig. - Nenne nur Fakten, die vom Tool zurückgegeben werden. Erfinden Sie KEINE detaillierten Routenführungen, Linien, Haltestellen, Bahnsteige oder Umstiege.
- Die fundierte Ausgabe muss der Quelle zugeordnet werden. Verwenden Sie dazu das Feld
attributionder jeweiligen Route, falls 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 ( |
| Felder | |
|---|---|
origin |
Erforderlich. Ausgangswegpunkt. |
destination |
Erforderlich. Zielwegpunkt. |
travelMode |
Optional. Gibt die Mobilitätsform an. |
intermediateWaypoints[] |
Optional. Zwischenstopps zwischen Start- und Zielort, die in der angegebenen Reihenfolge passiert werden sollen. Es werden bis zu 25 Zwischenwegpunkte unterstützt. Wenn Sie mehr als 10 Zwischenwegpunkte angeben, führt das zu höheren Kosten und einer höheren Latenz. Zwischenwegpunkte werden nicht unterstützt, wenn |
routingPreference |
Optional. Bestimmt, wie Verkehrsdaten zur Berechnung der Route verwendet werden. |
locationBias |
Optional. Ein Ort, auf den die Suchergebnisse ausgerichtet werden sollen, z. B. um Mehrdeutigkeiten bei Textabfragen für Wegpunkte aufzulösen. |
includePolyline |
Optional. Gibt an, ob die codierte Polylinie in die Antwortrouten aufgenommen werden soll. Die Standardeinstellung ist |
computeAlternativeRoutes |
Optional. Gibt an, ob zusätzlich zur empfohlenen Route alternative Routen berechnet werden sollen. Der Standardwert ist „false“. In diesem Fall wird nur die empfohlene Route zurückgegeben. Wenn „true“ festgelegt ist, werden bis zu alle verfügbaren Routen zurückgegeben. Alternativen sind jedoch möglicherweise nicht für jede Anfrage verfügbar. |
Union-Feld timing. Gibt an, wann Sie vom Startpunkt abfahren oder am letzten Wegpunkt ankommen möchten. Wenn keine Angabe gemacht wird, wird standardmäßig die aktuelle Uhrzeit verwendet. Bei TRANSIT darf die Zeit höchstens 7 Tage in der Vergangenheit und höchstens 100 Tage in der Zukunft liegen. Bei anderen Mobilitätsformen darf die Zeit nicht in der Vergangenheit liegen und höchstens 365 Tage in der Zukunft. Für timing ist nur einer der folgenden Werte zulässig: |
|
departureTime |
Optional. Gibt an, dass die Route anhand der Abfahrtszeit berechnet werden soll. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
arrivalTime |
Optional. Gibt an, dass die Route anhand der Ankunftszeit berechnet werden soll. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
Zwischenstopp
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld location_type. Verschiedene Möglichkeiten, einen Standort darzustellen. Für location_type ist nur einer der folgenden Werte zulässig: |
|
latLng |
Ein Punkt, der mit geografischen Koordinaten angegeben wird. |
placeId |
Die Orts-ID, die dem Wegpunkt zugeordnet ist. |
address |
Menschenlesbare Adresse oder Plus Code. Weitere Informationen finden Sie unter https://plus.codes. |
LatLng
| JSON-Darstellung |
|---|
{ "latitude": number, "longitude": number } |
| Felder | |
|---|---|
latitude |
Der Breitengrad in Grad. Er muss im Bereich [-90,0, +90,0] liegen. |
longitude |
Der Längengrad in Grad. Er muss im Bereich [-180,0, +180,0] liegen. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss zwischen -62135596800 und 253402300799 (einschließlich) liegen, was 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z entspricht. |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld ist der Nanosekundenanteil der Dauer, keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 (einschließlich) liegen. |
RouteTravelMode
Eine Reihe von Werten, mit denen die Mobilitätsform angegeben wird.
| Enums | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Keine Mobilitätsform angegeben. Die Standardeinstellung ist DRIVE. |
DRIVE |
Fahrt mit dem Pkw |
WALK |
Zu Fuß gehen. HINWEIS: WALK-Routen befinden sich in der Betaphase. Es kann vorkommen, dass Gehwege oder Fußgängerwege fehlen. Sie müssen diese Warnung für alle Fußgängerrouten anzeigen, die in Ihrer App angezeigt werden. |
BICYCLE |
Fahrrad |
TRANSIT |
Öffentliche Verkehrsmittel nutzen |
RoutingPreference
Eine Reihe von Werten, die Faktoren angeben, die bei der Berechnung der Route berücksichtigt werden sollen.
| Enums | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
Keine Routing-Einstellung angegeben. Die Standardeinstellung ist ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
Berechnet Routen, ohne die aktuelle Verkehrslage zu berücksichtigen. Geeignet, wenn die Verkehrslage keine Rolle spielt oder nicht zutrifft. Die Verwendung dieses Werts führt zur niedrigsten Latenz. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
Berechnet Routen unter Berücksichtigung der aktuellen Verkehrslage, sofern Verkehrsdaten verfügbar sind. Für Dieser Wert löst die Pro-Stufe aus und führt zu höheren Abrechnungskosten und einer höheren Latenz. |
Ausgabeschema
ComputeRoutesResponse.
ComputeRoutesResponse
| JSON-Darstellung |
|---|
{
"routes": [
{
object ( |
| Felder | |
|---|---|
routes[] |
Enthält Routen zwischen dem angeforderten Start- und Zielort, sortiert von der am meisten empfohlenen bis zur am wenigsten empfohlenen Route. Es wird nur eine Route zurückgegeben, es sei denn, |
Route
| JSON-Darstellung |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Felder | |
|---|---|
distanceMeters |
Die Länge der Route in Metern. |
duration |
Die Zeit, die für die Route benötigt wird. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „ |
attribution |
Erforderliche Quellenangabe, die mit der Route angezeigt werden soll. |
encodedPolyline |
Eine codierte Polylinie der Route. Weitere Informationen finden Sie unter https://developers.google.com/maps/documentation/utilities/polylinealgorithm. |
retrievalToken |
Ein Token, mit dem diese bestimmte Route in nachgelagerten Tools wie SearchAlongRoute abgerufen werden kann. 10 Minuten gültig. |
Dauer
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Vorzeichenbehaftete Sekunden der Zeitspanne. 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 |
Vorzeichenbehaftete Sekundenbruchteile mit Nanosekundenauflösung der Zeitspanne. Dauern von weniger als einer Sekunde werden mit einem |
Attribution
| JSON-Darstellung |
|---|
{ "title": string, "url": string } |
| Felder | |
|---|---|
title |
Der Titel, der für die Attribution angezeigt werden soll. |
url |
Die URL, auf die für die Attribution 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 jedoch verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet werden soll.
Zusätzlich zum Titelstring werden die folgenden booleschen Hinweise 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 Entitäten interagieren. Wenn „false“, kann das Tool nur mit internen Entitäten interagieren. Ein Tool für die Websuche wäre beispielsweise frei verfügbar, ein Tool für gemerkte Informationen jedoch nicht.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌