MCP Tools Reference: mapstools.googleapis.com

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

เรียกใช้เครื่องมือนี้เมื่อคำขอของผู้ใช้คือการค้นหาสถานที่ ธุรกิจ ที่อยู่ สถานที่ตั้ง จุดที่น่าสนใจ หรือการค้นหาอื่นๆ ที่เกี่ยวข้องกับ Google Maps

ข้อกำหนดของอินพุต (สำคัญ):

  1. text_query (สตริง - ต้องระบุ): คำค้นหาหลัก โดยต้องระบุสิ่งที่ผู้ใช้ต้องการอย่างชัดเจน

    • ตัวอย่าง: 'restaurants in New York', 'coffee shops near Golden Gate Park', 'SF MoMA', '1600 Amphitheatre Pkwy, Mountain View, CA, USA', 'pets friendly parks in Manhattan, New York', 'date night restaurants in Chicago', 'accessible public libraries in Los Angeles'
    • สำหรับรายละเอียดสถานที่ที่เฉพาะเจาะจง: ใส่แอตทริบิวต์ที่ขอ (เช่น 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address')
  2. location_bias (ออบเจ็กต์ - ไม่บังคับ): ใช้เพื่อจัดลำดับความสำคัญของผลลัพธ์ที่อยู่ใกล้พื้นที่ทางภูมิศาสตร์ที่เฉพาะเจาะจง

    • รูปแบบ: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • การใช้งาน:
      • หากต้องการให้ระบบเลือกสถานที่ในรัศมี 5 กม. {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • หากต้องการให้น้ำหนักมากที่จุดศูนย์กลาง {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (ละเว้น radius_meters)
  3. language_code (สตริง - ไม่บังคับ): ภาษาที่จะแสดงสรุปผลการค้นหา

    • รูปแบบ: รหัสภาษาแบบ 2 ตัวอักษร (ISO 639-1) ตามด้วยขีดล่างและรหัสประเทศแบบ 2 ตัวอักษร (ISO 3166-1 alpha-2) (ไม่บังคับ) เช่น en, ja, en_US, zh_CN, es_MX หากไม่ได้ระบุรหัสภาษา ผลลัพธ์จะเป็นภาษาอังกฤษ
  4. region_code (สตริง - ไม่บังคับ): รหัสภูมิภาค CLDR ของ Unicode ของผู้ใช้ พารามิเตอร์นี้ใช้เพื่อแสดงรายละเอียดสถานที่ เช่น ชื่อสถานที่เฉพาะภูมิภาค หากมี พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง

    • รูปแบบ: รหัสประเทศแบบ 2 ตัวอักษร (ISO 3166-1 alpha-2) เช่น US, CA

วิธีการสำหรับการเรียกใช้เครื่องมือ:

  • ข้อมูลตำแหน่ง (สำคัญ): การค้นหาต้องมีข้อมูลตำแหน่งที่เพียงพอ หากตำแหน่งไม่ชัดเจน (เช่น เพียงแค่ "ร้านพิซซ่า") คุณต้องระบุใน text_query (เช่น "ร้านพิซซ่าในนิวยอร์ก") หรือใช้พารามิเตอร์ location_bias ระบุชื่อเมือง รัฐ/จังหวัด และภูมิภาค/ประเทศ หากจำเป็นเพื่อไม่ให้เกิดความสับสน

  • ระบุtext_queryที่เฉพาะเจาะจงและมีบริบทมากที่สุดเท่าที่จะทำได้เสมอ

  • ใช้ location_bias เฉพาะในกรณีที่มีการระบุพิกัดอย่างชัดเจน หรือในกรณีที่การอนุมานตำแหน่งจากบริบทที่ทราบของผู้ใช้เหมาะสมและจำเป็นเพื่อให้ได้ผลลัพธ์ที่ดียิ่งขึ้น

  • เอาต์พุตที่อิงตามข้อมูลพื้นฐานต้องระบุแหล่งที่มาโดยใช้ข้อมูลจากฟิลด์ attribution เมื่อมี

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ search_places 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": "search_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

สคีมาอินพุต

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

SearchTextRequest

การแสดง JSON
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
ช่อง
textQuery

string

ต้องระบุ คำค้นหาที่เป็นข้อความ

languageCode

string

ไม่บังคับ ภาษาที่ใช้ขอให้แสดงข้อมูลสรุป หากไม่ได้ระบุรหัสภาษาหรือไม่รู้จักรหัสภาษา ระบบจะแสดงข้อมูลสรุปโดยให้ความสำคัญกับภาษาอังกฤษ

เช่น "en" สำหรับภาษาอังกฤษ

ดูรายการภาษาที่รองรับในปัจจุบันได้ที่ https://developers.google.com/maps/faq#languagesupport

regionCode

string

ไม่บังคับ รหัสประเทศ/ภูมิภาค (CLDR) ของ Unicode ของสถานที่ที่ส่งคำขอ พารามิเตอร์นี้ใช้เพื่อแสดงรายละเอียดสถานที่ เช่น ชื่อสถานที่เฉพาะภูมิภาค หากมี พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง

เช่น "US" สำหรับสหรัฐอเมริกา

ดูข้อมูลเพิ่มเติมได้ที่ https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html

โปรดทราบว่าปัจจุบันระบบยังไม่รองรับรหัสภูมิภาคแบบ 3 หลัก

ฟิลด์ Union _location_bias

_location_bias ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

locationBias

object (LocationBias)

ภูมิภาคที่ไม่บังคับเพื่อกำหนดผลการค้นหา หากมีตำแหน่งที่ชัดเจนใน text_query ระบบจะใช้ตำแหน่งดังกล่าวเพื่อปรับผลการค้นหาแทนฟิลด์นี้

LocationBias

การแสดง JSON
{
  "circle": {
    object (Circle)
  }
}
ฟิลด์
circle

object (Circle)

ไม่บังคับ วงกลมที่กำหนดโดยจุดศูนย์กลางและรัศมี radius_meters จะใส่หรือไม่ก็ได้ หากไม่ได้ตั้งค่าไว้ ผลลัพธ์จะเอนเอียงไปทางจุดศูนย์กลาง

วงกลม

การแสดง JSON
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
ช่อง
center

object (LatLng)

ต้องระบุ จุดศูนย์กลางของวงกลม

ฟิลด์ Union _radius_meters

_radius_meters ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

radiusMeters

number

รัศมีของวงกลมในหน่วยเมตร รัศมีต้องไม่เกิน 50,000 เมตร

LatLng

การแสดง JSON
{
  "latitude": number,
  "longitude": number
}
ช่อง
latitude

number

ละติจูดเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]

longitude

number

ลองจิจูดเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]

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

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

SearchTextResponse

การแสดง JSON
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string
}
ช่อง
places[]

object (PlaceView)

เอาต์พุตเท่านั้น รายการสถานที่ที่กล่าวถึงในข้อมูลสรุป

summary

string

เอาต์พุตเท่านั้น ข้อมูลสรุปของผลการค้นหาในภาษาธรรมชาติ ข้อมูลสรุปอาจมีการอ้างอิงที่อิงตาม 0 เช่น "[0]", "[1]", "[2]" เป็นต้น การอ้างอิงเหล่านี้จะแมปกับตำแหน่งที่เกี่ยวข้องในฟิลด์ places

PlaceView

การแสดง JSON
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
ช่อง
place

string

ชื่อทรัพยากรของสถานที่พื้นฐานในรูปแบบ "places/{id}"

id

string

รหัสสถานที่ของสถานที่ตั้งพื้นฐาน

googleMapsLinks

object (GoogleMapsLinks)

ลิงก์เพื่อทริกเกอร์การดำเนินการต่างๆ ของ Google Maps

attribution

object (Attribution)

ต้องระบุแหล่งที่มาเพื่อแสดงพร้อมกับสถานที่

ฟิลด์ Union _location

_location ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

location

object (LatLng)

ตำแหน่งของสถานที่นี้

LatLng

การแสดง JSON
{
  "latitude": number,
  "longitude": number
}
ช่อง
latitude

number

ละติจูดเป็นองศา ต้องอยู่ในช่วง [-90.0, +90.0]

longitude

number

ลองจิจูดเป็นองศา ต้องอยู่ในช่วง [-180.0, +180.0]

การแสดง JSON
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
ช่อง
directionsUrl

string

ลิงก์เพื่อแสดงเส้นทางไปยังสถานที่ ลิงก์จะแสดงเฉพาะสถานที่ปลายทางและใช้โหมดการเดินทางเริ่มต้น DRIVE

placeUrl

string

ลิงก์เพื่อแสดงสถานที่นี้

writeAReviewUrl

string

ลิงก์สำหรับเขียนรีวิวสถานที่นี้ใน Google Maps

reviewsUrl

string

ลิงก์เพื่อแสดงรีวิวของสถานที่นี้ใน Google Maps

photosUrl

string

ลิงก์เพื่อแสดงรูปภาพของสถานที่นี้ใน Google Maps

การระบุแหล่งที่มา

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

string

ชื่อที่จะแสดงสำหรับการระบุแหล่งที่มา

url

string

URL ที่จะลิงก์สำหรับการระบุแหล่งที่มา

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

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

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

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

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