MCP Reference: mapstools.googleapis.com

To jest serwer MCP udostępniany przez narzędzia agentowe Maps Experience. Serwer udostępnia deweloperom narzędzia do tworzenia aplikacji LLM na platformie Google Maps Platform.

Serwer Model Context Protocol (MCP) działa jako serwer proxy między usługą zewnętrzną, która dostarcza kontekst, dane lub funkcje do dużego modelu językowego (LLM) lub aplikacji AI. Serwery MCP łączą aplikacje AI z systemami zewnętrznymi, takimi jak bazy danych i usługi internetowe, i tłumaczą ich odpowiedzi na format zrozumiały dla aplikacji AI.

Konfiguracja serwera

Przed użyciem musisz włączyć serwery MCP i skonfigurować uwierzytelnianie. Więcej informacji o korzystaniu ze zdalnych serwerów MCP Google i Google Cloud znajdziesz w artykule Omówienie serwerów MCP Google Cloud.

Punkty końcowe serwera

Punkt końcowy usługi MCP to adres sieciowy i interfejs komunikacyjny (zwykle adres URL) serwera MCP, którego aplikacja AI (host klienta MCP) używa do nawiązywania bezpiecznego, ustandaryzowanego połączenia. Jest to punkt kontaktowy dla LLM, który umożliwia żądanie kontekstu, wywołanie narzędzia lub uzyskanie dostępu do zasobu.

Serwer MCP narzędzi agentowych Maps Experience ma ten globalny punkt końcowy MCP:

  • https://mapstools.googleapis.com/mcp

Narzędzia MCP

Narzędzie MCP to funkcja lub możliwość wykonywalna, którą serwer MCP udostępnia modelowi LLM lub aplikacji AI, aby wykonać działanie w świecie rzeczywistym.

Narzędzia

Serwer MCP mapstools.googleapis.com ma te narzędzia:

Narzędzia MCP
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)]}}}
    • Zastosowanie:
      • 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.

lookup_weather Pobiera kompleksowe informacje o środowisku w danej lokalizacji, w tym o pogodzie, jakości powietrza (AQI i zanieczyszczenia) oraz pyleniu (poziomy alergenów drzew, traw, chwastów i gatunków roślin): bieżące warunki, prognozy godzinowe/historia oraz prognozy dzienne dotyczące pogody i jakości powietrza. W przypadku pylenia dostępna jest tylko prognoza dzienna (od dziś do +4 dni, bez danych godzinowych i historycznych). Dostępne domeny i możliwości środowiskowe (capabilities: WEATHER, AIR_QUALITY, POLLEN – KRYTYCZNE): * Obowiązkowy wybór: w każdym wywołaniu MUSISZ uwzględnić co najmniej 1 z tych wartości: WEATHER, AIR_QUALITY lub POLLEN w capabilities. Pominięcie capabilities jest NIEDOZWOLONE. * Ogólne/niejednoznaczne zapytania dotyczące warunków na zewnątrz (pełny zestaw danych o warunkach na zewnątrz): jeśli użytkownik zada ogólne pytanie dotyczące warunków na zewnątrz, podróży lub sytuacji bez ograniczania się do konkretnej domeny (np. „Jakie są teraz warunki na zewnątrz do biegania?”), wyraźnie uwzględnij wszystkie 3 funkcje (capabilities: ["WEATHER", "AIR_QUALITY", "POLLEN"]), aby zwrócić pełny zestaw danych o warunkach na zewnątrz (pogoda + jakość powietrza + pyłki). W przypadku zapytania o date/hour pomiń POLLEN, który nie ma historii. * Wybór domeny docelowej (konkretne zapytania): jeśli użytkownik pyta o konkretne informacje z 1 lub 2 domen (np. „Jaki jest teraz indeks jakości powietrza w Seattle?”), uwzględnij tylko żądane funkcje (WEATHER, AIR_QUALITY lub POLLEN). Wykonane i zwrócone zostaną tylko żądane domeny. Konkretne dane dostępne według domeny: * Pogoda (weather): temperatura (aktualna, odczuwalna, maks./min., indeks ciepła), wiatr (prędkość, porywy, kierunek), zdarzenia astronomiczne (wschód/zachód słońca, faza księżyca), opady (rodzaj, prawdopodobieństwo, ilość/QPF) i warunki atmosferyczne (indeks UV, wilgotność, zachmurzenie, prawdopodobieństwo burzy, ciśnienie powietrza). * Jakość powietrza (air_quality): uniwersalne i lokalne indeksy jakości powietrza (wartość AQI, kategoria, dominujące zanieczyszczenie), zalecenia zdrowotne dla 7 grup wrażliwości i stężenia zanieczyszczeń (include_pollutant_concentration: true). Każdy indeks ma własne dominujące zanieczyszczenie.Podaj je dla każdego indeksu (np. nie podawaj zanieczyszczenia z uniwersalnego indeksu AQI dla indeksu AQI w USA). * Pyłki (pollen): dzienny uniwersalny indeks pyłkowy (UPI, 0–5) dla kategorii drzew, traw i chwastów oraz dla gatunków roślin (index.value z index.category, np. 1 = „Bardzo niski”), stan w sezonie, reakcje krzyżowe i zalecenia zdrowotne. * Brakujące pola dotyczące pyłków: brak pola in_season oznacza, że nie jest to sezon na dany pyłek. Pomiń gatunki roślin, które nie mają wartości index, chyba że użytkownik zapyta o daną roślinę. W takim przypadku powiedz, że nie ma dziś danych o pyleniu (nie podawaj poziomu). Reguły dotyczące lokalizacji (KRYTYCZNE): lokalizacja docelowa MUSI być określona w polu location za pomocą TYLKO JEDNEGO z tych pól podrzędnych oneof: 1. Współrzędne geograficzne (lat_lng): * Użyj, gdy znasz dokładne współrzędne szerokości i długości geograficznej. * Przykład: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} 2. Identyfikator miejsca (place_id): * Jednoznaczny identyfikator miejsca w Mapach Google (np. uzyskany z search_places lub resolve_names). * Przykład: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} 3. Ciąg znaków adresu (address): * Miasto/region, dzielnica, punkt orientacyjny lub interesujące miejsce, adres lub kod pocztowy, najlepiej z miastem/krajem. * Przykład: {"location": {"address": "Paris, France"}} Tryby czasu i użytkowania (date i hour – KRYTYCZNE): * Lokalna strefa czasowa: wszystkie dane wejściowe date ({year, month, day}) i hour (0-23) MUSZĄ być wyrażone w lokalnej strefie czasowej location (np. zapytanie o "Paris tomorrow at 13:00" używa lokalnej daty i godziny Europe/Paris 13), nigdy w czasie UTC ani w strefie czasowej rozmówcy. * 1. Aktualne warunki (pominięto date ORAZ hour): * Podaj location i docelowy capabilities (WEATHER, AIR_QUALITY, POLLEN). NIE podawaj date ani hour. * Zwraca aktualne warunki (CC) w czasie rzeczywistym dla żądanych domen (aktualna pogoda, jakość powietrza w bieżącej godzinie lub prognoza pylenia na dziś). * W przypadku jakości powietrza bieżące warunki dotyczą jednej godziny: NIE używaj ich samodzielnie do odpowiadania na pytania dotyczące jakości powietrza lub ogólne pytania o warunki na zewnątrz dzisiaj (użyj zapytań dziennych poniżej). * 2. Prognoza godzinowa / historia (podano date ORAZ hour 0-23): * Podaj location, date ({year, month, day}), hour (0-23) i docelowy capabilities. Jeśli podane są minuty, zaokrąglij w dół do najbliższej godziny. * KRYTYCZNE OGRANICZENIE (date jest WYMAGANE, gdy ustawiono hour): podanie hour bez date (date pominięto, hour ustawiono) jest NIEDOZWOLONE i spowoduje błąd. Nawet jeśli użytkownik pyta o konkretną godzinę dzisiaj (np. "at 13:00 today"), MUSISZ wypełnić zarówno pole date (dzisiejsza data o location), jak i hour. * Sprawdza co godzinę pogodę lub jakość powietrza w YYYY-MM-DD-HH i codziennie poziom pyłków w YYYY-MM-DD. * Pytania o pogodę „kiedy”: w przypadku pytań o pogodę zawierających sformułowania kiedy / o której godzinie / najlepszy czas (np. "what time will it stop raining?") używaj wywołań godzinowych WEATHER (date + hour) dla odpowiednich godzin. Dzienna prognoza pogody nie zawiera wartości godzinowych. W przypadku ogólnych pytań dotyczących aktywności na zewnątrz typu „kiedy / najlepszy czas” (np. "when is the best time to go walking today?") wykonuj te cogodzinne wywołania WEATHER oprócz wywołania dotyczącego jakości powietrza (i pyłków) na cały dzień, opisanego w sekcji Zapytania codzienne. * 3. Zapytania dzienne (date określone ORAZ hour pominięte): * Podaj location, date ({year, month, day} w lokalnym czasie cywilnym żądanego location) bez hour oraz docelowy capabilities w przypadku zapytań całodniowych (np. "weather and pollen in London tomorrow"). * Pytania o jakość powietrza i ogólne pytania o warunki na zewnątrz dotyczące dzisiejszego dnia: w przypadku pytań o jakość powietrza i ogólnych pytań o warunki na zewnątrz (które obejmują jakość powietrza) dotyczących dzisiejszego dnia (np. "how will the air quality change today", "is today a good day for a picnic?") ustaw date na dzisiejszą datę o location (godzina pominięta), aby uzyskać godzinowe serie danych o jakości powietrza z danego dnia. Samo wywołanie bieżących warunków zwraca tylko aktualną godzinę jakości powietrza i nie wystarczy. Możesz je dodać, jeśli użytkownik pyta też o „teraz”. * Przedziały czasu dotyczące jakości powietrza: w przypadku pytania o jakość powietrza w danym przedziale czasu w ciągu jednego dnia (np. "air quality between noon and 6 PM") preferuj jedno wywołanie Daily dla tej daty i odczytaj godziny przedziału czasu z serii Air Quality, zamiast próbkować poszczególne godziny. Jeśli używasz połączeń godzinowych, uwzględnij każdą godzinę w oknie. * Zwraca prognozy dzienne dla żądanych danych pogodowych lub pylenia oraz godzinowe dane dotyczące jakości powietrza dla całego dnia (00:00–23:00 czasu lokalnego): 24 godziny historyczne dla daty z przeszłości, 24 godziny prognozy dla daty z przyszłości, a dla dnia dzisiejszego – wcześniejsze godziny (historia), bieżącą godzinę i pozostałe godziny (prognoza). Obsługiwane horyzonty czasowe według domeny: * Pogoda: co godzinę od 24 godzin wstecz do 240 godzin (10 dni) do przodu (w przypadku godzin z przeszłości wymagane są zarówno date, jak i hour); codziennie do 10 dni, w tym dzisiaj (od dzisiaj do +9 dni); brak historii dziennej. * Jakość powietrza: co godzinę od 720 godzin (30 dni) wstecz do 96 godzin (4 dni) do przodu; wywołanie całodniowe musi mieścić się w tym oknie (w praktyce od 29 dni wstecz do 3 dni do przodu). * Pyłki: tylko dane dzienne, od dzisiaj do +4 dni (5 dni, w tym dzisiaj); brak dat z przeszłości, a parametr hour jest ignorowany. * (Uwaga: jeśli żądanych jest kilka funkcji, a date/hour wykracza poza jeden z ich zakresów, wywołanie nadal się powiedzie i zwróci tylko obsługiwane funkcje). * Żądania spoza zakresu: jeśli żądana data lub godzina może wykraczać poza obsługiwany zakres domeny (np.Pollen w przypadku daty z przeszłości), nadal wywołuj lookup_weather dla żądanej daty/godziny. Stan błędu określa obsługiwany zakres. Nie podawaj innej daty, godziny ani domeny jako zamiennika. Opcje domeny i atrybucja: * Język (language_code): opcjonalny kod języka BCP-47 (np. "fr"). Domyślnie: "en". * Jednostki w aplikacji Pogoda (weather_options.units_system lub units_system): domyślnie METRIC. Ustaw IMPERIAL (Fahrenheit/mph), jeśli użytkownik sugeruje standardy amerykańskie lub wyraźnie prosi o jednostki imperialne. Obsługiwane zarówno w weather_options.units_system (preferowane), jak i w units_system najwyższego poziomu. Jeśli podano oba, nie mogą być ze sobą sprzeczne. * Opcje jakości powietrza (air_quality_options): ustaw include_pollutant_concentration: true, gdy potrzebne są konkretne stężenia zanieczyszczeń (PM2,5, PM10, O3, NO2, SO2, CO). Opcjonalnie ustaw index_region_code (dwuliterowy kod kraju w standardzie ISO, np. "US"), aby poprosić o konkretną regionalną skalę AQI. Domyślnie odpowiedź zawiera uniwersalny wskaźnik AQI i regionalny wskaźnik AQI lokalizacji. * Atrybucja: wygenerowane odpowiedzi MUSZĄ być przypisane do źródła za pomocą pola attribution w każdym zwróconym kontenerze domeny (weather.attribution, air_quality.attribution, pollen.attribution). * Zwrócone godziny: wartości date_time dotyczące jakości powietrza są już podane w czasie lokalnym (uwzględniono utc_offset). Przedstaw je w takiej postaci, w jakiej są. Dane date_time dotyczące pogody (bieżące i godzinowe) oraz godziny wschodu i zachodu słońca są podane w czasie UTC. Przekonwertuj je na czas lokalny za pomocą time_zone. Oznacz wszystkie godziny jako lokalne.
compute_routes

Oblicza trasy podróży między miejscem początkowym a docelowym, opcjonalnie z przystankami pośrednimi. Zwraca odległość i czas trwania każdej trasy.

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

  1. origin i destination (obiekty – WYMAGANE): każdy z nich musi być podany za pomocą dokładnie jednej z tych opcji:

    • address (ciąg tekstowy, np. 'Eiffel Tower, Paris'). Nazwane miejsca, punkty orientacyjne i firmy są rozpoznawane bezpośrednio, więc NIE wywołuj najpierw search_places tylko po to, aby uzyskać kod geograficzny punktu na trasie. Uwzględnij miasto, region lub kraj, o którym wspomniał użytkownik.
    • lat_lng (obiekt, {"latitude": number, "longitude": number}).
    • place_id (ciąg znaków, np. 'ChIJOwE_Id1w5EAR4Q27FkL6T_0'), na przykład z search_places.
  2. intermediate_waypoints (tablica obiektów – OPCJONALNA): maksymalnie 25 przystanków, przez które należy przejechać, w kolejności między miejscem początkowym a docelowym. Taki sam format jak origin. Nieobsługiwane w przypadku TRANSIT. Uwzględniaj tylko przystanki, o które prosił użytkownik. Podanie więcej niż 10 punktów pośrednich spowoduje wzrost kosztów i opóźnienia.

  3. travel_mode (typ wyliczeniowy – OPCJONALNY): DRIVE (domyślny), WALK, BICYCLE lub TRANSIT.

  4. Czas (OPCJONALNIE – ustaw maksymalnie JEDNĄ wartość): sygnatury czasowe RFC 3339 z przesunięciem UTC, np. '2026-09-19T08:00:00-07:00'. Domyślnie jest to odjazd w tej chwili. W przypadku TRANSIT czas może wynosić do 7 dni w przeszłości lub do 100 dni w przyszłości. W przypadku innych trybów czas może wynosić do 365 dni w przyszłości i nie może być w przeszłości.

    • departure_time: użyj, gdy użytkownik podaje, kiedy wyjeżdża (np. „jutro o 8:00”).
    • arrival_time: używaj, gdy użytkownik podaje, kiedy musi dotrzeć na miejsce (np. „bądź tam o 9:00”).
  5. routing_preference (typ wyliczeniowy – OPCJONALNY):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (domyślna): ignoruje aktualne informacje o natężeniu ruchu, zdarzeniach drogowych i zamkniętych drogach. Najkrótszy czas oczekiwania.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: korzysta z informacji o warunkach na drodze w czasie rzeczywistym, jeśli są dostępne. Nieobsługiwane w przypadku WALK i BICYCLE. Ustaw tę opcję TYLKO wtedy, gdy użytkownik pyta o ruch, korki lub szacowany czas dotarcia na miejsce dostosowany do natężenia ruchu. Powoduje to wyższe koszty i dłuższy czas oczekiwania.
  6. location_bias (obiekt – OPCJONALNY): {"latitude": number, "longitude": number} używany do uściślania nazw miejsc w adresach punktów pośrednich. Jeśli nazwa jest niejednoznaczna (np. „Springfield”), a użytkownik nie podał regionu, zachowaj nazwę podaną w polu address i ustaw pole location_bias na obszar docelowy, zamiast zgadywać region.

  7. compute_alternative_routes (wartość logiczna – OPCJONALNA): ustaw na true tylko wtedy, gdy użytkownik prosi o opcje lub alternatywne trasy. Domyślna wartość to false, co powoduje zwrócenie tylko zalecanej trasy.

  8. include_polyline (wartość logiczna – OPCJONALNA): ustaw na true tylko wtedy, gdy potrzebna jest geometria trasy (encoded_polyline). Domyślna wartość to false.

Instrukcje dotyczące wywołania narzędzia:

  • Jeśli brakuje miejsca wylotu lub przylotu, MUSISZ poprosić użytkownika o wyjaśnienie, zanim wywołasz narzędzie.
  • W przypadku pytań typu „Jak daleko jest z A do B?” użyj B jako origin i A jako destination.

Przykładowe wywołanie narzędzia: {"origin":{"address":"Wieża Eiffla"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Luwr"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}

Instrukcje dotyczące odpowiedzi:

  • Gdy wysyłane jest żądanie tras alternatywnych, trasy są uporządkowane od najbardziej do najmniej zalecanych.
  • Jeśli routes jest puste, poinformuj użytkownika, że nie znaleziono trasy. Nie zgaduj trasy.
  • Aby znaleźć miejsca na trasie DRIVE, przekaż retrieval_token trasy do search_along_route. Token jest ważny przez 10 minut.
  • Podawaj tylko fakty zwrócone przez narzędzie. NIE wymyślaj szczegółowych wskazówek dojazdu, linii transportu publicznego, stacji, peronów ani przesiadek.
  • Uziemione dane wyjściowe muszą być przypisane do źródła za pomocą pola attribution każdej trasy, jeśli jest dostępne.
search_along_route

Wywołaj to narzędzie, gdy użytkownik chce znaleźć miejsca, firmy lub punkty orientacyjne na trasie podróży (np. „stacje benzynowe na trasie do Tahoe”, „kawiarnie między SF a San Jose”). Wywołanie tego narzędzia wiąże się z wyższymi kosztami niż w przypadku search_places, dlatego używaj search_places, gdy wyszukujesz miejsca w pobliżu jednej lokalizacji, a nie na trasie.

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

  1. text_query (ciąg znaków – WYMAGANY): opis w języku naturalnym tego, czego szukać na trasie.

    • Przykłady: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'.
  2. Specyfikacja trasy (WYMAGANA – podaj dokładnie JEDNĄ z tych opcji):

    • retrieval_token (ciąg tekstowy): retrieval_token zwrócony przez poprzednie wywołanie compute_routes dla trasy DRIVE. Używaj tej opcji, gdy trasa została już obliczona. Token jest ważny przez 10 minut.
    • route_endpoints (obiekt): origin i destination trasy. Każdy z nich musi być podany za pomocą jednego z tych elementów: address, lat_lng lub place_id.
      • Przykład: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline (ciąg znaków): zakodowana linia łamana reprezentująca trasę DRIVE.
  3. travel_mode (typ wyliczeniowy – OPCJONALNY): DRIVE (domyślny), WALK lub BICYCLE. Atrybuty WALK i BICYCLE są obsługiwane tylko w przypadku route_endpoints. TRANSIT nie jest obsługiwany.

  4. routing_preference (typ wyliczeniowy – OPCJONALNY):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (domyślna): oblicza trasę i objazdy bez uwzględniania informacji o aktualnym natężeniu ruchu. Najkrótszy czas oczekiwania.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: korzysta z informacji o warunkach na drodze w czasie rzeczywistym, jeśli są dostępne. Nieobsługiwane w przypadku WALK i BICYCLE. Ustaw tę opcję TYLKO wtedy, gdy użytkownik pyta o natężenie ruchu, korki lub czas objazdu dostosowany do natężenia ruchu. Powoduje dłuższy czas oczekiwania.
  5. include_extended_details (wartość logiczna – OPCJONALNA): ustaw wartość true tylko wtedy, gdy żądanie wymaga statystyk dotyczących opinii jakościowych, konkretnych pozycji menu lub ofert, atmosfery, wskazówek dla odwiedzających lub natężenia ruchu, dostępności ładowarek EV, cen paliwa lub innych szczegółowych informacji jakościowych. Domyślna wartość to false. Włączenie tej opcji może wydłużyć czas oczekiwania.

  6. language_code (ciąg znaków – OPCJONALNY): język podsumowania wyników i informacji o miejscu, np. en, ja, en-US. Domyślna wartość to en-US.

  7. region_code (ciąg znaków – OPCJONALNY): kod regionu Unicode CLDR użytkownika, np. US, CA.

Instrukcje dotyczące wywołania narzędzia:

  • Każdy wynik zawiera detour_summary (jeśli jest dostępny) opisujący dodatkową odległość (localized_detour_distance) i, o ile trasa nie została podana jako encoded_polyline, dodatkowy czas (detour_duration) związany z zatrzymaniem się w tym miejscu. Użyj go, aby porównać opcje.
  • Odpowiedź summary może zawierać cytaty indeksowane od zera (np. „[0]”) odwołujące się do wpisów w results.
  • Uziemione dane wyjściowe muszą być przypisane do źródła za pomocą pola attribution każdego elementu results[].place, jeśli jest dostępne.
resolve_names

Rozpoznaje listę zbiorczą konkretnych zapytań o lokalizację (nazwy punktów orientacyjnych lub dokładne adresy) i przekształca je w kanoniczne identyfikatory miejsc w Mapach Google.

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

  1. queries (tablica obiektów – WYMAGANA): lista zapytań o lokalizację do rozwiązania. Możesz podać maksymalnie 20 zapytań.

    • Każdy obiekt zapytania musi zawierać:
      • text (ciąg tekstowy – WYMAGANY): zapytanie tekstowe reprezentujące konkretną nazwę miejsca lub adres do rozpoznania.
        • Przykłady: 'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
  2. location_bias (obiekt – OPCJONALNY): użyj tego parametru, aby nadać priorytet wynikom w pobliżu określonego obszaru geograficznego.

    • Format: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (ciąg znaków – OPCJONALNY): kod regionu CLDR w standardzie Unicode (dwuliterowy kod kraju, np. US, CA) użytkownika, który ma być używany do filtrowania wyników.

Instrukcje dotyczące wywołania narzędzia:

  • Konkretność (KRYTYCZNA): zapytania muszą zawierać konkretną nazwę miejsca lub adres. Ogólne wyszukiwania, takie jak 'restaurants', lub nazwy sieci, takie jak 'Starbucks', nie są obsługiwane.
  • NIE wywołuj tego narzędzia, jeśli narzędzia, które planujesz wywołać, akceptują już bezpośrednio nieprzetworzone ciągi znaków adresu lub nazwy miejsca.

Zapisywanie w Mapach Google:

  • Odpowiedź zawiera pole save_to_maps_url: pojedynczy link do Map Google zawierający wszystkie miejsca, które udało się znaleźć.
  • Gdy użytkownik chce zapisać, udostępnić lub otworzyć znalezione miejsca jako listę w Mapach Google, wyświetl mu ten link. NIE twórz tego linku samodzielnie.

Obsługa błędów (KRYTYCZNE):

  • To narzędzie do przetwarzania wsadowego. Żądanie może zwrócić „mieszane wyniki” (np. niektóre zapytania zostaną rozwiązane, a inne nie).
  • Lista wyjściowa results jest mapowana 1:1 z indeksami wejściowymi queries. Nieudane zapytanie spowoduje wyświetlenie pustego komunikatu Result (nie ustawiono entity) w odpowiednim indeksie na liście results.
  • MUSISZ sprawdzić pole mapy failed_requests w odpowiedzi, aby określić, który indeks zapytania nie został utworzony. Klucz failed_requests reprezentuje indeks nieudanego zapytania w żądaniu (liczony od 0). Nie zakładaj, że całe wywołanie zbiorcze nie powiodło się z powodu częściowego niepowodzenia.
resolve_maps_urls

Rozpoznaje listę adresów URL Map Google i przekształca je w kanoniczne identyfikatory miejsc w Mapach Google.

Kiedy wywołać to narzędzie (KRYTYCZNE):

  • Użyj tego narzędzia, gdy użytkownik poda co najmniej 1 link lub adres URL do udostępniania w Mapach Google (np. „https://maps.app.goo.gl/...”, 'https://www.google.com/maps/place/...' lub 'https://maps.google.com/...') i musisz wyodrębnić podstawowe kanoniczne identyfikatory miejsc.
  • W jednym żądaniu zbiorczym możesz określić maksymalnie 20 adresów URL do rozpoznania.

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

  • urls (tablica ciągów znaków – WYMAGANE): lista adresów URL Map Google do rozpoznania. Każdy adres URL musi być prawidłowym adresem URL Map Google wskazującym jedno miejsce.

Zapisywanie w Mapach Google:

  • Odpowiedź zawiera pole save_to_maps_url: pojedynczy link do Map Google zawierający wszystkie miejsca, które udało się znaleźć.
  • Gdy użytkownik chce zapisać, udostępnić lub otworzyć znalezione miejsca jako listę w Mapach Google (np. zbierając miejsca udostępnione w rozmowie), wyświetl mu ten link. NIE twórz tego linku samodzielnie.

Obsługa błędów (KRYTYCZNE):

  • To narzędzie do przetwarzania wsadowego. Żądanie może zwrócić „mieszane wyniki” (np. niektóre adresy URL zostaną rozwiązane, a inne nie).
  • Lista wyjściowa entities jest mapowana 1:1 z indeksami wejściowymi urls. Niepowodzenie rozpoznania adresu URL spowoduje, że na liście entities pod odpowiednim indeksem pojawi się pusta wiadomość Entity (bez ustawionych pól).
  • MUSISZ sprawdzić pole mapy failed_requests w odpowiedzi, aby dowiedzieć się, który indeks adresu URL nie został utworzony. Klucz failed_requests reprezentuje indeks nieudanego adresu URL w żądaniu (liczony od 0). Nie zakładaj, że całe wywołanie zbiorcze nie powiodło się z powodu częściowego niepowodzenia.

Pobieranie specyfikacji narzędzi MCP

Aby uzyskać specyfikacje wszystkich narzędzi MCP na serwerze MCP, użyj metody tools/list. Poniższy przykład pokazuje, jak za pomocą curl wyświetlić listę wszystkich narzędzi i ich specyfikacji dostępnych obecnie na serwerze MCP.

Żądanie Curl
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'