MCP Reference: mapstools.googleapis.com

Dies ist ein MCP-Server, der von der Maps Grounding Lite API bereitgestellt wird. Der Server bietet Entwicklern Tools zum Erstellen von LLM-Anwendungen auf der Google Maps Platform.

Ein Model Context Protocol (MCP)-Server fungiert als Proxy zwischen einem externen Dienst, der einem Large Language Model (LLM) oder einer KI-Anwendung Kontext, Daten oder Funktionen bereitstellt. MCP-Server verbinden KI-Anwendungen mit externen Systemen wie Datenbanken und Webdiensten und übersetzen deren Antworten in ein Format, das die KI-Anwendung versteht.

Server einrichten

Sie müssen MCP-Server aktivieren und die Authentifizierung einrichten, bevor Sie sie verwenden können. Weitere Informationen zur Verwendung von Remote-MCP-Servern von Google und Google Cloud finden Sie unter Google Cloud-MCP-Server – Übersicht.

Serverendpunkte

Ein MCP-Dienstendpunkt ist die Netzwerkadresse und Kommunikationsschnittstelle (in der Regel eine URL) des MCP-Servers, über die eine KI-Anwendung (der Host für den MCP-Client) eine sichere, standardisierte Verbindung herstellt. Es ist der Ansprechpartner für das LLM, um Kontext anzufordern, ein Tool aufzurufen oder auf eine Ressource zuzugreifen. Google MCP-Endpunkte können global oder regional sein.

Der Maps Grounding Lite API-MCP-Server hat den folgenden globalen MCP-Endpunkt:

  • https://mapstools.googleapis.com/mcp

MCP-Tools

Ein MCP-Tool ist eine Funktion oder ausführbare Funktion, die ein MCP-Server einem LLM oder einer KI-Anwendung zur Ausführung einer Aktion in der realen Welt zur Verfügung stellt.

Tools

Der MCP-Server „mapstools.googleapis.com“ enthält die folgenden Tools:

MCP-Tools
search_places

Rufen Sie dieses Tool auf, wenn der Nutzer nach Orten, Unternehmen, Adressen, Standorten, Sehenswürdigkeiten oder anderen Google Maps-bezogenen Suchanfragen sucht.

Anforderungen an die Eingabe (WICHTIG):

  1. text_query (String – ERFORDERLICH): Die primäre Suchanfrage. Darin muss klar definiert werden, wonach der Nutzer sucht.

    • Beispiele: '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'.
    • Für bestimmte Ortsdetails:Fügen Sie das angeforderte Attribut hinzu (z.B. 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (Objekt – OPTIONAL): Damit können Sie Ergebnisse in der Nähe eines bestimmten geografischen Gebiets priorisieren.

    • Format:{"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Verwendung:
      • So wird ein Radius von 5 km bevorzugt:{"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Starke Gewichtung des Zentralpunkts: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (radius_meters wird ausgelassen).
  3. language_code (String – OPTIONAL): Die Sprache, in der die Zusammenfassung der Suchergebnisse angezeigt werden soll.

    • Format:Ein zweistelliger Sprachcode (ISO 639-1), optional gefolgt von einem Unterstrich und einem zweistelligen Ländercode (ISO 3166-1 Alpha 2), z.B. en, ja, en_US, zh_CN, es_MX. Wenn der Sprachcode nicht angegeben ist, werden die Ergebnisse auf Englisch angezeigt.
  4. region_code (String – OPTIONAL): Der Unicode-CLDR-Regionscode des Nutzers. Mit diesem Parameter werden die Ortsdetails angezeigt, z. B. der regionsspezifische Ortsname, sofern verfügbar. Der Parameter kann sich je nach anwendbarem Recht auf die Ergebnisse auswirken.

    • Format:Ein zweistelliger Ländercode (ISO 3166-1 alpha-2), z.B. US, CA.

Anleitung für Tool-Aufruf:

  • Standortinformationen (WICHTIG): Die Suche muss ausreichend Standortinformationen enthalten. Wenn der Standort nicht eindeutig ist (z.B. nur „Pizzerien“), müssen Sie ihn in text_query angeben (z.B. „Pizzerien in New York“) oder den Parameter location_bias verwenden. Fügen Sie bei Bedarf zur Eindeutigkeit Stadt, Bundesland/Provinz und Region/Land hinzu.

  • Geben Sie immer die spezifischste und kontextbezogenste text_query an, die möglich ist.

  • Verwenden Sie location_bias nur, wenn Koordinaten explizit angegeben werden oder wenn es angemessen und notwendig ist, einen Standort aus dem bekannten Kontext eines Nutzers abzuleiten, um bessere Ergebnisse zu erzielen.

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

lookup_weather

Ruft umfassende Wetterdaten ab, einschließlich aktueller Bedingungen sowie stündlicher und täglicher Vorhersagen.

Verfügbare spezifische Daten:Temperatur (aktuell, gefühlte Temperatur, Höchst-/Tiefsttemperatur, Hitzeindex), Wind (Geschwindigkeit, Böen, Richtung), Himmelsereignisse (Sonnenaufgang/Sonnenuntergang, Mondphase), Niederschlag (Art, Wahrscheinlichkeit, Menge/QPF), atmosphärische Bedingungen (UV-Index, Luftfeuchtigkeit, Bewölkung, Gewitterwahrscheinlichkeit) und geocodierte Standortadresse.

Standort und Standortregeln (WICHTIG):

Der Ort, für den Wetterdaten angefordert werden, wird mit dem Feld location angegeben. Dieses Feld ist eine „oneof“-Struktur. Das bedeutet, dass Sie NUR für EINES der drei untergeordneten Ortsfelder einen Wert angeben MÜSSEN, um eine genaue Suche nach Wetterdaten zu ermöglichen.

  1. Geografische Koordinaten (lat_lng)

    • Verwenden Sie diese Option, wenn Sie genaue Breiten- und Längengradkoordinaten erhalten.
    • Beispiel: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
  2. Orts-ID (place_id)

    • Eine eindeutige String-Kennung (Google Maps-Orts-ID).
    • Die place_id kann mit dem Tool „search_places“ abgerufen werden.
    • Beispiel: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Eiffelturm
  3. Adressstring (address)

    • Ein frei definierbarer String, der für die Geocodierung spezifisch sein muss.
    • Stadt und Region: Geben Sie immer die Region/das Land an (z.B. „London, Vereinigtes Königreich“, nicht „London“).
    • Adresse: Geben Sie die vollständige Adresse an, z.B. „1600 Pennsylvania Ave NW, Washington, DC“.
    • Postleitzahlen: MÜSSEN mit einem Ländernamen angegeben werden (z.B. „90210, USA“, NICHT „90210“).
    • Beispiel: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}

Nutzungsmodi:

  • Aktuelles Wetter:Gib nur location an. Geben Sie date und hour nicht an.

  • Stündliche Vorhersage:Geben Sie location, date und hour (0–23) an. Verwenden Sie sie für bestimmte Uhrzeiten (z.B. „um 17:00 Uhr“) oder Begriffe wie „in den nächsten Stunden“ oder „später heute“. Wenn der Nutzer Minuten angibt, runde auf die nächste volle Stunde ab. Stündliche Vorhersagen, die mehr als 120 Stunden in der Zukunft liegen, werden nicht unterstützt. Stündliche Wetterdaten aus der Vergangenheit werden bis zu 24 Stunden zurück unterstützt.

  • Tagesvorhersage:Gib location und date an. Geben Sie hour nicht an. Für allgemeine Tagesanfragen (z. B. „Wetter für morgen“, „Wetter am Freitag“, „Wetter am 25.12.“) Wenn das heutige Datum nicht im Kontext enthalten ist, sollten Sie es mit dem Nutzer klären. Tagesprognosen für mehr als 10 Tage ab heute werden nicht unterstützt. Verlaufsdaten zum Wetter werden nicht unterstützt.

Parameterbeschränkungen:

  • Zeitzonen:Alle date- und hour-Eingaben müssen sich auf die lokale Zeitzone des Standorts und nicht auf die Zeitzone des Nutzers beziehen.
  • Datumsformat:Die Eingaben müssen in {year, month, day} Ganzzahlen unterteilt werden.
  • Einheiten:Standardmäßig wird METRIC verwendet. Setze units_system auf IMPERIAL für Fahrenheit/Meilen, wenn der Nutzer US-Standards impliziert oder explizit anfordert.
  • Die fundierte Ausgabe muss der Quelle zugeordnet werden. Verwenden Sie dazu die Informationen aus dem Feld attribution, sofern verfügbar.

compute_routes

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

Eingabeanforderungen (KRITISCH): Erfordert sowohl origin als auch destination. Beide müssen 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. Ursprungsort nach Adresse, Zielort nach lat_lng). Wenn der Ursprungs- oder Zielort fehlt, MÜSSEN Sie den Nutzer um Klärung 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.
resolve_names

Löst eine Batchliste mit bestimmten Standortanfragen (Namen von Sehenswürdigkeiten oder genaue Adressen) in kanonische Google Maps-Orts-IDs auf.

Anforderungen an die Eingabe (WICHTIG):

  1. queries (Array von Objekten – ERFORDERLICH): Eine Liste der Standortanfragen, die aufgelöst werden sollen. Sie können bis zu 20 Abfragen angeben.

    • Jedes Abfrageobjekt muss Folgendes enthalten:
      • text (String – ERFORDERLICH): Die Textanfrage, die einen bestimmten Ortsnamen oder eine bestimmte Adresse darstellt, die aufgelöst werden soll.
        • Beispiele: 'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
  2. location_bias (Objekt – OPTIONAL): Damit können Sie Ergebnisse in der Nähe eines bestimmten geografischen Gebiets priorisieren.

    • Format:{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (String – OPTIONAL): Der Unicode-CLDR-Regionscode (zweistelliger Ländercode, z.B. US, CA) des Nutzers, um die Ergebnisse zu gewichten.

Anleitung für Tool-Aufruf:

  • Spezifität (WICHTIG): Anfragen müssen einen bestimmten Ortsnamen oder eine bestimmte Adresse enthalten. Allgemeine Suchanfragen wie 'restaurants' oder Kettennamen wie 'Starbucks' werden nicht unterstützt.
  • Rufen Sie dieses Tool NICHT auf, wenn die Downstream-Tools, die Sie aufrufen möchten, bereits Rohadressen oder Ortsnamenstrings direkt akzeptieren.

Fehlerbehandlung (KRITISCH):

  • Es handelt sich um ein Tool für die Batchverarbeitung. Eine Anfrage kann „gemischte Ergebnisse“ zurückgeben, z.B. wenn einige Anfragen erfolgreich aufgelöst werden, andere jedoch fehlschlagen.
  • Die Ausgabeliste von results wird garantiert 1:1 den Eingabeindexen von queries zugeordnet. Bei einer fehlgeschlagenen Abfrage wird am entsprechenden Index in der Liste results eine leere Result-Meldung zurückgegeben (kein entity festgelegt).
  • Sie MÜSSEN das Kartenfeld failed_requests in der Antwort prüfen, um herauszufinden, welcher bestimmte Abfrageindex fehlgeschlagen ist. Der Schlüssel von failed_requests stellt den 0-basierten Index der fehlgeschlagenen Anfrage in der Anfrage dar. Gehen Sie nicht davon aus, dass der gesamte Batchaufruf aufgrund eines teilweisen Fehlers fehlgeschlagen ist.
resolve_maps_urls

Löst eine Liste von Google Maps-URLs in kanonische Google Maps-Orts-IDs auf.

Wann sollte dieses Tool aufgerufen werden? (WICHTIG):

  • Verwenden Sie dieses Tool, wenn der Nutzer einen oder mehrere Google Maps-Freigabelinks oder ‑URLs angibt (z.B. „https://maps.app.goo.gl/...“, „https://www.google.com/maps/place/...“ oder „https://maps.google.com/...“) und Sie die zugrunde liegenden kanonischen Orts-IDs extrahieren müssen.
  • Sie können in einer einzelnen Batch-Anfrage bis zu 20 URLs angeben, die aufgelöst werden sollen.

Anforderungen an die Eingabe (WICHTIG):

  • urls (Array von Strings – ERFORDERLICH): Die Liste der Google Maps-URLs, die aufgelöst werden sollen. Jede URL muss eine gültige Google Maps-URL für einen einzelnen Ort sein.

Fehlerbehandlung (KRITISCH):

  • Es handelt sich um ein Tool für die Batchverarbeitung. Bei einer Anfrage werden möglicherweise gemischte Ergebnisse zurückgegeben, z.B. werden einige URLs erfolgreich aufgelöst, während andere fehlschlagen.
  • Die Ausgabeliste von entities wird garantiert 1:1 den Eingabeindexen von urls zugeordnet. Wenn eine URL-Auflösung fehlschlägt, wird an der entsprechenden Stelle in der Liste entities eine leere Entity-Nachricht (keine Felder festgelegt) zurückgegeben.
  • Sie MÜSSEN das Kartenfeld failed_requests in der Antwort prüfen, um festzustellen, welcher URL-Index fehlgeschlagen ist. Der Schlüssel von failed_requests steht für den nullbasierten Index der fehlgeschlagenen URL in der Anfrage. Gehen Sie nicht davon aus, dass der gesamte Batchaufruf aufgrund eines teilweisen Fehlers fehlgeschlagen ist.

Spezifikationen für MCP-Tools abrufen

Mit der Methode tools/list können Sie die MCP-Tool-Spezifikationen für alle Tools auf einem MCP-Server abrufen. Im folgenden Beispiel wird gezeigt, wie Sie mit curl alle Tools und ihre Spezifikationen auflisten, die derzeit auf dem MCP-Server verfügbar sind.

Curl-Anfrage
                      
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'