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): główne 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ć informacje o miejscu: dodaj wymagany 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 zgodnie z obowiązującymi przepisami.

    • Format: dwuliterowy kod kraju (ISO 3166-1 alfa-2), np. US, CA.
  5. page_size (liczba całkowita – OPCJONALNA): maksymalna liczba miejsc do zwrócenia, od 1 do 10. Domyślna wartość to 5. Ustaw wartość powyżej 5 tylko wtedy, gdy użytkownik chce porównać więcej niż 5 miejsc. Wartości od 6 do 10 wiążą się z wyższymi kosztami i większymi opóźnieniami.

  6. include_extended_details (wartość logiczna – OPCJONALNA): ustaw to pole na true, gdy żądanie użytkownika wymaga szczegółowych statystyk jakościowych, dynamiki w czasie rzeczywistym lub specjalistycznych atrybutów encji. Domyślna wartość to false. Ustawienie wartości true wiąże się z wyższymi kosztami i dłuższym czasem oczekiwania.

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.

  • Odpowiedź oparta na źródłach musi być przypisana 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

Wiadomość z żądaniem 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 zostanie określony lub nie zostanie 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 lub 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 10). Usługa może zwrócić mniej niż ta wartość. Wartość domyślna to 5.

Jeśli poprosisz o więcej niż 5 miejsc, zostanie aktywowany poziom Pro, co spowoduje naliczenie wyższych kosztów i zwiększenie czasu oczekiwania.

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, dynamicznych danych w czasie rzeczywistym lub specjalistycznych atrybutów podmiotu: – 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, nastrój lub klimat; – Dane w czasie rzeczywistym i specjalistyczne informacje o placówkach, zasady i wskazówki dla odwiedzających, czasy oczekiwania.

Pozostaw wartość false (domyślną) 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 aktywowanie poziomu Pro i wyższe rozliczone koszty oraz większy czas oczekiwania.

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 parametrze text_query podano dokładną lokalizację, zostanie ona użyta do ukierunkowania 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. Środek 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 o indeksie zerowym, takie jak „[0]”, „[1]”, „[2]” itp. 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 docelowego w formacie „places/{id}”.

id

string

Identyfikator miejsca, w którym znajduje się dany punkt.

googleMapsLinks

object (GoogleMapsLinks)

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

attribution

object (Attribution)

Wymagana atrybucja, która ma 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” podmiotó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, a narzędzie do zapamiętywania – nie.

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