Alat: lookup_weather
Mengambil data cuaca komprehensif termasuk kondisi saat ini, per jam, dan prakiraan harian. Data Spesifik yang Tersedia: Suhu (Saat Ini, Terasa Seperti, Maks/Min, Indeks Panas), Angin (Kecepatan, Angin Kencang, Arah), Peristiwa Langit (Matahari Terbit/Terbenam, Fase Bulan), Presipitasi (Jenis, Probabilitas, Kuantitas/QPF), Kondisi Atmosfer (Indeks UV, Kelembapan, Tutupan Awan, Probabilitas Badai Petir), dan Alamat Lokasi yang Geokode. Lokasi & Aturan Lokasi (KRITIS): Lokasi yang datanya diminta ditentukan menggunakan kolom 'location'. Kolom ini adalah struktur 'oneof', yang berarti Anda HARUS memberikan nilai untuk HANYA SATU dari tiga sub-bidang lokasi di bawah untuk memastikan pencarian data cuaca yang akurat. 1. Koordinat Geografis (lat_lng) * Gunakan saat Anda diberi koordinat lintang/bujur yang tepat. * Contoh: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles 2. ID Tempat (place_id) * ID string yang tidak ambigu (ID Tempat Google Maps). * place_id dapat diambil dari alat search_places. * Contoh: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Menara Eiffel 3. String Alamat (address) * String bentuk bebas yang memerlukan kekhususan untuk geocoding. * Kota & Wilayah: Selalu sertakan wilayah/negara (misalnya, "London, Inggris Raya", bukan "London"). * Alamat: Berikan alamat lengkap (misalnya, "1600 Pennsylvania Ave NW, Washington, DC"). * Kode Pos: HARUS disertai dengan nama negara (misalnya, "90210, USA", BUKAN "90210"). Mode Penggunaan: 1. Cuaca Saat Ini: Berikan address saja. Jangan tentukan date dan hour. 2. Prakiraan Cuaca Per Jam: Berikan address, date, dan hour (0-23). Gunakan untuk waktu tertentu (misalnya, "pukul 5 sore") atau istilah seperti 'beberapa jam ke depan' atau 'nanti hari ini'. Jika pengguna menentukan menit, bulatkan ke bawah ke jam terdekat. Prakiraan cuaca per jam lebih dari 48 jam dari sekarang tidak didukung. 3. Prakiraan Harian: Berikan address dan date. Jangan tentukan hour. Gunakan untuk permintaan hari umum (misalnya, "cuaca besok", "cuaca hari Jumat", "cuaca pada 25/12"). Jika tanggal hari ini tidak ada dalam konteks, Anda harus mengklarifikasinya dengan pengguna. Prakiraan cuaca harian di luar 7 hari, termasuk hari ini, tidak didukung. Cuaca historis tidak didukung. Batasan Parameter: * Zona waktu: Semua input date dan hour harus relatif terhadap zona waktu lokal lokasi, bukan zona waktu pengguna. * Format Tanggal: Input harus dipisahkan menjadi {year, month, day} bilangan bulat. * Satuan: Defaultnya adalah METRIC. Tetapkan units_system ke IMPERIAL untuk Fahrenheit/Mil jika pengguna menyiratkan standar AS atau memintanya secara eksplisit.
Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP lookup_weather.
| Permintaan 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 }' |
Skema Input
Permintaan untuk metode LookupWeather - menampilkan kondisi cuaca di lokasi yang diminta.
LookupWeatherRequest
| Representasi JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Kolom | |
|---|---|
DEPRECATEDAddress |
TIDAK DIGUNAKAN LAGI: Gunakan lokasi sebagai gantinya. |
unitsSystem |
Opsional. Sistem satuan yang akan digunakan untuk kondisi cuaca yang ditampilkan. Jika tidak diberikan, kondisi cuaca yang ditampilkan akan menggunakan sistem metrik (default = METRIC). |
location |
Wajib. Lokasi untuk mendapatkan kondisi cuaca. |
Kolom union
|
|
date |
Opsional. Tanggal informasi cuaca yang diperlukan. Catatan: Tanggal ini relatif terhadap zona waktu lokal lokasi yang ditentukan di kolom lokasi. Tanggal harus dalam 7 hari ke depan. |
Kolom union
|
|
hour |
Opsional. Jam informasi cuaca yang diminta, dalam format 24 jam (0-23). Nilai ini relatif terhadap zona waktu lokal lokasi yang ditentukan di kolom lokasi. Prakiraan per jam hanya didukung untuk 48 jam ke depan dari waktu saat ini. |
Tanggal
| Representasi JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Kolom | |
|---|---|
year |
Tahun dalam tanggal. Harus dari 1 hingga 9999, atau 0 untuk menentukan tanggal tanpa tahun. |
month |
Bulan dalam setahun. Harus dari 1 hingga 12, atau 0 untuk menentukan tahun tanpa bulan dan hari. |
day |
Hari dalam sebulan. Harus dari 1 hingga 31 dan berlaku untuk tahun dan bulan, atau 0 untuk menentukan tahun saja atau tahun dan bulan jika hari dianggap tidak signifikan. |
Lokasi
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union location_type. Berbagai cara untuk merepresentasikan lokasi. location_type hanya dapat berupa salah satu dari berikut: |
|
latLng |
Titik yang ditentukan menggunakan koordinat geografis. |
placeId |
ID Tempat yang terkait dengan lokasi . |
address |
Alamat yang dapat dibaca manusia atau plus code. Lihat https://plus.codes untuk mengetahui detailnya. |
LatLng
| Representasi JSON |
|---|
{ "latitude": number, "longitude": number } |
| Kolom | |
|---|---|
latitude |
Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0]. |
longitude |
Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0]. |
Skema Output
Respons untuk RPC LookupWeather - merepresentasikan kondisi cuaca di lokasi yang diminta.
Respons ini menampilkan informasi Per Jam dan Harian, sehingga respons dibagi menjadi tiga bagian: Per Jam, Harian, dan Bersama. Kolom Hanya per Jam, Hanya per Hari ditandai sebagai opsional. Untuk kolom yang dibagikan antara informasi Per Jam dan Harian, beberapa kolom selalu ada sehingga tidak ditandai sebagai opsional, sedangkan kolom lainnya ditandai sebagai opsional karena tidak selalu tersedia.
LookupWeatherResponse
| Representasi JSON |
|---|
{ "weatherCondition": { object ( |
| Kolom | |
|---|---|
weatherCondition |
Kondisi cuaca |
precipitation |
Probabilitas presipitasi dan jumlah presipitasi yang terakumulasi |
wind |
Kondisi angin |
DEPRECATEDGeocodedAddress |
TIDAK DIGUNAKAN LAGI: Gunakan returned_location sebagai gantinya. |
returnedLocation |
Wajib. Lokasi tempat informasi cuaca ditampilkan. Lokasi ini identik dengan lokasi dalam permintaan, tetapi dapat berbeda jika lokasi yang diminta adalah alamat teks bebas yang mencari lokasi kasar (misalnya, "Mountain View, CA"). |
Kolom union
|
|
temperature |
Suhu per jam |
Kolom union
|
|
feelsLikeTemperature |
Pengukuran per jam tentang bagaimana suhu terasa. |
Kolom union
|
|
heatIndex |
Suhu indeks panas per jam. |
Kolom union
|
|
airPressure |
Kondisi tekanan udara per jam. |
Kolom union
|
|
maxTemperature |
Suhu maksimum (tinggi) sepanjang hari. |
Kolom union
|
|
minTemperature |
Suhu minimum (rendah) sepanjang hari. |
Kolom union
|
|
feelsLikeMaxTemperature |
Suhu yang dirasakan maksimum (tinggi) sepanjang hari. |
Kolom union
|
|
feelsLikeMinTemperature |
Suhu yang dirasakan minimum (rendah) sepanjang hari. |
Kolom union
|
|
maxHeatIndex |
Suhu indeks panas maksimum sepanjang hari. |
Kolom union
|
|
sunEvents |
Peristiwa yang terkait dengan matahari (misalnya, matahari terbit, matahari terbenam). |
Kolom union
|
|
moonEvents |
Peristiwa yang terkait dengan bulan (misalnya, terbitnya bulan, terbenamnya bulan). |
Kolom union
|
|
relativeHumidity |
Persen kelembapan relatif (nilai dari 0 hingga 100). Tentukan opsional karena tidak selalu tersedia |
Kolom union
|
|
uvIndex |
Indeks ultraviolet (UV) maksimum. Tentukan opsional karena tidak selalu tersedia |
Kolom union
|
|
thunderstormProbability |
Kemungkinan badai petir (nilai dari 0 hingga 100). Tentukan opsional karena tidak selalu tersedia |
Kolom union
|
|
cloudCover |
Persentase langit yang tertutup awan (nilai dari 0 hingga 100). Tentukan opsional karena tidak selalu tersedia |
Suhu
| Representasi JSON |
|---|
{ "unit": enum ( |
| Kolom | |
|---|---|
unit |
Kode untuk unit yang digunakan untuk mengukur nilai suhu. |
Kolom union
|
|
degrees |
Nilai suhu (dalam derajat) dalam satuan yang ditentukan. |
AirPressure
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union
|
|
meanSeaLevelMillibars |
Tekanan udara permukaan laut rata-rata dalam milibar. |
SunEvents
| Representasi JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Kolom | |
|---|---|
sunriseTime |
Waktu saat matahari terbit. CATATAN: Dalam beberapa kasus unik (misalnya, di utara lingkaran Arktik), mungkin tidak ada waktu matahari terbit untuk suatu hari. Dalam kasus ini, kolom ini tidak akan ditetapkan. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
sunsetTime |
Waktu saat matahari terbenam. CATATAN: Dalam beberapa kasus unik (misalnya, di utara lingkaran Arktik), mungkin tidak ada waktu matahari terbenam untuk suatu hari. Dalam kasus ini, kolom ini tidak akan ditetapkan. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z). |
nanos |
Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif. |
MoonEvents
| Representasi JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Kolom | |
|---|---|
moonriseTimes[] |
Waktu saat anggota tubuh atas bulan muncul di atas cakrawala (lihat https://en.wikipedia.org/wiki/Moonrise_and_moonset). CATATAN: Untuk sebagian besar kasus, akan ada satu waktu terbit bulan per hari. Dalam kasus lain, daftar mungkin kosong (misalnya saat bulan terbit setelah tengah malam hari berikutnya). Namun, dalam kasus unik (misalnya di wilayah kutub), daftar dapat berisi lebih dari satu nilai. Dalam kasus ini, nilai diurutkan dalam urutan menaik. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
moonsetTimes[] |
Waktu saat anggota gerak atas bulan menghilang di bawah cakrawala (lihat https://en.wikipedia.org/wiki/Moonrise_and_moonset). CATATAN: Untuk sebagian besar kasus, akan ada satu waktu terbenam bulan per hari. Dalam kasus lain, daftar mungkin kosong (misalnya, saat bulan terbenam setelah tengah malam hari berikutnya). Namun, dalam kasus unik (misalnya di wilayah kutub), daftar dapat berisi lebih dari satu nilai. Dalam kasus ini, nilai diurutkan dalam urutan menaik. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
moonPhase |
Fase bulan (alias fase lunar). |
WeatherCondition
| Representasi JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Kolom | |
|---|---|
iconBaseUri |
URI dasar untuk ikon yang tidak menyertakan ekstensi jenis file. Untuk menampilkan ikon, tambahkan tema jika diinginkan dan ekstensi jenis file ( |
description |
Deskripsi tekstual untuk kondisi cuaca ini (dilokalkan). |
type |
Jenis kondisi cuaca. |
LocalizedText
| Representasi JSON |
|---|
{ "text": string, "languageCode": string } |
| Kolom | |
|---|---|
text |
String yang dilokalkan dalam bahasa yang sesuai dengan |
languageCode |
Kode bahasa BCP-47 untuk teks, seperti "en-US" atau "sr-Latn". Untuk informasi selengkapnya, lihat http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Presipitasi
| Representasi JSON |
|---|
{ "probability": { object ( |
| Kolom | |
|---|---|
probability |
Peluang terjadinya hujan (nilai dari 0 hingga 100). |
snowQpf |
Jumlah salju, yang diukur sebagai setara air cair, yang telah terakumulasi selama jangka waktu tertentu. Catatan: QPF adalah singkatan dari Quantitative Precipitation Forecast (lihat definisi QuantitativePrecipitationForecast untuk mengetahui detail selengkapnya). |
qpf |
Jumlah presipitasi hujan, yang diukur sebagai setara air cair, yang telah terakumulasi selama jangka waktu tertentu. Catatan: QPF adalah singkatan dari Quantitative Precipitation Forecast (lihat definisi QuantitativePrecipitationForecast untuk mengetahui detail selengkapnya). |
PrecipitationProbability
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Kode yang menunjukkan jenis presipitasi. |
Kolom union
|
|
percent |
Persentase dari 0 hingga 100 yang menunjukkan peluang presipitasi. |
QuantitativePrecipitationForecast
| Representasi JSON |
|---|
{ "unit": enum ( |
| Kolom | |
|---|---|
unit |
Kode unit yang digunakan untuk mengukur jumlah akumulasi presipitasi. |
Kolom union
|
|
quantity |
Jumlah presipitasi, yang diukur sebagai setara air cair, yang telah terakumulasi selama jangka waktu tertentu. |
Wind
| Representasi JSON |
|---|
{ "direction": { object ( |
| Kolom | |
|---|---|
direction |
Arah angin, sudut datangnya angin. |
speed |
Kecepatan angin. |
gust |
Hembusan angin (peningkatan kecepatan angin secara tiba-tiba). |
WindDirection
| Representasi JSON |
|---|
{ "cardinal": enum ( |
| Kolom | |
|---|---|
cardinal |
Kode yang menunjukkan arah mata angin dari mana angin bertiup. |
Kolom union
|
|
degrees |
Arah angin dalam derajat (nilai dari 0 hingga 360). |
WindSpeed
| Representasi JSON |
|---|
{ "unit": enum ( |
| Kolom | |
|---|---|
unit |
Kode yang merepresentasikan unit yang digunakan untuk mengukur kecepatan angin. |
Kolom union
|
|
value |
Nilai kecepatan angin. |
Lokasi
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union location_type. Berbagai cara untuk merepresentasikan lokasi. location_type hanya dapat berupa salah satu dari berikut: |
|
latLng |
Titik yang ditentukan menggunakan koordinat geografis. |
placeId |
ID Tempat yang terkait dengan lokasi . |
address |
Alamat yang dapat dibaca manusia atau plus code. Lihat https://plus.codes untuk mengetahui detailnya. |
LatLng
| Representasi JSON |
|---|
{ "latitude": number, "longitude": number } |
| Kolom | |
|---|---|
latitude |
Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0]. |
longitude |
Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0]. |
Anotasi Alat
Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌