MCP Tools Reference: mapstools.googleapis.com

เครื่องมือ: resolve_maps_urls

แปลงรายการ URL ของ Google Maps เป็นรหัสสถานที่ Canonical ของ Google Maps

กรณีที่ควรเรียกใช้เครื่องมือนี้ (สำคัญ):

  • ใช้เครื่องมือนี้เมื่อผู้ใช้ระบุลิงก์หรือ URL การแชร์ของ Google Maps อย่างน้อย 1 รายการ (เช่น "https://maps.app.goo.gl/..." "https://www.google.com/maps/place/..." หรือ "https://maps.google.com/...") และคุณต้องดึงข้อมูลรหัสสถานที่ Canonical ที่สำคัญ
  • คุณระบุ URL ที่ต้องการแก้ไขได้สูงสุด 20 รายการในคำขอแบบกลุ่มรายการเดียว

ข้อกำหนดในการป้อนข้อมูล (สำคัญ):

  • urls (อาร์เรย์ของสตริง - บังคับ): รายการ URL ของ Google Maps ที่จะแก้ไข URL แต่ละรายการต้องเป็น URL ของ Google Maps ที่ถูกต้องและมีสถานที่เดียว

บันทึกลงใน Google Maps

  • การตอบกลับจะมีช่อง save_to_maps_url ซึ่งเป็นลิงก์ Google Maps รายการเดียวที่มีสถานที่ทั้งหมดที่ได้รับการแก้ไขเรียบร้อยแล้ว
  • เมื่อผู้ใช้ต้องการบันทึก แชร์ หรือเปิดสถานที่ที่ได้รับการแก้ไขเป็นรายการใน Google Maps (เช่น การรวบรวมสถานที่ที่แชร์ในการสนทนา) ให้แสดงลิงก์นี้แก่ผู้ใช้ อย่าสร้างลิงก์นี้ด้วยตนเอง

การจัดการข้อผิดพลาด (สำคัญ):

  • นี่คือเครื่องมือประมวลผลแบบกลุ่ม คำขออาจแสดง "ผลลัพธ์แบบผสม" (เช่น URL บางรายการแปลงเป็นที่อยู่ IP สำเร็จ ขณะที่บางรายการไม่สำเร็จ)
  • รายการเอาต์พุตของ entities จะจับคู่แบบ 1:1 กับดัชนี urls ของอินพุตอย่างแน่นอน การแปลง URL ที่ไม่สำเร็จจะส่งผลให้ข้อความ Entity ว่างเปล่า (ไม่มีการตั้งค่าช่อง) ที่ดัชนีที่เกี่ยวข้องในรายการ entities
  • คุณต้องตรวจสอบช่องแผนที่ failed_requests ในการตอบกลับเพื่อระบุว่าการจัดทำดัชนี URL ใดไม่สำเร็จ คีย์ของ failed_requests แสดงถึงดัชนีแบบ 0-based ของ URL ที่ไม่สำเร็จในคำขอ อย่าถือว่าการเรียกใช้แบบเป็นกลุ่มทั้งหมดล้มเหลวเนื่องจากความล้มเหลวบางส่วน

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ MCP resolve_maps_urls

คำขอ 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_maps_urls",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

ข้อความคำขอสำหรับ ResolveMapsUrls

ResolveMapsUrlsRequest

การแสดง JSON
{
  "urls": [
    string
  ]
}
ช่อง
urls[]

string

ต้องระบุ URL ของ Google Maps ที่จะแก้ไข URL แต่ละรายการควรเป็น URL ของ Google Maps ที่ถูกต้อง เช่น https://maps.app.goo.gl/..., https://www.google.com/maps/place/... หรือ https://maps.google.com/... ปัจจุบันระบบรองรับเฉพาะ URL ที่ชี้ไปยังสถานที่เดียวเท่านั้น คุณระบุ URL ได้สูงสุด 20 รายการ

สคีมาเอาต์พุต

ข้อความตอบกลับสำหรับ ResolveMapsUrls

ResolveMapsUrlsResponse

การแสดง JSON
{
  "entities": [
    {
      object (Entity)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  },
  "saveToMapsUrl": string
}
ช่อง
entities[]

object (Entity)

เอาต์พุตเท่านั้น รายการเอนทิตีที่ได้รับการแก้ไขจาก URL ของ Google Maps รับประกันว่าจะแมปแบบ 1:1 กับดัชนี urls ของคำขอ ข้อความว่างเปล่าที่ดัชนี i (ซึ่งไม่ได้ตั้งค่า entity) บ่งชี้ว่าการแปลง URL นั้นไม่สำเร็จ หากการแก้ปัญหาล้มเหลว โปรดตรวจสอบช่อง failed_requests เพื่อดูสถานะข้อผิดพลาด

failedRequests

map (key: integer, value: object (Status))

เอาต์พุตเท่านั้น แผนที่ที่สื่อสารความล้มเหลวบางส่วนสำหรับ URL ของ Google Maps คีย์คือดัชนีของคำขอที่ล้มเหลวในช่อง urls ค่านี้คือสถานะข้อผิดพลาดที่ให้รายละเอียดสาเหตุที่การแก้ปัญหาล้มเหลว

ออบเจ็กต์ที่มีรายการคู่ "key": value เช่น { "name": "wrench", "mass": "1.3kg", "count": "3" }

saveToMapsUrl

string

เอาต์พุตเท่านั้น ลิงก์สำหรับบันทึกเอนทิตีที่แก้ไขสำเร็จทั้งหมดใน Google Maps

เอนทิตี

การแสดง JSON
{

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
ช่อง
ฟิลด์ Union entity ประเภทเอนทิตีที่แก้ไขแล้ว entity ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
place

string

ชื่อทรัพยากรของสถานที่ที่ได้รับการแก้ไข

FailedRequestsEntry

การแสดง JSON
{
  "key": integer,
  "value": {
    object (Status)
  }
}
ช่อง
key

integer

value

object (Status)

สถานะ

การแสดง JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
ช่อง
code

integer

รหัสสถานะซึ่งควรเป็นค่า enum ของ google.rpc.Code

message

string

ข้อความแสดงข้อผิดพลาดที่ส่งถึงนักพัฒนาแอป ซึ่งควรเป็นภาษาอังกฤษ ข้อความแสดงข้อผิดพลาดที่ผู้ใช้เห็นควรได้รับการแปลและส่งในช่อง google.rpc.Status.details หรือแปลโดยไคลเอ็นต์

details[]

object

รายการข้อความที่มีรายละเอียดข้อผิดพลาด API จะใช้ชุดประเภทข้อความทั่วไป

ออบเจ็กต์ที่มีฟิลด์ประเภทใดก็ได้ ฟิลด์เพิ่มเติม "@type" มี URI ที่ระบุประเภท เช่น { "id": 1234, "@type": "types.example.com/standard/id" }

ตามแต่ละประเทศ

การแสดง JSON
{
  "typeUrl": string,
  "value": string
}
ช่อง
typeUrl

string

ระบุประเภทของข้อความ Protobuf ที่เรียงลำดับด้วยการอ้างอิง URI ซึ่งประกอบด้วยคำนำหน้าที่ลงท้ายด้วยเครื่องหมายทับและชื่อประเภทที่สมบูรณ์ในตัวเอง

ตัวอย่าง: type.googleapis.com/google.protobuf.StringValue

สตริงนี้ต้องมีอักขระ / อย่างน้อย 1 ตัว และเนื้อหาหลัง / ตัวสุดท้ายต้องเป็นชื่อที่สมบูรณ์ของประเภทในรูปแบบ Canonical โดยไม่มีจุดนำหน้า อย่าเขียนรูปแบบในการอ้างอิง URI เหล่านี้ เพื่อไม่ให้ไคลเอ็นต์พยายามติดต่อ

คำนำหน้าเป็นแบบกำหนดเอง และการใช้งาน Protobuf ควรตัดทุกอย่างออกจนถึง / ตัวสุดท้ายเพื่อระบุประเภท type.googleapis.com/ เป็นคำนำหน้าเริ่มต้นที่พบบ่อยซึ่งการใช้งานเดิมบางรายการกำหนดให้ต้องมี คำนำหน้านี้ไม่ได้ระบุต้นทางของประเภท และ URI ที่มีคำนำหน้านี้ไม่จำเป็นต้องตอบสนองต่อคำขอใดๆ

สตริง URL ประเภททั้งหมดต้องเป็นข้อมูลอ้างอิง URI ที่ถูกต้องตามกฎหมาย โดยมีข้อจำกัดเพิ่มเติม (สำหรับรูปแบบข้อความ) ว่าเนื้อหาของข้อมูลอ้างอิงต้องประกอบด้วยอักขระที่เป็นตัวอักษรและตัวเลขคละกัน, Escape ที่เข้ารหัสเปอร์เซ็นต์ และอักขระในชุดต่อไปนี้เท่านั้น (ไม่รวมเครื่องหมาย Backtick ด้านนอก): /-.~_!$&()*+,;= แม้ว่าเราจะอนุญาตให้ใช้การเข้ารหัสเปอร์เซ็นต์ แต่การใช้งานไม่ควรยกเลิกการหลีกเพื่อป้องกันความสับสนกับโปรแกรมแยกวิเคราะห์ที่มีอยู่ เช่น ควรปฏิเสธ type.googleapis.com%2FFoo

ในการออกแบบเดิมของ Any มีการพิจารณาความเป็นไปได้ในการเปิดตัวบริการการแปลงประเภทที่ URL ประเภทเหล่านี้ แต่ Protobuf ไม่เคยใช้บริการดังกล่าว และพิจารณาว่าการติดต่อ URL เหล่านี้เป็นปัญหาและอาจเป็นปัญหาด้านความปลอดภัย อย่าพยายามติดต่อ URL ประเภทต่างๆ

value

string (bytes format)

เก็บการเรียงอันดับ Protobuf ของประเภทที่อธิบายโดย type_url

สตริงที่เข้ารหัส Base64

คำอธิบายประกอบเครื่องมือ

ระบบจะส่งคำอธิบายประกอบเครื่องมือไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือหนึ่งๆ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งยืนยันไปยังผู้ใช้เมื่อใด

นอกจากสตริงชื่อแล้ว ยังมีการกำหนดคำแนะนำบูลีนต่อไปนี้ด้วย

  • readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อมของตนเอง ค่าเริ่มต้น: false
  • destructiveHint: หากเป็น "จริง" เครื่องมือจะดำเนินการที่ทำลายล้างได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการแบบเพิ่มเท่านั้น ค่าเริ่มต้น: true
  • idempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อม ค่าเริ่มต้น: false
  • openWorldHint: หากเป็นจริง เครื่องมือจะโต้ตอบกับ "โอเพนเวิลด์" ของเอนทิตีภายนอกได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบได้เฉพาะกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นเว็บจะเป็นแบบโอเพนเวิลด์ ส่วนเครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌