1. परिचय
इस कोडलैब में, BigQuery डेटासेट उपलब्ध कराने के लिए, डेटाबेस के लिए MCP टूलबॉक्स का इस्तेमाल किया जाएगा.
कोडलैब के ज़रिए, आपको यहां दिया गया तरीका अपनाना होगा:
- BigQuery के सार्वजनिक डेटासेट प्रोग्राम से, BigQuery के किसी डेटासेट ("Google Cloud Release Notes") की पहचान करें.
- डेटाबेस के लिए MCP टूलबॉक्स सेट अप करें. यह BigQuery डेटासेट से कनेक्ट होता है.
- Agent Development Kit (ADK) का इस्तेमाल करके एक एजेंट डेवलप करें. यह एजेंट, MCP टूलबॉक्स का इस्तेमाल करके Google Cloud के रिलीज़ नोट के बारे में उपयोगकर्ता की क्वेरी के जवाब देगा
आपको क्या करना होगा
- डेटाबेस के लिए MCP टूलबॉक्स सेटअप करें, ताकि Google Cloud के रिलीज़ नोट और सार्वजनिक BigQuery डेटासेट को अन्य MCP क्लाइंट (आईडीई, टूल वगैरह) के लिए, MCP इंटरफ़ेस के तौर पर दिखाया जा सके.
आपको क्या सीखने को मिलेगा
- BigQuery के सार्वजनिक डेटासेट एक्सप्लोर करें और कोई डेटासेट चुनें.
- हमें जिस BigQuery सार्वजनिक डेटासेट को एमसीपी क्लाइंट के लिए उपलब्ध कराना है उसके लिए, डेटाबेस के लिए एमसीपी टूलबॉक्स सेटअप करें.
- लोगों की क्वेरी के जवाब देने के लिए, एजेंट डेवलपमेंट किट (एडीके) का इस्तेमाल करके एजेंट को डिज़ाइन और डेवलप करें.
- स्थानीय एनवायरमेंट में, डेटाबेस के लिए एजेंट और एमसीपी टूलबॉक्स को आज़माएं.
आपको इन चीज़ों की ज़रूरत होगी
- Chrome वेब ब्राउज़र.
- लोकल Python डेवलपमेंट एनवायरमेंट.
2. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें .
- आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. इसमें bq पहले से लोड होता है. Google Cloud Console में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस कमांड का इस्तेमाल करें:
gcloud auth list
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
gcloud कमांड और उनके इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
3. Google के रिलीज़ नोट का डेटासेट और एमसीपी क्लाइंट
सबसे पहले, Google Cloud के रिलीज़ नोट पर एक नज़र डालते हैं. इन्हें Google Cloud के आधिकारिक रिलीज़ नोट वाले वेबपेज पर नियमित रूप से अपडेट किया जाता है. इसका स्क्रीनशॉट यहां दिया गया है:
आपने फ़ीड यूआरएल की सदस्यता ली हो सकती है, लेकिन अगर हम इन रिलीज़ नोट के बारे में सीधे तौर पर एजेंट चैट में पूछ सकें, तो क्या होगा. जैसे, "Google Cloud के रिलीज़ नोट के बारे में मुझे अपडेट करो" जैसी कोई सामान्य क्वेरी.
4. डेटाबेस के लिए MCP टूलबॉक्स
MCP Toolbox for Databases, डेटाबेस के लिए एक ओपन सोर्स MCP सर्वर है. इसे एंटरप्राइज़-ग्रेड और प्रोडक्शन-क्वालिटी को ध्यान में रखकर डिज़ाइन किया गया है. यह आपको टूल को आसानी से, तेज़ी से, और ज़्यादा सुरक्षित तरीके से डेवलप करने की सुविधा देता है. इसके लिए, यह कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसी मुश्किलों को मैनेज करता है.
टूलबॉक्स की मदद से, जनरेटिव एआई टूल बनाए जा सकते हैं. इनकी मदद से, आपके एजेंट आपके डेटाबेस में मौजूद डेटा को ऐक्सेस कर सकते हैं. टूलबॉक्स में ये सुविधाएं मिलती हैं:
- आसान डेवलपमेंट: अपने एजेंट में टूल को 10 से कम लाइनों के कोड में इंटिग्रेट करें. साथ ही, एक से ज़्यादा एजेंट या फ़्रेमवर्क के बीच टूल का फिर से इस्तेमाल करें और टूल के नए वर्शन को आसानी से डिप्लॉय करें.
- बेहतर परफ़ॉर्मेंस: कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसे सबसे सही तरीके.
- बेहतर सुरक्षा: आपके डेटा को ज़्यादा सुरक्षित तरीके से ऐक्सेस करने के लिए, इंटिग्रेटेड ऑथराइज़ेशन
- एंड-टू-एंड ऑब्ज़र्वेबिलिटी: इसमें बॉक्स से बाहर की मेट्रिक और ट्रेसिंग की सुविधा मिलती है. साथ ही, OpenTelemetry के साथ काम करने की सुविधा पहले से मौजूद होती है.
- टूलबॉक्स की मदद से, डेटाबेस को एमसीपी की सुविधा वाले किसी भी एआई असिस्टेंट से आसानी से कनेक्ट किया जा सकता है. भले ही, वे आपके आईडीई में हों.
टूलबॉक्स, आपके ऐप्लिकेशन के ऑर्केस्ट्रेशन फ़्रेमवर्क और आपके डेटाबेस के बीच मौजूद होता है. यह एक कंट्रोल प्लेन उपलब्ध कराता है, जिसका इस्तेमाल टूल में बदलाव करने, उन्हें डिस्ट्रिब्यूट करने या उन्हें शुरू करने के लिए किया जाता है. यह आपके टूल को मैनेज करने की प्रोसेस को आसान बनाता है. इसके लिए, यह टूल को सेव और अपडेट करने के लिए एक जगह उपलब्ध कराता है. इससे, एजेंट और ऐप्लिकेशन के बीच टूल शेयर किए जा सकते हैं. साथ ही, ऐप्लिकेशन को फिर से डिप्लॉय किए बिना उन टूल को अपडेट किया जा सकता है.
आसान शब्दों में खास जानकारी पाने के लिए:
- MCP टूलबॉक्स, बाइनरी या कंटेनर इमेज के तौर पर उपलब्ध है. इसे सोर्स से भी बनाया जा सकता है.
- यह टूल का एक ऐसा सेट दिखाता है जिसे tools.yaml फ़ाइल के ज़रिए कॉन्फ़िगर किया जाता है. इन टूल को आपके डेटा सोर्स से कनेक्ट किया जा सकता है. इसमें, उन अलग-अलग डेटा सोर्स को देखा जा सकता है जिनके साथ यह काम करता है. जैसे, AlloyDB, BigQuery वगैरह.
- यह टूलबॉक्स अब एमसीपी के साथ काम करता है. इसलिए, आपके पास अपने-आप एक एमसीपी सर्वर एंडपॉइंट होता है. इसका इस्तेमाल एजेंट (आईडीई) कर सकते हैं. इसके अलावा, एजेंट डेवलपमेंट किट (एडीके) जैसे अलग-अलग फ़्रेमवर्क का इस्तेमाल करके, एजेंट ऐप्लिकेशन डेवलप करते समय भी इनका इस्तेमाल किया जा सकता है.
इस ब्लॉग पोस्ट में, हमारा फ़ोकस यहां हाइलाइट किए गए पहलुओं पर होगा:
संक्षेप में, हम डेटाबेस के लिए MCP टूलबॉक्स में एक कॉन्फ़िगरेशन बनाने जा रहे हैं. इससे यह पता चलेगा कि हमारे BigQuery डेटासेट से कैसे कनेक्ट किया जाए. इसके बाद, हम एजेंट डेवलपमेंट किट (एडीके) का इस्तेमाल करके एक एजेंट तैयार करेंगे. यह एजेंट, एमसीपी टूलबॉक्स एंडपॉइंट के साथ इंटिग्रेट होगा. इससे हमें अपने डेटासेट के बारे में पूछने के लिए, नैचुरल क्वेरी भेजने की सुविधा मिलेगी. इसे एक ऐसे एजेंटिक ऐप्लिकेशन के तौर पर समझें जिसे डेवलप किया जा रहा है. इसे आपके BigQuery डेटासेट से बातचीत करने का तरीका पता है और यह कुछ क्वेरी चलाता है.
5. Google Cloud के रिलीज़ नोट के लिए BigQuery डेटासेट
Google Cloud Public Dataset Program एक ऐसा प्रोग्राम है जो आपके ऐप्लिकेशन के लिए कई तरह के डेटासेट उपलब्ध कराता है. ऐसा ही एक डेटासेट, 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
इससे मुझे रिलीज़ नोट के डेटासेट के उन रिकॉर्ड की सूची मिलती है जिन्हें पिछले सात दिनों में पब्लिश किया गया है.
इसकी जगह, अपनी पसंद का कोई दूसरा डेटासेट और उससे जुड़ी क्वेरी और पैरामीटर इस्तेमाल करें. अब हमें इसे डेटाबेस के लिए MCP टूलबॉक्स में डेटा सोर्स और टूल के तौर पर सेट अप करना है. आइए, जानते हैं कि ऐसा कैसे किया जा सकता है.
6. डेटाबेस के लिए MCP टूलबॉक्स इंस्टॉल करना
अपनी लोकल मशीन पर एक टर्मिनल खोलें और mcp-toolbox
नाम का फ़ोल्डर बनाएं.
mkdir mcp-toolbox
नीचे दिए गए कमांड का इस्तेमाल करके, mcp-toolbox
फ़ोल्डर पर जाएं:
cd mcp-toolbox
नीचे दी गई स्क्रिप्ट का इस्तेमाल करके, डेटाबेस के लिए MCP टूलबॉक्स का बाइनरी वर्शन इंस्टॉल करें. यहां दिया गया निर्देश Linux के लिए है. हालांकि, अगर Mac या Windows का इस्तेमाल किया जा रहा है, तो पक्का करें कि सही बाइनरी डाउनलोड की जा रही हो. अपने ऑपरेटिंग सिस्टम और आर्किटेक्चर के लिए रिलीज़ पेज देखें और सही बाइनरी डाउनलोड करें.
export VERSION=0.13.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
अब हमारे पास टूलबॉक्स का बाइनरी वर्शन है, जिसका इस्तेमाल किया जा सकता है. अगला चरण, टूलबॉक्स को हमारे डेटा सोर्स और अन्य कॉन्फ़िगरेशन के साथ कॉन्फ़िगर करना है.
7. डेटाबेस के लिए MCP टूलबॉक्स को कॉन्फ़िगर करना
अब हमें tools.yaml
फ़ाइल में अपने BigQuery डेटासेट और टूल तय करने होंगे. यह फ़ाइल, MCP Toolbox for Database के लिए ज़रूरी है. टूलबॉक्स को कॉन्फ़िगर करने का मुख्य तरीका, tools.yaml
फ़ाइल है.
उसी फ़ोल्डर यानी mcp-toolbox
में tools.yaml
नाम की एक फ़ाइल बनाएं. इसका कॉन्टेंट यहां दिया गया है.
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 फ़ाइल के sources सेक्शन में, सोर्स को मैप के तौर पर तय किया जा सकता है. आम तौर पर, सोर्स कॉन्फ़िगरेशन में डेटाबेस से कनेक्ट करने और उससे इंटरैक्ट करने के लिए ज़रूरी जानकारी होती है. इस उदाहरण में, हमने BigQuery सोर्स
my-bq-source
को तय किया है. आपको अपना Google Cloud प्रोजेक्ट आईडी देना होगा. ज़्यादा जानकारी के लिए, सोर्स रेफ़रंस देखें. - टूल से यह तय होता है कि एजेंट कौनसी कार्रवाइयाँ कर सकता है. जैसे, किसी सोर्स से डेटा पढ़ना और उसमें डेटा लिखना. टूल, ऐसी कार्रवाई को कहते हैं जो आपका एजेंट कर सकता है. जैसे, SQL स्टेटमेंट चलाना. tools.yaml फ़ाइल के टूल सेक्शन में, टूल को मैप के तौर पर तय किया जा सकता है. आम तौर पर, किसी टूल को कार्रवाई करने के लिए सोर्स की ज़रूरत होती है. इस उदाहरण में, हमने एक टूल
search_release_notes_bq
को तय किया है. यह BigQuery के उस सोर्सmy-bq-source
को रेफ़र करता है जिसे हमने पहले चरण में तय किया था. इसमें वह स्टेटमेंट और निर्देश भी शामिल है जिसका इस्तेमाल एआई एजेंट क्लाइंट करेंगे. ज़्यादा जानकारी के लिए, टूल का रेफ़रंस देखें. - आखिर में, हमारे पास टूलसेट है. इसकी मदद से, टूल के ऐसे ग्रुप तय किए जा सकते हैं जिन्हें एक साथ लोड किया जा सकता है. यह एजेंट या ऐप्लिकेशन के आधार पर अलग-अलग ग्रुप तय करने के लिए काम आ सकता है. हमारे मामले में, हमारे पास टूलसेट की परिभाषा है. इसमें हमने फ़िलहाल सिर्फ़ एक मौजूदा टूल
search_release_notes_bq
को परिभाषित किया है. आपके पास एक से ज़्यादा टूलसेट हो सकते हैं. इनमें अलग-अलग टूल का कॉम्बिनेशन होता है.
इसलिए, फ़िलहाल हमने सिर्फ़ एक टूल तय किया है. यह टूल, क्वेरी के हिसाब से पिछले सात दिनों के रिलीज़ नोट देता है. हालांकि, पैरामीटर के साथ अलग-अलग कॉम्बिनेशन भी बनाए जा सकते हैं.
MCP Toolbox for Databases में BigQuery डेटा सोर्स कॉन्फ़िगरेशन में, कॉन्फ़िगरेशन के बारे में कुछ और जानकारी ( सोर्स, टूल) देखें.
8. डेटाबेस के लिए एमसीपी टूलबॉक्स की जांच करना
हमने mcp-toolbox
फ़ोल्डर में मौजूद tools.yaml
फ़ाइल का इस्तेमाल करके, Toolbox को डाउनलोड और कॉन्फ़िगर किया है. आइए, इसे पहले स्थानीय तौर पर चलाएं.
यह कमांड चलाएं:
./toolbox --tools-file="tools.yaml"
स्क्रिप्ट के सही तरीके से चलने पर, आपको सर्वर स्टार्टअप दिखेगा. साथ ही, यहां दिए गए उदाहरण से मिलता-जुलता सैंपल आउटपुट दिखेगा:
2025-09-08T03:56:45.772489914Z INFO "Initialized 1 sources."
2025-09-08T03:56:45.772682659Z INFO "Initialized 0 authServices."
2025-09-08T03:56:45.772735103Z INFO "Initialized 1 tools."
2025-09-08T03:56:45.772774639Z INFO "Initialized 2 toolsets."
2025-09-08T03:56:45.777711644Z INFO "Server ready to serve!"
MCP टूलबॉक्स सर्वर, डिफ़ॉल्ट रूप से पोर्ट 5000
पर चलता है. अगर आपको लगता है कि पोर्ट 5000
का इस्तेमाल पहले से ही किया जा रहा है, तो नीचे दिए गए कमांड के मुताबिक, किसी दूसरे पोर्ट (जैसे कि 7000
) का इस्तेमाल करें. इसलिए, बाद के निर्देशों में 5000
पोर्ट के बजाय 7000
का इस्तेमाल करें.
./toolbox --tools-file "tools.yaml" --port 7000
आइए, Cloud Shell का इस्तेमाल करके इसकी जांच करें.
नीचे दिए गए तरीके से, Cloud Shell में वेब प्रीव्यू पर क्लिक करें:
पोर्ट बदलें पर क्लिक करें और पोर्ट को नीचे दिखाए गए तरीके से 5000 पर सेट करें. इसके बाद, बदलें और झलक देखें पर क्लिक करें.
इससे यह आउटपुट मिलेगा:
ब्राउज़र के यूआरएल में, यूआरएल के आखिर में यह जोड़ें:
/api/toolset
इससे, कॉन्फ़िगर किए गए टूल दिखने चाहिए. यहां आउटपुट का एक सैंपल दिखाया गया है:
{
"serverVersion": "0.13.0+binary.linux.amd64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85",
"tools": {
"search_release_notes_bq": {
"description": "Use this tool to get information on Google Cloud Release Notes.\n",
"parameters": [],
"authRequired": []
}
}
}
डेटाबेस के यूज़र इंटरफ़ेस (यूआई) के लिए, एमसीपी टूलबॉक्स के ज़रिए टूल की जांच करना
टूलबॉक्स, टूल के साथ सीधे तौर पर इंटरैक्ट करने के लिए एक विज़ुअल इंटरफ़ेस (टूलबॉक्स यूज़र इंटरफ़ेस) उपलब्ध कराता है. इसमें पैरामीटर में बदलाव करने, हेडर मैनेज करने, और कॉल को एक्ज़ीक्यूट करने की सुविधा मिलती है. ये सभी काम, वेब यूज़र इंटरफ़ेस (यूआई) में आसानी से किए जा सकते हैं.
अगर आपको इसकी जांच करनी है, तो टूलबॉक्स सर्वर को लॉन्च करने के लिए इस्तेमाल की गई पिछली कमांड को --ui
विकल्प के साथ चलाएं.
इसके लिए, MCP Toolbox for Databases Server के पिछले इंस्टेंस को बंद करें. इसके बाद, यह निर्देश दें:
./toolbox --tools-file "tools.yaml" --ui
आपको ऐसा आउटपुट दिखेगा जिसमें सर्वर, हमारे डेटा सोर्स से कनेक्ट हो गया है. साथ ही, टूलसेट और टूल लोड हो गए हैं. यहां एक सैंपल आउटपुट दिया गया है. इसमें बताया गया है कि टूलबॉक्स का यूज़र इंटरफ़ेस (यूआई) काम कर रहा है.
2025-09-08T03:59:34.856476253Z INFO "Initialized 1 sources."
2025-09-08T03:59:34.856546526Z INFO "Initialized 0 authServices."
2025-09-08T03:59:34.856577586Z INFO "Initialized 1 tools."
2025-09-08T03:59:34.856641568Z INFO "Initialized 2 toolsets."
2025-09-08T03:59:34.86133344Z INFO "Server ready to serve!"
2025-09-08T03:59:34.861366205Z INFO "Toolbox UI is up and running at: http://localhost:5000/ui"
यूआई यूआरएल पर क्लिक करें और पक्का करें कि यूआरएल के आखिर में /ui
मौजूद हो. इससे नीचे दिखाया गया यूज़र इंटरफ़ेस (यूआई) दिखेगा:
कॉन्फ़िगर किए गए टूल देखने के लिए, बाईं ओर मौजूद टूल विकल्प पर क्लिक करें.हमारे मामले में, यह सिर्फ़ एक होना चाहिए, यानी कि search_release_notes_bq
. इसे नीचे दिखाया गया है:
टूल (search_release_notes_bq
) पर क्लिक करें. इससे एक पेज खुलेगा, जहां टूल को आज़माया जा सकता है. कोई पैरामीटर उपलब्ध नहीं होने की वजह से, नतीजे देखने के लिए टूल चलाएं पर क्लिक करें. यहां सैंपल रन दिखाया गया है:
डेटाबेस के लिए MCP टूलकिट में, टूल की पुष्टि करने और उन्हें आज़माने का Pythonic तरीका भी बताया गया है. इसके बारे में यहां बताया गया है. हम उस सेक्शन को छोड़कर, सीधे अगले सेक्शन में एजेंट डेवलपमेंट किट (एडीके) पर जाएंगे. इसमें इन टूल का इस्तेमाल किया जाएगा.
9. एजेंट डेवलपमेंट किट (एडीके) की मदद से एजेंट लिखना
एजेंट डेवलपमेंट किट (एडीके) इंस्टॉल करना
Cloud Shell में नया टर्मिनल टैब खोलें और नीचे दिए गए तरीके से my-agents
नाम का फ़ोल्डर बनाएं. my-agents
फ़ोल्डर पर भी जाएं.
mkdir my-agents
cd my-agents
अब हम venv
का इस्तेमाल करके, वर्चुअल Python एनवायरमेंट बनाएंगे. इसके लिए, यह तरीका अपनाएं:
python -m venv .venv
वर्चुअल एनवायरमेंट को इस तरह चालू करें:
source .venv/bin/activate
ADK और MCP Toolbox for Databases पैकेज के साथ-साथ, langchain डिपेंडेंसी को इस तरह इंस्टॉल करें:
pip install google-adk toolbox-core
अब adk
यूटिलिटी को इस तरह से चालू किया जा सकेगा.
adk
इससे आपको निर्देशों की एक सूची दिखेगी.
$ adk
Usage: adk [OPTIONS] COMMAND [ARGS]...
Agent Development Kit CLI tools.
Options:
--help Show this message and exit.
Commands:
api_server Starts a FastAPI server for agents.
create Creates a new app in the current folder with prepopulated agent template.
deploy Deploys agent to hosted environments.
eval Evaluates an agent given the eval sets.
run Runs an interactive CLI for a certain agent.
web Starts a FastAPI server with Web UI for agents.
पहली एजेंट ऐप्लिकेशन बनाना
अब हम adk
का इस्तेमाल करके, Google Cloud Release Notes Agent Application के लिए एक स्केफ़ोल्डिंग बनाएंगे. इसके लिए, adk
create
कमांड का इस्तेमाल किया जाएगा. ऐप्लिकेशन का नाम **(gcp-releasenotes-agent-app)
**होगा. यह नीचे दिया गया है.
adk create gcp-releasenotes-agent-app
यह तरीका अपनाएं और यह चुनें:
- रूट एजेंट के लिए मॉडल चुनने वाला Gemini मॉडल.
- बैकएंड के लिए Vertex AI को चुनें.
- आपको अपना डिफ़ॉल्ट Google प्रोजेक्ट आईडी और क्षेत्र दिखेगा. डिफ़ॉल्ट सेटिंग को ही चुनें.
Choose a model for the root agent:
1. gemini-2.0-flash-001
2. Other models (fill later)
Choose model (1, 2): 1
1. Google AI
2. Vertex AI
Choose a backend (1, 2): 2
You need an existing Google Cloud account and project, check out this link for details:
https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai
Enter Google Cloud project ID [YOUR_GOOGLE_PROJECT_ID]:
Enter Google Cloud region [us-central1]:
Agent created in ../my-agents/gcp-releasenotes-agent-app:
- .env
- __init__.py
- agent.py
उस फ़ोल्डर को देखें जिसमें एजेंट के लिए डिफ़ॉल्ट टेंप्लेट और ज़रूरी फ़ाइलें बनाई गई हैं.
सबसे पहले, .env
फ़ाइल है. जिसका कॉन्टेंट यहां दिया गया है:
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION
इन वैल्यू से पता चलता है कि हम Gemini का इस्तेमाल Vertex AI के ज़रिए करेंगे. साथ ही, Google Cloud प्रोजेक्ट आईडी और जगह की जानकारी के लिए, इनसे जुड़ी वैल्यू का इस्तेमाल करेंगे.
इसके बाद, हमारे पास __init__.py
फ़ाइल है. यह फ़ोल्डर को मॉड्यूल के तौर पर मार्क करती है. इसमें एक स्टेटमेंट होता है, जो agent.py
फ़ाइल से एजेंट को इंपोर्ट करता है.
from . import agent
आखिर में, आइए agent.py
फ़ाइल के बारे में जानते हैं. कॉन्टेंट यहां दिया गया है:
from google.adk.agents import Agent
root_agent = Agent(
model='gemini-2.0-flash-001',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
)
यह सबसे आसान एजेंट है, जिसे ADK की मदद से लिखा जा सकता है. ADK के दस्तावेज़ के पेज के मुताबिक, एजेंट एक ऐसी यूनिट होती है जो अपने-आप काम करती है. इसे खास लक्ष्यों को पूरा करने के लिए डिज़ाइन किया गया है. एजेंट, टास्क पूरे कर सकते हैं, लोगों से इंटरैक्ट कर सकते हैं, बाहरी टूल का इस्तेमाल कर सकते हैं, और अन्य एजेंट के साथ मिलकर काम कर सकते हैं.
खास तौर पर, LLMAgent, जिसे आम तौर पर एजेंट के तौर पर जाना जाता है, नेचुरल लैंग्वेज को समझने, तर्क करने, प्लान बनाने, जवाब जनरेट करने, और यह तय करने के लिए कि आगे कैसे बढ़ना है या किन टूल का इस्तेमाल करना है, लार्ज लैंग्वेज मॉडल (एलएलएम) को अपने मुख्य इंजन के तौर पर इस्तेमाल करता है. इससे, भाषा से जुड़े टास्क को आसानी से पूरा किया जा सकता है. एलएलएम एजेंट के बारे में ज़्यादा जानने के लिए, यहां जाएं.
इससे, Agent Development Kit (ADK) का इस्तेमाल करके बुनियादी एजेंट जनरेट करने के लिए, हमारी स्केफ़ोल्डिंग पूरी हो जाती है. अब हम अपने एजेंट को एमसीपी टूलबॉक्स से कनेक्ट करने जा रहे हैं, ताकि वह उस टूल का इस्तेमाल करके उपयोगकर्ता की क्वेरी का जवाब दे सके. इस मामले में, यह Google Cloud के रिलीज़ नोट होंगे.
10. हमारे एजेंट को टूल से कनेक्ट करना
अब हम इस एजेंट को टूल से कनेक्ट करने जा रहे हैं. एडीके के संदर्भ में, टूल का मतलब एआई एजेंट को दी गई किसी खास सुविधा से है. इससे एआई एजेंट को कार्रवाई करने और दुनिया के साथ इंटरैक्ट करने में मदद मिलती है. यह सुविधा, एआई एजेंट को टेक्स्ट जनरेट करने और तर्क देने की क्षमताओं के अलावा अन्य काम करने में मदद करती है.
इस उदाहरण में, हम अपने एजेंट को उन टूल के साथ काम करने के लिए तैयार करेंगे जिन्हें हमने डेटाबेस के लिए, MCP टूलबॉक्स में कॉन्फ़िगर किया है.
agent.py
फ़ाइल में, यहां दिया गया कोड जोड़ें. ध्यान दें कि हम कोड में डिफ़ॉल्ट पोर्ट 5000 का इस्तेमाल कर रहे हैं. हालांकि, अगर किसी दूसरे पोर्ट नंबर का इस्तेमाल किया जा रहा है, तो कृपया उसका इस्तेमाल करें.
from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("http://127.0.0.1:5000")
# Load all the tools
tools = toolbox.load_toolset('my_bq_toolset')
root_agent = Agent(
name="gcp_releasenotes_agent",
model="gemini-2.0-flash",
description=(
"Agent to answer questions about Google Cloud Release notes."
),
instruction=(
"You are a helpful agent who can answer user questions about the Google Cloud Release notes. Use the tools to answer the question"
),
tools=tools,
)
अब हम उस एजेंट की जांच कर सकते हैं जो हमारे BigQuery डेटासेट से असली डेटा फ़ेच करेगा. इस डेटासेट को, डेटाबेस के लिए MCP टूलबॉक्स के साथ कॉन्फ़िगर किया गया है.
इसके लिए, यह तरीका अपनाएं:
Cloud Shell के एक टर्मिनल में, डेटाबेस के लिए MCP टूलबॉक्स लॉन्च करें. ऐसा हो सकता है कि यह पहले से ही आपके सिस्टम पर पोर्ट 5000 पर चल रहा हो, क्योंकि हमने पहले इसकी जांच की थी. अगर ऐसा नहीं है, तो सर्वर शुरू करने के लिए, mcp-toolbox
फ़ोल्डर से यह कमांड चलाएं:
./toolbox --tools_file "tools.yaml"
आपको ऐसा आउटपुट दिखेगा जिसमें सर्वर, हमारे डेटा सोर्स से कनेक्ट हो गया है. साथ ही, टूलसेट और टूल लोड हो गए हैं. यहां आउटपुट का एक सैंपल दिया गया है:
./toolbox --tools-file "tools.yaml"
2025-06-17T07:48:52.989710733Z INFO "Initialized 1 sources."
2025-06-17T07:48:52.989805642Z INFO "Initialized 0 authServices."
2025-06-17T07:48:52.989847035Z INFO "Initialized 1 tools."
2025-06-17T07:48:52.989889742Z INFO "Initialized 2 toolsets."
2025-06-17T07:48:52.990357879Z INFO "Server ready to serve!"
MCP सर्वर के चालू होने के बाद, दूसरे टर्मिनल में नीचे दी गई adk run
(my-agents
फ़ोल्डर से) कमांड का इस्तेमाल करके एजेंट लॉन्च करें. अगर आपको पसंद है, तो adk web
कमांड का भी इस्तेमाल किया जा सकता है.
$ adk run gcp-releasenotes-agent-app/
Log setup complete: /tmp/agents_log/agent.20250423_170001.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the Google Cloud Release Notes.
Google SecOps SOAR: Release 6.3.49 is being rolled out to the first phase of regions. This release contains internal and customer bug fixes. Published: 2025-06-14
Compute Engine: Dynamic NICs let you add or remove network interfaces to or from an instance without having to restart or recreate the instance. You can also use Dynamic NICs when you need more network interfaces. The maximum number of vNICs for most machine types in Google Cloud is 10; however, you can configure up to 16 total interfaces by using Dynamic NICs. Published: 2025-06-13
Compute Engine: General purpose C4D machine types, powered by the fifth generation AMD EPYC processors (Turin) and Google Titanium, are generally available. Published: 2025-06-13
Google Agentspace: Google Agentspace Enterprise: App-level feature management. As an Agentspace administrator, you can choose to turn the following features on or off for your end users in the web app: Agents gallery, Prompt gallery, No-code agent, NotebookLM Enterprise. Published: 2025-06-13
Cloud Load Balancing: Cloud Load Balancing supports load balancing to multi-NIC instances that use Dynamic NICs. This capability is in Preview. Published: 2025-06-13
Virtual Private Cloud: Dynamic Network Interfaces (NICs) are available in Preview. Dynamic NICs let you update an instance to add or remove network interfaces without having to restart or recreate the instance. Published: 2025-06-13
Security Command Center: The following Event Threat Detection detectors for Vertex AI have been released to Preview:
- `Persistence: New Geography for AI Service`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access`
- `Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity`
- `Persistence: New AI API Method`
......
......
ध्यान दें कि एजेंट, डेटाबेस के लिए MCP टूलबॉक्स (search_release_notes_bq
) में कॉन्फ़िगर किए गए टूल का इस्तेमाल कर रहा है. साथ ही, BigQuery डेटासेट से डेटा वापस पा रहा है और जवाब को उसी के मुताबिक फ़ॉर्मैट कर रहा है.
11. बधाई हो
बधाई हो, आपने डेटाबेस के लिए MCP टूलबॉक्स को कॉन्फ़िगर कर लिया है. साथ ही, MCP क्लाइंट में ऐक्सेस करने के लिए BigQuery डेटासेट को कॉन्फ़िगर कर लिया है.