MCP Tools Reference: mapstools.googleapis.com

टूल: resolve_names

यह फ़ंक्शन, किसी खास जगह के बारे में की गई क्वेरी (लैंडमार्क के नाम या सटीक पते) की बैच सूची को Google Maps के कैननिकल प्लेस आईडी में बदलता है.

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

  1. queries (ऑब्जेक्ट का कलेक्शन - ज़रूरी है): जगह की जानकारी से जुड़ी क्वेरी की सूची. ज़्यादा से ज़्यादा 20 क्वेरी तय की जा सकती हैं.

    • हर क्वेरी ऑब्जेक्ट में ये चीज़ें होनी चाहिए:
      • text (string - ज़रूरी है): यह टेक्स्ट क्वेरी, किसी जगह के नाम या पते को दिखाती है. इस क्वेरी को हल करना ज़रूरी है.
        • उदाहरण: 'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
  2. location_bias (object - OPTIONAL): इसका इस्तेमाल, किसी खास भौगोलिक जगह के आस-पास के नतीजों को प्राथमिकता देने के लिए करें.

    • फ़ॉर्मैट: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (string - OPTIONAL): यह उपयोगकर्ता के लिए यूनिकोड सीएलडीआर रीजन कोड (दो अक्षर वाला देश का कोड, जैसे कि US, CA) होता है. इससे खोज के नतीजों को उपयोगकर्ता की पसंद के मुताबिक बनाने में मदद मिलती है.

Instructions for Tool Call:

  • जगह की जानकारी (ज़रूरी): क्वेरी में किसी जगह का नाम या पता होना चाहिए. 'restaurants' या 'Starbucks' जैसे चेन स्टोर के नाम वाली सामान्य खोजों का इस्तेमाल नहीं किया जा सकता.
  • अगर आपको जिन टूल का इस्तेमाल करना है वे सीधे तौर पर पते या जगह के नाम की स्ट्रिंग स्वीकार करते हैं, तो इस टूल को कॉल न करें.

गड़बड़ी ठीक करना (CRITICAL):

  • यह बैच प्रोसेसिंग टूल है. ऐसा हो सकता है कि किसी अनुरोध के "मिश्रित नतीजे" मिलें. उदाहरण के लिए, कुछ क्वेरी के नतीजे मिल जाएं, जबकि कुछ के न मिलें.
  • results के आउटपुट की सूची, queries के इनपुट इंडेक्स के साथ 1:1 मैप करने की गारंटी देती है. क्वेरी के पूरा न होने पर, results सूची में मौजूद उसके इंडेक्स पर, Result मैसेज (कोई entity सेट नहीं है) दिखेगा.
  • आपको रिस्पॉन्स में मौजूद failed_requests मैप फ़ील्ड की जांच ज़रूर करनी चाहिए. इससे यह पता चलेगा कि क्वेरी का कौन-सा इंडेक्स काम नहीं कर रहा है. failed_requests की कुंजी, अनुरोध में मौजूद उस क्वेरी का इंडेक्स दिखाती है जो पूरी नहीं की जा सकी. यह इंडेक्स, 0 से शुरू होता है. यह न मान लें कि कुछ कॉल कनेक्ट न होने की वजह से, पूरे बैच की कॉल कनेक्ट नहीं हो पाईं.

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

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

इनपुट स्कीमा

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

ResolveNamesRequest

JSON के काेड में दिखाना
{
  "queries": [
    {
      object (LocationQuery)
    }
  ],
  "locationBias": {
    object (LocationBias)
  },
  "regionCode": string
}
फ़ील्ड
queries[]

object (LocationQuery)

ज़रूरी है. जगह की जानकारी से जुड़ी क्वेरी की सूची, जिन्हें हल करना है. ज़्यादा से ज़्यादा 20 क्वेरी तय की जा सकती हैं.

locationBias

object (LocationBias)

ज़रूरी नहीं. यह एक वैकल्पिक क्षेत्र है, जिसका इस्तेमाल रिज़ॉल्यूशन के नतीजों को बेहतर बनाने के लिए किया जाता है. अगर ऐसा किया जाता है, तो नतीजे उन इकाइयों के पक्ष में होंगे जो इस इलाके के आस-पास हैं. location_bias या region_code शामिल करने से, खोज के दायरे को सीमित किया जा सकता है. इससे अक्सर बेहतर नतीजे मिलते हैं.

अगर location_bias और region_code, दोनों को सेट किया गया है, तो location_bias को region_code से ज़्यादा प्राथमिकता दी जाती है.

regionCode

string

ज़रूरी नहीं. यह एक वैकल्पिक क्षेत्र कोड है. इसका इस्तेमाल, समाधान के नतीजों को बेहतर बनाने के लिए किया जाता है. अगर रिज़ॉल्यूशन के लिए कोई क्षेत्र तय किया गया है, तो नतीजे उन इकाइयों के पक्ष में होंगे जो तय किए गए क्षेत्र में या उसके आस-पास मौजूद हैं. यह CLDR क्षेत्र का कोड होना चाहिए. उदाहरण के लिए, "US" या "CA". location_bias या region_code शामिल करने से, खोज के दायरे को सीमित किया जा सकता है. इससे अक्सर बेहतर नतीजे मिलते हैं.

अगर location_bias और region_code, दोनों को सेट किया गया है, तो location_bias को region_code से ज़्यादा प्राथमिकता दी जाती है.

LocationQuery

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

string

ज़रूरी है. Google Maps पर किसी जगह या पते जैसी खास भौगोलिक इकाई को हल करने के लिए टेक्स्ट क्वेरी. क्वेरी जितनी सटीक होगी, समस्या का समाधान उतना ही सटीक होगा. उदाहरण के लिए, "सैन फ़्रांसिस्को", "Googleplex, Mountain View, CA", "1600 Amphitheatre Parkway, Mountain View, CA" या "एफ़िल टावर, पैरिस". क्वेरी में किसी जगह का नाम या पता होना चाहिए. चेन का नाम (जैसे, Starbucks) या "रेस्टोरेंट" जैसी खोज क्वेरी जैसी सामान्य जगहों के लिए यह सुविधा काम नहीं करती.

LocationBias

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

  // Union field type can be only one of the following:
  "viewport": {
    object (Viewport)
  }
  // End of list of possible types for union field type.
}
फ़ील्ड
यूनियन फ़ील्ड type. लोकेशन के हिसाब से खोज के नतीजों में बदलाव करने की सुविधा का टाइप. type इनमें से सिर्फ़ एक हो सकता है:
viewport

object (Viewport)

बाउंडिंग बॉक्स से तय किया गया व्यूपोर्ट.

व्यूपोर्ट

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

object (LatLng)

ज़रूरी है. व्यूपोर्ट का सबसे निचला पॉइंट.

high

object (LatLng)

ज़रूरी है. व्यूपोर्ट का सबसे ऊपरी हिस्सा.

LatLng

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

number

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

longitude

number

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

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

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

ResolveNamesResponse

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

object (Result)

सिर्फ़ आउटपुट. इसमें जगह की जानकारी से जुड़ी क्वेरी से मिली हल की गई इकाइयों की सूची होती है. यह गारंटी दी जाती है कि यह सूची, अनुरोध queries इंडेक्स के साथ 1:1 मैप करेगी. इंडेक्स i पर मौजूद खाली स्ट्रिंग से पता चलता है कि उस क्वेरी के लिए, समस्या हल नहीं हो पाई. अगर समस्या हल नहीं हो पाई, तो गड़बड़ी की स्थिति जानने के लिए कृपया failed_requests फ़ील्ड देखें.

failedRequests

map (key: integer, value: object (Status))

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

एक ऑब्जेक्ट, जिसमें "key": value जोड़े की सूची शामिल हो. उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

नतीजा

JSON के काेड में दिखाना
{
  "entity": {
    object (Entity)
  },
  "confidence": enum (Confidence)
}
फ़ील्ड
entity

object (Entity)

सिर्फ़ आउटपुट के लिए. जगह की जानकारी से जुड़ी क्वेरी से हल की गई इकाई.

confidence

enum (Confidence)

सिर्फ़ आउटपुट के लिए. समस्या हल होने का कॉन्फ़िडेंस लेवल.

इकाई

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

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
फ़ील्ड
यूनियन फ़ील्ड entity. हल की गई इकाई का टाइप. entity इनमें से सिर्फ़ एक हो सकता है:
place

string

हल की गई जगह का संसाधन नाम.

FailedRequestsEntry

JSON के काेड में दिखाना
{
  "key": integer,
  "value": {
    object (Status)
  }
}
फ़ील्ड
key

integer

value

object (Status)

स्थिति

JSON के काेड में दिखाना
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
फ़ील्ड
code

integer

स्टेटस कोड, जो google.rpc.Code की enum वैल्यू होनी चाहिए.

message

string

डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में होना चाहिए. साथ ही, उसे google.rpc.Status.details फ़ील्ड में भेजा जाना चाहिए या क्लाइंट की ओर से स्थानीय भाषा में होना चाहिए.

details[]

object

मैसेज की सूची, जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज टाइप का एक सामान्य सेट होता है.

एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड "@type" जिसमें टाइप की पहचान करने वाला यूआरआई हो. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

कोई भी

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

string

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

उदाहरण: type.googleapis.com/google.protobuf.StringValue

इस स्ट्रिंग में कम से कम एक / वर्ण होना चाहिए. साथ ही, आखिरी / के बाद का कॉन्टेंट, कैननिकल फ़ॉर्म में टाइप का पूरा नाम होना चाहिए. इसमें शुरुआती बिंदु नहीं होना चाहिए. इन यूआरआई रेफ़रंस पर कोई स्कीम न लिखें, ताकि क्लाइंट उनसे संपर्क न करें.

प्रीफ़िक्स कोई भी हो सकता है. Protobuf लागू करने वाले लोगों से उम्मीद की जाती है कि वे टाइप की पहचान करने के लिए, आखिरी / तक के सभी वर्ण हटा दें. type.googleapis.com/ एक सामान्य डिफ़ॉल्ट प्रीफ़िक्स है, जिसकी ज़रूरत कुछ लेगसी वर्शन को होती है. इस प्रीफ़िक्स से टाइप के ऑरिजिन का पता नहीं चलता. साथ ही, इसमें शामिल यूआरआई से किसी भी अनुरोध का जवाब नहीं मिलता.

सभी टाइप की यूआरएल स्ट्रिंग, मान्य यूआरआई रेफ़रंस होनी चाहिए. साथ ही, टेक्स्ट फ़ॉर्मैट के लिए यह ज़रूरी है कि रेफ़रंस के कॉन्टेंट में सिर्फ़ अक्षर और अंक, पर्सेंट-कोड वाले एस्केप, और यहां दिए गए सेट के वर्ण शामिल हों (बाहरी बैकटिक शामिल नहीं हैं): /-.~_!$&()*+,;=. हम प्रतिशत के हिसाब से एन्कोड करने की अनुमति देते हैं. हालांकि, लागू करने के दौरान उन्हें अनएस्केप नहीं किया जाना चाहिए, ताकि मौजूदा पार्सर के साथ कोई भ्रम न हो. उदाहरण के लिए, type.googleapis.com%2FFoo को अस्वीकार किया जाना चाहिए.

Any के ओरिजनल डिज़ाइन में, इन टाइप यूआरएल पर टाइप रिज़ॉल्यूशन सेवा लॉन्च करने की संभावना पर विचार किया गया था. हालांकि, Protobuf ने कभी इसे लागू नहीं किया. साथ ही, इन यूआरएल से संपर्क करने को समस्या और सुरक्षा से जुड़ी संभावित समस्या माना जाता है. टाइप यूआरएल से संपर्क करने की कोशिश न करें.

value

string (bytes format)

इसमें type_url में बताए गए टाइप का Protobuf सीरियलाइज़ेशन होता है.

base64 कोड में बदली गई स्ट्रिंग.

आत्मविश्वास

समस्या हल होने का कॉन्फ़िडेंस लेवल.

Enums
CONFIDENCE_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है.
MEDIUM मध्यम कॉन्फ़िडेंस का मतलब है कि समाधान सही होने की संभावना है, लेकिन अन्य विकल्प भी हो सकते हैं.
HIGH ज़्यादा कॉन्फ़िडेंस का मतलब है कि रिज़ॉल्यूशन सही है और यह किसी खास भू-स्थानिक इकाई (जैसे, कोई खास जगह) को दिखाता है.

टूल एनोटेशन

डेटा में बदलाव करने से जुड़ी जानकारी: ❌ | एक ही कार्रवाई को बार-बार करने से जुड़ी जानकारी: ❌ | सिर्फ़ पढ़ने से जुड़ी जानकारी: ✅ | ओपन वर्ल्ड से जुड़ी जानकारी: ❌