MCP Tools Reference: mapstools.googleapis.com

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

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

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

  • ใช้เครื่องมือนี้เมื่อผู้ใช้ระบุลิงก์หรือ 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 ของ URL ที่ล้มเหลวในคำขอ อย่าคิดว่าการเรียกใช้แบบกลุ่มทั้งหมดล้มเหลวเนื่องจากล้มเหลวบางส่วน

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

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

value

string (bytes format)

มี Protobuf serialization ของประเภทที่อธิบายโดย type_url

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

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

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

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

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

คำแนะนำที่ทำลายล้าง: ❌ | คำแนะนำที่ทำซ้ำได้: ❌ | คำแนะนำแบบอ่านอย่างเดียว: ✅ | คำแนะนำแบบโลกเปิด: ❌