ابزار: lookup_weather
دادههای جامع آب و هوا شامل شرایط فعلی، پیشبینیهای ساعتی و روزانه را بازیابی میکند. دادههای خاص موجود: دما (فعلی، پیشبینی، حداکثر/حداقل، شاخص گرما)، باد (سرعت، تندباد، جهت)، رویدادهای آسمانی (طلوع/غروب خورشید، فاز ماه)، بارش (نوع، احتمال، مقدار/QPF)، شرایط جوی (شاخص UV، رطوبت، پوشش ابر، احتمال رعد و برق) و آدرس مکان با کد جغرافیایی. مکان و قوانین مکان (بحرانی): مکانی که دادههای آب و هوا برای آن درخواست میشود با استفاده از فیلد 'location' مشخص میشود. این فیلد یک ساختار 'oneof' است، به این معنی که شما باید فقط برای یکی از سه فیلد فرعی مکان زیر مقداری ارائه دهید تا جستجوی دقیق دادههای آب و هوا تضمین شود. ۱. مختصات جغرافیایی (lat_lng) * زمانی که مختصات دقیق lat/lng به شما ارائه میشود، از آن استفاده کنید. * مثال: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // لسآنجلس ۲. شناسه مکان (place_id) * یک شناسه رشتهای بدون ابهام (شناسه مکان نقشههای گوگل). * شناسه مکان را میتوان از ابزار search_places دریافت کرد. * مثال: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // برج ایفل ۳. رشته آدرس (address) * یک رشته آزاد که برای کدگذاری جغرافیایی نیاز به جزئیات دارد. * شهر و منطقه: همیشه منطقه/کشور را وارد کنید (مثلاً "لندن، انگلستان"، نه "لندن"). * آدرس خیابان: آدرس کامل را ارائه دهید (مثلاً "1600 Pennsylvania Ave NW, Washington, DC"). * کد پستی/کد پستی: باید با نام کشور همراه باشد (مثلاً "90210، ایالات متحده آمریکا"، نه "90210"). حالتهای استفاده: ۱. آب و هوای فعلی: فقط address وارد کنید. date و hour را مشخص نکنید. ۲. پیشبینی ساعتی: address ، date و hour (0-23) را وارد کنید. برای زمانهای خاص (مثلاً "ساعت 5 بعد از ظهر") یا عباراتی مانند "چند ساعت آینده" یا "بعداً امروز" استفاده کنید. اگر کاربر دقیقه را مشخص کند، به نزدیکترین ساعت گرد کنید. پیشبینی ساعتی فراتر از 48 ساعت از اکنون پشتیبانی نمیشود. ۳. پیشبینی روزانه: address و date را وارد کنید. hour را مشخص نکنید. برای درخواستهای عمومی روز استفاده کنید (مثلاً "آب و هوای فردا"، "آب و هوای جمعه"، "آب و هوای 12/25"). اگر تاریخ امروز در متن نیست، باید آن را با کاربر روشن کنید. پیشبینی روزانه فراتر از 7 روز شامل امروز پشتیبانی نمیشود. آب و هوای تاریخی پشتیبانی نمیشود. محدودیتهای پارامتر: * مناطق زمانی: تمام ورودیهای date و hour باید نسبت به منطقه زمانی محلی مکان باشند، نه منطقه زمانی کاربر. * قالب تاریخ: ورودیها باید به اعداد صحیح {year, month, day} تفکیک شوند. * واحدها: به صورت پیشفرض روی METRIC تنظیم میشوند. اگر کاربر استانداردهای ایالات متحده را مطرح میکند یا صریحاً درخواست میکند، units_system برای فارنهایت/مایل روی IMPERIAL تنظیم کنید.
نمونه زیر نحوه استفاده از curl برای فراخوانی ابزار lookup_weather MCP را نشان میدهد.
| درخواست کرل |
|---|
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 }' |
طرحواره ورودی
درخواست برای متد LookupWeather - نشان دهنده شرایط آب و هوایی در مکان درخواست شده است.
درخواست جستجو آب و هوا
| نمایش JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| فیلدها | |
|---|---|
DEPRECATEDAddress | منسوخ شده: به جای آن از مکان استفاده کنید. |
unitsSystem | اختیاری. سیستم واحد مورد استفاده برای شرایط آب و هوایی برگردانده شده. در صورت عدم ارائه، شرایط آب و هوایی برگردانده شده در سیستم متریک خواهد بود (پیش فرض = METRIC). |
location | الزامی. مکانی که باید شرایط آب و هوایی آن را دریافت کنید. |
فیلد اتحادیه | |
date | اختیاری. تاریخ اطلاعات آب و هوایی مورد نیاز. توجه: این تاریخ نسبت به منطقه زمانی محلی مکان مشخص شده در فیلد مکان است. تاریخ باید ظرف ۷ روز آینده باشد. |
میدان اتحادیه | |
hour | اختیاری. ساعت اطلاعات آب و هوای درخواستی، در قالب ۲۴ ساعته (۰-۲۳). این مقدار نسبت به منطقه زمانی محلی مکان مشخص شده در فیلد مکان است. پیشبینی ساعتی فقط برای ۴۸ ساعت آینده از زمان فعلی پشتیبانی میشود. |
تاریخ
| نمایش JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| فیلدها | |
|---|---|
year | سال تاریخ. باید از ۱ تا ۹۹۹۹ باشد، یا برای مشخص کردن تاریخ بدون سال، ۰ باشد. |
month | ماه سال. باید از ۱ تا ۱۲ باشد، یا برای مشخص کردن سال بدون ماه و روز، ۰ باشد. |
day | روز ماه. باید از ۱ تا ۳۱ باشد و برای سال و ماه معتبر باشد، یا ۰ برای مشخص کردن یک سال به تنهایی یا یک سال و ماه که روز در آن مهم نیست. |
مکان
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد واحد location_type . روشهای مختلف برای نمایش یک مکان. location_type فقط میتواند یکی از موارد زیر باشد: | |
latLng | نقطهای که با استفاده از مختصات جغرافیایی مشخص شده است. |
placeId | شناسه مکان مرتبط با مکان. |
address | آدرس قابل خواندن توسط انسان یا یک کد پلاس. برای جزئیات بیشتر به https://plus.codes مراجعه کنید. |
لاتلنگ
| نمایش JSON |
|---|
{ "latitude": number, "longitude": number } |
| فیلدها | |
|---|---|
latitude | عرض جغرافیایی بر حسب درجه. باید در محدوده [-90.0، +90.0] باشد. |
longitude | طول جغرافیایی بر حسب درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد. |
طرحواره خروجی
پاسخ برای RPC مربوط به LookupWeather - نشان دهنده شرایط آب و هوایی در مکان درخواست شده است.
این پاسخ هم اطلاعات ساعتی و هم اطلاعات روزانه را نشان میدهد، بنابراین پاسخ به سه بخش ساعتی، روزانه و مشترک تقسیم شده است. فیلدهای فقط ساعتی و فقط روزانه به عنوان اختیاری علامت گذاری شدهاند. برای فیلدهایی که بین اطلاعات ساعتی و روزانه مشترک هستند، برخی همیشه وجود دارند، بنابراین به عنوان اختیاری علامت گذاری نمیشوند، در حالی که بقیه به عنوان اختیاری علامت گذاری میشوند زیرا همیشه در دسترس نیستند.
جستجو در آب و هوا
| نمایش JSON |
|---|
{ "weatherCondition": { object ( |
| فیلدها | |
|---|---|
weatherCondition | وضعیت آب و هوا |
precipitation | احتمال بارندگی و میزان بارندگی تجمعی |
wind | شرایط باد |
DEPRECATEDGeocodedAddress | منسوخ شده: به جای آن از return_location استفاده کنید. |
returnedLocation | الزامی. مکانی که اطلاعات آب و هوا در آن برگردانده میشود. این مکان با مکان موجود در درخواست یکسان است، اما اگر مکان درخواستی یک آدرس متن آزاد باشد که به یک مکان تقریبی (مثلاً "Mountain View، CA") اشاره دارد، میتواند متفاوت باشد. |
میدان یونیون | |
temperature | دمای ساعتی |
میدان یونیون | |
feelsLikeTemperature | معیار ساعتی برای سنجش دمای هوا. |
| |
heatIndex | دمای شاخص گرمای ساعتی. |
| |
airPressure | شرایط فشار هوای ساعتی. |
فیلد اتحادیه | |
maxTemperature | حداکثر (بالاترین) دما در طول روز. |
فیلد اتحادیه | |
minTemperature | حداقل (پایینترین) دما در طول روز. |
فیلد اتحادیه | |
feelsLikeMaxTemperature | حداکثر (بالاترین) دمایی که در طول روز احساس میشود. |
فیلد اتحادیه | |
feelsLikeMinTemperature | حداقل (پایینترین) دمایی که در طول روز احساس میشود. |
فیلد اتحادیه | |
maxHeatIndex | حداکثر دمای شاخص گرما در طول روز. |
| |
sunEvents | وقایع مربوط به خورشید (مثلاً طلوع خورشید، غروب خورشید). |
| |
moonEvents | رویدادهای مربوط به ماه (مثلاً طلوع ماه، غروب ماه). |
| |
relativeHumidity | درصد رطوبت نسبی (مقادیر از ۰ تا ۱۰۰). تعریف اختیاری است زیرا همیشه در دسترس نیست |
فیلد یونیون | |
uvIndex | حداکثر شاخص فرابنفش (UV). تعریف آن اختیاری است زیرا همیشه در دسترس نیست. |
| |
thunderstormProbability | احتمال رعد و برق (مقادیر از 0 تا 100). تعریف اختیاری است زیرا همیشه در دسترس نیست |
| |
cloudCover | درصد آسمان پوشیده از ابر (مقادیر از ۰ تا ۱۰۰). تعریف اختیاری است زیرا همیشه در دسترس نیست. |
دما
| نمایش JSON |
|---|
{ "unit": enum ( |
| فیلدها | |
|---|---|
unit | کد مربوط به واحد مورد استفاده برای اندازهگیری مقدار دما. |
رشته تحصیلی اتحادیه | |
degrees | مقدار دما (برحسب درجه) در واحد مشخص شده. |
فشار هوا
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
میدان یونیون | |
meanSeaLevelMillibars | فشار متوسط هوا در سطح دریا بر حسب میلی بار. |
رویدادهای سان
| نمایش JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| فیلدها | |
|---|---|
sunriseTime | ساعتی که خورشید طلوع میکند. نکته: در برخی موارد خاص (مثلاً شمال دایره قطبی) ممکن است زمان طلوع آفتاب برای یک روز وجود نداشته باشد. در این موارد، این فیلد تنظیم نخواهد شد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
sunsetTime | ساعتی که خورشید غروب میکند. نکته: در برخی موارد خاص (مثلاً شمال دایره قطبی) ممکن است زمان غروب آفتاب برای یک روز وجود نداشته باشد. در این موارد، این فیلد تنظیم نخواهد شد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
مهر زمانی
| نمایش JSON |
|---|
{ "seconds": string, "nanos": integer } |
| فیلدها | |
|---|---|
seconds | ثانیههای زمان UTC را از زمان یونیکس ۱۹۷۰-۰۱-۰۱T۰۰:۰۰:۰۰Z نشان میدهد. باید بین -۶۲۱۳۵۵۹۶۸۰۰ و ۲۵۳۴۰۲۳۰۰۷۹۹ باشد (که معادل ۰۰۰۱-۰۱-۰۱T۰۰:۰۰:۰۰Z تا ۹۹۹۹-۱۲-۳۱T۲۳:۵۹:۵۹Z است). |
nanos | کسرهای غیرمنفی ثانیه با وضوح نانوثانیه. این فیلد بخش نانوثانیه از مدت زمان است، نه جایگزینی برای ثانیه. مقادیر منفی ثانیه با کسرها باید همچنان دارای مقادیر نانوثانیه غیرمنفی باشند که در زمان به جلو شمارش میشوند. باید بین ۰ تا ۹۹۹۹۹۹۹۹۹۹ باشد. |
رویدادهای ماه
| نمایش JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| فیلدها | |
|---|---|
moonriseTimes[] | زمانی که لبه بالایی ماه در بالای افق ظاهر میشود (به https://en.wikipedia.org/wiki/Moonrise_and_moonset مراجعه کنید) . توجه: در بیشتر موارد، یک زمان طلوع ماه در هر روز وجود خواهد داشت. در موارد دیگر، لیست ممکن است خالی باشد (مثلاً وقتی ماه بعد از نیمه شب روز بعد طلوع میکند). با این حال، در موارد منحصر به فرد (مثلاً در مناطق قطبی)، لیست ممکن است شامل بیش از یک مقدار باشد. در این موارد، مقادیر به ترتیب صعودی مرتب میشوند. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
moonsetTimes[] | زمانی که لبه بالایی ماه در زیر افق ناپدید میشود (به https://en.wikipedia.org/wiki/Moonrise_and_moonset مراجعه کنید) . توجه: در بیشتر موارد، برای هر روز یک زمان مشخص برای ماه وجود دارد. در موارد دیگر، لیست ممکن است خالی باشد (مثلاً وقتی ماه بعد از نیمهشب روز بعد غروب میکند). با این حال، در موارد منحصر به فرد (مثلاً در مناطق قطبی)، لیست ممکن است شامل بیش از یک مقدار باشد. در این موارد، مقادیر به ترتیب صعودی مرتب میشوند. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
moonPhase | فاز ماه (معروف به فاز قمری). |
وضعیت آب و هوا
| نمایش JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| فیلدها | |
|---|---|
iconBaseUri | آدرس اینترنتی (URI) پایه برای آیکون، بدون در نظر گرفتن پسوند نوع فایل. برای نمایش آیکون، در صورت تمایل، یک تم و پسوند نوع فایل ( |
description | توضیحات متنی برای این وضعیت آب و هوایی (بومیسازی شده). |
type | نوع شرایط آب و هوایی. |
متن محلیشده
| نمایش JSON |
|---|
{ "text": string, "languageCode": string } |
| فیلدها | |
|---|---|
text | رشتهی محلیشده به زبانی که متناظر با |
languageCode | کد زبان BCP-47 متن، مانند "en-US" یا "sr-Latn". برای اطلاعات بیشتر، به آدرس http://www.unicode.org/reports/tr35/#Unicode_locale_identifier مراجعه کنید. |
بارش
| نمایش JSON |
|---|
{ "probability": { object ( |
| فیلدها | |
|---|---|
probability | احتمال بارش (مقادیر از 0 تا 100). |
snowQpf | مقدار برفی که به صورت معادل آب مایع اندازهگیری میشود و در طول یک دوره زمانی انباشته شده است. توجه: QPF مخفف پیشبینی کمی بارش است (برای جزئیات بیشتر، لطفاً به تعریف پیشبینی کمی بارش مراجعه کنید). |
qpf | میزان بارش باران، که به صورت معادل آب مایع اندازهگیری میشود و در یک دوره زمانی انباشته شده است. توجه: QPF مخفف پیشبینی کمی بارش است (برای جزئیات بیشتر، لطفاً به تعریف پیشبینی کمی بارش مراجعه کنید). |
احتمال بارش
| نمایش JSON |
|---|
{ "type": enum ( |
| فیلدها | |
|---|---|
type | کدی که نوع بارش را نشان میدهد. |
فیلد اتحادیه | |
percent | درصدی از ۰ تا ۱۰۰ که احتمال بارش را نشان میدهد. |
پیشبینی بارش کمی
| نمایش JSON |
|---|
{ "unit": enum ( |
| فیلدها | |
|---|---|
unit | کد واحد مورد استفاده برای اندازهگیری میزان بارش انباشته شده. |
فیلد مشترک | |
quantity | مقدار بارندگی، که به صورت معادل آب مایع اندازهگیری میشود، و در یک دوره زمانی انباشته شده است. |
باد
| نمایش JSON |
|---|
{ "direction": { object ( |
| فیلدها | |
|---|---|
direction | جهت باد، زاویهای که باد از آن میوزد. |
speed | سرعت باد. |
gust | تندباد (افزایش ناگهانی سرعت باد). |
جهت باد
| نمایش JSON |
|---|
{ "cardinal": enum ( |
| فیلدها | |
|---|---|
cardinal | کدی که جهت اصلی وزش باد را نشان میدهد. |
رشته تحصیلی اتحادیه | |
degrees | جهت باد بر حسب درجه (مقادیر از ۰ تا ۳۶۰). |
سرعت باد
| نمایش JSON |
|---|
{ "unit": enum ( |
| فیلدها | |
|---|---|
unit | کدی که واحد مورد استفاده برای اندازهگیری سرعت باد را نشان میدهد. |
| |
value | مقدار سرعت باد. |
مکان
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد واحد location_type . روشهای مختلف برای نمایش یک مکان. location_type فقط میتواند یکی از موارد زیر باشد: | |
latLng | نقطهای که با استفاده از مختصات جغرافیایی مشخص شده است. |
placeId | شناسه مکان مرتبط با مکان. |
address | آدرس قابل خواندن توسط انسان یا یک کد پلاس. برای جزئیات بیشتر به https://plus.codes مراجعه کنید. |
لاتلنگ
| نمایش JSON |
|---|
{ "latitude": number, "longitude": number } |
| فیلدها | |
|---|---|
latitude | عرض جغرافیایی بر حسب درجه. باید در محدوده [-90.0، +90.0] باشد. |
longitude | طول جغرافیایی بر حسب درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد. |
حاشیهنویسی ابزار
راهنمایی مخرب: ❌ | راهنمایی بیاثر: ❌ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌