الأداة: lookup_weather
يستردّ هذا الإجراء بيانات شاملة عن الطقس، بما في ذلك الأحوال الجوية الحالية والتوقعات كل ساعة ويوميًا. البيانات المحدّدة المتوفّرة: درجة الحرارة (الحالية، والمحسوسة، والحد الأقصى/الأدنى، ومؤشر الحرارة)، والرياح (السرعة، والهبات، والاتجاه)، والأحداث السماوية (شروق الشمس/غروبها، ومرحلة القمر)، وهطول الأمطار (النوع، والاحتمالية، والكمية/توقّعات هطول الأمطار)، والظروف الجوية (مؤشر الأشعة فوق البنفسجية، والرطوبة، والغطاء السحابي، واحتمالية حدوث عواصف رعدية)، وعنوان الموقع الجغرافي المرمّز جغرافيًا. الموقع الجغرافي وقواعد الموقع الجغرافي (مهم): يتم تحديد الموقع الجغرافي المطلوب الحصول على بيانات الطقس الخاصة به باستخدام الحقل "الموقع الجغرافي". هذا الحقل هو بنية "oneof"، ما يعني أنّه يجب تقديم قيمة لحقل فرعي واحد فقط من حقول الموقع الجغرافي الفرعية الثلاثة أدناه لضمان البحث عن بيانات الطقس بدقة. 1- الإحداثيات الجغرافية (lat_lng) * استخدِمها عندما يتم تزويدك بإحداثيات خطوط الطول والعرض الدقيقة. * مثال: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles 2. معرّف المكان (place_id) * معرّف سلسلة غير مبهم (معرّف المكان على "خرائط Google") * يمكن استرداد place_id من أداة search_places. * مثال: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower 3. سلسلة العنوان (address) * سلسلة ذات شكل حر تتطلب تحديدًا جغرافيًا. * المدينة والمنطقة: يجب دائمًا تضمين المنطقة/البلد (مثلاً، "لندن، المملكة المتحدة"، وليس "لندن"). * عنوان الشارع: أدخِل العنوان الكامل (مثلاً "1600 Pennsylvania Ave NW, Washington, DC"). * الرموز البريدية: يجب أن تكون مصحوبة باسم البلد (مثلاً "90210، الولايات المتحدة الأمريكية"، وليس "90210"). أوضاع الاستخدام: 1. الطقس الحالي: يجب تقديم address فقط. لا تحدِّد date وhour. 2. توقّعات الطقس على مدار الساعة: يجب توفير address وdate وhour (من 0 إلى 23). استخدِمها لأوقات محدّدة (مثل في الساعة 5 مساءً") أو عبارات مثل "خلال الساعات القليلة القادمة" أو "في وقت لاحق اليوم". إذا حدّد المستخدم الدقيقة، يتم التقريب إلى أقرب ساعة. لا تتوفّر توقعات الطقس كل ساعة لما بعد 48 ساعة من الآن. 3- توقّعات الطقس اليومية: قدِّم address وdate. لا تحدِّد hour. استخدِمها لطلبات الأيام العامة (مثل "الطقس غدًا"، "الطقس يوم الجمعة"، "الطقس في 25/12"). إذا لم يكن تاريخ اليوم متوفّرًا في السياق، عليك توضيحه للمستخدم. لا تتوفّر توقّعات الطقس اليومية لما بعد 7 أيام. لا تتوفّر بيانات الطقس السابقة. قيود المَعلمات: * المناطق الزمنية: يجب أن تكون جميع إدخالات date وhour مرتبطة بالمنطقة الزمنية المحلية للموقع الجغرافي، وليس بالمنطقة الزمنية للمستخدم. * تنسيق التاريخ: يجب فصل المدخلات إلى {year, month, day} أعداد صحيحة. * الوحدات: يتم ضبط القيمة التلقائية على METRIC. اضبط units_system على IMPERIAL لوحدة فهرنهايت/ميل إذا كان المستخدم يشير إلى المعايير الأمريكية أو يطلبها صراحةً.
يوضّح المثال التالي كيفية استخدام curl لاستدعاء أداة lookup_weather MCP.
| Curl Request |
|---|
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 - يمثّل أحوال الطقس في الموقع الجغرافي المطلوب.
LookupWeatherRequest
| تمثيل JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| الحقول | |
|---|---|
DEPRECATEDAddress |
تم إيقاف هذه السمة نهائيًا: استخدِم الموقع الجغرافي بدلاً منها. |
unitsSystem |
اختيارية: نظام الوحدات الذي سيتم استخدامه لعرض أحوال الطقس التي تم إرجاعها في حال عدم توفيرها، ستكون أحوال الطقس المعروضة بالنظام المتري (القيمة التلقائية = METRIC). |
location |
الحقل مطلوب. الموقع الجغرافي الذي تريد معرفة أحوال الطقس فيه |
حقل الدمج يمكن أن تكون |
|
date |
اختيارية: تمثّل هذه السمة تاريخ معلومات الطقس المطلوبة. ملاحظة: يرتبط هذا التاريخ بالمنطقة الزمنية المحلية للموقع الجغرافي المحدّد في حقل الموقع الجغرافي. يجب أن يكون التاريخ خلال الأيام السبعة المقبلة. |
حقل الدمج يمكن أن تكون |
|
hour |
اختيارية: ساعة معلومات الطقس المطلوبة، بتنسيق 24 ساعة (0-23) هذه القيمة مرتبطة بالمنطقة الزمنية المحلية للموقع الجغرافي المحدّد في حقل الموقع الجغرافي. لا تتوفّر التوقعات حسب الساعة إلا للـ 48 ساعة القادمة من الوقت الحالي. |
التاريخ
| تمثيل JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| الحقول | |
|---|---|
year |
سنة التاريخ يجب أن يكون الرقم بين 1 و9999، أو 0 لتحديد تاريخ بدون سنة. |
month |
الشهر من السنة يجب أن يكون الرقم بين 1 و12، أو 0 لتحديد سنة بدون شهر ويوم. |
day |
اليوم من الشهر يجب أن يكون الرقم بين 1 و31 وصالحًا للسنة والشهر، أو 0 لتحديد سنة بمفردها أو سنة وشهر لا يكون فيه اليوم مهمًا. |
الموقع الجغرافي
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الدمج location_type طرق مختلفة لتمثيل موقع جغرافي يمكن أن تكون location_type إحدى القيم التالية فقط: |
|
latLng |
نقطة محدّدة باستخدام الإحداثيات الجغرافية |
placeId |
تمثّل هذه السمة معرّف المكان المرتبط بالموقع الجغرافي . |
address |
عنوان يمكن لشخص عادي قراءته أو رمز Plus Code لمزيد من التفاصيل، يُرجى الانتقال إلى https://plus.codes. |
LatLng
| تمثيل JSON |
|---|
{ "latitude": number, "longitude": number } |
| الحقول | |
|---|---|
latitude |
تمثّل هذه السمة خط العرض بالدرجات. يجب أن يكون في النطاق [-90.0, +90.0]. |
longitude |
تمثّل هذه السمة خط الطول بالدرجات. يجب أن تكون القيمة ضمن النطاق [-180.0, +180.0]. |
مخطط الإخراج
ردّ على إجراء LookupWeather RPC - يمثّل الأحوال الجوية في الموقع الجغرافي المطلوب.
يمثّل هذا الردّ المعلومات بالساعة واليوم، لذا يتم تقسيم الردّ إلى ثلاثة أقسام: بالساعة واليوم والمشاركة. يتم وضع علامة "اختياري" على الحقلين "كل ساعة فقط" و"كل يوم فقط". بالنسبة إلى الحقول التي تتم مشاركتها بين معلومات كل ساعة ومعلومات كل يوم، تكون بعضها متوفّرة دائمًا، لذا لا يتم تصنيفها على أنّها اختيارية، بينما يتم تصنيف البقية على أنّها اختيارية لأنّها غير متوفّرة دائمًا.
LookupWeatherResponse
| تمثيل JSON |
|---|
{ "weatherCondition": { object ( |
| الحقول | |
|---|---|
weatherCondition |
حالة الطقس |
precipitation |
احتمال هطول الأمطار وكمية الأمطار المتراكمة |
wind |
أحوال الرياح |
DEPRECATEDGeocodedAddress |
تم إيقاف هذه السمة نهائيًا، لذا يُرجى استخدام returned_location بدلاً منها. |
returnedLocation |
الحقل مطلوب. الموقع الجغرافي الذي يتم عرض معلومات الطقس فيه يكون هذا الموقع الجغرافي مطابقًا للموقع الجغرافي الوارد في الطلب، ولكن يمكن أن يختلف عنه إذا كان الموقع الجغرافي المطلوب هو عنوان نصي حرّ يبحث عن موقع جغرافي تقريبي (مثل "ماونتن فيو، كاليفورنيا"). |
حقل الدمج يمكن أن تكون |
|
temperature |
درجة الحرارة كل ساعة |
حقل الدمج يمكن أن تكون |
|
feelsLikeTemperature |
هي مقياس كل ساعة لدرجة الحرارة المحسوسة. |
حقل الدمج يمكن أن تكون |
|
heatIndex |
درجة حرارة مؤشر الحرارة كل ساعة |
حقل الدمج يمكن أن تكون |
|
airPressure |
حالات ضغط الهواء كل ساعة |
حقل الدمج يمكن أن تكون |
|
maxTemperature |
تمثّل هذه السمة الحد الأقصى لدرجة الحرارة خلال اليوم. |
حقل الدمج يمكن أن تكون |
|
minTemperature |
تمثّل هذه السمة الحد الأدنى لدرجة الحرارة خلال اليوم. |
حقل الدمج يمكن أن تكون |
|
feelsLikeMaxTemperature |
الحدّ الأقصى لدرجة الحرارة المحسوسة خلال اليوم |
حقل الدمج يمكن أن تكون |
|
feelsLikeMinTemperature |
الحدّ الأدنى لدرجة الحرارة المحسوسة خلال اليوم |
حقل الدمج يمكن أن تكون |
|
maxHeatIndex |
أعلى درجة حرارة لمؤشر الحرارة خلال اليوم |
حقل الدمج يمكن أن تكون |
|
sunEvents |
الأحداث المرتبطة بالشمس (مثل شروق الشمس وغروبها) |
حقل الدمج يمكن أن تكون |
|
moonEvents |
الأحداث المرتبطة بالقمر (مثل شروق القمر وغروبه) |
حقل الدمج يمكن أن تكون |
|
relativeHumidity |
النسبة المئوية للرطوبة النسبية (قيم من 0 إلى 100). يتم تحديدها على أنّها اختيارية لأنّها غير متاحة دائمًا |
حقل الدمج يمكن أن تكون |
|
uvIndex |
الحد الأقصى لمؤشر الأشعة فوق البنفسجية (UV). تحديد اختياري لأنّه غير متوفّر دائمًا |
حقل الدمج يمكن أن تكون |
|
thunderstormProbability |
احتمال حدوث عواصف رعدية (قيم تتراوح بين 0 و100). حدِّد اختياري لأنّه غير متوفّر دائمًا |
حقل الدمج يمكن أن تكون |
|
cloudCover |
تمثّل هذه السمة النسبة المئوية للسماء المغطاة بالسحب (قيم تتراوح بين 0 و100). تم تحديدها على أنّها اختيارية لأنّها غير متاحة دائمًا. |
درجة الحرارة
| تمثيل JSON |
|---|
{ "unit": enum ( |
| الحقول | |
|---|---|
unit |
رمز الوحدة المستخدَمة لقياس قيمة درجة الحرارة |
حقل الدمج يمكن أن تكون |
|
degrees |
قيمة درجة الحرارة (بالدرجات) بالوحدة المحدّدة |
AirPressure
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الدمج يمكن أن تكون |
|
meanSeaLevelMillibars |
تمثّل هذه السمة ضغط الهواء على مستوى سطح البحر بالملّيبار. |
SunEvents
| تمثيل JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| الحقول | |
|---|---|
sunriseTime |
تمثّل هذه السمة الوقت الذي تشرق فيه الشمس. ملاحظة: في بعض الحالات الفريدة (مثل المناطق الواقعة شمال الدائرة القطبية الشمالية)، قد لا يتوفّر وقت شروق الشمس ليوم معيّن. في هذه الحالات، سيتم إلغاء ضبط هذا الحقل. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
sunsetTime |
تمثّل هذه السمة الوقت الذي تغرب فيه الشمس. ملاحظة: في بعض الحالات الفريدة (مثل المناطق الواقعة شمال الدائرة القطبية الشمالية)، قد لا يكون هناك وقت لغروب الشمس في يوم معيّن. في هذه الحالات، سيتم إلغاء ضبط هذا الحقل. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
الطابع الزمني
| تمثيل JSON |
|---|
{ "seconds": string, "nanos": integer } |
| الحقول | |
|---|---|
seconds |
تمثّل هذه السمة ثواني التوقيت العالمي المنسَّق منذ بدء حساب الفترة في 1970-01-01T00:00:00Z. يجب أن تتراوح القيمة بين -62135596800 و253402300799 شاملةً الرقمين (وهو ما يتوافق مع 0001-01-01T00:00:00Z إلى 9999-12-31T23:59:59Z). |
nanos |
أجزاء غير سالبة من الثانية بدقة النانو ثانية هذا الحقل هو جزء من المدة بوحدة النانو ثانية، وليس بديلاً عن الثواني. يجب أن تتضمّن قيم الثواني السالبة التي تتضمّن كسورًا قيمًا غير سالبة للنانو ثانية يتم احتسابها للأمام في الوقت. يجب أن تتراوح القيمة بين 0 و999,999,999، بما في ذلك الرقمان. |
MoonEvents
| تمثيل JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| الحقول | |
|---|---|
moonriseTimes[] |
الوقت الذي يظهر فيه الطرف العلوي للقمر فوق الأفق (راجِع https://en.wikipedia.org/wiki/Moonrise_and_moonset) ملاحظة: في معظم الحالات، سيكون هناك وقت واحد لطلوع القمر في اليوم. في حالات أخرى، قد تكون القائمة فارغة (على سبيل المثال، عندما يظهر القمر بعد منتصف ليل اليوم التالي). ومع ذلك، في حالات فريدة (مثل المناطق القطبية)، قد تحتوي القائمة على أكثر من قيمة واحدة. في هذه الحالات، يتم ترتيب القيم بترتيب تصاعدي. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
moonsetTimes[] |
الوقت الذي يختفي فيه الطرف العلوي للقمر تحت الأفق (راجِع https://en.wikipedia.org/wiki/Moonrise_and_moonset). ملاحظة: في معظم الحالات، سيكون هناك وقت واحد لغروب القمر في اليوم. في حالات أخرى، قد تكون القائمة فارغة (على سبيل المثال، عندما يغرب القمر بعد منتصف ليل اليوم التالي). ومع ذلك، في حالات فريدة (مثل المناطق القطبية)، قد تحتوي القائمة على أكثر من قيمة واحدة. في هذه الحالات، يتم ترتيب القيم بترتيب تصاعدي. يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 أو 3 أو 6 أو 9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: |
moonPhase |
مرحلة القمر (المعروفة أيضًا باسم طور القمر) |
WeatherCondition
| تمثيل JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| الحقول | |
|---|---|
iconBaseUri |
معرّف الموارد المنتظم الأساسي للرمز الذي لا يتضمّن امتداد نوع الملف لعرض الرمز، أضِف تصميمًا إذا أردت وامتداد نوع الملف ( |
description |
الوصف النصي لحالة الطقس هذه (مترجَم). |
type |
نوع حالة الطقس. |
LocalizedText
| تمثيل 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 هو اختصار لعبارة "توقعات كمية هطول الأمطار" (يُرجى الاطّلاع على تعريف QuantitativePrecipitationForecast لمزيد من التفاصيل). |
qpf |
كمية هطول الأمطار، ويتم قياسها على أنّها كمية المياه السائلة المتراكمة خلال فترة زمنية معيّنة. ملاحظة: QPF هو اختصار لعبارة "توقعات كمية هطول الأمطار" (يُرجى الاطّلاع على تعريف QuantitativePrecipitationForecast لمزيد من التفاصيل). |
PrecipitationProbability
| تمثيل JSON |
|---|
{ "type": enum ( |
| الحقول | |
|---|---|
type |
رمز يشير إلى نوع الهطول |
حقل الدمج يمكن أن تكون |
|
percent |
نسبة مئوية تتراوح بين 0 و100 تشير إلى احتمالية هطول الأمطار |
QuantitativePrecipitationForecast
| تمثيل JSON |
|---|
{ "unit": enum ( |
| الحقول | |
|---|---|
unit |
رمز الوحدة المستخدَمة لقياس كمية الأمطار المتراكمة |
حقل الدمج يمكن أن تكون |
|
quantity |
كمية الهطول، ويتم قياسها على أنّها مكافئ الماء السائل الذي تراكم على مدار فترة زمنية معيّنة. |
الرياح
| تمثيل JSON |
|---|
{ "direction": { object ( |
| الحقول | |
|---|---|
direction |
اتجاه الرياح، أي الزاوية التي تهب منها |
speed |
تمثّل سرعة الرياح. |
gust |
هبّة الرياح (زيادة مفاجئة في سرعة الرياح) |
WindDirection
| تمثيل JSON |
|---|
{ "cardinal": enum ( |
| الحقول | |
|---|---|
cardinal |
الرمز الذي يمثّل الاتجاه الأساسي الذي تهبّ منه الرياح |
حقل الدمج يمكن أن تكون |
|
degrees |
اتجاه الرياح بالدرجات (قيم تتراوح بين 0 و360) |
WindSpeed
| تمثيل JSON |
|---|
{ "unit": enum ( |
| الحقول | |
|---|---|
unit |
الرمز الذي يمثّل الوحدة المستخدَمة لقياس سرعة الرياح |
حقل الدمج يمكن أن تكون |
|
value |
تمثّل هذه السمة قيمة سرعة الرياح. |
الموقع الجغرافي
| تمثيل JSON |
|---|
{ // Union field |
| الحقول | |
|---|---|
حقل الدمج location_type طرق مختلفة لتمثيل موقع جغرافي يمكن أن تكون location_type إحدى القيم التالية فقط: |
|
latLng |
نقطة محدّدة باستخدام الإحداثيات الجغرافية |
placeId |
تمثّل هذه السمة معرّف المكان المرتبط بالموقع الجغرافي . |
address |
عنوان يمكن لشخص عادي قراءته أو رمز Plus Codes لمزيد من التفاصيل، يُرجى الانتقال إلى https://plus.codes. |
LatLng
| تمثيل JSON |
|---|
{ "latitude": number, "longitude": number } |
| الحقول | |
|---|---|
latitude |
تمثّل هذه السمة خط العرض بالدرجات. يجب أن يكون في النطاق [-90.0, +90.0]. |
longitude |
تمثّل هذه السمة خط الطول بالدرجات. يجب أن تكون القيمة ضمن النطاق [-180.0, +180.0]. |
التعليقات التوضيحية للأدوات
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌