1. परिचय
इस कोडलैब में, अपने BigQuery डेटासेट को उपलब्ध कराने के लिए, डेटाबेस के लिए एमसीपी टूलबॉक्स का इस्तेमाल किया जाएगा.
कोडलैब में, आपको सिलसिलेवार तरीके से यह तरीका अपनाना होगा:
- सार्वजनिक BigQuery डेटासेट प्रोग्राम से, किसी खास BigQuery डेटासेट ("Google Cloud रिलीज़ नोट) की पहचान करें.
- डेटाबेस के लिए एमसीपी टूलबॉक्स सेट अप करें, जो BigQuery डेटासेट से कनेक्ट होता है.
- अलग-अलग एमसीपी क्लाइंट एक्सप्लोर करें और पुष्टि करें कि वे BigQuery डेटासेट एमसीपी इंटरफ़ेस को ऐक्सेस कर सकते हैं.
आपको क्या करना होगा
- डेटाबेस के लिए एमसीपी टूलबॉक्स सेट अप करें, ताकि Google Cloud के रिलीज़ नोट और सार्वजनिक BigQuery डेटासेट को एमसीपी इंटरफ़ेस के तौर पर, अन्य एमसीपी क्लाइंट (आईडीई, टूल वगैरह) को दिखाया जा सके.
आपको क्या सीखने को मिलेगा
- BigQuery के सार्वजनिक डेटासेट एक्सप्लोर करें और कोई डेटासेट चुनें.
- BigQuery के उस सार्वजनिक डेटासेट के लिए, डेटाबेस के लिए एमसीपी टूलबॉक्स सेट अप करें जिसे हमें एमसीपी क्लाइंट के लिए उपलब्ध कराना है.
- स्थानीय एनवायरमेंट में, डेटाबेस के लिए कॉन्फ़िगरेशन एमसीपी टूलबॉक्स आज़माएं.
आपको इन चीज़ों की ज़रूरत होगी
- Chrome वेब ब्राउज़र.
- Python का स्थानीय डेवलपमेंट एनवायरमेंट.
- Node.js का स्थानीय एनवायरमेंट, जिसमें npm का 5.2.0 या इसके बाद का वर्शन हो.
2. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. किसी प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने का तरीका जानें .
- इसके लिए, आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है, जिसमें bq पहले से लोड होता है. Google Cloud कंसोल में सबसे ऊपर, 'Cloud Shell चालू करें' पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह जांच करें कि आपकी पुष्टि पहले ही हो चुकी है या नहीं. साथ ही, यह भी देखें कि प्रोजेक्ट आपके प्रोजेक्ट आईडी पर सेट है या नहीं. इसके लिए, यह कमांड इस्तेमाल करें:
gcloud auth list
- Cloud Shell में यह कमांड चलाकर पुष्टि करें कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
gcloud के निर्देशों और इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
3. Google रिलीज़ नोट डेटासेट और एमसीपी क्लाइंट
सबसे पहले, Google Cloud के रिलीज़ नोट देखें. इन्हें Google Cloud के रिलीज़ नोट के आधिकारिक वेबपेज पर नियमित तौर पर अपडेट किया जाता है. इसका स्क्रीनशॉट यहां दिया गया है:
आपके पास फ़ीड यूआरएल की सदस्यता लेने का विकल्प है. हालांकि, अगर हम अपने एजेंट चैट में इन रिलीज़ नोट के बारे में पूछें, तो क्या होगा. जैसे, "मुझे Google Cloud के रिलीज़ नोट के बारे में अपडेट दें" जैसी कोई आसान क्वेरी.
आइए, फ़ाइनल लक्ष्य पर नज़र डालें. यह मेरे Visual Studio Code का असल स्क्रीनशॉट है, जिसमें CoPilot चल रहा है और मैं एजेंट मोड में हूं. साथ ही, Google Cloud के रिलीज़ नोट के बारे में पूछ रहा हूं:
आइए, इसे बनाने का तरीका जानें. साथ ही, अपनी पसंद के अलग-अलग एमसीपी क्लाइंट में अपने BigQuery डेटासेट को एक्सपोज़ करने के बारे में जानें.
4. डेटाबेस के लिए एमसीपी टूलबॉक्स
डेटाबेस के लिए एमसीपी टूलबॉक्स, डेटाबेस के लिए एक ओपन सोर्स एमसीपी सर्वर है. इसे एंटरप्राइज़-ग्रेड और प्रोडक्शन-क्वालिटी को ध्यान में रखकर डिज़ाइन किया गया था. इससे, कनेक्शन पूल करने, पुष्टि करने वगैरह जैसी मुश्किल प्रक्रियाओं को मैनेज करके, टूल को आसानी से, तेज़ी से, और ज़्यादा सुरक्षित तरीके से बनाया जा सकता है.
टूलबॉक्स की मदद से, जनरेटिव एआई टूल बनाए जा सकते हैं. इनकी मदद से, आपके एजेंट आपके डेटाबेस में मौजूद डेटा को ऐक्सेस कर सकते हैं. टूलबॉक्स में ये सुविधाएं मिलती हैं:
- डेवलपमेंट को आसान बनाना: 10 लाइनों से भी कम कोड में अपने एजेंट में टूल इंटिग्रेट करें. साथ ही, कई एजेंट या फ़्रेमवर्क के बीच टूल का फिर से इस्तेमाल करें और टूल के नए वर्शन को आसानी से डिप्लॉय करें.
- बेहतर परफ़ॉर्मेंस: कनेक्शन पूल करने, पुष्टि करने वगैरह जैसे सबसे सही तरीके.
- बेहतर सुरक्षा: आपके डेटा को ज़्यादा सुरक्षित तरीके से ऐक्सेस करने के लिए, इंटिग्रेट किया गया पुष्टि करने का तरीका
- एंड-टू-एंड निगरानी: OpenTelemetry के लिए पहले से मौजूद सहायता के साथ, पहले से तैयार मेट्रिक और ट्रैकिंग.
- टूलबॉक्स की मदद से, डेटाबेस को एमसीपी की सुविधा वाली किसी भी एआई असिस्टेंट से आसानी से कनेक्ट किया जा सकता है. भले ही, वह आपके आईडीई में हो.
टूलबॉक्स, आपके ऐप्लिकेशन के ऑर्केस्ट्रेशन फ़्रेमवर्क और डेटाबेस के बीच में होता है. यह एक कंट्रोल प्लेन उपलब्ध कराता है, जिसका इस्तेमाल टूल में बदलाव करने, उन्हें डिस्ट्रिब्यूट करने या उन्हें चालू करने के लिए किया जाता है. यह आपके टूल को मैनेज करने की प्रोसेस को आसान बनाता है. इसके लिए, यह टूल को सेव और अपडेट करने की एक ही जगह उपलब्ध कराता है. साथ ही, यह एजेंट और ऐप्लिकेशन के बीच टूल शेयर करने की सुविधा देता है. साथ ही, ऐप्लिकेशन को फिर से डिप्लॉय किए बिना, उन टूल को अपडेट करने की सुविधा भी देता है.
आसान शब्दों में बताने के लिए:
- MCP टूलबॉक्स, बाइनरी या कंटेनर इमेज के तौर पर उपलब्ध है. इसके अलावा, इसे सोर्स से भी बनाया जा सकता है.
- यह टूल का एक सेट दिखाता है, जिसे tools.yaml फ़ाइल की मदद से कॉन्फ़िगर किया जाता है. इन टूल को आपके डेटा सोर्स से कनेक्ट किया जा सकता है. यहां आपको वे अलग-अलग डेटा सोर्स दिख सकते हैं जिनके साथ यह काम करता है : AlloyDB, BigQuery वगैरह.
- अब यह टूलबॉक्स एमसीपी के साथ काम करता है. इसलिए, आपके पास अपने-आप एक एमसीपी सर्वर एंडपॉइंट बन जाता है. इसका इस्तेमाल एजेंट (आईडीई) कर सकते हैं. इसके अलावा, एजेंट डेवलपमेंट किट (एडीके) जैसे अलग-अलग फ़्रेमवर्क का इस्तेमाल करके, एजेंट ऐप्लिकेशन डेवलप करते समय भी इसका इस्तेमाल किया जा सकता है.
इस ब्लॉग पोस्ट में, हमारा फ़ोकस इन हाइलाइट किए गए विषयों पर होगा:
खास जानकारी के तौर पर, हम डेटाबेस के लिए एमसीपी टूलबॉक्स में एक ऐसा कॉन्फ़िगरेशन बनाएंगे जो हमारे BigQuery डेटासेट से कनेक्ट करने का तरीका जानता हो. इसके बाद, हम किसी आईडीई या किसी अन्य एजेंट आईडीई (एमसीपी क्लाइंट) का इस्तेमाल करेंगे. यह आईडीई, एमसीपी टूलबॉक्स एंडपॉइंट से बात करेगा और हमें अपने डेटासेट के बारे में पूछने के लिए सामान्य क्वेरी भेजने की अनुमति देगा. इसे ऐसे टूल के तौर पर देखें जिसे कॉन्फ़िगर किया जा रहा है. यह आपके BigQuery डेटासेट से बात करने का तरीका जानता है और कुछ क्वेरी चलाता है.
5. Google Cloud के रिलीज़ नोट के लिए BigQuery डेटासेट
Google Cloud का सार्वजनिक डेटासेट प्रोग्राम एक ऐसा प्रोग्राम है जो आपके ऐप्लिकेशन के लिए कई तरह के डेटासेट उपलब्ध कराता है. Google Cloud के रिलीज़ नोट का डेटाबेस, ऐसा ही एक डेटासेट है. इस डेटासेट में आपको वही जानकारी मिलती है जो Google Cloud के रिलीज़ नोट के आधिकारिक वेबपेज पर मिलती है. साथ ही, यह सार्वजनिक तौर पर क्वेरी करने लायक डेटासेट के तौर पर उपलब्ध है.
जांच के तौर पर, मैंने नीचे दी गई आसान क्वेरी चलाकर डेटासेट की पुष्टि की है:
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
इससे मुझे रिलीज़ नोट के डेटासेट से उन रिकॉर्ड की सूची मिलती है जिन्हें पिछले सात दिनों में पब्लिश किया गया है.
इसे अपनी पसंद के किसी अन्य डेटासेट और अपनी पसंद की क्वेरी और पैरामीटर से बदलें. अब हमें डेटाबेस के लिए एमसीपी टूलबॉक्स में, इसे डेटा सोर्स और टूल के तौर पर सेट अप करना होगा. आइए, देखते हैं कि ऐसा कैसे किया जा सकता है.
6. डेटाबेस के लिए MCP टूलबॉक्स इंस्टॉल करना
अपनी लोकल मशीन पर टर्मिनल खोलें और mcp-toolbox
नाम का फ़ोल्डर बनाएं.
mkdir mcp-toolbox
नीचे दिए गए कमांड का इस्तेमाल करके, mcp-toolbox
फ़ोल्डर पर जाएं:
cd mcp-toolbox
यहां दी गई स्क्रिप्ट की मदद से, डेटाबेस के लिए MCP टूलबॉक्स का बाइनरी वर्शन इंस्टॉल करें. यहां दिया गया निर्देश, Linux के लिए है. हालांकि, अगर आपके पास Mac या Windows है, तो पक्का करें कि आपने सही बाइनरी डाउनलोड की हो. अपने ऑपरेटिंग सिस्टम और आर्किटेक्चर के लिए रिलीज़ पेज पर जाएं और सही बाइनरी डाउनलोड करें.
export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
अब हमारे पास टूलबॉक्स का बाइनरी वर्शन इस्तेमाल के लिए तैयार है. अगला चरण, टूलबॉक्स को हमारे डेटा सोर्स और अन्य कॉन्फ़िगरेशन के साथ कॉन्फ़िगर करना है.
7. डेटाबेस के लिए एमसीपी टूलबॉक्स कॉन्फ़िगर करना
अब हमें tools.yaml
फ़ाइल में अपने BigQuery डेटासेट और टूल तय करने होंगे. ये टूल, डेटाबेस के लिए एमसीपी टूलबॉक्स के लिए ज़रूरी हैं. टूलबॉक्स को कॉन्फ़िगर करने का मुख्य तरीका, फ़ाइल tools.yaml
है.
उसी फ़ोल्डर में tools.yaml
नाम की एक फ़ाइल बनाएं, यानी mcp-toolbox
. इस फ़ाइल में मौजूद कॉन्टेंट नीचे दिखाया गया है.
Cloud Shell में मौजूद nano एडिटर का इस्तेमाल किया जा सकता है. nano कमांड इस तरह का होता है: "nano tools.yaml
".
YOUR_PROJECT_ID
वैल्यू को अपने Google Cloud प्रोजेक्ट आईडी से बदलना न भूलें.
sources:
my-bq-source:
kind: bigquery
project: YOUR_PROJECT_ID
tools:
search_release_notes_bq:
kind: bigquery-sql
source: my-bq-source
statement: |
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
description: |
Use this tool to get information on Google Cloud Release Notes.
toolsets:
my_bq_toolset:
- search_release_notes_bq
आइए, इस फ़ाइल के बारे में कम शब्दों में जानते हैं:
- सोर्स, आपके अलग-अलग डेटा सोर्स को दिखाते हैं जिनके साथ कोई टूल इंटरैक्ट कर सकता है. सोर्स, उस डेटा सोर्स को दिखाता है जिससे कोई टूल इंटरैक्ट कर सकता है. सोर्स को मैप के तौर पर तय करने के लिए, tools.yaml फ़ाइल के सोर्स सेक्शन में जाएं. आम तौर पर, सोर्स कॉन्फ़िगरेशन में वह सारी जानकारी होती है जो डेटाबेस से कनेक्ट करने और उससे इंटरैक्ट करने के लिए ज़रूरी होती है. हमारे मामले में, हमने BigQuery सोर्स
my-bq-source
तय किया है. साथ ही, आपको अपना Google Cloud प्रोजेक्ट आईडी देना होगा. ज़्यादा जानकारी के लिए, सोर्स रेफ़रंस देखें. - टूल से यह तय होता है कि एजेंट कौनसी कार्रवाइयां कर सकता है. जैसे, किसी सोर्स को पढ़ना और उसमें लिखना. टूल से उस कार्रवाई के बारे में पता चलता है जो आपका एजेंट कर सकता है. जैसे, SQL स्टेटमेंट चलाना. tools.yaml फ़ाइल के टूल सेक्शन में, टूल को मैप के तौर पर तय किया जा सकता है. आम तौर पर, किसी टूल को काम करने के लिए सोर्स की ज़रूरत होती है. हमारे मामले में, हमने एक टूल
search_release_notes_bq
तय किया है. यह उस BigQuery सोर्सmy-bq-source
का रेफ़रंस देता है जिसे हमने पहले चरण में तय किया था. इसमें वह स्टेटमेंट और निर्देश भी शामिल होता है जिसका इस्तेमाल एआई एजेंट क्लाइंट करेंगे. ज़्यादा जानकारी के लिए, टूल रेफ़रंस देखें. - आखिर में, हमारे पास टूलसेट है. इसकी मदद से, उन टूल के ग्रुप तय किए जा सकते हैं जिन्हें एक साथ लोड करना है. यह एजेंट या ऐप्लिकेशन के आधार पर अलग-अलग ग्रुप तय करने के लिए मददगार हो सकता है. हमारे मामले में, हमारे पास टूलसेट की परिभाषा है, जिसमें हमने फ़िलहाल सिर्फ़ एक मौजूदा टूल
search_release_notes_bq
को शामिल किया है. आपके पास एक से ज़्यादा टूलसेट हो सकते हैं. इनमें अलग-अलग टूल का कॉम्बिनेशन होता है.
इसलिए, फ़िलहाल हमने सिर्फ़ एक टूल तय किया है, जो क्वेरी के हिसाब से पिछले सात दिनों के रिलीज़ नोट दिखाता है. हालांकि, पैरामीटर के साथ भी अलग-अलग कॉम्बिनेशन बनाए जा सकते हैं.
डेटाबेस के लिए एमसीपी टूलबॉक्स में, BigQuery डेटा सोर्स कॉन्फ़िगरेशन में कॉन्फ़िगरेशन की कुछ और जानकारी ( सोर्स, टूल) देखें.
8. डेटाबेस के लिए एमसीपी टूलबॉक्स की जांच करना
हमने mcp-toolbox
फ़ोल्डर में मौजूद tools.yaml
फ़ाइल की मदद से, टूलबॉक्स को डाउनलोड और कॉन्फ़िगर किया है. आइए, पहले इसे स्थानीय तौर पर चलाते हैं.
यह कमांड चलाएं:
$ ./toolbox --tools-file="tools.yaml" --port 7000
MCP टूलबॉक्स सर्वर, डिफ़ॉल्ट रूप से पोर्ट 5000 पर चलता है. हालांकि, इस मामले में हमने इसे 7000 पर चलने के लिए सेट किया है.
निर्देशों को पूरा करने के बाद, आपको सर्वर स्टार्टअप दिखेगा. इसमें सैंपल आउटपुट, यहां दिए गए सैंपल से मिलता-जुलता होगा:
2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"
बस ब्राउज़र लॉन्च करें और इस यूआरएल पर जाएं:
http://127.0.0.1:7000
इससे यह आउटपुट दिखेगा:
ब्राउज़र के यूआरएल में, यूआरएल के आखिर में यह जोड़ें:
http://127.0.0.1:7000/api/toolset
ऐसा करने पर, आपको वे टूल दिखेंगे जो फ़िलहाल कॉन्फ़िगर किए गए हैं. आउटपुट का सैंपल यहां दिया गया है:
दस्तावेज़ के मुताबिक, एमसीपी सर्वर अब इस यूआरएल पर उपलब्ध है:
http://127.0.0.1:7000/mcp/sse
इसका आउटपुट यहां दिखाया गया है:
event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873
आइए, अगले सेक्शन में एमसीपी क्लाइंट के साथ अपने एमसीपी सर्वर की जांच करें.
9. अलग-अलग एमसीपी क्लाइंट के साथ एमसीपी सर्वर की जांच करना
आइए, कुछ एमसीपी क्लाइंट के साथ अपने नए एमसीपी सर्वर की जांच करें.
टूलबॉक्स के साथ एमसीपी इंस्पेक्टर
पहला टूल, टूलबॉक्स वाला एमसीपी इंस्पेक्टर है. ऐसा करने के लिए, आपके पास npx
इंस्टॉल होना चाहिए. Cloud Shell, आपको पैकेज इंस्टॉल करने के लिए कहेगा. कृपया इसे इंस्टॉल करें.
आपको यह कमांड देना होगा:
npx @modelcontextprotocol/inspector
इससे सर्वर लॉन्च हो जाएगा और आपको कुछ ऐसा आउटपुट दिखेगा:
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
ऊपर बताए गए तरीके से एमसीपी इंस्पेक्टर पेज पर जाएं. इसके बाद, आपको सबसे पहले इस क्लाइंट को एमसीपी सर्वर से बात करने के लिए कॉन्फ़िगर करना होगा.
'यात्रा का साधन' के तौर पर SSE
चुनें. साथ ही, URL
की वैल्यू के तौर पर वही वैल्यू डालें जो हमने पहले बताई थी, यानी http://127.0.0.1:7000/mcp/sse
. Connect
पर क्लिक करें. अगर सब कुछ ठीक से हो जाता है, तो आपको नीचे दिखाए गए स्टेटस के तौर पर 'कनेक्ट किया गया' दिखेगा:
दाईं ओर, List Tools
पर क्लिक करके, अब टूल की सूची देखी जा सकती है.
इसके बाद, search_release_notes_bq
टूल पर क्लिक करें. हमारे पास कोई पैरामीटर नहीं है, इसलिए सिर्फ़ Run tool
बटन पर क्लिक करें. आपको टूलबॉक्स चालू होते हुए दिखेगा. इसके बाद, यह BigQuery डेटा सोर्स से कनेक्ट होकर, नीचे दिखाए गए तरीके से डेटा वापस लाएगा:
CoPilot के साथ एजेंट मोड में VS Code
आधिकारिक दस्तावेज़ में, अलग-अलग डेटा सोर्स और आईडीई के लिए टूलबॉक्स से कनेक्ट करने का तरीका बताया गया है. यह तरीका यहां देखें.
इस सेक्शन में, हम VS Code में एमसीपी सर्वर को कॉन्फ़िगर और इस्तेमाल करने का तरीका देखेंगे. ध्यान दें कि यह सुविधा, झलक के तौर पर उपलब्ध है. साथ ही, आधिकारिक दस्तावेज़ पूरी जानकारी के साथ यहां उपलब्ध हैं.
मान लें कि आपने VS Code लॉन्च कर लिया है. इसके बाद, Command Palette
लॉन्च करें और यह कमांड दें:
इसके बाद, HTTP sse
चुनें, क्योंकि हमारे पास एसएसई यूआरएल है.
यह SSE endpoint
के लिए पूछेगा, जिसे हम एक ही देंगे:
इसके बाद, यह कुछ और जानकारी की पुष्टि करेगा. मैंने इसे अपनी उपयोगकर्ता सेटिंग में जोड़ने का विकल्प चुना है, ताकि यह settings.json
फ़ाइल खोल सके. इसमें मुझे कॉन्फ़िगरेशन दिखेगा:
इसके लिए, ऊपर दिए गए Start
पर क्लिक करें. इसके अलावा, पैलेट कमांड का इस्तेमाल करके भी ऐसा किया जा सकता है.
आपको दिखेगा कि स्टेटस Running
में बदल गया है.
अब, हम CoPilot चैट मोड लॉन्च कर सकते हैं. इसके बाद, Agent
मोड में, #search_release_notes_bq
का इस्तेमाल करके बताएं कि हमें उस टूल का इस्तेमाल करना है. इसके बाद, नीचे दिखाए गए सैंपल क्वेरी टेक्स्ट का इस्तेमाल करें:
10. बधाई हो
बधाई हो, आपने डेटाबेस के लिए एमसीपी टूलबॉक्स को कॉन्फ़िगर कर लिया है. साथ ही, एमसीपी क्लाइंट में ऐक्सेस करने के लिए, BigQuery डेटासेट को कॉन्फ़िगर कर लिया है.