1. खास जानकारी
एजेंट एक ऐसा प्रोग्राम होता है जो एआई मॉडल से बातचीत करता है. यह अपने पास मौजूद टूल और कॉन्टेक्स्ट का इस्तेमाल करके, किसी लक्ष्य को पूरा करने के लिए काम करता है. साथ ही, यह तथ्यों के आधार पर अपने-आप फ़ैसले ले सकता है!
जब आपके ऐप्लिकेशन में कई एजेंट एक साथ मिलकर काम करते हैं और ज़रूरत के हिसाब से अपने-आप काम करते हैं, ताकि वे अपने मुख्य मकसद को पूरा कर सकें. साथ ही, हर एजेंट को किसी खास विषय के बारे में जानकारी होती है और वह उस विषय के लिए ज़िम्मेदार होता है, तो आपका ऐप्लिकेशन मल्टी-एजेंट सिस्टम बन जाता है.
Agent Development Kit (ADK)
एजेंट डेवलपमेंट किट (एडीके), एआई एजेंट डेवलप और डिप्लॉय करने के लिए एक फ़्लेक्सिबल और मॉड्यूलर फ़्रेमवर्क है. ADK की मदद से, कई एजेंट इंस्टेंस को एक मल्टी-एजेंट सिस्टम (एमएएस) में कंपोज़ करके, बेहतर ऐप्लिकेशन बनाए जा सकते हैं.
ADK में, मल्टी-एजेंट सिस्टम एक ऐसा ऐप्लिकेशन होता है जिसमें अलग-अलग एजेंट, अक्सर हैरारकी बनाते हैं. ये एजेंट, किसी बड़े लक्ष्य को हासिल करने के लिए साथ मिलकर काम करते हैं या तालमेल बिठाते हैं. अपने ऐप्लिकेशन को इस तरह से स्ट्रक्चर करने के कई फ़ायदे हैं. जैसे, बेहतर मॉड्यूलरिटी, स्पेशलाइज़ेशन, दोबारा इस्तेमाल करने की क्षमता, रखरखाव की क्षमता, और वर्कफ़्लो एजेंट का इस्तेमाल करके स्ट्रक्चर्ड कंट्रोल फ़्लो को तय करने की क्षमता.
मल्टी-एजेंट सिस्टम के लिए ध्यान रखने वाली बातें
सबसे पहले, हर एजेंट के पास अपनी विशेषज्ञता के बारे में पूरी जानकारी होनी चाहिए. साथ ही, उसे यह भी पता होना चाहिए कि वह किस तरह के सवालों के जवाब दे सकता है. — "क्या तुम्हें पता है कि किसी काम के लिए, तुम्हें किसी खास सब-एजेंट की ज़रूरत क्यों है", पहले यह पता लगाओ.
दूसरा, रूट एजेंट के साथ मिलकर, सभी जवाबों को रूट करने और उन्हें समझने का तरीका.
तीसरा, एजेंट रूटिंग के कई टाइप होते हैं. इनके बारे में इस दस्तावेज़ में बताया गया है. देखें कि आपके ऐप्लिकेशन के फ़्लो के हिसाब से कौनसी सुविधा सही है. साथ ही, आपको अपने मल्टी-एजेंट सिस्टम के फ़्लो कंट्रोल के लिए किन अलग-अलग कॉन्टेक्स्ट और स्थितियों की ज़रूरत है.
आपको क्या बनाना है
आइए, AlloyDB और ADK के लिए MCP टूलबॉक्स का इस्तेमाल करके, किचन के रिनोवेशन को मैनेज करने के लिए मल्टी-एजेंट सिस्टम बनाएं.
- रेनोवेशन का प्रस्ताव देने वाला एजेंट
- अनुमतियां और नियमों के पालन की जांच करने वाला एजेंट
- ऑर्डर के स्टेटस की जांच करना (डेटाबेस के लिए MCP टूलबॉक्स का इस्तेमाल करने वाला टूल)
किचन के रिनोवेशन का प्रस्ताव देने वाला एजेंट, किचन के रिनोवेशन का प्रस्ताव देने वाला दस्तावेज़ जनरेट करने के लिए.
अनुमतियां और अनुपालन एजेंट, अनुमतियों और अनुपालन से जुड़े टास्क पूरे करता है.
ऑर्डर की स्थिति की जांच करने वाला एजेंट, AlloyDB में सेट अप किए गए ऑर्डर मैनेजमेंट डेटाबेस पर काम करके, सामान के ऑर्डर की स्थिति की जांच करता है. हालांकि, डेटाबेस के इस हिस्से के लिए, हम MCP Toolbox for AlloyDB का इस्तेमाल करेंगे. इससे ऑर्डर की स्थिति को वापस पाने के लॉजिक को लागू किया जा सकेगा.
2. MCP
एमसीपी का मतलब मॉडल कॉन्टेक्स्ट प्रोटोकॉल है. यह Anthropic ने बनाया है. यह एक ओपन स्टैंडर्ड है. इससे एआई एजेंट, बाहरी टूल, सेवाओं, और डेटा से आसानी से कनेक्ट हो पाते हैं. यह एआई ऐप्लिकेशन के लिए एक सामान्य स्टैंडर्ड के तौर पर काम करता है. इससे एआई ऐप्लिकेशन, अलग-अलग डेटा सोर्स और टूल के साथ आसानी से इंटरैक्ट कर पाते हैं.
- यह क्लाइंट-सर्वर मॉडल का इस्तेमाल करता है. इसमें एआई ऐप्लिकेशन (होस्ट), एमसीपी क्लाइंट को चलाते हैं. यह एमसीपी सर्वर के साथ कम्यूनिकेट करता है.
- जब किसी एआई एजेंट को किसी टूल या डेटा को ऐक्सेस करने की ज़रूरत होती है, तो वह एमसीपी क्लाइंट को एक स्ट्रक्चर्ड अनुरोध भेजता है. एमसीपी क्लाइंट, इस अनुरोध को सही एमसीपी सर्वर को भेजता है.
- इस सुविधा की मदद से, एआई मॉडल बाहरी डेटा और टूल ऐक्सेस कर सकते हैं. इसके लिए, हर इंटिग्रेशन के लिए कस्टम कोड की ज़रूरत नहीं होती.
- यह लार्ज लैंग्वेज मॉडल (एलएलएम) के आधार पर एजेंट और मुश्किल वर्कफ़्लो बनाने की प्रोसेस को आसान बनाता है.
डेटाबेस के लिए एमसीपी टूलबॉक्स
Google का MCP Toolbox for Databases, डेटाबेस के लिए एक ओपन सोर्स एमसीपी सर्वर है. इसे एंटरप्राइज़-ग्रेड और प्रोडक्शन-क्वालिटी को ध्यान में रखकर डिज़ाइन किया गया है. यह आपको टूल को आसानी से, तेज़ी से, और ज़्यादा सुरक्षित तरीके से डेवलप करने की सुविधा देता है. इसके लिए, यह कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसी मुश्किलों को मैनेज करता है.
अपने एजेंट को डेटाबेस में मौजूद डेटा को ऐक्सेस करने की अनुमति दें!!! कैसे?
आसान डेवलपमेंट: अपने एजेंट में टूल को 10 से भी कम लाइनों के कोड में इंटिग्रेट करें. साथ ही, एक से ज़्यादा एजेंट या फ़्रेमवर्क के बीच टूल का फिर से इस्तेमाल करें और टूल के नए वर्शन को आसानी से डिप्लॉय करें.
बेहतर परफ़ॉर्मेंस: कनेक्शन पूलिंग, पुष्टि करने की प्रोसेस वगैरह जैसे सबसे सही तरीके.
बेहतर सुरक्षा: आपके डेटा को ज़्यादा सुरक्षित तरीके से ऐक्सेस करने के लिए, इंटिग्रेटेड ऑथराइज़ेशन
एंड-टू-एंड ऑब्ज़र्वेबिलिटी: इसमें बॉक्स से बाहर की मेट्रिक और ट्रेसिंग की सुविधा मिलती है. साथ ही, OpenTelemetry के लिए पहले से मौजूद सहायता भी मिलती है.
हमें यह बताना होगा कि यह MCP से पहले का है!!!
डेटाबेस के लिए MCP टूलबॉक्स, आपके एजेंटिक ऐप्लिकेशन के ऑर्केस्ट्रेशन फ़्रेमवर्क और आपके डेटाबेस के बीच काम करता है. यह एक कंट्रोल प्लेन उपलब्ध कराता है, जिसका इस्तेमाल टूल में बदलाव करने, उन्हें डिस्ट्रिब्यूट करने या उन्हें शुरू करने के लिए किया जाता है. यह आपके टूल को मैनेज करने की प्रोसेस को आसान बनाता है. इसके लिए, यह आपको टूल को सेव और अपडेट करने के लिए एक जगह उपलब्ध कराता है. इससे एजेंट और ऐप्लिकेशन के बीच टूल शेयर किए जा सकते हैं. साथ ही, ऐप्लिकेशन को फिर से डिप्लॉय किए बिना उन टूल को अपडेट किया जा सकता है.

हमारे पास एक रूट एजेंट होगा, जो ज़रूरत के हिसाब से इन एजेंट को मैनेज करेगा.
ज़रूरी शर्तें
3. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें .
अगर आपको Google Cloud और ADK का इस्तेमाल शुरू करने के लिए कुछ क्रेडिट चाहिए, तो क्रेडिट रिडीम करने के लिए इस लिंक का इस्तेमाल करें. इसे रिडीम करने के लिए, यहां दिए गए निर्देशों का पालन करें. कृपया ध्यान दें कि इस लिंक का इस्तेमाल, मई के आखिर तक ही किया जा सकता है.
- इस लिंक पर क्लिक करके, Cloud Shell चालू करें. Cloud Shell में जाकर, Cloud Shell टर्मिनल (क्लाउड कमांड चलाने के लिए) और एडिटर (प्रोजेक्ट बनाने के लिए) के बीच टॉगल किया जा सकता है. इसके लिए, Cloud Shell में मौजूद बटन पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस कमांड का इस्तेमाल करें:
gcloud auth list
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
- इन कमांड को चलाकर, इन एपीआई को चालू करें:
gcloud services enable artifactregistry.googleapis.com \cloudbuild.googleapis.com \run.googleapis.com \aiplatform.googleapis.com \alloydb.googleapis.com
- पक्का करें कि आपके पास Python 3.9 या इसके बाद का वर्शन हो
- gcloud कमांड और उनके इस्तेमाल के बारे में जानने के लिए, दस्तावेज़ देखें.
4. ADK सेटअप
- वर्चुअल एनवायरमेंट बनाएं और उसे चालू करें (सुझाया गया)
Cloud Shell टर्मिनल में, वर्चुअल एनवायरमेंट बनाएं:
python -m venv .venv
वर्चुअल एनवायरमेंट चालू करें:
source .venv/bin/activate
- ADK इंस्टॉल करना
pip install google-adk
5. प्रोजेक्ट का स्ट्रक्चर
- रूट और प्रोजेक्ट फ़ोल्डर बनाने के लिए, Cloud Shell टर्मिनल में एक-एक करके ये निर्देश चलाएं:
mkdir agentic-apps
cd agentic-apps
mkdir renovation-agent
- Cloud Shell एडिटर पर जाएं और फ़ाइलें बनाकर, यहां दिया गया प्रोजेक्ट स्ट्रक्चर बनाएं. फ़िलहाल, इन फ़ाइलों में कुछ भी नहीं होगा:
renovation-agent/
__init__.py
agent.py
.env
6. सोर्स कोड
- init.py पर जाएं और इसे इस कॉन्टेंट से अपडेट करें:
from . import agent
- agent.py पर जाएं और इस पाथ से मिले कॉन्टेंट का इस्तेमाल करके फ़ाइल को अपडेट करें:
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/agent.py
agent.py में, हम ज़रूरी डिपेंडेंसी इंपोर्ट करते हैं. साथ ही, .env फ़ाइल से कॉन्फ़िगरेशन पैरामीटर वापस पाते हैं और root_agent को तय करते हैं. यह टूलबॉक्स टूल को चालू करने के लिए, एक टूल का इस्तेमाल करता है.
- requirements.txt पर जाएं और इसे यहां दिए गए कॉन्टेंट से अपडेट करें:
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/requirements.txt
7. डेटाबेस सेटअप
ऑर्डरिंग एजेंट के इस्तेमाल किए जाने वाले टूल में से एक "check_status" है. इसमें हम AlloyDB orders डेटाबेस को ऐक्सेस करते हैं, ताकि हमें ऑर्डर की स्थिति के बारे में पता चल सके. इस सेक्शन में, हम AlloyDB डेटाबेस क्लस्टर और इंस्टेंस सेट अप करेंगे.
क्लस्टर और इंस्टेंस बनाना
- Cloud Console में AlloyDB पेज पर जाएं. Cloud Console में ज़्यादातर पेजों को आसानी से ढूंढने के लिए, कंसोल के खोज बार का इस्तेमाल करके उन्हें खोजें.
- उस पेज पर जाकर, क्लस्टर बनाएं को चुनें:

- आपको नीचे दी गई इमेज जैसी स्क्रीन दिखेगी. नीचे दी गई वैल्यू का इस्तेमाल करके, क्लस्टर और इंस्टेंस बनाएं. अगर आपको रिपॉज़िटरी से ऐप्लिकेशन कोड क्लोन करना है, तो पक्का करें कि वैल्यू मैच होती हों:
- क्लस्टर आईडी: "
vector-cluster" - password: "
alloydb" - PostgreSQL 16 के साथ काम करता है / सबसे नए वर्शन का इस्तेमाल करने का सुझाव दिया जाता है
- इलाका: "
us-central1" - नेटवर्किंग: "
default"

- डिफ़ॉल्ट नेटवर्क चुनने पर, आपको नीचे दी गई इमेज जैसी स्क्रीन दिखेगी.
कनेक्शन सेट अप करें को चुनें.
- इसके बाद, "अपने-आप असाइन की गई आईपी रेंज का इस्तेमाल करें" को चुनें और जारी रखें पर क्लिक करें. जानकारी देखने के बाद, कनेक्शन बनाएं को चुनें.

6. अहम जानकारी: इंस्टेंस आईडी (यह आपको क्लस्टर / इंस्टेंस को कॉन्फ़िगर करते समय दिखेगा) को बदलकर
vector-instance. अगर इसे बदला नहीं जा सकता, तो आने वाले सभी रेफ़रंस में अपने इंस्टेंस आईडी का इस्तेमाल करना न भूलें.
- Toolbox को सेट अप करने से पहले, आइए हम अपने AlloyDB इंस्टेंस में सार्वजनिक आईपी चालू करें, ताकि नया टूल डेटाबेस को ऐक्सेस कर सके.
- सार्वजनिक आईपी कनेक्टिविटी सेक्शन पर जाएं. इसके बाद, 'सार्वजनिक आईपी चालू करें' चेकबॉक्स पर सही का निशान लगाएं और अपनी Cloud Shell मशीन का आईपी पता डालें.
- Cloud Shell मशीन का आईपी पाने के लिए, Cloud Shell टर्मिनल पर जाएं और ifconfig डालें. नतीजे में, eth0 inet पते का पता लगाएं और आखिरी दो अंकों को 0.0 से बदलें. साथ ही, मास्क का साइज़ ‘/16' रखें. उदाहरण के लिए, यह "XX.XX.0.0/16" की तरह दिखेगा. इसमें XX संख्याएं हैं.
- इस आईपी पते को, 'बदलाव करें' इंस्टेंस पेज के, अधिकृत बाहरी नेटवर्क "नेटवर्क" टेक्स्ट बॉक्स में चिपकाएं.

- नेटवर्क सेट अप हो जाने के बाद, क्लस्टर बनाना जारी रखा जा सकता है. क्लस्टर को सेट अप करने के लिए, CREATE CLUSTER पर क्लिक करें. यह विकल्प नीचे दिखाया गया है:

ध्यान दें कि क्लस्टर बनने में करीब 10 मिनट लगेंगे. प्रोसेस पूरी होने के बाद, आपको एक स्क्रीन दिखेगी. इसमें, आपके बनाए गए क्लस्टर की खास जानकारी दिखेगी.
डेटा डालना
अब स्टोर के बारे में जानकारी देने वाली टेबल जोड़ें. AlloyDB पर जाएं. इसके बाद, प्राइमरी क्लस्टर और फिर AlloyDB Studio चुनें:

आपको इंस्टेंस बनने तक इंतज़ार करना पड़ सकता है. इसके बाद, क्लस्टर बनाते समय बनाए गए क्रेडेंशियल का इस्तेमाल करके, AlloyDB में साइन इन करें. PostgreSQL में पुष्टि करने के लिए, इस डेटा का इस्तेमाल करें:
- उपयोगकर्ता नाम : "
postgres" - डेटाबेस : "
postgres" - पासवर्ड : "
alloydb"
AlloyDB Studio में पुष्टि हो जाने के बाद, SQL कमांड को एडिटर में डाला जाता है. आखिरी विंडो के दाईं ओर मौजूद प्लस आइकॉन का इस्तेमाल करके, एक से ज़्यादा एडिटर विंडो जोड़ी जा सकती हैं.

एडिटर विंडो में, AlloyDB के लिए कमांड डाली जाती हैं. इसके लिए, ज़रूरत के हिसाब से 'चलाएं', 'फ़ॉर्मैट करें', और 'मिटाएं' विकल्पों का इस्तेमाल किया जाता है.
टेबल बनाना
AlloyDB Studio में, नीचे दिए गए डीडीएल स्टेटमेंट का इस्तेमाल करके टेबल बनाई जा सकती है:
-- Table DDL for Procurement Material Order Status
CREATE TABLE material_order_status (
order_id VARCHAR(50) PRIMARY KEY,
material_name VARCHAR(100) NOT NULL,
supplier_name VARCHAR(100) NOT NULL,
order_date DATE NOT NULL,
estimated_delivery_date DATE,
actual_delivery_date DATE,
quantity_ordered INT NOT NULL,
quantity_received INT,
unit_price DECIMAL(10, 2) NOT NULL,
total_amount DECIMAL(12, 2),
order_status VARCHAR(50) NOT NULL, -- e.g., "Ordered", "Shipped", "Delivered", "Cancelled"
delivery_address VARCHAR(255),
contact_person VARCHAR(100),
contact_phone VARCHAR(20),
tracking_number VARCHAR(100),
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
quality_check_passed BOOLEAN, -- Indicates if the material passed quality control
quality_check_notes TEXT, -- Notes from the quality control check
priority VARCHAR(20), -- e.g., "High", "Medium", "Low"
project_id VARCHAR(50), -- Link to a specific project
receiver_name VARCHAR(100), -- Name of the person who received the delivery
return_reason TEXT, -- Reason for returning material if applicable
po_number VARCHAR(50) -- Purchase order number
);
रिकॉर्ड डालें
ऊपर दी गई database_script.sql स्क्रिप्ट से insert क्वेरी स्टेटमेंट को कॉपी करके एडिटर में चिपकाएं.
चलाएं पर क्लिक करें.
डेटासेट तैयार हो गया है. अब हम डेटाबेस के लिए MCP टूलबॉक्स को सेट अप करते हैं, ताकि यह AlloyDB में ऑर्डर डेटाबेस के साथ होने वाली सभी इंटरैक्शन के लिए कंट्रोल प्लेन के तौर पर काम कर सके!!!
8. डेटाबेस सेटअप के लिए MCP टूलबॉक्स
टूलबॉक्स, आपके ऐप्लिकेशन के ऑर्केस्ट्रेशन फ़्रेमवर्क और आपके डेटाबेस के बीच मौजूद होता है. यह एक कंट्रोल प्लेन उपलब्ध कराता है, जिसका इस्तेमाल टूल में बदलाव करने, उन्हें डिस्ट्रिब्यूट करने या उन्हें शुरू करने के लिए किया जाता है. यह आपके टूल को मैनेज करने की प्रोसेस को आसान बनाता है. इसके लिए, यह आपको टूल को सेव और अपडेट करने की एक जगह उपलब्ध कराता है. इससे, एजेंट और ऐप्लिकेशन के बीच टूल शेयर किए जा सकते हैं. साथ ही, ऐप्लिकेशन को फिर से डिप्लॉय किए बिना उन टूल को अपडेट किया जा सकता है.
आपको दिख रहा होगा कि MCP Toolbox for Databases के साथ काम करने वाले डेटाबेस में से एक AlloyDB है. हमने इसे पिछले सेक्शन में पहले ही प्रोविज़न कर दिया है. इसलिए, अब Toolbox को सेट अप करते हैं.
- Cloud Shell टर्मिनल पर जाएं. पक्का करें कि आपका प्रोजेक्ट चुना गया हो और टर्मिनल के प्रॉम्प्ट में दिख रहा हो. अपने प्रोजेक्ट की डायरेक्ट्री में जाने के लिए, Cloud Shell टर्मिनल में यह कमांड चलाएं:
cd adk-renovation-agent
- अपने नए फ़ोल्डर में टूलबॉक्स को डाउनलोड और इंस्टॉल करने के लिए, यहां दिया गया कमांड चलाएं:
# see releases page for other versions
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
- कोड में बदलाव करने के मोड के लिए, Cloud Shell Editor पर जाएं. इसके बाद, प्रोजेक्ट के रूट फ़ोल्डर में "tools.yaml" नाम की फ़ाइल जोड़ें
sources:
alloydb-orders:
kind: "alloydb-postgres"
project: "<<YOUR_PROJECT_ID>>"
region: "us-central1"
cluster: "<<YOUR_ALLOYDB_CLUSTER>>"
instance: "<<YOUR_ALLOYDB_INSTANCE>>"
database: "<<YOUR_ALLOYDB_DATABASE>>"
user: "<<YOUR_ALLOYDB_USER>>"
password: "<<YOUR_ALLOYDB_PASSWORD>>"
tools:
get-order-data:
kind: postgres-sql
source: alloydb-orders
description: Get the status of an order based on the material description.
parameters:
- name: description
type: string
description: A description of the material to search for its order status.
statement: |
select order_status from material_order_status where lower(material_name) like lower($1)
LIMIT 1;
क्वेरी वाले हिस्से में (ऊपर "statement" पैरामीटर देखें), हम सिर्फ़ order_status फ़ील्ड की वैल्यू तब वापस पा रहे हैं, जब मटीरियल का नाम, उपयोगकर्ता के खोज टेक्स्ट से मेल खाता है.
आइए, tools.yaml को समझते हैं
सोर्स, आपके अलग-अलग डेटा सोर्स होते हैं. टूल इनके साथ इंटरैक्ट कर सकता है. सोर्स, एक ऐसे डेटा सोर्स को दिखाता है जिससे कोई टूल इंटरैक्ट कर सकता है. अपने tools.yaml फ़ाइल के sources सेक्शन में, सोर्स को मैप के तौर पर तय किया जा सकता है. आम तौर पर, सोर्स कॉन्फ़िगरेशन में डेटाबेस से कनेक्ट करने और उससे इंटरैक्ट करने के लिए ज़रूरी जानकारी होती है.
टूल से यह तय होता है कि कोई एजेंट कौनसी कार्रवाइयां कर सकता है. जैसे, किसी सोर्स से जानकारी पढ़ना और उसमें जानकारी लिखना. टूल, ऐसी कार्रवाई को दिखाता है जो आपका एजेंट कर सकता है. जैसे, SQL स्टेटमेंट चलाना. tools.yaml फ़ाइल के टूल सेक्शन में, टूल को मैप के तौर पर तय किया जा सकता है. आम तौर पर, किसी टूल को कार्रवाई करने के लिए सोर्स की ज़रूरत होती है.
tools.yaml को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, यह दस्तावेज़ पढ़ें.
आइए, डेटाबेस सर्वर के लिए एमसीपी टूलबॉक्स को चलाएं
सर्वर शुरू करने के लिए, mcp-toolbox फ़ोल्डर से यह कमांड चलाएं:
./toolbox --tools-file "tools.yaml"
अब अगर क्लाउड पर वेब प्रीव्यू मोड में सर्वर खोला जाता है, तो आपको get-order-data नाम के नए टूल के साथ, Toolbox सर्वर चालू और काम करता हुआ दिखेगा.
एमसीपी टूलबॉक्स सर्वर, डिफ़ॉल्ट रूप से पोर्ट 5000 पर चलता है. आइए, Cloud Shell का इस्तेमाल करके इसकी जांच करें.
नीचे दिए गए तरीके से, Cloud Shell में वेब प्रीव्यू पर क्लिक करें:

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

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

डेटाबेस के लिए MCP टूलकिट में, Python SDK के बारे में बताया गया है. इसकी मदद से, टूल की पुष्टि की जा सकती है और उन्हें आज़माया जा सकता है. इसके बारे में यहां बताया गया है. हम उस सेक्शन को छोड़कर, सीधे अगले सेक्शन में एजेंट डेवलपमेंट किट (एडीके) पर जाएंगे. इसमें इन टूल का इस्तेमाल किया जाएगा.
चलिए, अपने टूलबॉक्स को Cloud Run पर डिप्लॉय करते हैं
सबसे पहले, हम एमसीपी टूलबॉक्स सर्वर को Cloud Run पर होस्ट कर सकते हैं. इसके बाद, हमें एक सार्वजनिक एंडपॉइंट मिलेगा. इसे किसी अन्य ऐप्लिकेशन और/या एजेंट ऐप्लिकेशन के साथ इंटिग्रेट किया जा सकता है. इसे Cloud Run पर होस्ट करने के निर्देश यहां दिए गए हैं. अब हम मुख्य चरणों के बारे में जानेंगे.
- नया Cloud Shell टर्मिनल लॉन्च करें या किसी मौजूदा Cloud Shell टर्मिनल का इस्तेमाल करें. उस प्रोजेक्ट फ़ोल्डर पर जाएं जहां toolbox बाइनरी और tools.yaml मौजूद हैं. इस मामले में, adk-renovation-agent
- PROJECT_ID वैरिएबल को अपने Google Cloud प्रोजेक्ट आईडी पर सेट करें.
export PROJECT_ID="<<YOUR_GOOGLE_CLOUD_PROJECT_ID>>"
- Google Cloud की इन सेवाओं को चालू करें
gcloud services enable run.googleapis.com \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
iam.googleapis.com \
secretmanager.googleapis.com
- आइए, एक अलग सेवा खाता बनाते हैं. यह खाता, Toolbox सेवा के लिए पहचान के तौर पर काम करेगा. इस सेवा को Google Cloud Run पर डिप्लॉय किया जाएगा.
gcloud iam service-accounts create toolbox-identity
- हम यह भी पक्का कर रहे हैं कि इस सेवा खाते के पास सही भूमिकाएं हों. जैसे, Secret Manager को ऐक्सेस करने और AlloyDB से कम्यूनिकेट करने की क्षमता
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
--role roles/secretmanager.secretAccessor
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
--role roles/alloydb.client
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member serviceAccount:toolbox-identity@$PROJECT_ID.iam.gserviceaccount.com \
--role roles/serviceusage.serviceUsageConsumer
- हम tools.yaml फ़ाइल को सीक्रेट के तौर पर अपलोड करेंगे:
gcloud secrets create tools --data-file=tools.yaml
अगर आपके पास पहले से कोई सीक्रेट है और आपको सीक्रेट के वर्शन को अपडेट करना है, तो यह तरीका अपनाएं:
gcloud secrets versions add tools --data-file=tools.yaml
उस कंटेनर इमेज के लिए एनवायरमेंट वैरिएबल सेट करें जिसका इस्तेमाल Cloud Run के लिए करना है:
export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest
- Cloud Run पर डिप्लॉय करने के लिए, यहां दिए गए कमांड का इस्तेमाल करें. यह कमांड, डिप्लॉयमेंट के लिए इस्तेमाल की जाने वाली सामान्य कमांड का आखिरी चरण है:
gcloud run deploy toolbox \
--image $IMAGE \
--service-account toolbox-identity \
--region us-central1 \
--set-secrets "/app/tools.yaml=tools:latest" \
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \
--allow-unauthenticated
इससे, कॉन्फ़िगर किए गए tools.yaml के साथ Toolbox Server को Cloud Run पर डिप्लॉय करने की प्रोसेस शुरू हो जाएगी. डेटा सोर्स को सही तरीके से डिप्लॉय करने के बाद, आपको इस तरह का मैसेज दिखेगा:
Deploying container to Cloud Run service [toolbox] in project [YOUR_PROJECT_ID] region [us-central1]
OK Deploying new service... Done.
OK Creating Revision...
OK Routing traffic...
OK Setting IAM Policy...
Done.
Service [toolbox] revision [toolbox-00001-zsk] has been deployed and is serving 100 percent of traffic.
Service URL: https://toolbox-<SOME_ID>.us-central1.run.app
अब आपके पास, अपने एजेंटिक ऐप्लिकेशन में नए टूल का इस्तेमाल करने का विकल्प उपलब्ध है!!!
टूलबॉक्स टूल को अपने एजेंट से कनेक्ट करते हैं!!!
हमने अपने एजेंट ऐप्लिकेशन के लिए सोर्स पहले ही बना लिया है. आइए, इसे अपडेट करके इसमें डेटाबेस के लिए नया एमसीपी टूलबॉक्स टूल शामिल करें. हमने इसे अभी-अभी Cloud Run में डिप्लॉय किया है.
- रेपो से सोर्स के साथ, अपनी requirements.txt फ़ाइल देखें:
हम requirements.txt में, डेटाबेस के लिए एमसीपी टूलबॉक्स की डिपेंडेंसी शामिल कर रहे हैं
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/requirements.txt
- रिपो से मिले कोड की मदद से, अपनी agent.py फ़ाइल देखें:
हम उस टूल को शामिल कर रहे हैं जो टूलबॉक्स एंडपॉइंट को कॉल करता है, ताकि ऑर्डर किए गए किसी खास सामान का डेटा फ़ेच किया जा सके.
https://github.com/AbiramiSukumaran/renovation-agent-adk-mcp-toolbox/blob/main/agent.py
9. मॉडल सेटअप
आपका एजेंट, लार्ज लैंग्वेज मॉडल (एलएलएम) की मदद से, उपयोगकर्ता के अनुरोधों को समझता है और जवाब जनरेट करता है. आपके एजेंट को इस बाहरी एलएलएम सेवा पर सुरक्षित कॉल करने होंगे. इसके लिए, पुष्टि करने वाले क्रेडेंशियल की ज़रूरत होती है. पुष्टि किए बिना, एलएलएम सेवा एजेंट के अनुरोधों को अस्वीकार कर देगी. साथ ही, एजेंट काम नहीं कर पाएगा.
- Google AI Studio से एपीआई पासकोड पाएं.
- अगले चरण में, .env फ़ाइल सेट अप करते समय,
<<your API KEY>>को अपनी एपीआई कुंजी की असल वैल्यू से बदलें.
10. ENV वैरिएबल सेटअप करना
- .env फ़ाइल में मौजूद पैरामीटर के लिए वैल्यू सेट अप करें. मेरे मामले में, .env में ये वैरिएबल हैं:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=<<your API KEY>>
GOOGLE_CLOUD_LOCATION=us-central1 <<or your region>>
GOOGLE_CLOUD_PROJECT=<<your project id>>
PROJECT_ID=<<your project id>>
GOOGLE_CLOUD_REGION=us-central1 <<or your region>>
प्लेसहोल्डर को अपनी वैल्यू से बदलें.
11. अपना एजेंट चलाना
- टर्मिनल का इस्तेमाल करके, अपने एजेंट प्रोजेक्ट की पैरंट डायरेक्ट्री पर जाएं:
cd renovation-agent
- डिपेंडेंसी इंस्टॉल करें:
pip install -r requirements.txt
- एजेंट को चलाने के लिए, Cloud Shell टर्मिनल में यह कमांड चलाएं:
adk run .
- ADK के वेब यूज़र इंटरफ़ेस (यूआई) में इसे चलाने के लिए, यह कमांड चलाएं:
adk web
- इन प्रॉम्प्ट का इस्तेमाल करके टेस्ट करें:
user>>
Hello. Check order status for Cement Bags.
12. नतीजा

13. व्यवस्थित करें
इस पोस्ट में इस्तेमाल की गई संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, यह तरीका अपनाएं:
- Google Cloud Console में, संसाधन मैनेज करें पेज पर जाएं.
- प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे आपको मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
- डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए बंद करें पर क्लिक करें.
14. बधाई हो
बधाई हो! आपने ADK और MCP टूलबॉक्स फ़ॉर डेटाबेस का इस्तेमाल करके, एक से ज़्यादा एजेंट वाला ऐप्लिकेशन बना लिया है! ज़्यादा जानकारी के लिए, प्रॉडक्ट के दस्तावेज़ देखें: Agent Development Kit और MCP Toolbox for Databases.