MCP Tools Reference: mapstools.googleapis.com

Narzędzie: search_places

Wywołaj to narzędzie, gdy użytkownik prosi o znalezienie miejsc, firm, adresów, lokalizacji, ciekawych miejsc lub o inne wyszukiwanie związane z Mapami Google.

Wymagania dotyczące danych wejściowych (KRYTYCZNE):

  1. text_query (ciąg znaków – WYMAGANY): podstawowe zapytanie. Musi on jasno określać, czego szuka użytkownik.

    • Przykłady: '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'.
    • Aby uzyskać szczegółowe informacje o miejscu: dodaj żądany atrybut (np. 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (obiekt – OPCJONALNY): użyj tego parametru, aby nadać priorytet wynikom w pobliżu określonego obszaru geograficznego.

    • Format: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Wykorzystanie:
      • Aby ustawić promień 5 km: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Aby silnie przesunąć środek: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (pomijając radius_meters).
  3. language_code (ciąg znaków – OPCJONALNY): język, w którym ma być wyświetlane podsumowanie wyników wyszukiwania.

    • Format: dwuliterowy kod języka (ISO 639-1), po którym opcjonalnie następuje podkreślenie i dwuliterowy kod kraju (ISO 3166-1 alfa-2), np. en, ja, en_US, zh_CN, es_MX. Jeśli nie podasz kodu języka, wyniki będą w języku angielskim.
  4. region_code (ciąg znaków – OPCJONALNY): kod regionu CLDR Unicode użytkownika. Ten parametr służy do wyświetlania informacji o miejscu, takich jak nazwa miejsca w danym regionie, jeśli jest dostępna. Parametr może wpływać na wyniki na podstawie obowiązujących przepisów.

    • Format: 2-literowy kod kraju (ISO 3166-1 alfa-2), np. US, CA.

Instrukcje dotyczące wywołania narzędzia:

  • Informacje o lokalizacji (KRYTYCZNE): wyszukiwanie musi zawierać wystarczające informacje o lokalizacji. Jeśli lokalizacja jest niejednoznaczna (np. „pizzerie”), musisz określić ją w parametrze text_query (np. „pizzerie w Nowym Jorku”) lub użyć parametru location_bias. Jeśli jest to konieczne, podaj nazwę miasta, stanu/prowincji i regionu/kraju w celu uściślenia.

  • Zawsze podawaj jak najbardziej szczegółowe i bogate w kontekst text_query.

  • Używaj location_bias tylko wtedy, gdy współrzędne są wyraźnie podane lub gdy określenie lokalizacji na podstawie znanego kontekstu użytkownika jest odpowiednie i konieczne do uzyskania lepszych wyników.

  • Wygenerowane odpowiedzi muszą być przypisane do źródła za pomocą informacji z pola attribution, jeśli są dostępne.

Poniższy przykładowy kod pokazuje, jak używać curl do wywoływania narzędzia MCP search_places.

Żądanie 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": "search_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schemat wejściowy

Komunikat żądania dla SearchText.

SearchTextRequest

Zapis JSON
{
  "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.
}
Pola
textQuery

string

Wymagane. Zapytanie tekstowe.

languageCode

string

Opcjonalnie: Język, w którym ma zostać zwrócone podsumowanie. Jeśli kod języka nie jest określony lub nie został rozpoznany, zostanie zwrócone podsumowanie z preferencją języka angielskiego.

Na przykład „pl” w przypadku języka polskiego.

Aktualna lista obsługiwanych języków: https://developers.google.com/maps/faq#languagesupport.

regionCode

string

Opcjonalnie: Kod Unicode kraju/regionu (CLDR) lokalizacji, z której pochodzi żądanie. Ten parametr służy do wyświetlania informacji o miejscu, takich jak nazwa miejsca w danym regionie, jeśli jest dostępna. Parametr może wpływać na wyniki na podstawie obowiązujących przepisów.

Na przykład „PL” w przypadku Polski.

Więcej informacji znajdziesz na stronie https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html.

Pamiętaj, że 3-cyfrowe kody regionów nie są obecnie obsługiwane.

pageSize

integer

Opcjonalnie: Maksymalna liczba miejsc do zwrócenia (do 5). Usługa może zwrócić mniejszą liczbę wyników. Wartość domyślna to 5.

includeExtendedDetails

boolean

Opcjonalnie: Zawiera w odpowiedzi rozszerzone informacje o miejscu.

Ustaw to pole na true, gdy prośba użytkownika wymaga szczegółowych informacji jakościowych, dynamiki w czasie rzeczywistym lub specjalistycznych atrybutów encji: – opinie jakościowe, nastroje klientów i opinie. - konkretne oferty, takie jak pozycje menu, dania, specjały, napoje lub najważniejsze informacje o firmie; – jakościowa atmosfera, wystrój wnętrza, estetyka, otoczenie lub nastrój; – Dane w czasie rzeczywistym i specjalistyczne informacje o placówkach, zasady i wskazówki dla odwiedzających, czasy oczekiwania.

Pozostaw false (domyślnie) w przypadku standardowych wyszukiwań (np. kuchni, typów sklepów), wyszukiwania lokalizacji/adresu, informacji kontaktowych, godzin otwarcia i standardowych metadanych/udogodnień.

Włączenie tego pola spowoduje zwiększenie opóźnienia.

Pole zbiorcze _location_bias.

Pole _location_bias może mieć tylko jedną z tych wartości:

locationBias

object (LocationBias)

Opcjonalny region, który ma być preferowany w wynikach wyszukiwania. Jeśli w polu text_query podano dokładną lokalizację, zostanie ona użyta do dostosowania wyników wyszukiwania zamiast tego pola.

LocationBias

Zapis JSON
{
  "circle": {
    object (Circle)
  }
}
Pola
circle

object (Circle)

Opcjonalnie: Okrąg zdefiniowany przez punkt środkowy i promień. radius_meters jest opcjonalny. Jeśli nie jest ustawiony, wyniki będą faworyzować punkt centralny.

Okrąg

Zapis JSON
{
  "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.
}
Pola
center

object (LatLng)

Wymagane. Punkt środkowy okręgu.

Pole zbiorcze _radius_meters.

Pole _radius_meters może mieć tylko jedną z tych wartości:

radiusMeters

number

Promień okręgu w metrach. Promień musi mieścić się w granicach 50 000 metrów.

LatLng

Zapis JSON
{
  "latitude": number,
  "longitude": number
}
Pola
latitude

number

Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0].

longitude

number

Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0, +180,0].

Schemat wyjściowy

Wiadomość z odpowiedzią dla SearchText.

SearchTextResponse

Zapis JSON
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string,
  "contentToken": string
}
Pola
places[]

object (PlaceView)

Tylko dane wyjściowe. Lista miejsc wymienionych w podsumowaniu.

summary

string

Tylko dane wyjściowe. podsumowanie wyników wyszukiwania w języku naturalnym; Podsumowanie może zawierać cytaty z indeksem od zera, np. „[0]”, „[1]”, „[2]” itd. Te cytaty są mapowane na odpowiednie miejsca w polu places.

contentToken

string

Tylko dane wyjściowe. Zaszyfrowany token, który zawiera kontekst wyszukiwania i może być przekazywany do usług renderowania wizualnego Map Google, pakietów SDK lub zestawu agentowych narzędzi interfejsu Map (A2UI) w celu wyświetlania interaktywnych komponentów interfejsu dla zwróconych wyników wyszukiwania.

PlaceView

Zapis JSON
{
  "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.
}
Pola
place

string

Nazwa zasobu miejsca w formacie „places/{id}”.

id

string

Identyfikator miejsca, którego dotyczy dany obiekt.

googleMapsLinks

object (GoogleMapsLinks)

Linki do wywoływania różnych działań w Mapach Google.

attribution

object (Attribution)

Wymagane informacje o autorstwie, które mają się wyświetlać z miejscem.

Pole zbiorcze _location.

Pole _location może mieć tylko jedną z tych wartości:

location

object (LatLng)

Pozycja tego miejsca.

LatLng

Zapis JSON
{
  "latitude": number,
  "longitude": number
}
Pola
latitude

number

Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0].

longitude

number

Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0, +180,0].

Zapis JSON
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
Pola
directionsUrl

string

Link do wskazówek dojazdu do miejsca. Link zawiera tylko lokalizację docelową i używa domyślnego środka transportu (DRIVE).

placeUrl

string

link do tego miejsca,

writeAReviewUrl

string

link do napisania opinii o tym miejscu w Mapach Google.

reviewsUrl

string

Link do opinii o tym miejscu w Mapach Google.

photosUrl

string

link do zdjęć tego miejsca w Mapach Google;

Atrybucja

Zapis JSON
{
  "title": string,
  "url": string
}
Pola
title

string

Tytuł, który ma być wyświetlany w atrybucji.

url

string

Adres URL, do którego ma prowadzić link w atrybucji.

Adnotacje dotyczące narzędzi

Adnotacje narzędzi są wysyłane do klientów MCP, aby opisać podstawowe ryzyko związane z danym narzędziem. Większość klientów traktuje te wskazówki jako niezaufane, ale można ich użyć do określenia, kiedy wysłać użytkownikowi prośbę o potwierdzenie.

Oprócz ciągu tytułu zdefiniowane są te wskazówki logiczne:

  • readOnlyHint: jeśli ma wartość „true”, narzędzie nie modyfikuje swojego środowiska. Wartość domyślna: false.
  • destructiveHint: jeśli ma wartość „true”, narzędzie może wykonywać działania destrukcyjne. Jeśli ma wartość false, narzędzie może wykonywać tylko działania dodawania. Wartość domyślna: true.
  • idempotentHint: jeśli ma wartość „true”, wielokrotne wywoływanie narzędzia z tymi samymi argumentami nie będzie miało dodatkowego wpływu na jego środowisko. Wartość domyślna: false.
  • openWorldHint: jeśli ma wartość true, narzędzie może wchodzić w interakcje z „otwartym światem” elementów zewnętrznych. Jeśli ma wartość false, narzędzie może wchodzić w interakcje tylko z elementami wewnętrznymi. Na przykład narzędzie do wyszukiwania w internecie jest narzędziem typu Otwarty świat, ale narzędzie do zapamiętywania już nie.

Wskazówka dotycząca destrukcyjności: ❌ | Wskazówka dotycząca idempotencji: ❌ | Wskazówka dotycząca tylko do odczytu: ✅ | Wskazówka dotycząca otwartego świata: ❌