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 - OPTIONAL): इसका इस्तेमाल करके, किसी खास भौगोलिक इलाके के आस-पास के नतीजों को प्राथमिकता दी जा सकती है.

    • फ़ॉर्मैट: {"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 एमसीपी टूल को कॉल करने का तरीका बताया गया है.

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

ज़रूरी नहीं. उस जगह का यूनिकोड देश/इलाका कोड (सीएलडीआर) जहां से अनुरोध किया जा रहा है. इस पैरामीटर का इस्तेमाल, जगह की जानकारी दिखाने के लिए किया जाता है. जैसे, किसी इलाके के हिसाब से जगह का नाम, अगर उपलब्ध हो. लागू कानून के आधार पर, पैरामीटर से नतीजों पर असर पड़ सकता है.

उदाहरण के लिए, अमेरिका के लिए "US".

ज़्यादा जानकारी के लिए, https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html पर जाएं.

ध्यान दें कि फ़िलहाल, तीन अंकों वाले देश/इलाके के कोड इस्तेमाल नहीं किए जा सकते.

pageSize

integer

ज़रूरी नहीं. ज़्यादा से ज़्यादा पांच जगहों की जानकारी दिखाई जा सकती है. सेवा, इस वैल्यू से कम नतीजे दिखा सकती है. डिफ़ॉल्ट वैल्यू 5 है.

includeExtendedDetails

boolean

ज़रूरी नहीं. जवाब में, जगह की ज़्यादा जानकारी शामिल होती है.

इस फ़ील्ड को true पर सेट करें, जब उपयोगकर्ता के अनुरोध के लिए, अच्छी क्वालिटी वाली अहम जानकारी, रीयल-टाइम डाइनैमिक या इकाई की खास विशेषताओं की ज़रूरत हो: - क्वालिटी की समीक्षाएं, ग्राहक की भावना, और सुझाव/राय/शिकायत. - खास ऑफ़र, जैसे कि मेन्यू आइटम, पकवान, खास तरह का खाना, पेय पदार्थ या कारोबार की खास बातें. - माहौल, इंटीरियर डेकोर, एस्थेटिक, ऐंबियंस या मूड की क्वालिटी. - रीयल-टाइम डेटा और खास सुविधाओं की जानकारी, विज़िटर के लिए नीतियां/सलाह, और कॉल करने का सबसे सही समय.

स्टैंडर्ड डिस्कवरी सर्च (जैसे, पकवान, स्टोर के टाइप), जगह/पते की खोज, संपर्क जानकारी, कारोबार के खुले होने का समय, और स्टैंडर्ड मेटाडेटा/सुविधाओं के लिए, false (डिफ़ॉल्ट) को छोड़ दें.

इस फ़ील्ड को चालू करने पर, इंतज़ार का समय बढ़ जाएगा.

यूनियन फ़ील्ड _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

सर्कल की त्रिज्या, मीटर में. दायरा 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

सिर्फ़ आउटपुट के लिए. खोज के नतीजों की नैचुरल लैंग्वेज में खास जानकारी. खास जानकारी में "[0]", "[1]", "[2]" जैसे शून्य से शुरू होने वाले उद्धरण शामिल हो सकते हैं. ये उद्धरण, places फ़ील्ड में मौजूद जगहों से मैप होते हैं.

contentToken

string

सिर्फ़ आउटपुट के लिए. यह एन्क्रिप्ट किया गया एक टोकन होता है, जिसमें खोज के संदर्भ की जानकारी होती है. इसे Google Maps की विज़ुअल रेंडरिंग सेवाओं, एसडीके टूल या Maps एजेंटिक यूआई टूलकिट (A2UI) को भेजा जा सकता है. इससे खोज के नतीजों के लिए, इंटरैक्टिव यूआई कॉम्पोनेंट दिखाए जा सकते हैं.

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

डिग्री में अक्षांश. यह [-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

एट्रिब्यूशन के लिए लिंक किया जाने वाला यूआरएल.

टूल एनोटेशन

एमसीपी क्लाइंट को टूल एनोटेशन भेजे जाते हैं, ताकि किसी टूल से जुड़े बुनियादी जोखिम के बारे में बताया जा सके. ज़्यादातर क्लाइंट इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.

टाइटल स्ट्रिंग के साथ-साथ, बूलियन हिंट के बारे में यहां बताया गया है:

  • readOnlyHint: अगर इसकी वैल्यू true है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता. डिफ़ॉल्ट: false.
  • destructiveHint: अगर इसकी वैल्यू true है, तो टूल नुकसान पहुंचाने वाली कार्रवाइयां कर सकता है. अगर यह वैल्यू false पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: true.
  • idempotentHint: अगर इसकी वैल्यू true है, तो टूल को एक ही आर्ग्युमेंट के साथ बार-बार कॉल करने पर, उसके एनवायरमेंट पर कोई और असर नहीं पड़ेगा. डिफ़ॉल्ट: false.
  • openWorldHint: सही होने पर, टूल बाहरी इकाइयों की 'विशाल दुनिया' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू false है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब सर्च टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.

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