Narzędzie: 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 są wysyłane żądania danych pogodowych, 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.
Współrzędne geograficzne (lat_lng)
- Używaj tej opcji, gdy masz dokładne współrzędne geograficzne.
- Przykład: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
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: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Wieża Eiffla
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”).
- Przykład: {"location": {"address": "1600 Pennsylvania Ave NW, Waszyngton, Dystrykt Kolumbii"}}
Tryby użytkowania:
Current Weather (Aktualna pogoda): podaj tylko
location. Nie podawaj parametrówdateihour.Prognoza godzinowa: podaj
location,dateihour(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.Prognoza dzienna: podaj
locationidate. Nie podawaj parametruhour. 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
dateihourmuszą 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_systemnaIMPERIALw przypadku skali Fahrenheita i mil, jeśli użytkownik sugeruje standardy amerykańskie lub wyraźnie o to prosi. Wygenerowane dane muszą być przypisane do źródła na podstawie informacji z pola
attribution, jeśli są dostępne.
Poniższy przykład pokazuje, jak za pomocą znaku curl wywołać narzędzie lookup_weather 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/call", "params": { "name": "lookup_weather", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat wejściowy
Żądanie metody LookupWeather – reprezentuje warunki pogodowe w wybranej lokalizacji.
LookupWeatherRequest
| Zapis JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Pola | |
|---|---|
DEPRECATEDAddress |
WYCOFANO: zamiast niej używaj lokalizacji. |
unitsSystem |
Opcjonalnie. System jednostek, który ma być używany w przypadku zwracanych warunków pogodowych. Jeśli nie podasz tej wartości, zwrócone warunki pogodowe będą podane w systemie metrycznym (domyślnie = METRIC). |
location |
Wymagane. Lokalizacja, dla której chcesz uzyskać informacje o warunkach pogodowych. |
Pole zbiorcze Pole |
|
date |
Opcjonalnie. Data wymaganych informacji o pogodzie. Uwaga: data jest określana zgodnie ze strefą czasową lokalizacji podanej w polu lokalizacji. Data musi przypadać w okresie od 24 godzin wstecz do 10 dni w przyszłości. |
Pole zbiorcze Pole |
|
hour |
Opcjonalnie. Godzina, dla której chcesz uzyskać informacje o pogodzie, w formacie 24-godzinnym (0–23). Ta wartość jest podawana w odniesieniu do lokalnej strefy czasowej lokalizacji określonej w polu lokalizacji. 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. |
Data
| Zapis JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Pola | |
|---|---|
year |
Rok daty. Musi mieścić się w zakresie od 1 do 9999 lub wynosić 0, jeśli określasz datę bez roku. |
month |
Miesiąc roku. Musi mieścić się w zakresie od 1 do 12 lub wynosić 0, jeśli określasz rok bez miesiąca i dnia. |
day |
Dzień miesiąca. Wartość musi mieścić się w zakresie od 1 do 31 i być prawidłowa w przypadku danego roku i miesiąca lub wynosić 0, jeśli określasz sam rok albo rok i miesiąc, w których dzień nie ma znaczenia. |
Lokalizacja
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze location_type. Różne sposoby przedstawiania lokalizacji. location_type może mieć tylko jedną z tych wartości: |
|
latLng |
Punkt określony za pomocą współrzędnych geograficznych. |
placeId |
Identyfikator miejsca powiązany z lokalizacją . |
address |
Adres w formie czytelnej dla człowieka lub kod Plus Code. Więcej informacji znajdziesz na stronie https://plus.codes. |
LatLng
| Zapis JSON |
|---|
{ "latitude": number, "longitude": number } |
| Pola | |
|---|---|
latitude |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie od –90,0 do +90,0. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie od –180,0 do +180,0. |
Schemat wyjściowy
Odpowiedź na wywołanie procedury RPC LookupWeather – zawiera informacje o warunkach pogodowych w żądanej lokalizacji.
Odpowiedź zawiera informacje zarówno godzinowe, jak i dzienne, dlatego jest podzielona na 3 sekcje: Godzinowe, Dzienne i Udostępnione. Pola Only-Hourly i Only-Daily są oznaczone jako opcjonalne. W przypadku pól, które są wspólne dla informacji godzinowych i dziennych, niektóre są zawsze obecne, więc nie są oznaczone jako opcjonalne, a pozostałe są oznaczone jako opcjonalne, ponieważ nie zawsze są dostępne.
LookupWeatherResponse
| Zapis JSON |
|---|
{ "weatherCondition": { object ( |
| Pola | |
|---|---|
weatherCondition |
Warunki pogodowe |
precipitation |
prawdopodobieństwo opadów i wielkość opadów, |
wind |
warunki wiatrowe, |
DEPRECATEDGeocodedAddress |
WYCOFANO: zamiast niej używaj kolumny returned_location. |
returnedLocation |
Wymagane. Lokalizacja, dla której zwracane są informacje o pogodzie. Ta lokalizacja jest identyczna z lokalizacją w żądaniu, ale może się od niej różnić, jeśli żądana lokalizacja jest adresem w formie tekstu swobodnego, który odnosi się do przybliżonej lokalizacji (np. „Mountain View, CA”). |
attribution |
Wymagane atrybucje, które mają być wyświetlane wraz z informacjami o pogodzie. |
Pole zbiorcze Pole |
|
temperature |
Temperatura godzinowa |
Pole zbiorcze Pole |
|
feelsLikeTemperature |
Godzinowy pomiar temperatury odczuwalnej. |
Pole zbiorcze Pole |
|
heatIndex |
Godzinowa temperatura wskaźnika ciepła. |
Pole zbiorcze Pole |
|
airPressure |
godzinowe warunki ciśnienia powietrza; |
Pole zbiorcze Pole |
|
maxTemperature |
Maksymalna temperatura w ciągu dnia. |
Pole zbiorcze Pole |
|
minTemperature |
Minimalna (najniższa) temperatura w ciągu dnia. |
Pole zbiorcze Pole |
|
feelsLikeMaxTemperature |
Maksymalna (wysoka) temperatura odczuwalna w ciągu dnia. |
Pole zbiorcze Pole |
|
feelsLikeMinTemperature |
Minimalna (najniższa) temperatura odczuwalna w ciągu dnia. |
Pole zbiorcze Pole |
|
maxHeatIndex |
Maksymalna temperatura odczuwalna w ciągu dnia. |
Pole zbiorcze Pole |
|
sunEvents |
Zdarzenia związane ze słońcem (np. wschód i zachód słońca). |
Pole zbiorcze Pole |
|
moonEvents |
Zdarzenia związane z księżycem (np. wschód i zachód). |
Pole zbiorcze Pole |
|
relativeHumidity |
Procent wilgotności względnej (wartości od 0 do 100). Zdefiniuj jako opcjonalne, ponieważ nie zawsze jest dostępny. |
Pole zbiorcze Pole |
|
uvIndex |
Maksymalny indeks promieniowania ultrafioletowego (UV). Definicja opcjonalna, ponieważ nie zawsze jest dostępna. |
Pole zbiorcze Pole |
|
thunderstormProbability |
Prawdopodobieństwo wystąpienia burzy (wartości od 0 do 100). Opcjonalne, ponieważ nie zawsze jest dostępne. |
Pole zbiorcze Pole |
|
cloudCover |
Procent pokrycia nieba przez chmury (wartości od 0 do 100). To pole jest opcjonalne, ponieważ nie zawsze jest dostępne. |
Temperatura
| Zapis JSON |
|---|
{ "unit": enum ( |
| Pola | |
|---|---|
unit |
Kod jednostki używanej do pomiaru wartości temperatury. |
Pole zbiorcze Pole |
|
degrees |
Wartość temperatury (w stopniach) w określonej jednostce. |
AirPressure
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze Pole |
|
meanSeaLevelMillibars |
Średnie ciśnienie powietrza na poziomie morza w milibarach. |
SunEvents
| Zapis JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Pola | |
|---|---|
sunriseTime |
Godzina wschodu słońca. UWAGA: w niektórych wyjątkowych przypadkach (np. na północ od koła podbiegunowego) w danym dniu może nie być wschodu słońca. W takich przypadkach to pole nie będzie ustawione. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
sunsetTime |
Godzina zachodu słońca. UWAGA: w niektórych wyjątkowych przypadkach (np. na północ od koła podbiegunowego) może nie być czasu zachodu słońca w danym dniu. W takich przypadkach to pole nie będzie ustawione. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
Sygnatura czasowa
| Zapis JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Pola | |
|---|---|
seconds |
Reprezentuje sekundy czasu UTC od epoki uniksowej 1970-01-01T00:00:00Z. Musi mieścić się w przedziale od -62135596800 do 253402300799 (włącznie), co odpowiada zakresowi od 0001-01-01T00:00:00Z do 9999-12-31T23:59:59Z. |
nanos |
Nieujemne ułamki sekundy w rozdzielczości nanosekundowej. To pole zawiera część czasu trwania w nanosekundach, a nie alternatywę dla sekund. Ujemne wartości sekund z ułamkami muszą mieć nieujemne wartości nanosekund, które liczą czas do przodu. Musi mieścić się w zakresie od 0 do 999 999 999 włącznie. |
MoonEvents
| Zapis JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Pola | |
|---|---|
moonriseTimes[] |
Moment, w którym górna krawędź Księżyca pojawia się nad horyzontem (patrz https://en.wikipedia.org/wiki/Moonrise_and_moonset)). UWAGA: w większości przypadków w ciągu dnia występuje tylko 1 wschód Księżyca. W innych przypadkach lista może być pusta (np. gdy księżyc wschodzi po północy następnego dnia). W wyjątkowych przypadkach (np. w regionach polarnych) lista może zawierać więcej niż 1 wartość. W takich przypadkach wartości są sortowane w kolejności rosnącej. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
moonsetTimes[] |
Moment, w którym górna krawędź Księżyca znika poniżej horyzontu (patrz https://en.wikipedia.org/wiki/Moonrise_and_moonset)). UWAGA: w większości przypadków każdego dnia jest tylko jeden czas zachodu księżyca. W innych przypadkach lista może być pusta (np. gdy księżyc zachodzi po północy następnego dnia). W wyjątkowych przypadkach (np. w regionach polarnych) lista może zawierać więcej niż 1 wartość. W takich przypadkach wartości są sortowane w kolejności rosnącej. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
moonPhase |
Faza księżyca. |
WeatherCondition
| Zapis JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Pola | |
|---|---|
iconBaseUri |
Podstawowy identyfikator URI ikony bez rozszerzenia typu pliku. Aby wyświetlić ikonę, dołącz do tego identyfikatora URI motyw (jeśli chcesz) i rozszerzenie typu pliku ( |
description |
Tekstowy opis warunków pogodowych (w odpowiednim języku). |
type |
Rodzaj warunków pogodowych. |
LocalizedText
| Zapis JSON |
|---|
{ "text": string, "languageCode": string } |
| Pola | |
|---|---|
text |
Zlokalizowany ciąg znaków w języku odpowiadającym wartości |
languageCode |
Kod języka tekstu w formacie BCP-47, np. „en-US” lub „sr-Latn”. Więcej informacji znajdziesz na stronie http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Opady
| Zapis JSON |
|---|
{ "probability": { object ( |
| Pola | |
|---|---|
probability |
Prawdopodobieństwo opadów (wartości od 0 do 100). |
snowQpf |
Ilość śniegu mierzona jako ekwiwalent wody w stanie ciekłym, która zgromadziła się w danym okresie. Uwaga: QPF to skrót od Quantitative Precipitation Forecast (więcej informacji znajdziesz w definicji QuantitativePrecipitationForecast). |
qpf |
Ilość opadów deszczu, mierzona jako ekwiwalent wody w stanie ciekłym, która zgromadziła się w określonym czasie. Uwaga: QPF to skrót od Quantitative Precipitation Forecast (więcej informacji znajdziesz w definicji QuantitativePrecipitationForecast). |
PrecipitationProbability
| Zapis JSON |
|---|
{ "type": enum ( |
| Pola | |
|---|---|
type |
Kod wskazujący rodzaj opadów. |
Pole zbiorcze Pole |
|
percent |
Procent od 0 do 100, który wskazuje prawdopodobieństwo opadów. |
QuantitativePrecipitationForecast
| Zapis JSON |
|---|
{ "unit": enum ( |
| Pola | |
|---|---|
unit |
Kod jednostki używanej do pomiaru ilości skumulowanych opadów. |
Pole zbiorcze Pole |
|
quantity |
Ilość opadów mierzona jako ekwiwalent wody w stanie ciekłym, która zgromadziła się w określonym czasie. |
Wiatr
| Zapis JSON |
|---|
{ "direction": { object ( |
| Pola | |
|---|---|
direction |
Kierunek wiatru, czyli kąt, pod jakim wieje wiatr. |
speed |
Prędkość wiatru. |
gust |
poryw wiatru (nagły wzrost prędkości wiatru); |
WindDirection
| Zapis JSON |
|---|
{ "cardinal": enum ( |
| Pola | |
|---|---|
cardinal |
Kod reprezentujący kierunek główny, z którego wieje wiatr. |
Pole zbiorcze Pole |
|
degrees |
Kierunek wiatru w stopniach (wartości od 0 do 360). |
WindSpeed
| Zapis JSON |
|---|
{ "unit": enum ( |
| Pola | |
|---|---|
unit |
Kod reprezentujący jednostkę używaną do pomiaru prędkości wiatru. |
Pole zbiorcze Pole |
|
value |
Wartość prędkości wiatru. |
Lokalizacja
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze location_type. Różne sposoby przedstawiania lokalizacji. location_type może mieć tylko jedną z tych wartości: |
|
latLng |
Punkt określony za pomocą współrzędnych geograficznych. |
placeId |
Identyfikator miejsca powiązany z lokalizacją . |
address |
Adres w formie czytelnej dla człowieka lub kod Plus Code. Więcej informacji znajdziesz na stronie https://plus.codes. |
LatLng
| Zapis JSON |
|---|
{ "latitude": number, "longitude": number } |
| Pola | |
|---|---|
latitude |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie od –90,0 do +90,0. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie od –180,0 do +180,0. |
Atrybucja
| Zapis JSON |
|---|
{ "title": string, "url": string } |
| Pola | |
|---|---|
title |
Tytuł, który ma być wyświetlany w przypisaniu. |
url |
Adres URL, do którego ma prowadzić link w przypadku atrybucji. |
Adnotacje narzędzi
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌