MCP Reference: mapstools.googleapis.com

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर, लार्ज लैंग्वेज मॉडल (एलएलएम) या एआई ऐप्लिकेशन को कॉन्टेक्स्ट, डेटा या सुविधाएं देने वाली बाहरी सेवा के बीच प्रॉक्सी के तौर पर काम करता है. एमसीपी सर्वर, एआई ऐप्लिकेशन को डेटाबेस और वेब सेवाओं जैसे बाहरी सिस्टम से कनेक्ट करते हैं. साथ ही, उनके जवाबों को ऐसे फ़ॉर्मैट में बदलते हैं जिसे एआई ऐप्लिकेशन समझ सके.

सर्वर का सेटअप

इसका इस्तेमाल करने से पहले, आपको एमसीपी सर्वर चालू करने और पुष्टि करने की सुविधा सेट अप करने की ज़रूरत होगी. Google और Google Cloud के रिमोट एमसीपी सर्वर इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Google Cloud के एमसीपी सर्वर की खास जानकारी देखें.

यह Maps Grounding Lite API से मिला एमसीपी सर्वर है. यह सर्वर, डेवलपर को Google Maps Platform पर एलएलएम ऐप्लिकेशन बनाने के लिए टूल उपलब्ध कराता है.

सर्वर एंडपॉइंट

एमसीपी सेवा एंडपॉइंट, एमसीपी सर्वर का नेटवर्क पता और कम्यूनिकेशन इंटरफ़ेस (आम तौर पर एक यूआरएल) होता है. इसका इस्तेमाल, एआई ऐप्लिकेशन (एमसीपी क्लाइंट के लिए होस्ट) एक सुरक्षित और स्टैंडर्ड कनेक्शन बनाने के लिए करता है. यह एलएलएम के लिए संपर्क बिंदु है. इससे एलएलएम, कॉन्टेक्स्ट का अनुरोध कर सकता है, किसी टूल को कॉल कर सकता है या किसी संसाधन को ऐक्सेस कर सकता है. Google MCP के एंडपॉइंट, ग्लोबल या रीजनल हो सकते हैं.

mapstools.googleapis.com एमसीपी सर्वर का एमसीपी एंडपॉइंट यह है:

एमसीपी टूल

एमसीपी टूल एक फ़ंक्शन या एक्ज़ीक्यूटेबल क्षमता होती है. इसे एमसीपी सर्वर, एलएलएम या एआई ऐप्लिकेशन के लिए उपलब्ध कराता है, ताकि वह असल दुनिया में कोई कार्रवाई कर सके.

mapstools.googleapis.com एमसीपी सर्वर में ये टूल मौजूद हैं:

एमसीपी टूल
search_places

उपयोगकर्ता की अनुरोध में जगहें, कारोबार, पते, जगहें, दिलचस्पी की जगहें या Google Maps से जुड़ी कोई अन्य खोज शामिल होने पर, इस टूल को कॉल करें.

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

  1. text_query (string - MANDATORY): खोज के लिए मुख्य क्वेरी. इसमें साफ़ तौर पर बताया जाना चाहिए कि उपयोगकर्ता क्या ढूंढ रहा है.

    • उदाहरण: '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)]}}}
    • इस्तेमाल:
      • 5 कि॰मी॰ के दायरे में खोज के नतीजों को प्राथमिकता देने के लिए: {"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 (string - OPTIONAL): खोज के नतीजों की खास जानकारी दिखाने के लिए भाषा.

    • फ़ॉर्मैट: दो अक्षर का भाषा कोड (आईएसओ 639-1). इसके बाद, वैकल्पिक तौर पर अंडरस्कोर और दो अक्षर का देश कोड (आईएसओ 3166-1 ऐल्फ़ा-2) हो सकता है. उदाहरण के लिए, en, ja, en_US, zh_CN, es_MX. अगर भाषा कोड नहीं दिया गया है, तो नतीजे अंग्रेज़ी में दिखेंगे.
  4. region_code (string - OPTIONAL): उपयोगकर्ता के देश/इलाके का यूनिकोड CLDR कोड. इस पैरामीटर का इस्तेमाल, जगह की जानकारी दिखाने के लिए किया जाता है. जैसे, अगर जगह का नाम क्षेत्र के हिसाब से उपलब्ध है, तो उसे दिखाया जाता है. लागू कानून के आधार पर, पैरामीटर से नतीजों पर असर पड़ सकता है.

    • फ़ॉर्मैट: दो अक्षरों वाला देश का कोड (ISO 3166-1 ऐल्फ़ा-2), जैसे कि US, CA.

Instructions for Tool Call:

  • जगह की जानकारी (ज़रूरी): खोज के नतीजों में जगह की पूरी जानकारी होनी चाहिए. अगर जगह के बारे में साफ़ तौर पर नहीं बताया गया है (जैसे, सिर्फ़ "पिज़्ज़ा की दुकानें"), तो आपको text_query में जगह के बारे में साफ़ तौर पर बताना होगा (जैसे, "न्यूयॉर्क में पिज़्ज़ा की दुकानें"). इसके अलावा, location_bias पैरामीटर का इस्तेमाल भी किया जा सकता है. अगर किसी जगह के नाम को लेकर कोई भ्रम है, तो उसमें शहर, राज्य/प्रांत, और देश/इलाके का नाम शामिल करें.

  • हमेशा text_query के बारे में ज़्यादा से ज़्यादा जानकारी दें.

  • location_bias का इस्तेमाल सिर्फ़ तब करें, जब निर्देशांक साफ़ तौर पर दिए गए हों या जब उपयोगकर्ता के जाने-पहचाने कॉन्टेक्स्ट से जगह की जानकारी का अनुमान लगाना सही और बेहतर नतीजों के लिए ज़रूरी हो.

lookup_weather

यह कुकी, मौसम का पूरा डेटा इकट्ठा करती है. इसमें मौजूदा स्थितियां, हर घंटे और हर दिन के पूर्वानुमान शामिल हैं.

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

जगह की जानकारी और जगह की जानकारी से जुड़े नियम (ज़रूरी): मौसम की जानकारी का अनुरोध करते समय, 'location' फ़ील्ड का इस्तेमाल करके उस जगह की जानकारी दी जाती है. यह फ़ील्ड 'oneof' स्ट्रक्चर है. इसका मतलब है कि मौसम के सटीक डेटा की जानकारी पाने के लिए, आपको नीचे दिए गए तीन लोकेशन सब-फ़ील्ड में से सिर्फ़ एक के लिए वैल्यू देनी होगी.

  1. भौगोलिक निर्देशांक (lat_lng)

    • इसका इस्तेमाल तब करें, जब आपको अक्षांश/देशांतर के सटीक निर्देशांक दिए गए हों.
    • उदाहरण: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // लॉस एंजेलिस
  2. जगह का आईडी (place_id)

    • Google Maps पर मौजूद जगह का आईडी, एक ऐसा स्ट्रिंग आइडेंटिफ़ायर होता है जो किसी जगह की पहचान करता है.
    • search_places टूल से place_id फ़ेच किया जा सकता है.
    • उदाहरण: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower
  3. पते की स्ट्रिंग (address)

    • यह एक फ़्री-फ़ॉर्म स्ट्रिंग है, जिसमें जियोकोडिंग के लिए सटीक जानकारी देना ज़रूरी है.
    • शहर और क्षेत्र: हमेशा क्षेत्र/देश का नाम शामिल करें. उदाहरण के लिए, "लंदन, यूनाइटेड किंगडम", न कि "लंदन".
    • मोहल्ले का पता: पूरा पता दें. जैसे, "1600 Pennsylvania Ave NW, Washington, DC".
    • पिन/ज़िप कोड: इनके साथ देश का नाम होना ज़रूरी है. जैसे, "90210, USA", "90210" नहीं.

इस्तेमाल करने के मोड: 1. मौजूदा मौसम: सिर्फ़ address की जानकारी दो. date और hour की वैल्यू न दें.

  1. हर घंटे के हिसाब से मौसम का पूर्वानुमान: address, date, और hour (0-23) की जानकारी दें. इसका इस्तेमाल किसी खास समय (जैसे, "शाम 5 बजे") या 'अगले कुछ घंटे' या 'आज बाद में' जैसे शब्दों के लिए करें. अगर उपयोगकर्ता मिनट के हिसाब से समय बताता है, तो उसे सबसे नज़दीकी घंटे में बदल दें. फ़िलहाल, अगले 48 घंटों के बाद के मौसम की जानकारी, घंटे के हिसाब से नहीं दी जा सकती.

  2. रोज़ का पूर्वानुमान: address और date के बारे में जानकारी दो. hour की वैल्यू न दें. इसका इस्तेमाल, सामान्य दिनों के लिए किए गए अनुरोधों के लिए करें. जैसे, "कल का मौसम", "शुक्रवार का मौसम", "25 दिसंबर का मौसम". अगर आज की तारीख कॉन्टेक्स्ट में नहीं है, तो आपको उपयोगकर्ता को इसके बारे में बताना चाहिए. आज को शामिल करके, अगले सात दिनों से ज़्यादा के लिए रोज़ाना के पूर्वानुमान की सुविधा उपलब्ध नहीं है. मौसम की पुरानी जानकारी उपलब्ध नहीं है.

पैरामीटर की सीमाएं: * टाइमज़ोन: सभी date और hour इनपुट, जगह के स्थानीय टाइम ज़ोन के हिसाब से होने चाहिए, न कि उपयोगकर्ता के टाइम ज़ोन के हिसाब से.

  • तारीख का फ़ॉर्मैट: इनपुट को {year, month, day} पूर्णांकों में अलग किया जाना चाहिए.

  • यूनिट: डिफ़ॉल्ट रूप से METRIC पर सेट होती है. अगर उपयोगकर्ता अमेरिका के स्टैंडर्ड के हिसाब से जानकारी मांगता है या साफ़ तौर पर इसके लिए अनुरोध करता है, तो फ़ारेनहाइट/मील के लिए units_system को IMPERIAL पर सेट करें.

compute_routes

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

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

  • address: (स्ट्रिंग, जैसे कि 'Eiffel Tower, Paris'). ध्यान दें: पता जितना ज़्यादा सटीक होगा, नतीजे उतने ही बेहतर होंगे.

  • lat_lng: (object, {"latitude": number, "longitude": number})

  • place_id: (स्ट्रिंग, उदाहरण के लिए, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') ध्यान दें: यह आईडी, search_places टूल से पाया जा सकता है. इनपुट टाइप के किसी भी कॉम्बिनेशन का इस्तेमाल किया जा सकता है. उदाहरण के लिए, पते के हिसाब से मूल जगह और अक्षांश/देशांतर के हिसाब से मंज़िल. अगर ऑरिजिन या डेस्टिनेशन में से कोई एक मौजूद नहीं है, तो टूल को कॉल करने से पहले, आपको उपयोगकर्ता से इस बारे में ज़्यादा जानकारी मांगनी होगी.

उदाहरण के लिए, टूल कॉल: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

एमसीपी टूल की खास जानकारी पाना

किसी एमसीपी सर्वर में मौजूद सभी टूल के लिए, एमसीपी टूल की खास जानकारी पाने के लिए, tools/list तरीके का इस्तेमाल करें. इस उदाहरण में, curl का इस्तेमाल करके, MCP सर्वर में फ़िलहाल उपलब्ध सभी टूल और उनकी खास बातों की सूची बनाने का तरीका बताया गया है.

Curl अनुरोध
                      curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'