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): 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').
- 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 na podstawie obowiązujących przepisów.- Format: 2-literowy kod kraju (ISO 3166-1 alfa-2), np.
US,CA.
- Format: 2-literowy kod kraju (ISO 3166-1 alfa-2), np.
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.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 |
| Pola | |
|---|---|
textQuery |
Wymagane. Zapytanie tekstowe. |
languageCode |
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 |
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 |
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 |
Opcjonalnie: Zawiera w odpowiedzi rozszerzone informacje o miejscu. Ustaw to pole na Pozostaw Włączenie tego pola spowoduje zwiększenie opóźnienia. |
Pole zbiorcze Pole |
|
locationBias |
Opcjonalny region, który ma być preferowany w wynikach wyszukiwania. Jeśli w polu |
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. Punkt środkowy 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 z indeksem od zera, np. „[0]”, „[1]”, „[2]” itd. 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 w formacie „places/{id}”. |
id |
Identyfikator miejsca, którego dotyczy dany obiekt. |
googleMapsLinks |
Linki do wywoływania różnych działań w Mapach Google. |
attribution |
Wymagane informacje o autorstwie, które mają 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” 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: ❌