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 เพื่อเรียกใช้เครื่องมือ MCP search_places

คำขอ 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,
  "pageSize": integer,
  "includeExtendedDetails": boolean,

  // 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

ไม่บังคับ จำนวนสถานที่สูงสุดที่จะแสดงผล ซึ่งไม่เกิน 5 แห่ง บริการอาจแสดงผลลัพธ์น้อยกว่าค่านี้ ค่าเริ่มต้นคือ 5

includeExtendedDetails

boolean

ไม่บังคับ รวมรายละเอียดสถานที่เพิ่มเติมในการตอบกลับ

ตั้งค่าฟิลด์นี้เป็น true เมื่อคำขอของผู้ใช้ต้องการข้อมูลเชิงลึกเชิงคุณภาพที่สมบูรณ์ ไดนามิกแบบเรียลไทม์ หรือแอตทริบิวต์เอนทิตีเฉพาะทาง เช่น รีวิวเชิงคุณภาพ ความรู้สึกของลูกค้า และความคิดเห็น - ข้อเสนอที่เฉพาะเจาะจง เช่น รายการเมนู อาหาร อาหารพิเศษ เครื่องดื่ม หรือไฮไลต์ของธุรกิจ - บรรยากาศเชิงคุณภาพ การตกแต่งภายใน สุนทรียภาพ บรรยากาศ หรืออารมณ์ - ข้อมูลแบบเรียลไทม์และข้อมูลจำเพาะของสถานที่เฉพาะทาง นโยบาย/เคล็ดลับสำหรับผู้เข้าชม เวลารอ

ปล่อย false (ค่าเริ่มต้น) ไว้สำหรับการค้นหาเพื่อสำรวจแบบมาตรฐาน (เช่น อาหาร ประเภทของร้านค้า) การค้นหาสถานที่/ที่อยู่ ข้อมูลติดต่อ เวลาทำการ และข้อมูลเมตา/สิ่งอำนวยความสะดวกมาตรฐาน

การเปิดใช้ช่องนี้จะทำให้เวลาในการตอบสนองสูงขึ้น

ฟิลด์ 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,
  "contentToken": string
}
ช่อง
places[]

object (PlaceView)

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

summary

string

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

contentToken

string

เอาต์พุตเท่านั้น โทเค็นที่เข้ารหัสซึ่งรวมบริบทการค้นหาไว้และสามารถส่งไปยังบริการแสดงผลภาพ, SDK หรือชุดเครื่องมือ Agentic UI ของ Maps (A2UI) ของ Google Maps เพื่อแสดงคอมโพเนนต์ UI แบบอินเทอร์แอกทีฟสำหรับผลการค้นหาที่แสดงผล

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

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