MCP Tools Reference: mapstools.googleapis.com

الأداة: compute_routes

تحسب هذه الطريقة مسار رحلة بين نقطة انطلاق ووجهة محدّدتين. أوضاع السفر المتاحة: القيادة (الوضع التلقائي)، المشي

متطلبات الإدخال (مهمة): تتطلّب كلاً من المصدر والوجهة. يجب تقديم كلّ منها باستخدام إحدى الطرق التالية، مع تضمينها في الحقل الخاص بها:

  • العنوان: (سلسلة، مثل "برج إيفل، باريس"). ملاحظة: كلما كان العنوان المدخَل أكثر تفصيلاً أو تحديدًا، كانت النتائج أفضل.

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

  • place_id: (سلسلة، مثل 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') ملاحظة: يمكن الحصول على هذا المعرّف من أداة search_places. يُسمح بأي تركيبة من أنواع الإدخال (مثل نقطة الانطلاق حسب العنوان، ونقطة الوصول حسب lat_lng). في حال عدم توفّر المصدر أو الوجهة، يجب أن تطلب من المستخدم توضيحًا قبل محاولة طلب الأداة.

مثال على استدعاء أداة: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • يجب الإشارة إلى مصدر الناتج المستند إلى بيانات واقعية باستخدام المعلومات من الحقل attribution عند توفّرها.

يوضّح نموذج الرمز التالي كيفية استخدام curl لاستدعاء أداة compute_routes MCP.

طلب 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": "compute_routes",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

مخطط الإدخال

‫ComputeRoutesRequest.

ComputeRoutesRequest

تمثيل JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "travelMode": enum (RouteTravelMode)
}
الحقول
origin

object (Waypoint)

الحقل مطلوب. نقطة الانطلاق على المسار

destination

object (Waypoint)

الحقل مطلوب. نقطة على المسار للوجهة

travelMode

enum (RouteTravelMode)

اختيارية: تحدّد هذه السمة وسيلة النقل.

النقطة الوسيطة

تمثيل JSON
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
الحقول
حقل الربط location_type طرق مختلفة لتمثيل موقع جغرافي يمكن أن يكون التعليق location_type إحدى القيم التالية فقط:
latLng

object (LatLng)

نقطة محدّدة باستخدام الإحداثيات الجغرافية

placeId

string

رقم تعريف المكان المرتبط بنقطة على المسار

address

string

عنوان يمكن لشخص عادي قراءته أو رمز Plus Code لمزيد من التفاصيل، يُرجى الانتقال إلى https://plus.codes.

LatLng

تمثيل JSON
{
  "latitude": number,
  "longitude": number
}
الحقول
latitude

number

تمثّل هذه السمة خط العرض بالدرجات. يجب أن يكون ضمن النطاق [-90.0, +90.0].

longitude

number

تمثّل هذه السمة خط الطول بالدرجات. يجب أن تكون القيمة ضمن النطاق [-180.0, +180.0].

RouteTravelMode

مجموعة من القيم تُستخدَم لتحديد وسيلة النقل.

عمليات التعداد
ROUTE_TRAVEL_MODE_UNSPECIFIED لم يتم تحديد وسيلة النقل. القيمة التلقائية هي DRIVE.
DRIVE التنقّل بسيارة ركاب
WALK التنقّل سيرًا على الأقدام ملاحظة: إنّ مسارات WALK في مرحلة تجريبية وقد لا تتضمّن أحيانًا أرصفة واضحة أو مسارات مخصّصة للمشاة. يجب عرض هذا التحذير للمستخدم في كل مرة تعرض فيها بيانات المشي في تطبيقك.

مخطط النتائج

ComputeRoutesResponse.

ComputeRoutesResponse

تمثيل JSON
{
  "routes": [
    {
      object (Route)
    }
  ]
}
الحقول
routes[]

object (Route)

تحتوي على مسارات بين نقطة الانطلاق والوجهة المطلوبتَين. يتم عرض مسار واحد فقط حاليًا.

مسار

تمثيل JSON
{
  "distanceMeters": integer,
  "duration": string,
  "attribution": {
    object (Attribution)
  }
}
الحقول
distanceMeters

integer

تمثّل هذه السمة مسافة السفر للمسار بالأمتار.

duration

string (Duration format)

تمثّل هذه السمة المدة الزمنية اللازمة للتنقّل على طول المسار.

مدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ "s". مثال: "3.5s".

attribution

object (Attribution)

يجب توفير مصدر البيانات لعرضه مع المسار.

المدة

تمثيل JSON
{
  "seconds": string,
  "nanos": integer
}
الحقول
seconds

string (int64 format)

عدد الثواني الموقّعة في الفترة الزمنية يجب أن تتراوح القيمة بين -315,576,000,000 و+315,576,000,000، بما في ذلك طرفي النطاق. ملاحظة: يتم احتساب هذه الحدود من خلال: 60 ثانية/دقيقة * 60 دقيقة/ساعة * 24 ساعة/يوم * 365.25 يوم/سنة * 10000 سنة

nanos

integer

تشير هذه السمة إلى أجزاء الثانية الموقّعة بدقة النانو ثانية لمدة الفترة الزمنية. يتم تمثيل المدد الزمنية الأقل من ثانية واحدة باستخدام الحقل 0 seconds والحقل nanos الموجب أو السالب. بالنسبة إلى المدد التي تبلغ ثانية واحدة أو أكثر، يجب أن تكون قيمة الحقل nanos غير صفرية وأن تكون لها الإشارة نفسها الخاصة بالحقل seconds. يجب أن تتراوح القيمة بين -999,999,999 و+999,999,999، بما في ذلك طرفي النطاق.

تحديد المصدر

تمثيل JSON
{
  "title": string,
  "url": string
}
الحقول
title

string

تمثّل هذه السمة العنوان الذي سيتم عرضه في بيان تحديد المصدر.

url

string

عنوان URL الذي سيتم الربط به لأغراض تحديد المصدر.

التعليقات التوضيحية للأدوات

يتم إرسال تعليقات توضيحية للأدوات إلى عملاء MCP لوصف المخاطر الأساسية لأداة معيّنة. تتعامل معظم البرامج مع هذه التلميحات على أنّها غير موثوق بها، ولكن يمكن استخدامها لتحديد الوقت الذي قد يتم فيه إرسال طلب تأكيد إلى المستخدم.

بالإضافة إلى سلسلة العنوان، يتم تحديد تلميحات القيم المنطقية التالية على النحو التالي:

  • ‫readOnlyHint: إذا كانت القيمة صحيحة، لن تعدّل الأداة بيئتها. القيمة التلقائية: false.
  • ‫destructiveHint: إذا كانت القيمة صحيحة، يمكن للأداة تنفيذ إجراءات مدمّرة. إذا كانت القيمة "خطأ"، يمكن للأداة تنفيذ إجراءات إضافية فقط. القيمة التلقائية: true
  • idempotentHint: إذا كانت القيمة صحيحة، لن يكون لاستدعاء الأداة بشكل متكرر باستخدام الوسيطات نفسها أي تأثير إضافي على بيئتها. القيمة التلقائية: false.
  • openWorldHint: إذا كانت القيمة صحيحة، يمكن للأداة التفاعل مع "عالم مفتوح" من الكيانات الخارجية. إذا كانت القيمة false، يمكن للأداة التفاعل مع الكيانات الداخلية فقط. على سبيل المثال، ستكون أداة البحث على الويب عالمًا مفتوحًا، بينما لن تكون أداة الذاكرة عالمًا مفتوحًا.

تلميح تدميري: ❌ | تلميح متكرّر: ❌ | تلميح للقراءة فقط: ✅ | تلميح للعالم المفتوح: ❌