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):
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').
- Przykłady:
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ącradius_meters).
- Aby ustawić promień 5 km:
- Format:
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.
- 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.
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.
- Format: dwuliterowy kod kraju (ISO 3166-1 alfa-2), np.
page_size(liczba całkowita – OPCJONALNA): maksymalna liczba miejsc do zwrócenia, od1do10. Domyślna wartość to5. Ustaw wartość powyżej5tylko wtedy, gdy użytkownik chce porównać więcej niż 5 miejsc. Wartości od6do10wiążą się z wyższymi kosztami i większymi opóźnieniami.include_extended_details(wartość logiczna – OPCJONALNA): ustaw to pole natrue, gdy żądanie użytkownika wymaga szczegółowych statystyk jakościowych, dynamiki w czasie rzeczywistym lub specjalistycznych atrybutów encji. Domyślna wartość tofalse. Ustawienie wartościtruewiąż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ć parametrulocation_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_biastylko 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 |
| Pola | |
|---|---|
textQuery |
Wymagane. Zapytanie tekstowe. |
languageCode |
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 |
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 |
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 |
Opcjonalnie. Zawiera w odpowiedzi rozszerzone informacje o miejscu. Ustaw to pole na Pozostaw wartość Włączenie tego pola spowoduje aktywowanie poziomu Pro i wyższe rozliczone koszty oraz większy czas oczekiwania. |
Pole zbiorcze Pole |
|
locationBias |
Opcjonalny region, który ma być preferowany w wynikach wyszukiwania. Jeśli w parametrze |
LocationBias
| Zapis JSON |
|---|
{
"circle": {
object ( |
| Pola | |
|---|---|
circle |
Opcjonalnie. Okrąg zdefiniowany przez punkt środkowy i promień. |
Okrąg
| Zapis JSON |
|---|
{ "center": { object ( |
| Pola | |
|---|---|
center |
Wymagane. Środek okręgu. |
Pole zbiorcze Pole |
|
radiusMeters |
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 |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0]. |
longitude |
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 ( |
| Pola | |
|---|---|
places[] |
Tylko dane wyjściowe. Lista miejsc wymienionych w podsumowaniu. |
summary |
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 |
contentToken |
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 ( |
| Pola | |
|---|---|
place |
Nazwa zasobu miejsca docelowego w formacie „places/{id}”. |
id |
Identyfikator miejsca, w którym znajduje się dany punkt. |
googleMapsLinks |
Linki do wywoływania różnych działań w Mapach Google. |
attribution |
Wymagana atrybucja, która ma się wyświetlać z miejscem. |
Pole zbiorcze Pole |
|
location |
Pozycja tego miejsca. |
LatLng
| Zapis JSON |
|---|
{ "latitude": number, "longitude": number } |
| Pola | |
|---|---|
latitude |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0]. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0, +180,0]. |
GoogleMapsLinks
| Zapis JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Pola | |
|---|---|
directionsUrl |
Link do wskazówek dojazdu do miejsca. Link zawiera tylko lokalizację docelową i używa domyślnego środka transportu |
placeUrl |
link do tego miejsca, |
writeAReviewUrl |
link do napisania opinii o tym miejscu w Mapach Google. |
reviewsUrl |
Link do opinii o tym miejscu w Mapach Google. |
photosUrl |
Link do zdjęć tego miejsca w Mapach Google. |
Atrybucja
| Zapis JSON |
|---|
{ "title": string, "url": string } |
| Pola | |
|---|---|
title |
Tytuł, który ma być wyświetlany w atrybucji. |
url |
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: ❌