כלי: resolve_names
הפונקציה פותרת רשימה של שאילתות לגבי מיקומים ספציפיים (שמות של ציוני דרך או כתובות מדויקות) למזהים קנוניים של מקומות במפות Google.
דרישות קלט (קריטיות):
queries(מערך של אובייקטים – חובה): רשימה של שאילתות למיקום שצריך לפתור. אפשר לציין עד 20 שאילתות.- לכל אובייקט שאילתה צריכים להיות המאפיינים הבאים:
text(מחרוזת – חובה): שאילתת הטקסט שמייצגת שם של מקום ספציפי או כתובת שרוצים לפתור.- דוגמאות:
'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
- דוגמאות:
- לכל אובייקט שאילתה צריכים להיות המאפיינים הבאים:
location_bias(object – אופציונלי): משתמשים בפרמטר הזה כדי לתת עדיפות לתוצאות שקרובות לאזור גיאוגרפי ספציפי.- פורמט:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- פורמט:
region_code(מחרוזת – אופציונלי): קוד האזור של CLDR ב-Unicode (קוד מדינה בן שתי אותיות, למשלUS,CA) של המשתמש, כדי להטות את התוצאות.
הוראות לשימוש בכלי:
- ספציפיות (קריטי): השאילתות צריכות לייצג שם מקום או כתובת ספציפיים. אין תמיכה בחיפושים כלליים כמו
'restaurants'או בשמות של רשתות כמו'Starbucks'. - אל תתקשרו לכלי הזה אם הכלים במורד הזרם שאתם מתכננים להפעיל כבר מקבלים ישירות מחרוזות של כתובות גולמיות או שמות מקומות.
Error Handling (CRITICAL):
- זהו כלי לעיבוד קבוצתי. יכול להיות שבקשה תחזיר "תוצאות מעורבות" (למשל, חלק מהשאילתות יסתיימו בהצלחה וחלק ייכשלו).
- מובטח שרשימת הפלט של
resultsתמופה ביחס של 1:1 עם האינדקסים של הקלטqueries. שאילתה שנכשלה תניב הודעה ריקהResult(לא מוגדרentity) באינדקס המתאים ברשימהresults. - חובה לבדוק את שדה המפה
failed_requestsבתגובה כדי לזהות את האינדקס הספציפי של השאילתה שנכשלה. המפתח שלfailed_requestsמייצג את האינדקס של השאילתה שנכשלה בבקשה, החל מ-0. אל תניחו שהקריאה כולה נכשלה בגלל כשל חלקי.
בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP resolve_names.
| בקשת 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": "resolve_names", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
הודעת בקשה ל-ResolveNames.
ResolveNamesRequest
| ייצוג ב-JSON |
|---|
{ "queries": [ { object ( |
| שדות | |
|---|---|
queries[] |
חובה. רשימה של שאילתות מיקום שצריך לפתור. אפשר לציין עד 20 שאילתות. |
locationBias |
אופציונלי. אזור אופציונלי להטיית תוצאות ההחלטה. אם מציינים אזור, תוצאות ההפרדה יתמקדו בישויות שקרובות יותר לאזור הזה. לרוב, הוספה של אם מציינים גם את |
regionCode |
אופציונלי. קוד אזור אופציונלי להטיית תוצאות ההמרה. אם מציינים אזור, תוצאות ההחלטה יתמקדו בישויות שנמצאות באזור שצוין או בקרבתו. הקוד צריך להיות קוד אזור בפורמט CLDR. לדוגמה, 'US' או 'CA'. לרוב, הוספה של אם מציינים גם את |
LocationQuery
| ייצוג ב-JSON |
|---|
{ "text": string } |
| שדות | |
|---|---|
text |
חובה. שאילתת הטקסט שצריך לפתור כדי להגיע לישות גיאוספציאלית ספציפית במפות Google, כמו מקום או כתובת. ככל שהשאילתה ספציפית יותר, כך הפתרון מדויק יותר. לדוגמה: 'סן פרנסיסקו', 'Googleplex, Mountain View, CA', '1600 Amphitheatre Parkway, Mountain View, CA' או 'מגדל אייפל, פריז'. השאילתות צריכות להיות כתובת ספציפית או שם של מקום. אין תמיכה במיקומים כלליים כמו שם של רשת (למשל, Starbucks) או שאילתת חיפוש כמו 'מסעדות'. |
LocationBias
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד type. סוג הטיית המיקום. הערך type יכול להיות רק אחד מהבאים: |
|
viewport |
אזור תצוגה שמוגדר על ידי תיבה תוחמת. |
אזור התצוגה
| ייצוג ב-JSON |
|---|
{ "low": { object ( |
| שדות | |
|---|---|
low |
חובה. הנקודה הנמוכה של אזור התצוגה. |
high |
חובה. הנקודה הגבוהה ביותר בחלון התצוגה. |
LatLng
| ייצוג ב-JSON |
|---|
{ "latitude": number, "longitude": number } |
| שדות | |
|---|---|
latitude |
קו הרוחב במעלות. הערך חייב להיות בטווח [-90.0, +90.0]. |
longitude |
קו האורך במעלות. הערך חייב להיות בטווח [-180.0, +180.0]. |
סכימת הפלט
הודעת התגובה ל-ResolveNames.
ResolveNamesResponse
| ייצוג ב-JSON |
|---|
{ "results": [ { object ( |
| שדות | |
|---|---|
results[] |
פלט בלבד. רשימת הישויות שנפתרו משאילתות המיקום. מובטח שהמיפוי יהיה 1:1 עם האינדקסים של הבקשה |
failedRequests |
פלט בלבד. מפה שמציגה כשלים חלקיים. המפתח הוא האינדקס של הבקשה שנכשלה בשדה אובייקט שמכיל רשימה של |
תוצאה
| ייצוג ב-JSON |
|---|
{ "entity": { object ( |
| שדות | |
|---|---|
entity |
פלט בלבד. הישות שנפתרה משאילת המיקום. |
confidence |
פלט בלבד. רמת המהימנות של הפתרון. |
ישות
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד entity. סוג הישות שזוהה. הערך entity יכול להיות רק אחד מהבאים: |
|
place |
שם המשאב של המקום שנמצא. |
FailedRequestsEntry
| ייצוג ב-JSON |
|---|
{
"key": integer,
"value": {
object ( |
| שדות | |
|---|---|
key |
|
value |
|
סטטוס
| ייצוג ב-JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| שדות | |
|---|---|
code |
קוד הסטטוס, שצריך להיות ערך enum של |
message |
הודעת שגיאה שמוצגת למפתח, שצריכה להיות באנגלית. כל הודעת שגיאה שמוצגת למשתמש צריכה להיות מותאמת לשפה המקומית ולהישלח בשדה |
details[] |
רשימה של הודעות שכוללות את פרטי השגיאה. יש קבוצה משותפת של סוגי הודעות לשימוש בממשקי API. אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
הכול
| ייצוג ב-JSON |
|---|
{ "typeUrl": string, "value": string } |
| שדות | |
|---|---|
typeUrl |
מזהה את הסוג של הודעת Protobuf שעברה סריאליזציה באמצעות הפניה ל-URI שכוללת קידומת שמסתיימת בקו נטוי ואת שם הסוג שמוגדר במלואו. דוגמה: type.googleapis.com/google.protobuf.StringValue המחרוזת הזו צריכה להכיל לפחות תו אחד של התחילית היא שרירותית, ומצפים מהטמעות של Protobuf פשוט להסיר את כל מה שעד לתווים כל המחרוזות של כתובות ה-URL של הסוג חייבות להיות הפניות חוקיות ל-URI, עם הגבלה נוספת (בפורמט הטקסט) שלפיה התוכן של ההפניה חייב לכלול רק תווים אלפאנומריים, תווים מוברחים עם קידוד אחוזים ותווים בערכה הבאה (לא כולל הגרשיים ההפוכים החיצוניים): בתכנון המקורי של |
value |
השדה מכיל סריאליזציה של Protobuf של הסוג שמתואר על ידי type_url. מחרוזת בקידוד Base64. |
רמת מהימנות
רמת המהימנות של הפתרון.
| טיפוסים בני מנייה (enum) | |
|---|---|
CONFIDENCE_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
MEDIUM |
רמת מהימנות בינונית מציינת שהפתרון כנראה נכון, אבל יכול להיות שיש אפשרויות אחרות. |
HIGH |
רמת ביטחון גבוהה מציינת שהרזולוציה נכונה ומייצגת ישות גיאוספציפית ספציפית (למשל, מקום ספציפי). |
הערות על כלים
רמז הרסני: ❌ | רמז אידמפוטנטי: ❌ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌