टूल: resolve_names
यह एपीआई, किसी खास जगह की क्वेरी (लैंडमार्क के नाम या सटीक पते) की बैच लिस्ट को Google Maps के कैननिकल जगह के आईडी में बदलता है.
इनपुट से जुड़ी ज़रूरी शर्तें (अहम):
queries(ऑब्जेक्ट का कलेक्शन - ज़रूरी है): जगह की जानकारी से जुड़ी क्वेरी की सूची, जिन्हें हल करना है. ज़्यादा से ज़्यादा 20 क्वेरी डाली जा सकती हैं.- हर क्वेरी ऑब्जेक्ट में ये चीज़ें होनी चाहिए:
text(स्ट्रिंग - ज़रूरी है): टेक्स्ट क्वेरी, जिसमें किसी जगह का नाम या पता शामिल होता है.- उदाहरण:
'Googleplex, Mountain View, CA','1600 Amphitheatre Pkwy, Mountain View, CA','Eiffel Tower, Paris'.
- उदाहरण:
- हर क्वेरी ऑब्जेक्ट में ये चीज़ें होनी चाहिए:
location_bias(object - OPTIONAL): इसका इस्तेमाल करके, किसी खास भौगोलिक इलाके के आस-पास के नतीजों को प्राथमिकता दी जा सकती है.- फ़ॉर्मैट:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- फ़ॉर्मैट:
region_code(स्ट्रिंग - ज़रूरी नहीं): उपयोगकर्ता के यूनिकोड सीएलडीआर रीजन कोड (दो अक्षरों वाला देश का कोड, जैसे किUS,CA) का इस्तेमाल करके, नतीजों को बायस किया जा सकता है.
टूल कॉल के लिए निर्देश:
- सटीक जानकारी (ज़रूरी): क्वेरी में किसी जगह का नाम या पता सटीक होना चाहिए.
'restaurants'जैसी सामान्य खोजों या'Starbucks'जैसे चेन के नामों के लिए यह सुविधा काम नहीं करती. - अगर आपको जिन डाउनस्ट्रीम टूल को कॉल करना है वे पहले से ही रॉ पते या जगह के नाम की स्ट्रिंग को सीधे तौर पर स्वीकार करते हैं, तो इस टूल को कॉल न करें.
Google Maps में सेव करना:
- जवाब में
save_to_maps_urlफ़ील्ड शामिल होता है: Google Maps का एक लिंक, जिसमें उन सभी जगहों की जानकारी होती है जिन्हें सही तरीके से रिज़ॉल्व किया गया है. - जब उपयोगकर्ता, Google Maps में जगहों की सूची को सेव, शेयर या खोलना चाहे, तो उसे यह लिंक दिखाएं. इस लिंक को खुद न बनाएं.
गड़बड़ी ठीक करना (ज़रूरी):
- यह एक बैच प्रोसेसिंग टूल है. किसी अनुरोध के जवाब में "मिले-जुले नतीजे" मिल सकते हैं. उदाहरण के लिए, कुछ क्वेरी का जवाब मिल सकता है, जबकि कुछ का नहीं.
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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
ResolveNames के लिए अनुरोध का मैसेज.
ResolveNamesRequest
| JSON के काेड में दिखाना |
|---|
{ "queries": [ { object ( |
| फ़ील्ड | |
|---|---|
queries[] |
ज़रूरी है. जगह की जानकारी से जुड़ी उन क्वेरी की सूची जिन्हें हल करना है. ज़्यादा से ज़्यादा 20 क्वेरी डाली जा सकती हैं. |
locationBias |
ज़रूरी नहीं. यह एक वैकल्पिक इलाका है, ताकि रिज़ॉल्यूशन के नतीजों को बायस किया जा सके. अगर यह तय किया गया है, तो रिज़ॉल्यूशन के नतीजे उन इकाइयों के पक्ष में होंगे जो इस इलाके के करीब हैं. अगर |
regionCode |
ज़रूरी नहीं. यह एक वैकल्पिक रीजन कोड है, जो रिज़ॉल्यूशन के नतीजों को बायस करता है. अगर जगह की जानकारी दी जाती है, तो रिज़ॉल्यूशन के नतीजे, उस जगह या उसके आस-पास मौजूद इकाइयों के हिसाब से दिखाए जाएंगे. यह CLDR क्षेत्र कोड होना चाहिए. उदाहरण के लिए, "US" या "CA". अगर |
LocationQuery
| JSON के काेड में दिखाना |
|---|
{ "text": string } |
| फ़ील्ड | |
|---|---|
text |
ज़रूरी है. Google Maps पर किसी खास जियोस्पेशल इकाई, जैसे कि कोई जगह या पता ढूंढने के लिए टेक्स्ट क्वेरी. क्वेरी जितनी सटीक होगी, समस्या का समाधान उतना ही सटीक होगा. उदाहरण के लिए, "San Francisco", "Googleplex, Mountain View, CA", "1600 Amphitheatre Parkway, Mountain View, CA" या "Eiffel Tower, Paris". क्वेरी में किसी खास पते या जगह का नाम होना चाहिए. किसी चेन के नाम (जैसे, Starbucks) जैसी सामान्य जगहों या "रेस्टोरेंट" जैसी सर्च क्वेरी का इस्तेमाल नहीं किया जा सकता. |
LocationBias
| JSON के काेड में दिखाना |
|---|
{ // Union field |
| फ़ील्ड | |
|---|---|
यूनियन फ़ील्ड type. जगह के हिसाब से नतीजे दिखाने की सुविधा का टाइप. type इनमें से सिर्फ़ एक हो सकता है: |
|
viewport |
बाउंडिंग बॉक्स से तय किया गया व्यूपोर्ट. |
व्यूपोर्ट
| JSON के काेड में दिखाना |
|---|
{ "low": { object ( |
| फ़ील्ड | |
|---|---|
low |
ज़रूरी है. व्यूपोर्ट का सबसे निचला पॉइंट. |
high |
ज़रूरी है. व्यूपोर्ट का सबसे ऊंचा पॉइंट. |
LatLng
| JSON के काेड में दिखाना |
|---|
{ "latitude": number, "longitude": number } |
| फ़ील्ड | |
|---|---|
latitude |
डिग्री में अक्षांश. यह [-90.0, +90.0] की रेंज में होना चाहिए. |
longitude |
डिग्री में देशांतर. यह [-180.0, +180.0] की रेंज में होना चाहिए. |
आउटपुट स्कीमा
ResolveNames के लिए जवाब वाला मैसेज.
ResolveNamesResponse
| JSON के काेड में दिखाना |
|---|
{ "results": [ { object ( |
| फ़ील्ड | |
|---|---|
results[] |
सिर्फ़ आउटपुट के लिए. जगह की जानकारी से जुड़ी क्वेरी से हल की गई इकाइयों की सूची. अनुरोध |
failedRequests |
सिर्फ़ आउटपुट के लिए. कुछ फ़ाइलों का फ़ॉर्मैट नहीं बदला जा सका, इसकी जानकारी देने वाला मैप. कुंजी, एक ऑब्जेक्ट, जिसमें |
saveToMapsUrl |
सिर्फ़ आउटपुट के लिए. Google Maps में, उन सभी इकाइयों को सेव करने का लिंक जिन्हें सही तरीके से हल किया गया है. |
नतीजा
| JSON के काेड में दिखाना |
|---|
{ "entity": { object ( |
| फ़ील्ड | |
|---|---|
entity |
सिर्फ़ आउटपुट के लिए. जगह की जानकारी वाली क्वेरी से मिली इकाई. |
confidence |
सिर्फ़ आउटपुट के लिए. रिज़ॉल्यूशन के लिए कॉन्फ़िडेंस लेवल. |
इकाई
| JSON के काेड में दिखाना |
|---|
{ // Union field |
| फ़ील्ड | |
|---|---|
यूनियन फ़ील्ड entity. इकाई का टाइप. entity इनमें से सिर्फ़ एक हो सकता है: |
|
place |
जिस जगह की जानकारी को ठीक किया गया है उसके संसाधन का नाम. |
FailedRequestsEntry
| JSON के काेड में दिखाना |
|---|
{
"key": integer,
"value": {
object ( |
| फ़ील्ड | |
|---|---|
key |
|
value |
|
स्थिति
| JSON के काेड में दिखाना |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| फ़ील्ड | |
|---|---|
code |
स्टेटस कोड, जो |
message |
डेवलपर को दिखने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में होना चाहिए. साथ ही, उसे |
details[] |
मैसेज की सूची, जिसमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज टाइप का एक सामान्य सेट होता है. एक ऑब्जेक्ट, जिसमें आर्बिट्ररी टाइप के अलग-अलग फ़ील्ड शामिल हों. एक ऐसा अतिरिक्त फ़ील्ड |
कोई भी
| JSON के काेड में दिखाना |
|---|
{ "typeUrl": string, "value": string } |
| फ़ील्ड | |
|---|---|
typeUrl |
यह यूआरआई रेफ़रंस के साथ, सीरियलाइज़ किए गए Protobuf मैसेज के टाइप की पहचान करता है. इसमें स्लैश पर खत्म होने वाला प्रीफ़िक्स और टाइप का पूरा नाम शामिल होता है. उदाहरण: type.googleapis.com/google.protobuf.StringValue इस स्ट्रिंग में कम से कम एक प्रीफ़िक्स आर्बिट्रेरी होता है. साथ ही, Protobuf के लागू होने पर, टाइप की पहचान करने के लिए, आखिरी सभी टाइप यूआरएल स्ट्रिंग, मान्य यूआरआई रेफ़रंस होने चाहिए. साथ ही, टेक्स्ट फ़ॉर्मैट के लिए यह अतिरिक्त पाबंदी है कि रेफ़रंस के कॉन्टेंट में सिर्फ़ अक्षर और अंक, प्रतिशत-कोड वाले एस्केप, और इस सेट में मौजूद वर्ण शामिल होने चाहिए (इनमें बाहरी बैकटिक शामिल नहीं हैं):
|
value |
इसमें type_url से बताए गए टाइप का Protobuf सीरियलाइज़ेशन होता है. base64 कोड में बदली गई स्ट्रिंग. |
आत्मविश्वास
रिज़ॉल्यूशन के लिए कॉन्फ़िडेंस लेवल.
| Enums | |
|---|---|
CONFIDENCE_UNSPECIFIED |
डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया गया है. |
MEDIUM |
'मीडियम कॉन्फ़िडेंस' का मतलब है कि समस्या का समाधान सही हो सकता है, लेकिन इसके अलावा अन्य समाधान भी हो सकते हैं. |
HIGH |
हाई कॉन्फ़िडेंस से पता चलता है कि रिज़ॉल्यूशन सही है और यह किसी खास जियोस्पेशल इकाई (जैसे, कोई खास जगह) को दिखाता है. |
टूल एनोटेशन
एमसीपी क्लाइंट को टूल एनोटेशन भेजे जाते हैं, ताकि किसी टूल से जुड़े बुनियादी जोखिम के बारे में बताया जा सके. ज़्यादातर क्लाइंट इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.
टाइटल स्ट्रिंग के साथ-साथ, बूलियन हिंट के बारे में यहां बताया गया है:
readOnlyHint: अगर इसकी वैल्यू true है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता. डिफ़ॉल्ट: false.destructiveHint: अगर इसकी वैल्यू true है, तो टूल नुकसान पहुंचाने वाली कार्रवाइयां कर सकता है. अगर यह वैल्यू false पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: true.idempotentHint: अगर इसकी वैल्यू true है, तो टूल को एक ही आर्ग्युमेंट के साथ बार-बार कॉल करने पर, उसके एनवायरमेंट पर कोई और असर नहीं पड़ेगा. डिफ़ॉल्ट: false.openWorldHint: सही होने पर, टूल बाहरी इकाइयों की 'विशाल दुनिया' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू false है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब सर्च टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌