MCP Tools Reference: mapstools.googleapis.com

टूल: resolve_maps_urls

Google Maps के यूआरएल की सूची को, Google Maps के कैननिकल प्लेस आईडी में बदलता है.

इस टूल को कब कॉल करना चाहिए (ज़रूरी):

  • इस टूल का इस्तेमाल तब करें, जब उपयोगकर्ता Google Maps के एक या उससे ज़्यादा शेयरिंग लिंक या यूआरएल उपलब्ध कराता है. जैसे, 'https://maps.app.goo.gl/...', 'https://www.google.com/maps/place/...', या 'https://maps.google.com/...' और आपको कैननिकल प्लेस आईडी निकालने हों.
  • एक बैच अनुरोध में, ज़्यादा से ज़्यादा 20 यूआरएल को बदला जा सकता है.

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

  • urls (स्ट्रिंग का कलेक्शन - ज़रूरी है): Google Maps के उन यूआरएल की सूची जिन्हें बदलना है. हर यूआरएल, Google Maps का मान्य और एक जगह का यूआरएल होना चाहिए.

गड़बड़ी को मैनेज करना (ज़रूरी):

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

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

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

इनपुट स्कीमा

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

ResolveMapsUrlsRequest

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

string

ज़रूरी है. Google Maps के वे यूआरएल जिन्हें बदलना है. हर यूआरएल, Google Maps का मान्य यूआरएल होना चाहिए. जैसे, https://maps.app.goo.gl/..., https://www.google.com/maps/place/..., या https://maps.google.com/.... फ़िलहाल, सिर्फ़ एक जगह के यूआरएल काम करते हैं. ज़्यादा से ज़्यादा 20 यूआरएल बताए जा सकते हैं.

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

ResolveMapsUrls के लिए रिस्पॉन्स मैसेज.

ResolveMapsUrlsResponse

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

object (Entity)

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

failedRequests

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

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

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

इकाई

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 में एन्कोड की गई स्ट्रिंग.

टूल के एनोटेशन

डिस्ट्रक्टिव हिंट: ❌ | आइडमपोटेंट हिंट: ❌ | रीड ओनली हिंट: ✅ | ओपन वर्ल्ड हिंट: ❌