MCP Tools Reference: mapstools.googleapis.com

Tool: search_places

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

Eingabeanforderungen (WICHTIG):

  1. text_query (String – ERFORDERLICH): Die primäre Suchanfrage. Hier 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: Geben Sie das gewünschte Attribut an (z.B. 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (Objekt – OPTIONAL): Hiermit können Sie Ergebnisse in der Nähe eines bestimmten geografischen Bereichs priorisieren.

    • Format: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Verwendung:
      • Umkreis von 5 km bevorzugen: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Starke Gewichtung des Mittelpunkts: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (radius_meters wird weggelassen).
  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 ausgegeben.
  4. region_code (String – OPTIONAL): Der Unicode-CLDR-Regionscode des Nutzers. Mit diesem Parameter werden die Ortsdetails angezeigt, z. B. der regionsspezifische Ortsname, falls verfügbar. Der Parameter kann sich je nach geltendem Recht auf die Ergebnisse auswirken.

    • Format: Ein zweistelliger Ländercode (ISO 3166-1 alpha-2), z.B. US, CA.
  5. page_size (Ganzzahl – OPTIONAL): Die maximale Anzahl von Orten, die zurückgegeben werden sollen (zwischen 1 und 10). Die Standardeinstellung ist 5. Legen Sie einen Wert über 5 nur fest, wenn der Nutzer mehr als 5 Orte vergleichen möchte. Werte von 6 bis 10 führen zu höheren Kosten und einer höheren Latenz.

  6. include_extended_details (boolescher Wert – OPTIONAL): Setzen Sie dieses Feld auf true, wenn die Nutzeranfrage umfassende qualitative Informationen, Echtzeitdynamik oder spezielle Entitätsattribute erfordert. Die Standardeinstellung ist false. Wenn Sie diesen Wert auf true setzen, fallen höhere Kosten und eine höhere Latenz an.

Anweisungen für den Toolaufruf:

  • Standortinformationen (WICHTIG): Die Suchanfrage muss ausreichende Standortinformationen enthalten. Wenn der Ort nicht eindeutig ist (z.B. nur „Pizzerien“), müssen Sie ihn in der text_query angeben (z.B. „Pizzerien in New York“) oder den Parameter location_bias verwenden. Geben Sie bei Bedarf Stadt, Bundesland/Provinz und Region/Land an, um Mehrdeutigkeiten zu vermeiden.

  • Geben Sie immer die spezifischste und kontextreichste text_query an.

  • Verwenden Sie location_bias nur, wenn Koordinaten explizit angegeben sind 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, falls verfügbar.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool search_places 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": "search_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Eingabeschema

Anfragenachricht für SearchText.

SearchTextRequest

JSON-Darstellung
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "pageSize": integer,
  "includeExtendedDetails": boolean,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
Felder
textQuery

string

Erforderlich. Die Textabfrage.

languageCode

string

Optional. Die Sprache, in der die Zusammenfassung zurückgegeben werden soll. Wenn der Sprachcode nicht angegeben oder nicht erkannt wird, wird die Zusammenfassung mit einer Präferenz für Englisch zurückgegeben.

Beispiel: „en“ für Englisch.

Aktuelle Liste der unterstützten Sprachen: https://developers.google.com/maps/faq#languagesupport

regionCode

string

Optional. Der Länder-/Regionscode (CLDR) des Standorts, von dem die Anfrage stammt, im Unicode-Format. Mit diesem Parameter werden die Ortsdetails angezeigt, z. B. der regionsspezifische Ortsname, falls verfügbar. Der Parameter kann sich je nach anwendbarem Recht auf die Ergebnisse auswirken.

Beispiel: „DE“ für Deutschland.

Weitere Informationen finden Sie unter https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html.

Beachten Sie, dass dreistellige Regionscodes derzeit nicht unterstützt werden.

pageSize

integer

Optional. Die maximale Anzahl der zurückzugebenden Orte (bis zu 10). Der Dienst gibt möglicherweise weniger als diesen Wert zurück. Der Standardwert ist 5.

Wenn Sie mehr als 5 Orte anfordern, wird die Pro-Stufe ausgelöst, was zu höheren in Rechnung gestellten Kosten und einer höheren Latenz führt.

includeExtendedDetails

boolean

Optional. Enthält erweiterte Ortsdetails in der Antwort.

Setzen Sie dieses Feld auf true, wenn die Nutzeranfrage umfassende qualitative Informationen, Echtzeitdynamik oder spezielle Entitätsattribute erfordert: - Qualitative Rezensionen, Kundenstimmung und Feedback. - Spezifische Angebote wie Menüpunkte, Gerichte, Spezialitäten, Getränke oder Highlights des Unternehmens. – Qualitative Atmosphäre, Inneneinrichtung, Ästhetik, Ambiente oder Stimmung. - Echtzeitdaten und spezielle Informationen zu Einrichtungen, Besucherrichtlinien/-tipps, Wartezeiten.

Lassen Sie false (Standard) für Standardsuchen (z.B. Küchen, Geschäftstypen), Standort-/Adresssuchen, Kontaktdaten, Öffnungszeiten und Standardmetadaten/-ausstattung stehen.

Wenn Sie dieses Feld aktivieren, wird die Pro-Stufe ausgelöst, was zu höheren in Rechnung gestellten Kosten und einer höheren Latenz führt.

Union-Feld _location_bias.

Für _location_bias ist nur einer der folgenden Werte zulässig:

locationBias

object (LocationBias)

Eine optionale Region, um die Suchergebnisse zu beeinflussen. Wenn in text_query ein expliziter Standort angegeben ist, wird dieser anstelle dieses Felds verwendet, um die Suchergebnisse zu beeinflussen.

LocationBias

JSON-Darstellung
{
  "circle": {
    object (Circle)
  }
}
Felder
circle

object (Circle)

Optional. Ein Kreis, der durch einen Mittelpunkt und einen Radius definiert ist. radius_meters ist optional. Wenn nichts anderes festgelegt ist, werden die Ergebnisse auf den Mittelpunkt ausgerichtet.

Kreis

JSON-Darstellung
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
Felder
center

object (LatLng)

Erforderlich. Der Mittelpunkt des Kreises.

Union-Feld _radius_meters.

Für _radius_meters ist nur einer der folgenden Werte zulässig:

radiusMeters

number

Der Radius des Kreises in Metern. Der Radius muss innerhalb von 50.000 Metern liegen.

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.

Ausgabeschema

Antwortnachricht für SearchText.

SearchTextResponse

JSON-Darstellung
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string,
  "contentToken": string
}
Felder
places[]

object (PlaceView)

Nur Ausgabe. Die Liste der Orte, die in der Zusammenfassung erwähnt werden.

summary

string

Nur Ausgabe. Eine Zusammenfassung der Suchergebnisse in natürlicher Sprache. Die Zusammenfassung kann nullbasierte Zitate wie „[0]“, „[1]“, „[2]“ usw. enthalten. Diese Zitate verweisen auf die entsprechenden Orte im Feld places.

contentToken

string

Nur Ausgabe. Ein verschlüsseltes Token, das den Suchkontext enthält und an visuelle Rendering-Dienste von Google Maps, SDKs oder das Maps Agentic UI Toolkit (A2UI) übergeben werden kann, um interaktive UI-Komponenten für die zurückgegebenen Suchergebnisse anzuzeigen.

PlaceView

JSON-Darstellung
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
Felder
place

string

Der Ressourcenname des zugrunde liegenden Orts im Format „places/{id}“.

id

string

Die Orts-ID des zugrunde liegenden Ortes.

googleMapsLinks

object (GoogleMapsLinks)

Links zum Auslösen verschiedener Google Maps-Aktionen.

attribution

object (Attribution)

Erforderliche Quellenangabe, die mit dem Ort angezeigt werden soll.

Union-Feld _location.

Für _location ist nur einer der folgenden Werte zulässig:

location

object (LatLng)

Die Position dieses Ortes.

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.

JSON-Darstellung
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
Felder
directionsUrl

string

Ein Link, über den die Wegbeschreibung zum Ort angezeigt wird. Über den Link wird nur der Zielort ausgefüllt und der Standard-Reisemodus DRIVE verwendet.

placeUrl

string

Ein Link, über den dieser Ort angezeigt wird.

writeAReviewUrl

string

Ein Link, über den Sie eine Rezension für diesen Ort auf Google Maps schreiben können.

reviewsUrl

string

Ein Link, über den Rezensionen zu diesem Ort auf Google Maps angezeigt werden.

photosUrl

string

Ein Link, über den Fotos dieses Ortes auf Google Maps angezeigt werden.

Attribution

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

string

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

url

string

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: ❌