MCP Reference: mapstools.googleapis.com

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

Konfiguracja serwera

Przed użyciem musisz włączyć serwery MCPskonfigurować uwierzytelnianie. Więcej informacji o korzystaniu z serwerów MCP Google i Google Cloud znajdziesz w omówieniu serwerów MCP Google Cloud.

Jest to serwer MCP udostępniany przez interfejs Maps Grounding Lite API. Serwer udostępnia programistom narzędzia do tworzenia aplikacji LLM na podstawie Google Maps Platform.

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, standardowego połączenia. Jest to punkt kontaktowy, za pomocą którego LLM może prosić o kontekst, wywoływać narzędzie lub uzyskiwać dostęp do zasobu. Punkty końcowe Google MCP mogą być globalne lub regionalne.

Serwer MCP mapstools.googleapis.com ma ten punkt końcowy MCP:

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

Narzędzia MCP

Narzędzie MCP to funkcja lub wykonywalna możliwość, którą serwer MCP udostępnia dużemu modelowi językowemu lub aplikacji AI, aby umożliwić jej wykonanie działania w świecie rzeczywistym.

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

Narzędzia MCP
search_places

Użyj tego narzędzia, gdy użytkownik chce znaleźć miejsca, firmy, adresy, lokalizacje, ciekawe miejsca lub inne informacje 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'.
    • W przypadku szczegółowych informacji 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 – OPCJONALNIE): 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)]}}}
    • Użycie:
      • Aby ustawić preferencje dla promienia 5 km: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Aby silnie faworyzować punkt środkowy: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (pomijając radius_meters).
  3. language_code (ciąg znaków – OPCJONALNIE): język, w którym ma być wyświetlane podsumowanie wyników wyszukiwania.

    • Format: dwuliterowy kod języka (ISO 639-1), opcjonalnie z podkreśleniem i dwuliterowym kodem 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 użytkownika w formacie Unicode. Ten parametr służy do wyświetlania szczegółów miejsca, np. nazwy miejsca w danym regionie, jeśli jest dostępna. W zależności od obowiązujących przepisów parametr może wpływać na wyniki.

    • Format: dwuliterowy 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. tylko „pizzerie”), musisz ją określić w parametrze text_query (np. „pizzerie w Nowym Jorku”) lub użyć parametru location_bias. W razie potrzeby podaj nazwę miasta, stanu/prowincji i regionu/kraju, aby uniknąć niejednoznaczności.

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

  • Używaj tylko location_bias, jeśli współrzędne są wyraźnie podane lub jeśli wywnioskowanie lokalizacji z kontekstu znanego użytkownikowi jest odpowiednie i konieczne do uzyskania lepszych wyników.

lookup_weather

Pobiera kompleksowe dane pogodowe, w tym bieżące warunki, prognozy godzinowe i dzienne.

Dostępne dane: temperatura (aktualna, odczuwalna, maksymalna/minimalna, indeks ciepła), wiatr (prędkość, porywy, kierunek), zjawiska astronomiczne (wschód/zachód słońca, faza księżyca), opady (rodzaj, prawdopodobieństwo, ilość/QPF), warunki atmosferyczne (indeks UV, wilgotność, zachmurzenie, prawdopodobieństwo burzy) i adres lokalizacji geokodowanej.

Lokalizacja i zasady dotyczące lokalizacji (KRYTYCZNE):

Lokalizacja, dla której żądane są dane pogodowe, jest określana za pomocą pola „location”. To pole jest strukturą „oneof”, co oznacza, że aby zapewnić dokładne wyszukiwanie danych pogodowych, MUSISZ podać wartość TYLKO w jednym z 3 pól podrzędnych lokalizacji poniżej.

  1. Współrzędne geograficzne (lat_lng)

    • Używaj tej opcji, gdy masz dokładne współrzędne geograficzne.
    • Przykład: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles
  2. Identyfikator miejsca (place_id)

    • jednoznaczny identyfikator w postaci ciągu znaków (identyfikator miejsca w Mapach Google);
    • Identyfikator place_id można pobrać z narzędzia search_places.
    • Przykład: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower
  3. Ciąg znaków adresu (address)

    • Ciąg znaków w dowolnym formacie, który wymaga określenia szczegółów na potrzeby geokodowania.
    • Miasto i region: zawsze podawaj region lub kraj (np. „Londyn, Wielka Brytania”, a nie „Londyn”).
    • Adres: podaj pełny adres (np. „1600 Pennsylvania Ave NW, Waszyngton, Dystrykt Kolumbii”).
    • Kody pocztowe: MUSZĄ być podane z nazwą kraju (np. „90210, USA”, a NIE „90210”).

Tryby użytkowania:

  1. Current Weather (Aktualna pogoda): podaj tylko location. Nie podawaj parametrów datehour.

  2. Prognoza godzinowa: podaj location, datehour (0–23). Używaj ich w przypadku konkretnych godzin (np. „o 17:00”) lub określeń takich jak „w ciągu najbliższych kilku godzin” czy „później”. Jeśli użytkownik poda minuty, zaokrąglij w dół do najbliższej godziny. Prognoza godzinowa na okres dłuższy niż 120 godzin od teraz nie jest obsługiwana. Dane historyczne dotyczące pogody w poszczególnych godzinach są dostępne do 24 godzin wstecz.

  3. Prognoza dzienna: podaj locationdate. Nie podawaj parametru hour. Używaj w przypadku ogólnych zapytań o dzień (np. „pogoda na jutro”, „pogoda w piątek”, „pogoda 25 grudnia”). Jeśli dzisiejsza data nie jest podana w kontekście, wyjaśnij to użytkownikowi. Codzienne prognozy na okres dłuższy niż 10 dni (wliczając dzień bieżący) nie są obsługiwane. Dane historyczne o pogodzie nie są obsługiwane.

Ograniczenia parametru:

  • Strefy czasowe: wszystkie dane wejściowe datehour muszą być podawane w lokalnej strefie czasowej lokalizacji, a nie w strefie czasowej użytkownika.
  • Format daty: dane wejściowe muszą być rozdzielone na {year, month, day} liczby całkowite.
  • Jednostki: domyślnie METRIC. Ustaw wartość units_system na IMPERIAL w przypadku skali Fahrenheita i mil, jeśli użytkownik sugeruje standardy amerykańskie lub wyraźnie o to prosi.
compute_routes

Oblicza trasę podróży między określonym miejscem początkowym a docelowym. Obsługiwane środki transportu: SAMOCHÓD (domyślnie), PIESZO.

Wymagania dotyczące danych wejściowych (KRYTYCZNE): wymaga zarówno miejsca odjazdu, jak i miejsca docelowego. Każdy z nich musi być podany w odpowiednim polu za pomocą jednej z tych metod:

  • address: (ciąg znaków, np. „Wieża Eiffla, Paryż”). Uwaga: im bardziej szczegółowy lub precyzyjny jest adres wejściowy, tym lepsze będą wyniki.

  • lat_lng: (obiekt, {"latitude": number, "longitude": number})

  • place_id: (ciąg znaków, np. „ChIJOwE_Id1w5EAR4Q27FkL6T_0”) Uwaga: ten identyfikator można uzyskać za pomocą narzędzia search_places. Dozwolona jest dowolna kombinacja typów danych wejściowych (np. miejsce docelowe według adresu, miejsce docelowe według współrzędnych lat_lng). Jeśli brakuje źródła lub miejsca docelowego, musisz poprosić użytkownika o wyjaśnienie, zanim spróbujesz wywołać narzędzie.

Przykładowe wywołanie narzędzia: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

Uzyskiwanie specyfikacji narzędzi MCP

Aby uzyskać specyfikacje narzędzi MCP dla wszystkich narzędzi 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
}'