डेटाबेस के लिए MCP टूलबॉक्स: MCP क्लाइंट के लिए BigQuery डेटासेट उपलब्ध कराना

1. परिचय

इस कोडलैब में, BigQuery डेटासेट उपलब्ध कराने के लिए, डेटाबेस के लिए MCP टूलबॉक्स का इस्तेमाल किया जाएगा.

कोडलैब के ज़रिए, आपको यहां दिया गया तरीका अपनाना होगा:

  1. BigQuery के सार्वजनिक डेटासेट प्रोग्राम से, BigQuery के किसी डेटासेट ("Google Cloud Release Notes") की पहचान करें.
  2. डेटाबेस के लिए MCP टूलबॉक्स सेट अप करें. यह BigQuery डेटासेट से कनेक्ट होता है.
  3. Agent Development Kit (ADK) का इस्तेमाल करके एक एजेंट डेवलप करें. यह एजेंट, MCP टूलबॉक्स का इस्तेमाल करके Google Cloud के रिलीज़ नोट के बारे में उपयोगकर्ता की क्वेरी का जवाब देगा

आपको क्या करना होगा

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

आपको क्या सीखने को मिलेगा

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

आपको इन चीज़ों की ज़रूरत होगी

  • Chrome वेब ब्राउज़र.
  • Python का लोकल डेवलपमेंट एनवायरमेंट.

2. शुरू करने से पहले

प्रोजेक्ट बनाना

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
  2. पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें .
  1. आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. इसमें bq पहले से लोड होता है. Google Cloud Console में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें.

Cloud Shell बटन की इमेज चालू करें

  1. Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस निर्देश का इस्तेमाल करें:
gcloud auth list
  1. यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
  1. अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>

gcloud कमांड और उनके इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.

3. Google के रिलीज़ नोट का डेटासेट और एमसीपी क्लाइंट

सबसे पहले, Google Cloud के रिलीज़ नोट पर एक नज़र डालते हैं. इन्हें Google Cloud के आधिकारिक रिलीज़ नोट वाले वेबपेज पर नियमित रूप से अपडेट किया जाता है. इसका स्क्रीनशॉट यहां दिया गया है:

9340358960d172b2.png

आपने फ़ीड यूआरएल की सदस्यता ली हो सकती है. हालांकि, अगर हम एजेंट चैट में रिलीज़ नोट के बारे में पूछ सकें, तो क्या होगा. जैसे, "Google Cloud के रिलीज़ नोट के बारे में मुझे अपडेट करो" जैसी कोई सामान्य क्वेरी.

4. डेटाबेस के लिए एमसीपी टूलबॉक्स

डेटाबेस के लिए MCP टूलबॉक्स, डेटाबेस के लिए एक ओपन सोर्स एमसीपी सर्वर है. इसे एंटरप्राइज़-ग्रेड और प्रोडक्शन-क्वालिटी को ध्यान में रखकर डिज़ाइन किया गया था. यह आपको टूल को आसानी से, तेज़ी से, और ज़्यादा सुरक्षित तरीके से डेवलप करने की सुविधा देता है. यह कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसी मुश्किलों को मैनेज करता है.

टूलबॉक्स की मदद से, जनरेटिव एआई टूल बनाए जा सकते हैं. इनकी मदद से, आपके एजेंट आपके डेटाबेस में मौजूद डेटा को ऐक्सेस कर सकते हैं. टूलबॉक्स में ये सुविधाएं मिलती हैं:

  • डेवलपमेंट को आसान बनाना: अपने एजेंट में टूल को 10 से कम लाइनों के कोड में इंटिग्रेट करें. साथ ही, एक से ज़्यादा एजेंट या फ़्रेमवर्क के बीच टूल का फिर से इस्तेमाल करें. इसके अलावा, टूल के नए वर्शन को आसानी से डिप्लॉय करें.
  • बेहतर परफ़ॉर्मेंस: कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसे सबसे सही तरीके.
  • बेहतर सुरक्षा: आपके डेटा को ज़्यादा सुरक्षित तरीके से ऐक्सेस करने के लिए, इंटिग्रेटेड ऑथराइज़ेशन
  • एंड-टू-एंड ऑब्ज़र्वेबिलिटी: OpenTelemetry के साथ काम करने की सुविधा के साथ, बॉक्स से बाहर की मेट्रिक और ट्रेसिंग.
  • टूलबॉक्स की मदद से, डेटाबेस को एमसीपी की सुविधा वाले किसी भी एआई असिस्टेंट से आसानी से कनेक्ट किया जा सकता है. भले ही, वे आपके आईडीई में हों.

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

12c16960e74b57f9.png

आसान शब्दों में खास जानकारी पाने के लिए:

  1. MCP टूलबॉक्स, बाइनरी या कंटेनर इमेज के तौर पर उपलब्ध है. इसे सोर्स से भी बनाया जा सकता है.
  2. यह टूल का एक ऐसा सेट दिखाता है जिसे tools.yaml फ़ाइल के ज़रिए कॉन्फ़िगर किया जाता है. इन टूल को आपके डेटा सोर्स से कनेक्ट किया जा सकता है. इसमें, उन अलग-अलग डेटा सोर्स को देखा जा सकता है जिनके साथ यह काम करता है. जैसे, AlloyDB, BigQuery वगैरह.
  3. यह टूलबॉक्स अब एमसीपी के साथ काम करता है. इसलिए, आपके पास अपने-आप एक एमसीपी सर्वर एंडपॉइंट होता है. इसका इस्तेमाल एजेंट (आईडीई) कर सकते हैं. इसके अलावा, एजेंट डेवलपमेंट किट (एडीके) जैसे अलग-अलग फ़्रेमवर्क का इस्तेमाल करके, एजेंट ऐप्लिकेशन डेवलप करते समय भी इनका इस्तेमाल किया जा सकता है.

इस ब्लॉग पोस्ट में, हमारा फ़ोकस यहां हाइलाइट की गई चीज़ों पर होगा:

7527a2a4bff20adc.png

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

5. Google Cloud के रिलीज़ नोट के लिए BigQuery डेटासेट

Google Cloud Public Dataset Program एक ऐसा प्रोग्राम है जो आपके ऐप्लिकेशन के लिए कई तरह के डेटासेट उपलब्ध कराता है. ऐसा ही एक डेटासेट, Google Cloud की रिलीज़ नोट का डेटाबेस है. इस डेटासेट में वही जानकारी मिलती है जो Google Cloud के आधिकारिक रिलीज़ नोट वाले वेबपेज पर मिलती है. यह डेटासेट, सार्वजनिक तौर पर क्वेरी करने के लिए उपलब्ध है.

adb5593504dbb71d.png

जांच के तौर पर, मैंने नीचे दी गई आसान क्वेरी चलाकर डेटासेट की पुष्टि की है:

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 Toolbox इंस्टॉल करना

अपनी लोकल मशीन पर एक टर्मिनल खोलें और mcp-toolbox नाम का फ़ोल्डर बनाएं.

mkdir mcp-toolbox

नीचे दिए गए कमांड का इस्तेमाल करके, mcp-toolbox फ़ोल्डर पर जाएं:

cd mcp-toolbox

नीचे दी गई स्क्रिप्ट का इस्तेमाल करके, डेटाबेस के लिए MCP Toolbox का बाइनरी वर्शन इंस्टॉल करें. यहां दिया गया निर्देश Linux के लिए है. हालांकि, अगर Mac या Windows का इस्तेमाल किया जा रहा है, तो पक्का करें कि सही बाइनरी डाउनलोड की जा रही हो. अपने ऑपरेटिंग सिस्टम और आर्किटेक्चर के लिए रिलीज़ पेज देखें और सही बाइनरी डाउनलोड करें.

export VERSION=0.22.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

आइए, फ़ाइल के बारे में कम शब्दों में जानते हैं:

  1. सोर्स, आपके अलग-अलग डेटा सोर्स को दिखाते हैं. टूल इन डेटा सोर्स के साथ इंटरैक्ट कर सकता है. सोर्स, एक ऐसे डेटा सोर्स को दिखाता है जिससे कोई टूल इंटरैक्ट कर सकता है. tools.yaml फ़ाइल के sources सेक्शन में, सोर्स को मैप के तौर पर तय किया जा सकता है. आम तौर पर, सोर्स कॉन्फ़िगरेशन में डेटाबेस से कनेक्ट करने और उससे इंटरैक्ट करने के लिए ज़रूरी जानकारी होती है. इस उदाहरण में, हमने BigQuery सोर्स my-bq-source को तय किया है. आपको अपना Google Cloud प्रोजेक्ट आईडी देना होगा. ज़्यादा जानकारी के लिए, सोर्स रेफ़रंस देखें.
  2. टूल से यह तय होता है कि एजेंट कौनसी कार्रवाइयाँ कर सकता है. जैसे, किसी सोर्स से डेटा पढ़ना और उसमें डेटा लिखना. टूल, ऐसी कार्रवाई को दिखाता है जो आपका एजेंट कर सकता है. जैसे, SQL स्टेटमेंट चलाना. tools.yaml फ़ाइल के टूल सेक्शन में, टूल को मैप के तौर पर तय किया जा सकता है. आम तौर पर, किसी टूल को कार्रवाई करने के लिए सोर्स की ज़रूरत होती है. इस उदाहरण में, हमने एक टूल search_release_notes_bq को तय किया है. यह BigQuery के उस सोर्स my-bq-source को रेफ़र करता है जिसे हमने पहले चरण में तय किया था. इसमें वह स्टेटमेंट और निर्देश भी शामिल है जिसका इस्तेमाल एआई एजेंट के क्लाइंट करेंगे. ज़्यादा जानकारी के लिए, टूल का रेफ़रंस देखें.
  3. आखिर में, हमारे पास टूलसेट है. इसकी मदद से, टूल के ऐसे ग्रुप बनाए जा सकते हैं जिन्हें एक साथ लोड किया जा सकता है. इसकी मदद से, एजेंट या ऐप्लिकेशन के आधार पर अलग-अलग ग्रुप तय किए जा सकते हैं. हमारे मामले में, हमारे पास टूलसेट की परिभाषा है. इसमें हमने फ़िलहाल सिर्फ़ एक मौजूदा टूल search_release_notes_bq को परिभाषित किया है. आपके पास एक से ज़्यादा टूलसेट हो सकते हैं. इनमें अलग-अलग टूल का कॉम्बिनेशन होता है.

इसलिए, फ़िलहाल हमने सिर्फ़ एक टूल तय किया है. यह टूल, क्वेरी के हिसाब से पिछले सात दिनों के रिलीज़ नोट देता है. हालांकि, पैरामीटर के साथ अलग-अलग कॉम्बिनेशन भी बनाए जा सकते हैं.

डेटाबेस के लिए MCP टूलबॉक्स में, BigQuery डेटा सोर्स कॉन्फ़िगरेशन के बारे में कुछ और जानकारी देखें ( सोर्स, टूल).

8. डेटाबेस के लिए एमसीपी टूलबॉक्स की जांच करना

हमने mcp-toolbox फ़ोल्डर में मौजूद tools.yaml फ़ाइल का इस्तेमाल करके, Toolbox को डाउनलोड और कॉन्फ़िगर किया है. आइए, इसे पहले स्थानीय तौर पर चलाकर देखते हैं.

यह कमांड चलाएं:

./toolbox --tools-file="tools.yaml"

स्क्रिप्ट के सही तरीके से चलने पर, आपको सर्वर स्टार्टअप दिखेगा. साथ ही, यहां दिए गए उदाहरण से मिलता-जुलता सैंपल आउटपुट दिखेगा:

2025-12-09T08:27:02.777619+05:30 INFO "Initialized 1 sources: my-bq-source" 
2025-12-09T08:27:02.777695+05:30 INFO "Initialized 0 authServices: " 
2025-12-09T08:27:02.777707+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2025-12-09T08:27:02.777716+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default" 
2025-12-09T08:27:02.777719+05:30 INFO "Initialized 0 prompts: " 
2025-12-09T08:27:02.777723+05:30 INFO "Initialized 1 promptsets: default" 
2025-12-09T08:27:02.77773+05:30 WARN "wildcard (`*`) allows all origin to access the resource and is not secure. Use it with cautious for public, non-sensitive data, or during local development. Recommended to use `--allowed-origins` flag to prevent DNS rebinding attacks" 
2025-12-09T08:27:02.777839+05:30 INFO "Server ready to serve!"

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

./toolbox --tools-file "tools.yaml" --port 7000

आइए, Cloud Shell का इस्तेमाल करके इसे आज़माएं.

नीचे दिए गए तरीके से, Cloud Shell में वेब प्रीव्यू पर क्लिक करें:

b8a52769f092e5d0.png

पोर्ट बदलें पर क्लिक करें और पोर्ट को नीचे दिखाए गए तरीके से 5000 पर सेट करें. इसके बाद, बदलें और झलक देखें पर क्लिक करें.

3ccac41b1f8996c5.png

इससे यह आउटपुट मिलेगा:

e2a7d3ddaac0c3be.png

ब्राउज़र के यूआरएल में, यूआरएल के आखिर में यह जोड़ें:

/api/toolset

इससे, कॉन्फ़िगर किए गए टूल दिखने चाहिए. यहां आउटपुट का एक सैंपल दिखाया गया है:

{
  "serverVersion": "0.22.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-12-09T08:28:07.479989+05:30 INFO "Initialized 1 sources: my-bq-source" 
2025-12-09T08:28:07.480065+05:30 INFO "Initialized 0 authServices: " 
2025-12-09T08:28:07.480079+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2025-12-09T08:28:07.480087+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default" 
2025-12-09T08:28:07.48009+05:30 INFO "Initialized 0 prompts: " 
2025-12-09T08:28:07.480094+05:30 INFO "Initialized 1 promptsets: default" 
2025-12-09T08:28:07.4801+05:30 WARN "wildcard (`*`) allows all origin to access the resource and is not secure. Use it with cautious for public, non-sensitive data, or during local development. Recommended to use `--allowed-origins` flag to prevent DNS rebinding attacks" 
2025-12-09T08:28:07.480214+05:30 INFO "Server ready to serve!" 
2025-12-09T08:28:07.480218+05:30 INFO "Toolbox UI is up and running at: http://127.0.0.1:5000/ui" 

यूआई यूआरएल पर क्लिक करें और पक्का करें कि यूआरएल के आखिर में /ui मौजूद हो. इससे नीचे दिखाया गया यूज़र इंटरफ़ेस (यूआई) दिखेगा:

cfad8321357e4322.png

कॉन्फ़िगर किए गए टूल देखने के लिए, बाईं ओर मौजूद टूल विकल्प पर क्लिक करें.हमारे मामले में, यह सिर्फ़ एक होना चाहिए, यानी कि search_release_notes_bq. इसे नीचे दिखाया गया है:

a315a6613e9e38ea.png

टूल (search_release_notes_bq) पर क्लिक करें. इससे एक पेज खुलेगा, जहां टूल को आज़माया जा सकता है. कोई पैरामीटर उपलब्ध नहीं होने की वजह से, नतीजे देखने के लिए टूल चलाएं पर क्लिक करें. यहां सैंपल रन दिखाया गया है:

726543eea642bb5a.png

डेटाबेस के लिए 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

langchain की डिपेंडेंसी के साथ-साथ, डेटाबेस के लिए ADK और MCP टूलबॉक्स पैकेज इंस्टॉल करें. इसके लिए, यह तरीका अपनाएं:

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.5-flash
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

इन वैल्यू से पता चलता है कि हम Vertex AI के ज़रिए Gemini का इस्तेमाल करेंगे. साथ ही, Google Cloud प्रोजेक्ट आईडी और जगह की वैल्यू का भी इस्तेमाल करेंगे.

इसके बाद, हमारे पास __init__.py फ़ाइल है. यह फ़ोल्डर को मॉड्यूल के तौर पर मार्क करती है. इसमें एक स्टेटमेंट होता है, जो agent.py फ़ाइल से एजेंट को इंपोर्ट करता है.

from . import agent

आखिर में, आइए agent.py फ़ाइल के बारे में जानते हैं. कॉन्टेंट यहां दिया गया है:

from google.adk.agents import Agent

root_agent = Agent(
    model='gemini-2.5-flash',
    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"

आपको ऐसा आउटपुट दिखना चाहिए जिसमें सर्वर, हमारे डेटा सोर्स से कनेक्ट हो गया हो और टूलसेट और टूल लोड हो गए हों.

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 डेटासेट को कॉन्फ़िगर कर लिया है.

रेफ़रंस दस्तावेज़