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 (object - اختیاری): از این برای اولویت‌بندی نتایج نزدیک به یک منطقه جغرافیایی خاص استفاده کنید.

    • قالب: {"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).
  3. language_code (رشته - اختیاری): زبانی که خلاصه نتایج جستجو به آن نمایش داده می‌شود.

    • قالب: کد زبان دوحرفی (ISO 639-1)، که به‌صورت اختیاری با یک خط زیر و کد کشور دوحرفی (ISO 3166-1 alpha-2) دنبال می‌شود، برای نمونه، en، ja، en_US، zh_CN، es_MX. اگر کد زبان ارائه نشود، نتایج به زبان انگلیسی خواهد بود.
  4. region_code (رشته - اختیاری): کد منطقه CLDR یونی‌کد کاربر. این پارامتر برای نمایش جزئیات مکان، مانند نام مکان ویژه منطقه، درصورت وجود، استفاده می‌شود. این پارامتر می‌تواند براساس قانون ذی‌ربط بر نتایج تأثیر بگذارد.

    • قالب: کد کشور دوحرفی (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

اختیاری. کد کشور/منطقه Unicode (CLDR) مکان ارسال درخواست. این پارامتر برای نمایش جزئیات مکان، مانند نام مکان ویژه منطقه، درصورت وجود، استفاده می‌شود. این پارامتر می‌تواند براساس قانون ذی‌ربط بر نتایج تأثیر بگذارد.

برای مثال، «US» برای ایالات متحده.

برای اطلاعات بیشتر، به https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html مراجعه کنید.

توجه داشته باشید که درحال‌حاضر از کدهای منطقه ۳ رقمی پشتیبانی نمی‌شود.

فیلد اتحادیه _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)

الزامی. نقطه مرکزی دایره.

فیلد اتحادیه _radius_meters.

‫_radius_meters فقط می‌تواند یکی از موارد زیر باشد:

radiusMeters

number

شعاع دایره به متر. شعاع باید در محدوده ۵۰٬۰۰۰ متری باشد.

LatLng

نمایش JSON
{
  "latitude": number,
  "longitude": number
}
فیلدها
latitude

number

عرض جغرافیایی به درجه. باید در محدوده [-۹۰.۰، +۹۰.۰] باشد.

longitude

number

طول جغرافیایی به درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد.

طرح‌واره برونداد

پیام پاسخ برای SearchText.

SearchTextResponse

نمایش JSON
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string
}
فیلدها
places[]

object (PlaceView)

فقط برونداد. فهرست مکان‌هایی که در خلاصه نام برده شده است.

summary

string

فقط برونداد. خلاصه‌ای به زبان طبیعی از نتایج جستجو. خلاصه ممکن است حاوی ارجاع‌های صفرپایه مثل «[۰]»، «[۱]»، «[۲]» و غیره باشد. این ارجاع‌ها به مکان‌های مربوطه در فیلد 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)

ذکر منبع برای نمایش با مکان الزامی است.

فیلد اتحادیه _location.

‫_location فقط می‌تواند یکی از موارد زیر باشد:

location

object (LatLng)

جایگاه این مکان.

LatLng

نمایش JSON
{
  "latitude": number,
  "longitude": number
}
فیلدها
latitude

number

عرض جغرافیایی به درجه. باید در محدوده [-۹۰.۰، +۹۰.۰] باشد.

longitude

number

طول جغرافیایی به درجه. باید در محدوده [-۱۸۰.۰، +۱۸۰.۰] باشد.

نمایش 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

نشانی وب برای پیوند دادن به اِسناد.

حاشیه‌نویسی ابزار

گزارمان‌های ابزار برای توصیف خطر اولیه یک ابزار معین به کارخواهان MCP ارسال می‌شود. اکثر کارخواه‌ها این نشانه‌ها را به‌عنوان نامطمئن درنظر می‌گیرند، اما می‌توان از آن‌ها برای تصمیم‌گیری درباره زمان ارسال پیام‌واره تأیید به کاربر استفاده کرد.

به‌همراه رشته عنوان، نشان‌های بولی زیر به این صورت تعریف می‌شوند:

  • ‫readOnlyHint: اگر درست باشد، ابزار محیطش را تغییر نمی‌دهد. پیش‌فرض: نادرست.
  • ‫destructiveHint: اگر درست باشد، ابزار می‌تواند کنش‌های مخرب انجام دهد. اگر نادرست باشد، ابزار فقط می‌تواند کنش‌های افزودنی انجام دهد. پیش‌فرض: درست.
  • idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با همان آرگومان‌ها تأثیر اضافه‌ای بر محیط آن نخواهد داشت. پیش‌فرض: نادرست.
  • ‫openWorldHint: اگر درست باشد، ابزار می‌تواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط می‌تواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، اما ابزار حافظه دنیای باز نیست.

راهنمایی مخرب: ❌ | راهنمایی خودتوان: ❌ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌