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 (สตริง - ไม่บังคับ): รหัสภูมิภาค Unicode CLDR ของผู้ใช้ พารามิเตอร์นี้ใช้เพื่อแสดงรายละเอียดสถานที่ เช่น ชื่อสถานที่เฉพาะภูมิภาค หากมี พารามิเตอร์อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง

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

วิธีการเรียกใช้เครื่องมือ

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

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

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

ตัวอย่างต่อไปนี้แสดงวิธีใช้ 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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

สคีมาอินพุต

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

SearchTextRequest

การแสดง JSON
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "pageSize": integer,
  "pageToken": 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

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

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

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

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

pageSize

integer

ไม่บังคับ จำนวนสถานที่สูงสุดที่จะแสดง บริการอาจแสดงผลน้อยกว่าค่านี้

pageToken

string

ไม่บังคับ โทเค็นหน้าเว็บที่ได้รับจากการเรียกใช้ SearchText ก่อนหน้า ระบุข้อมูลนี้เพื่อดึงข้อมูลหน้าถัดไป

ฟิลด์ Union _location_bias

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

locationBias

object (LocationBias)

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

LocationBias

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

object (Circle)

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

วงกลม

การแสดง JSON
{
  "center": {
    object (google.type.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 (google.type.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,
  "nextPageToken": string
}
ช่อง
places[]

object (PlaceView)

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

summary

string

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

nextPageToken

string

ไม่บังคับ โทเค็นที่ส่งเป็น page_token เพื่อดึงข้อมูลหน้าถัดไปได้

PlaceView

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

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

string

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

id

string

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

googleMapsLinks

object (GoogleMapsLinks)

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

ฟิลด์ Union _location

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

location

object (google.type.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

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

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