เครื่องมือ: search_places
เรียกใช้เครื่องมือนี้เมื่อคำขอของผู้ใช้คือการค้นหาสถานที่ ธุรกิจ ที่อยู่ ตำแหน่ง จุดที่น่าสนใจ หรือการค้นหาที่เกี่ยวข้องอื่นๆ ที่เกี่ยวข้องกับ Google Maps
ข้อกำหนดในการป้อนข้อมูล (สำคัญ):
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')
- ตัวอย่าง:
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)
- หากต้องการให้น้ำหนักกับรัศมี 5 กม. ให้ใช้
- รูปแบบ:
language_code(สตริง - ไม่บังคับ): ภาษาที่จะแสดงข้อมูลสรุปผลการค้นหา- รูปแบบ: รหัสภาษาแบบ 2 ตัวอักษร (ISO 639-1) ตามด้วยขีดล่างและรหัสประเทศแบบ 2 ตัวอักษร (ISO 3166-1 alpha-2) (ไม่บังคับ) เช่น
en,ja,en_US,zh_CN,es_MXหากไม่ได้ระบุรหัสภาษา ผลลัพธ์จะเป็นภาษาอังกฤษ
- รูปแบบ: รหัสภาษาแบบ 2 ตัวอักษร (ISO 639-1) ตามด้วยขีดล่างและรหัสประเทศแบบ 2 ตัวอักษร (ISO 3166-1 alpha-2) (ไม่บังคับ) เช่น
region_code(สตริง - ไม่บังคับ): รหัสภูมิภาค CLDR ของ Unicode ของผู้ใช้ พารามิเตอร์นี้ใช้เพื่อแสดงรายละเอียดสถานที่ เช่น ชื่อสถานที่เฉพาะภูมิภาค (หากมี) พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง- รูปแบบ: รหัสประเทศ 2 ตัวอักษร (ISO 3166-1 alpha-2) เช่น
US,CA
- รูปแบบ: รหัสประเทศ 2 ตัวอักษร (ISO 3166-1 alpha-2) เช่น
วิธีการเรียกใช้เครื่องมือ
ข้อมูลตำแหน่ง (สำคัญ): การค้นหาต้องมีข้อมูลตำแหน่งที่เพียงพอ หากสถานที่ตั้งไม่ชัดเจน (เช่น "ร้านพิซซ่า") คุณต้องระบุสถานที่ตั้งใน
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 |
| ช่อง | |
|---|---|
textQuery |
ต้องระบุ คำค้นหาที่เป็นข้อความ |
languageCode |
ไม่บังคับ ภาษาที่ต้องการให้แสดงข้อมูลสรุป หากไม่ได้ระบุรหัสภาษาหรือไม่รู้จัก ระบบจะแสดงผลสรุปเป็นภาษาอังกฤษ เช่น "en" สำหรับภาษาอังกฤษ รายการภาษาที่รองรับในปัจจุบัน: https://developers.google.com/maps/faq#languagesupport |
regionCode |
ไม่บังคับ รหัสประเทศ/ภูมิภาค Unicode (CLDR) ของสถานที่ที่ส่งคำขอ พารามิเตอร์นี้ใช้เพื่อแสดงรายละเอียดสถานที่ เช่น ชื่อสถานที่เฉพาะภูมิภาค (หากมี) พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง เช่น "US" สำหรับสหรัฐอเมริกา ดูข้อมูลเพิ่มเติมได้ที่ https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html โปรดทราบว่าปัจจุบันระบบยังไม่รองรับรหัสภูมิภาคแบบ 3 หลัก |
pageSize |
ไม่บังคับ จำนวนสถานที่สูงสุดที่จะแสดงผล ซึ่งไม่เกิน 5 แห่ง บริการอาจแสดงผลลัพธ์น้อยกว่าค่านี้ ค่าเริ่มต้นคือ 5 |
includeExtendedDetails |
ไม่บังคับ รวมรายละเอียดสถานที่เพิ่มเติมในการตอบกลับ ตั้งค่าฟิลด์นี้เป็น ปล่อย การเปิดใช้ช่องนี้จะทำให้เวลาในการตอบสนองสูงขึ้น |
ฟิลด์ Union
|
|
locationBias |
ภูมิภาคที่ไม่บังคับเพื่อให้น้ำหนักกับผลการค้นหา หากมีสถานที่ตั้งที่ชัดเจนใน |
LocationBias
| การแสดง JSON |
|---|
{
"circle": {
object ( |
| ฟิลด์ | |
|---|---|
circle |
ไม่บังคับ วงกลมที่กำหนดโดยจุดศูนย์กลางและรัศมี |
วงกลม
| การแสดง JSON |
|---|
{ "center": { object ( |
| ช่อง | |
|---|---|
center |
ต้องระบุ จุดศูนย์กลางของวงกลม |
ฟิลด์ Union
|
|
radiusMeters |
รัศมีของวงกลมในหน่วยเมตร รัศมีต้องอยู่ภายใน 50,000 เมตร |
LatLng
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
| ช่อง | |
|---|---|
latitude |
ละติจูดในหน่วยองศา โดยต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูดเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0] |
สคีมาเอาต์พุต
ข้อความตอบกลับสำหรับ SearchText
SearchTextResponse
| การแสดง JSON |
|---|
{
"places": [
{
object ( |
| ช่อง | |
|---|---|
places[] |
เอาต์พุตเท่านั้น รายการสถานที่ที่กล่าวถึงในข้อมูลสรุป |
summary |
เอาต์พุตเท่านั้น ข้อมูลสรุปผลการค้นหาด้วยภาษาธรรมชาติ ข้อมูลสรุปอาจมีการอ้างอิงแบบ Zero-Based เช่น "[0]", "[1]", "[2]" เป็นต้น การอ้างอิงเหล่านี้จะแมปกับสถานที่ที่เกี่ยวข้องในช่อง |
contentToken |
เอาต์พุตเท่านั้น โทเค็นที่เข้ารหัสซึ่งรวมบริบทการค้นหาไว้และสามารถส่งไปยังบริการแสดงผลภาพ, SDK หรือชุดเครื่องมือ Agentic UI ของ Maps (A2UI) ของ Google Maps เพื่อแสดงคอมโพเนนต์ UI แบบอินเทอร์แอกทีฟสำหรับผลการค้นหาที่แสดงผล |
PlaceView
| การแสดง JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| ช่อง | |
|---|---|
place |
ชื่อทรัพยากรของสถานที่ที่เกี่ยวข้องในรูปแบบ "places/{id}" |
id |
รหัสสถานที่ของสถานที่ที่เกี่ยวข้อง |
googleMapsLinks |
ลิงก์เพื่อทริกเกอร์การดำเนินการต่างๆ ของ Google Maps |
attribution |
การระบุแหล่งที่มาที่จำเป็นต้องแสดงพร้อมกับสถานที่ |
ฟิลด์ Union
|
|
location |
ตำแหน่งของสถานที่นี้ |
LatLng
| การแสดง JSON |
|---|
{ "latitude": number, "longitude": number } |
| ช่อง | |
|---|---|
latitude |
ละติจูดในหน่วยองศา โดยต้องอยู่ในช่วง [-90.0, +90.0] |
longitude |
ลองจิจูดเป็นองศา โดยต้องอยู่ในช่วง [-180.0, +180.0] |
GoogleMapsLinks
| การแสดง JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| ช่อง | |
|---|---|
directionsUrl |
ลิงก์เพื่อแสดงเส้นทางไปยังสถานที่ ลิงก์จะป้อนข้อมูลเฉพาะสถานที่ปลายทางและใช้โหมดการเดินทางเริ่มต้น |
placeUrl |
ลิงก์เพื่อแสดงสถานที่นี้ |
writeAReviewUrl |
ลิงก์สำหรับเขียนรีวิวสถานที่นี้ใน Google Maps |
reviewsUrl |
ลิงก์เพื่อแสดงรีวิวของสถานที่นี้ใน Google Maps |
photosUrl |
ลิงก์เพื่อแสดงรูปภาพของสถานที่นี้ใน Google Maps |
การระบุแหล่งที่มา
| การแสดง JSON |
|---|
{ "title": string, "url": string } |
| ช่อง | |
|---|---|
title |
ชื่อที่จะแสดงสำหรับการระบุแหล่งที่มา |
url |
URL ที่จะลิงก์ไปเพื่อระบุแหล่งที่มา |
คำอธิบายประกอบเครื่องมือ
ระบบจะส่งคำอธิบายประกอบเครื่องมือไปยังไคลเอ็นต์ MCP เพื่ออธิบายความเสี่ยงพื้นฐานของเครื่องมือหนึ่งๆ ไคลเอ็นต์ส่วนใหญ่จะถือว่าคำแนะนำเหล่านี้ไม่น่าเชื่อถือ แต่สามารถใช้เพื่อตัดสินใจว่าจะส่งข้อความแจ้งยืนยันไปยังผู้ใช้เมื่อใด
นอกจากสตริงชื่อแล้ว ยังมีการกำหนดคำแนะนำบูลีนต่อไปนี้ด้วย
readOnlyHint: หากเป็นจริง เครื่องมือจะไม่แก้ไขสภาพแวดล้อมของตนเอง ค่าเริ่มต้น: falsedestructiveHint: หากเป็น "จริง" เครื่องมือจะดำเนินการที่ทำลายล้างได้ หากเป็นเท็จ เครื่องมือจะดำเนินการได้เฉพาะการดำเนินการแบบเพิ่มเท่านั้น ค่าเริ่มต้น: trueidempotentHint: หากเป็นจริง การเรียกใช้เครื่องมือซ้ำๆ ด้วยอาร์กิวเมนต์เดียวกันจะไม่มีผลเพิ่มเติมต่อสภาพแวดล้อม ค่าเริ่มต้น: falseopenWorldHint: หากเป็นจริง เครื่องมือจะโต้ตอบกับ "โอเพนเวิลด์" ของเอนทิตีภายนอกได้ หากเป็นเท็จ เครื่องมือจะโต้ตอบได้เฉพาะกับเอนทิตีภายในเท่านั้น ตัวอย่างเช่น เครื่องมือค้นเว็บจะเป็นแบบโอเพนเวิลด์ ส่วนเครื่องมือความทรงจำจะไม่ใช่แบบโอเพนเวิลด์
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌