ابزار: 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)]}}}
- کاربرد:
- برای سوگیری به شعاع ۵ کیلومتری:
{"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حذف میشود).
- برای سوگیری به شعاع ۵ کیلومتری:
- قالب:
language_code(رشته - اختیاری): زبانی که خلاصه نتایج جستجو به آن نشان داده میشود.- قالب: کد زبان دوحرفی (ISO 639-1)، که بهصورت اختیاری با زیرخط و کد کشور دوحرفی (ISO 3166-1 alpha-2) دنبال میشود، مثلاً
en،ja،en_US،zh_CN،es_MX. اگر کد زبان ارائه نشود، نتایج به زبان انگلیسی خواهد بود.
- قالب: کد زبان دوحرفی (ISO 639-1)، که بهصورت اختیاری با زیرخط و کد کشور دوحرفی (ISO 3166-1 alpha-2) دنبال میشود، مثلاً
region_code(رشته - اختیاری): کد منطقه CLDR یونیکد کاربر. این پارامتر برای نمایش جزئیات مکان، مانند نام مکان خاص منطقه، درصورت وجود، استفاده میشود. این پارامتر میتواند براساس قانون ذیربط بر نتایج تأثیر بگذارد.- قالب: کد کشور دوحرفی (ISO 3166-1 alpha-2)، مثلاً
US،CA.
- قالب: کد کشور دوحرفی (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 |
اختیاری. کد کشور/منطقه یونیکد (CLDR) مکانی که درخواست از آنجا میآید. این پارامتر برای نمایش جزئیات مکان، مانند نام مکان خاص منطقه، درصورت وجود، استفاده میشود. این پارامتر میتواند بر نتایج براساس قانون ذیربط تأثیر بگذارد. برای مثال، «US» برای ایالات متحده. برای اطلاعات بیشتر، به https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html مراجعه کنید. توجه داشته باشید که کدهای منطقه ۳ رقمی درحالحاضر پشتیبانی نمیشوند. |
pageSize |
اختیاری. حداکثر تعداد مکانهایی که باید برگردانده شود، تا ۵ مکان. سرویس ممکن است کمتر از این مقدار را برگرداند. مقدار پیشفرض ۵ است. |
includeExtendedDetails |
اختیاری. شامل جزئیات گسترده مکان در پاسخ است. وقتی درخواست کاربر به اطلاعات آماری کیفی غنی، پویایی همزمان، یا ویژگیهای نهاد تخصصی نیاز دارد، این فیلد را روی
فعال کردن این فیلد باعث تأخیر بیشتر میشود. |
فیلد اتحادیه
|
|
locationBias |
منطقهای اختیاری برای سوگیری نتایج جستجو به آن. اگر مکان صریحی در |
LocationBias
| نمایش JSON |
|---|
{
"circle": {
object ( |
| فیلدها | |
|---|---|
circle |
اختیاری. دایرهای که با نقطه مرکزی و شعاع تعریف میشود. |
دایره
| نمایش JSON |
|---|
{ "center": { object ( |
| فیلدها | |
|---|---|
center |
الزامی. نقطه مرکزی دایره. |
فیلد اتحادیه
|
|
radiusMeters |
شعاع دایره به متر. شعاع باید در محدوده ۵۰٬۰۰۰ متر باشد. |
LatLng
| نمایش JSON |
|---|
{ "latitude": number, "longitude": number } |
| فیلدها | |
|---|---|
latitude |
عرض جغرافیایی به درجه. باید در محدوده [-90.0, +90.0] باشد. |
longitude |
طول جغرافیایی برحسب درجه. باید در محدوده [-180.0, +180.0] باشد. |
طرح خروجی
پیام پاسخ برای SearchText.
SearchTextResponse
| نمایش JSON |
|---|
{
"places": [
{
object ( |
| فیلدها | |
|---|---|
places[] |
فقط خروجی. فهرست مکانهایی که در خلاصه ذکر شدهاند. |
summary |
فقط خروجی. خلاصهای به زبان طبیعی از نتایج جستجو. خلاصه ممکن است حاوی نقلقولهای مبتنی بر صفر مانند «[0]»، «[1]»، «[2]» و غیره باشد. این نقلقولها به مکانهای مربوطه در فیلد |
contentToken |
فقط خروجی. یک کد امنیتی رمزگذاریشده که بافت جستجو را دربرمیگیرد و میتواند به سرویسهای پرداز تصویری Google Maps، کیتهای توسعه نرمافزار، یا «ابزار کار میانای کاربر عاملگرای Maps» (A2UI) ارسال شود تا مؤلفههای میانای کاربر تعاملی را برای نتایج جستجوی برگرداندهشده نمایش دهد. |
PlaceView
| نمایش JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| فیلدها | |
|---|---|
place |
نام منبع مکان اصلی، در قالب «places/{id}». |
id |
شناسه مکانِ مکان اصلی. |
googleMapsLinks |
پیوندهایی برای راهاندازی کنشهای مختلف Google Maps. |
attribution |
ذکر منبع الزامی برای نمایش با مکان. |
فیلد اتحادیه
|
|
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 |
نشانی وب برای پیوند دادن به اِسناد. |
حاشیهنویسیهای ابزار
حاشیهنویسیهای ابزار به کارخواهان MCP ارسال میشود تا خطر اصلی ابزار موردنظر را شرح دهد. اکثر کارخواهها این راهنماییها را غیرقابلاعتماد تلقی میکنند، اما میتوان از آنها برای تصمیمگیری درباره زمان ارسال پیامواره تأیید به کاربر استفاده کرد.
همراه با رشته عنوان، نکات بولی زیر بهصورت زیر تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیط خود را تغییر نمیدهد. پیشفرض: false. -
destructiveHint: اگر درست باشد، ابزار میتواند کنشهای مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند کنشهای افزایشی انجام دهد. پیشفرض: true. idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با آرگومانهای یکسان تأثیر بیشتری بر محیط آن نخواهد داشت. پیشفرض: false.openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، درحالیکه ابزار حافظه دنیای باز نیست.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌