MCP Tools Reference: mapstools.googleapis.com

टूल: search_along_route

इस टूल को तब कॉल करें, जब उपयोगकर्ता को यात्रा के रास्ते में जगहें, कारोबार या लोकप्रिय जगहें ढूंढनी हों. जैसे, "ताहो जाने के रास्ते में पेट्रोल पंप", "सैन फ़्रांसिस्को और सैन होज़े के बीच कॉफ़ी शॉप". इस टूल को कॉल करने पर, search_places की तुलना में ज़्यादा शुल्क लगता है. इसलिए, किसी रास्ते के बजाय किसी एक जगह के आस-पास खोजते समय, search_places का इस्तेमाल करें.

इनपुट से जुड़ी ज़रूरी शर्तें (अहम):

  1. text_query (स्ट्रिंग - ज़रूरी है): रास्ते में क्या खोजना है, इसकी जानकारी नैचुरल लैंग्वेज में दें.

    • उदाहरण: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'.
  2. रूट की जानकारी (ज़रूरी है - इनमें से सिर्फ़ एक विकल्प चुनें):

    • retrieval_token (स्ट्रिंग): DRIVE रास्ते के लिए, compute_routes के पिछले कॉल से मिला retrieval_token. जब रास्ते का हिसाब पहले ही लगा लिया गया हो, तब इसे प्राथमिकता दें. यह टोकन 10 मिनट के लिए मान्य होता है.
    • route_endpoints (ऑब्जेक्ट): रास्ते का origin और destination. हर एक को address, lat_lng या place_id में से किसी एक का इस्तेमाल करके उपलब्ध कराना होगा.
      • उदाहरण: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline (स्ट्रिंग): कोड में बदली गई पॉलीलाइन, जो DRIVE रास्ते को दिखाती है.
  3. travel_mode (enum - ज़रूरी नहीं): DRIVE (डिफ़ॉल्ट), WALK या BICYCLE. WALK और BICYCLE सिर्फ़ route_endpoints के साथ काम करते हैं. TRANSIT का इस्तेमाल नहीं किया जा सकता.

  4. routing_preference (enum - ज़रूरी नहीं है):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (डिफ़ॉल्ट): लाइव ट्रैफ़िक के बिना, रास्ते और चक्करदार रास्तों का हिसाब लगाता है. इंतज़ार का समय सबसे कम रखना.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: उपलब्ध होने पर, ट्रैफ़िक की लाइव जानकारी का इस्तेमाल करता है. यह सुविधा WALK या BICYCLE के लिए उपलब्ध नहीं है. इसे सिर्फ़ तब सेट करें, जब उपयोगकर्ता ट्रैफ़िक, भीड़भाड़ या ट्रैफ़िक के हिसाब से अडजस्ट किए गए डिटूर के समय के बारे में पूछे. इससे इंतज़ार का समय बढ़ जाता है.
  5. include_extended_details (बूलियन - ज़रूरी नहीं): इसे true पर सिर्फ़ तब सेट करें, जब अनुरोध में समीक्षा की अहम जानकारी, मेन्यू के खास आइटम या ऑफ़र, माहौल, विज़िटर के लिए सलाह या व्यस्तता, ईवी चार्जर की उपलब्धता, पेट्रोल/डीज़ल की कीमतें या अन्य अहम जानकारी शामिल हो. डिफ़ॉल्ट रूप से, यह false पर सेट होता है. इसे चालू करने से, इंतज़ार का समय बढ़ सकता है.

  6. language_code (स्ट्रिंग - ज़रूरी नहीं): नतीजों की खास जानकारी और जगह की जानकारी के लिए भाषा, जैसे कि en, ja, en-US. डिफ़ॉल्ट रूप से, यह en-US पर सेट होता है.

  7. region_code (स्ट्रिंग - ज़रूरी नहीं): उपयोगकर्ता के यूनिकोड सीएलडीआर क्षेत्र का कोड, जैसे कि US, CA.

टूल कॉल के लिए निर्देश:

  • हर नतीजे में एक detour_summary (उपलब्ध होने पर) शामिल होता है. इसमें अतिरिक्त दूरी (localized_detour_distance) की जानकारी होती है. साथ ही, अगर रास्ते को encoded_polyline के तौर पर नहीं दिया गया है, तो उस जगह पर रुकने में लगने वाले अतिरिक्त समय (detour_duration) की जानकारी भी होती है. विकल्पों की तुलना करने के लिए इसका इस्तेमाल करें.
  • जवाब summary में, शून्य से शुरू होने वाले उद्धरण (जैसे, "[0]") शामिल हो सकते हैं. ये उद्धरण, results में मौजूद एंट्री के बारे में बताते हैं.
  • तथ्यों पर आधारित आउटपुट को सोर्स के साथ एट्रिब्यूट किया जाना चाहिए. इसके लिए, हर results[].place के attribution फ़ील्ड का इस्तेमाल करें. हालांकि, ऐसा तब ही किया जा सकता है, जब यह फ़ील्ड उपलब्ध हो.

यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके search_along_route एमसीपी टूल को कॉल करने का तरीका बताया गया है.

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_along_route",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

इनपुट स्कीमा

SearchAlongRoute के लिए अनुरोध मैसेज.

SearchAlongRouteRequest

JSON के काेड में दिखाना
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "routingPreference": enum (RoutingPreference),
  "includeExtendedDetails": boolean,
  "travelMode": enum (RouteTravelMode),

  // Union field route_spec can be only one of the following:
  "encodedPolyline": string,
  "retrievalToken": string,
  "routeEndpoints": {
    object (RouteEndpoints)
  }
  // End of list of possible types for union field route_spec.
}
फ़ील्ड
textQuery

string

ज़रूरी है. बोलचाल की भाषा में सर्च क्वेरी (जैसे, "ईवी चार्जर", "कॉफ़ी").

languageCode

string

ज़रूरी नहीं. खास जानकारी और जगह की जानकारी के लिए भाषा. डिफ़ॉल्ट रूप से, यह "en-US" पर सेट होता है.

regionCode

string

ज़रूरी नहीं. जगह का देश/इलाका कोड (सीएलडीआर), जैसे कि "US".

routingPreference

enum (RoutingPreference)

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

includeExtendedDetails

boolean

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

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

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

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

travelMode

enum (RouteTravelMode)

ज़रूरी नहीं. इससे यात्रा के मोड के बारे में पता चलता है. इसका इस्तेमाल, रास्ते और चक्करदार रास्तों का हिसाब लगाने के लिए किया जाता है. डिफ़ॉल्ट रूप से, यह DRIVE पर सेट होता है. WALK और BICYCLE सिर्फ़ route_endpoints के साथ काम करते हैं. TRANSIT का इस्तेमाल नहीं किया जा सकता.

यूनियन फ़ील्ड route_spec. रास्ते की जानकारी: कोई मौजूदा रास्ता, रास्ते का टोकन या शुरुआत/मंज़िल के एंडपॉइंट. route_spec इनमें से सिर्फ़ एक हो सकता है:
encodedPolyline

string

रूट को दिखाने वाली एन्कोड की गई पॉलीलाइन स्ट्रिंग. https://developers.google.com/maps/documentation/utilities/polylinealgorithm देखें

retrievalToken

string

ComputeRoutes के पिछले कॉल से मिला एक टोकन, जो रूट को दिखाता है.

routeEndpoints

object (RouteEndpoints)

रूट के एंडपॉइंट (शुरुआत की जगह और मंज़िल) साफ़ तौर पर बताएं.

RouteEndpoints

JSON के काेड में दिखाना
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  }
}
फ़ील्ड
origin

object (Waypoint)

ज़रूरी है. शुरुआती जगह (पता, जगह का आईडी या भौगोलिक निर्देशांक).

destination

object (Waypoint)

ज़रूरी है. डेस्टिनेशन पॉइंट (पता, जगह का आईडी या भौगोलिक निर्देशांक).

वेपॉइंट

JSON के काेड में दिखाना
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
फ़ील्ड
यूनियन फ़ील्ड location_type. किसी जगह को दिखाने के अलग-अलग तरीके. location_type इनमें से सिर्फ़ एक हो सकता है:
latLng

object (LatLng)

भौगोलिक निर्देशांकों का इस्तेमाल करके तय किया गया पॉइंट.

placeId

string

वेपॉइंट से जुड़ा जगह का आईडी.

address

string

किसी व्यक्ति के लिए आसानी से पढ़ा जा सकने वाला पता या Plus Code. ज़्यादा जानकारी के लिए, https://plus.codes पर जाएं.

LatLng

JSON के काेड में दिखाना
{
  "latitude": number,
  "longitude": number
}
फ़ील्ड
latitude

number

डिग्री में अक्षांश. यह [-90.0, +90.0] की रेंज में होना चाहिए.

longitude

number

डिग्री में देशांतर. यह [-180.0, +180.0] की रेंज में होना चाहिए.

RoutingPreference

वैल्यू का एक सेट, जो रास्ते का हिसाब लगाते समय ध्यान में रखे जाने वाले फ़ैक्टर के बारे में बताता है.

Enums
ROUTING_PREFERENCE_UNSPECIFIED रूटिंग की कोई प्राथमिकता तय नहीं की गई है. डिफ़ॉल्ट रूप से, यह ROUTING_PREFERENCE_TRAFFIC_UNAWARE पर सेट होता है.
ROUTING_PREFERENCE_TRAFFIC_UNAWARE यह ट्रैफ़िक के हाल को ध्यान में रखे बिना, रास्तों का हिसाब लगाता है. यह तब सही होता है, जब ट्रैफ़िक का हाल मायने नहीं रखता या लागू नहीं होता. इस वैल्यू का इस्तेमाल करने पर, इंतज़ार का समय सबसे कम होता है.
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL

ट्रैफ़िक की जानकारी उपलब्ध होने पर, ट्रैफ़िक का हाल ध्यान में रखकर रास्ते का हिसाब लगाता है. TRANSIT के लिए, रीयल टाइम में बस, मेट्रो वगैरह का डेटा इस्तेमाल किया जाता है. जैसे, देरी और रद्द होने की जानकारी. हालांकि, ऐसा तब होता है, जब यह डेटा उपलब्ध हो.

इस वैल्यू से Pro टियर ट्रिगर होगा. साथ ही, बिलिंग की कुल लागत और इंतज़ार का समय बढ़ जाएगा.

RouteTravelMode

यात्रा के मोड की जानकारी देने के लिए इस्तेमाल की जाने वाली वैल्यू का सेट.

Enums
ROUTE_TRAVEL_MODE_UNSPECIFIED यात्रा का कोई मोड तय नहीं किया गया. डिफ़ॉल्ट रूप से, यह DRIVE पर सेट होता है.
DRIVE कार से यात्रा करें.
WALK पैदल यात्रा करना. ध्यान दें: WALK के रास्ते बीटा वर्शन में हैं. इसलिए, हो सकता है कि कभी-कभी साफ़ फ़ुटपाथ या पैदल चलने के रास्ते न दिखें. आपको अपने ऐप्लिकेशन में पैदल चलने के लिए दिखाए जाने वाले सभी रास्तों के लिए, उपयोगकर्ता को यह चेतावनी दिखानी होगी.
BICYCLE साइकल से यात्रा करना.
TRANSIT बस, मेट्रो वगैरह से यात्रा करें.

आउटपुट स्कीमा

SearchAlongRoute के लिए जवाब वाला मैसेज.

SearchAlongRouteResponse

JSON के काेड में दिखाना
{
  "results": [
    {
      object (Result)
    }
  ],
  "summary": string,
  "contentToken": string
}
फ़ील्ड
results[]

object (Result)

सिर्फ़ आउटपुट के लिए. रास्ते में मिलने वाले खोज के नतीजों की रैंक की गई सूची.

summary

string

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

contentToken

string

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

नतीजा

JSON के काेड में दिखाना
{
  "place": {
    object (PlaceView)
  },
  "detourSummary": {
    object (DetourSummary)
  }
}
फ़ील्ड
place

object (PlaceView)

सिर्फ़ आउटपुट के लिए. रास्ते में मिली जगह की जानकारी.

detourSummary

object (DetourSummary)

सिर्फ़ आउटपुट के लिए. इस जगह को रास्ते में स्टॉप के तौर पर जोड़ने से, रास्ते में लगने वाले अतिरिक्त समय और दूरी की जानकारी. अगर डिटूर मेट्रिक का हिसाब नहीं लगाया जा सकता, तो इसे शामिल नहीं किया जाता या खाली छोड़ दिया जाता है.

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

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

DetourSummary

JSON के काेड में दिखाना
{
  "detourDuration": string,
  "localizedDetourDistance": string
}
फ़ील्ड
detourDuration

string (Duration format)

मुख्य रास्ते से इस जगह तक जाने के लिए, यात्रा में लगने वाला अतिरिक्त समय. अगर रूट को encoded_polyline से तय किया गया है, तो यह वैल्यू सेट नहीं की जाती.

सेकंड में अवधि, जिसमें नौ फ़्रैक्शनल अंक हो सकते हैं. यह 's' पर खत्म होती है. उदाहरण: "3.5s".

localizedDetourDistance

string

मुख्य रास्ते से इस जगह तक पहुंचने के लिए तय की जाने वाली अतिरिक्त दूरी.इसे अनुरोध की भाषा में दिखाने के लिए फ़ॉर्मैट किया गया है (उदाहरण के लिए, "1.2 मील" या "1.9 कि॰मी॰").

कुल समय

JSON के काेड में दिखाना
{
  "seconds": string,
  "nanos": integer
}
फ़ील्ड
seconds

string (int64 format)

समय अवधि के सेकंड. यह -31,55,76,000,000 से +31,55,76,000,000 के बीच होना चाहिए. ध्यान दें: इन सीमाओं का हिसाब इस तरह लगाया जाता है: 60 सेकंड/मिनट * 60 मिनट/घंटा * 24 घंटे/दिन * 365.25 दिन/साल * 10,000 साल

nanos

integer

समय की अवधि के नैनोसेकंड रिज़ॉल्यूशन पर, सेकंड के साइन किए गए फ़्रैक्शन. एक सेकंड से कम की अवधि को 0 seconds फ़ील्ड और पॉज़िटिव या नेगेटिव nanos फ़ील्ड से दिखाया जाता है. एक सेकंड या उससे ज़्यादा की अवधि के लिए, nanos फ़ील्ड की वैल्यू शून्य नहीं होनी चाहिए. साथ ही, यह वैल्यू seconds फ़ील्ड की वैल्यू के साइन से मेल खानी चाहिए. यह -999,999,999 से +999,999,999 के बीच होना चाहिए.

टूल एनोटेशन

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

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

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

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