כלי: compute_routes
מחשב מסלולי נסיעה בין נקודת מוצא ליעד, עם אפשרות לעצירות ביניים. הפונקציה מחזירה את המרחק ומשך הזמן של כל מסלול.
דרישות קלט (קריטי):
originו-destination(אובייקטים – חובה): צריך לספק כל אחד מהם באמצעות אחד מהאפשרויות הבאות:address(מחרוזת, למשל'Eiffel Tower, Paris'). מקומות עם שם, ציוני דרך ועסקים נפתרים ישירות, לכן אין צורך להפעיל קודם אתsearch_placesרק כדי להמיר כתובת של נקודת דרך לקואורדינטות. ציינו את העיר, האזור או המדינה שהמשתמש הזכיר.-
lat_lng(אובייקט,{"latitude": number, "longitude": number}). place_id(מחרוזת, למשל'ChIJOwE_Id1w5EAR4Q27FkL6T_0'), לדוגמה מ-search_places.
intermediate_waypoints(מערך של אובייקטים – אופציונלי): עד 10 עצירות שצריך לעבור בהן, לפי הסדר, בין נקודת המוצא ליעד. אותו פורמט כמוorigin. אין תמיכה ב-TRANSIT. לכלול רק עצירות שהמשתמש ביקש.
travel_mode(enum – אופציונלי):DRIVE(ברירת מחדל),WALK,BICYCLEאוTRANSIT.תזמון (אופציונלי – אפשר להגדיר לכל היותר אחד): חותמות זמן בפורמט RFC 3339 עם הפרש משעון UTC, למשל
'2026-09-19T08:00:00-07:00'. ברירת המחדל היא יציאה עכשיו. בשדהTRANSIT, אפשר להזין תאריך עד 7 ימים בעבר או עד 100 ימים בעתיד. במצבים אחרים, אפשר להגדיר את השעה עד 365 ימים בעתיד, והיא לא יכולה להיות בעבר.-
departure_time: משתמשים בפרמטר הזה כשהמשתמש מציין מתי הוא ייצא (למשל, "מחר ב-8:00"). -
arrival_time: משתמשים בפרמטר הזה כשהמשתמש מציין מתי הוא צריך להגיע (למשל, "להגיע עד 9:00").
-
routing_preference(enum – אופציונלי):ROUTING_PREFERENCE_TRAFFIC_UNAWARE(ברירת המחדל): המערכת מתעלמת ממצב התנועה בזמן אמת, מאירועי תנועה ומחסימות כבישים. זמן האחזור הכי קצר.-
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: שימוש במצב התנועה בזמן אמת, כשהוא זמין. אין תמיכה ב-WALKאו ב-BICYCLE. צריך להגדיר את זה רק כשהמשתמש שואל על התנועה, על עומס תנועה או על זמן הגעה משוער שמותאם לתנועה. היא כרוכה בעלות גבוהה יותר ובזמן אחזור ארוך יותר.
location_bias(אובייקט – אופציונלי):{"latitude": number, "longitude": number}משמש להפגת עמימות של שמות מקומות בכתובות של נקודות דרך. אם השם לא חד-משמעי (למשל, "Springfield") והמשתמש לא ציין אזור, צריך להשאיר את השם כמו שהוא ב-addressולהגדיר אתlocation_biasלאזור הרצוי במקום לנחש את האזור.
compute_alternative_routes(בוליאני – אופציונלי): מגדירים את הערךtrueרק כשהמשתמש מבקש אפשרויות או חלופות למסלול. ערך ברירת המחדל הואfalse, שמחזיר רק את המסלול המומלץ.include_polyline(בוליאני – אופציונלי): מגדירים את הערךtrueרק כשצריך את הגיאומטריה של המסלול (encoded_polyline). ברירת המחדל היאfalse.
הוראות לקריאה לפונקציה:
- אם חסרה נקודת המוצא או נקודת היעד, חובה לבקש מהמשתמש הבהרה לפני שמפעילים את הכלי.
- בשאלות כמו "מה המרחק בין א' לב'?", צריך להשתמש ב-ב' בתור
originוב-א' בתורdestination.
דוגמה לקריאה לפונקציה: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}
הוראות לתשובה:
- כשמבקשים מסלולים חלופיים, המסלולים מסודרים מהמומלץ ביותר לפחות מומלץ.
- אם
routesריק, צריך להגיד למשתמש שלא נמצא מסלול. אל תנחשו את המסלול. - צריך לציין רק עובדות שהכלי החזיר. אל תמציאו מסלולים מפורטים, קווי תחבורה ציבורית, תחנות, רציפים או החלפות קווים.
- הפלט המעוגן חייב להיות משויך למקור באמצעות השדה
attributionשל כל מסלול, אם הוא זמין.
בדוגמת הקוד הבאה מוסבר איך להשתמש ב-curl כדי להפעיל את כלי ה-MCP compute_routes.
| בקשת 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 ( |
| שדות | |
|---|---|
origin |
חובה. ציון דרך של המוצא. |
destination |
חובה. נקודת ציון של היעד. |
travelMode |
אופציונלי. מציין את אמצעי התחבורה. |
intermediateWaypoints[] |
אופציונלי. תחנות ביניים בין נקודת המוצא ליעד שצריך לעבור בהן לפי הסדר. אפשר להוסיף עד 10 נקודות ציון ביניים. אין תמיכה בנקודות ביניים במסלול כשהערך של |
routingPreference |
אופציונלי. קובע איך נתוני התנועה משמשים לחישוב המסלול. אין תמיכה ב- |
locationBias |
אופציונלי. מיקום שמשמש להטיית תוצאות החיפוש, למשל כדי להבהיר שאילתות טקסט של נקודות ציון. |
includePolyline |
אופציונלי. אם לכלול את הקו הפוליגוני המקודד במסלולים שבתשובה. ברירת המחדל היא |
computeAlternativeRoutes |
אופציונלי. אם לחשב מסלולים חלופיים בנוסף למסלול המומלץ. ברירת המחדל היא false, ובמקרה כזה מוחזר רק המסלול המומלץ. כשהערך מוגדר כ-true, מוחזרים כל המסלולים הזמינים, אבל יכול להיות שלא יהיו חלופות לכל בקשה. |
שדה של איחוד timing. מציינת מתי לצאת מנקודת המוצא או מתי להגיע לנקודת הציון האחרונה. אם לא מציינים ערך, ברירת המחדל היא יציאה בזמן הנוכחי. בשדה TRANSIT, הזמן חייב להיות עד 7 ימים בעבר ועד 100 ימים בעתיד. באמצעי תחבורה אחרים, הזמן לא יכול להיות בעבר, והוא יכול להיות עד 365 ימים בעתיד. הערך timing יכול להיות רק אחד מהבאים: |
|
departureTime |
אופציונלי. מציין שצריך לחשב את המסלול על סמך שעת היציאה. השימוש הוא ב-RFC 3339, שבו הפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
arrivalTime |
אופציונלי. מציין שצריך לחשב את המסלול על סמך זמן ההגעה. השימוש הוא ב-RFC 3339, שבו הפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
חותמת זמן
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג שניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (טווח שמתאים ל-0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שברים לא שליליים של שנייה ברזולוציה של ננו-שנייה. השדה הזה הוא החלק של הננו-שניות במשך הזמן, ולא חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שנספרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
נקודת ציון
| ייצוג ב-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]. |
RouteTravelMode
קבוצת ערכים שמשמשת לציון אופן הנסיעה.
| טיפוסים בני מנייה (enum) | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
לא צוין מצב נסיעה. ברירת המחדל היא DRIVE. |
DRIVE |
נסיעה ברכב פרטי. |
WALK |
הליכה. הערה: מסלולי WALK נמצאים בגרסת בטא, ולפעמים חסרים בהם מדרכות או שבילים להולכי רגל. חובה להציג את האזהרה הזו למשתמש בכל מסלול הליכה שמוצג באפליקציה. |
BICYCLE |
נסיעה באופניים. |
TRANSIT |
נסיעה בתחבורה ציבורית. |
RoutingPreference
קבוצת ערכים שמציינים גורמים שצריך להביא בחשבון כשמחשבים את המסלול.
| טיפוסים בני מנייה (enum) | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
לא צוינה העדפת ניתוב. ברירת המחדל היא ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
חישוב מסלולים בלי להתחשב במצב התנועה בזמן אמת. מתאים כשמצב התנועה לא משנה או לא רלוונטי. השימוש בערך הזה מניב את זמן האחזור הנמוך ביותר. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
מחשב מסלולים תוך התחשבות במצב התנועה בזמן אמת, כשנתוני התנועה זמינים. ב- הערך הזה יפעיל את רמת Pro ויגרום לעלות חיוב גבוהה יותר ולזמן אחזור ארוך יותר. האפשרות הזו זמינה רק ללקוחות שנוספו לרשימת ההיתרים. אם הוא לא ברשימת ההיתרים, הבקשה תוחזר ל- |
סכימת הפלט
ComputeRoutesResponse.
ComputeRoutesResponse
| ייצוג ב-JSON |
|---|
{
"routes": [
{
object ( |
| שדות | |
|---|---|
routes[] |
מכיל מסלולים בין נקודת המוצא והיעד המבוקשים, בסדר יורד מהמומלץ ביותר לפחות מומלץ. מוחזר רק מסלול אחד, אלא אם הערך של |
נתיב
| ייצוג ב-JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| שדות | |
|---|---|
distanceMeters |
מרחק הנסיעה של המסלול, במטרים. |
duration |
משך הזמן שנדרש כדי לנווט במסלול. משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב- |
attribution |
השיוך שחובה להציג עם המסלול. |
encodedPolyline |
קו פוליגוני מקודד של המסלול. מידע נוסף זמין בכתובת https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
טוקן שאפשר להשתמש בו כדי לאחזר את המסלול הספציפי הזה בכלים במורד הזרם, כמו SearchAlongRoute. הקוד תקף ל-10 דקות. |
משך
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
שניות חתומות של משך הזמן. הערך חייב להיות בין -315,576,000,000 ל-+315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות/דקה * 60 דקות/שעה * 24 שעות/יום * 365.25 ימים/שנה * 10,000 שנים |
nanos |
שברים חתומים של שנייה ברזולוציה של ננו-שנייה של משך הזמן. משכי זמן של פחות משנייה מיוצגים על ידי שדה |
שיוך (Attribution)
| ייצוג ב-JSON |
|---|
{ "title": string, "url": string } |
| שדות | |
|---|---|
title |
הכותרת שתוצג בשיוך (Attribution). |
url |
כתובת ה-URL של הקישור לשיוך. |
הערות לגבי הכלים
הערות הכלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי מסוים. רוב הלקוחות מתייחסים לרמזים האלה כלא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש בקשה לאישור.
בנוסף למחרוזת הכותרת, הרמזים הבוליאניים הבאים מוגדרים כך:
-
readOnlyHint: אם הערך הוא True, הכלי לא משנה את הסביבה שלו. ברירת המחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא False, הכלי יכול לבצע רק פעולות הוספה. ברירת המחדל: true. -
idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת המחדל: false. -
openWorldHint: אם הערך הוא True, הכלי יכול לקיים אינטראקציה עם "עולם פתוח" של ישויות חיצוניות. אם הערך הוא false, הכלי יכול לקיים אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי חיפוש באינטרנט הוא כלי בעולם פתוח, אבל כלי זיכרון הוא לא כלי בעולם פתוח.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌