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 ที่ถูกต้องและเป็นสถานที่เดียว

การจัดการข้อผิดพลาด (วิกฤต):

  • นี่คือเครื่องมือประมวลผลแบบกลุ่ม คำขออาจแสดง "ผลลัพธ์แบบผสม" (เช่น 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 tool's MCP 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)
    },
    ...
  }
}
ช่อง
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" }

เอนทิตี

การแสดง 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 ของประเภทที่อธิบายโดย type_url

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

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

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