১. ভূমিকা
ফিটনেস কমিউনিটিগুলোর জন্য একটি ফুল-স্ট্যাক ইভেন্ট ম্যানেজমেন্ট প্ল্যাটফর্ম, অলস্ট্রাইডস-এর সাথে পরিচিত হোন। ফিচারে সমৃদ্ধ হওয়া সত্ত্বেও, এর বর্তমান অবস্থা শুধুমাত্র স্থানীয়। এটি একটি স্থানীয় SQLite ডেটাবেস এবং ম্যানুয়াল Node.js এক্সিকিউশনের উপর নির্ভর করে। কমিউনিটির প্রসারের জন্য অলস্ট্রাইডস-এর গুগল ক্লাউডের স্কেল, নির্ভরযোগ্যতা এবং নিরাপত্তা প্রয়োজন।
এই কোডল্যাবে, আপনি কোনো গতানুগতিক মাইগ্রেশন করবেন না। এর পরিবর্তে, আপনি একজন প্রোডাক্ট আর্কিটেক্ট হিসেবে কাজ করবেন এবং আপনার এজেন্টিক পার্টনার হিসেবে জেমিনি সিএলআই (Gemini CLI) ব্যবহার করবেন। জেমিনিকে তিনটি গুগল ক্লাউড মডেল কনটেক্সট প্রোটোকল (MCP) সার্ভার দিয়ে সজ্জিত করার মাধ্যমে, আপনি এআই-কে গুগল ক্লাউড পরিষেবাগুলোর সাথে সরাসরি যোগাযোগ ও মিথস্ক্রিয়া করার সুযোগ দেবেন। আপনি অলস্ট্রাইডস অ্যাপের জন্য সেরা গুগল ক্লাউড ডেটাবেসটি শনাক্ত করতে ডেভেলপার নলেজ এমসিপি (Developer Knowledge MCP) ব্যবহার করে কাজ শুরু করবেন। এরপর, আপনি ক্লাউড এসকিউএল এমসিপি (Cloud SQL MCP) ব্যবহার করে একটি ডেটাবেস ইনস্ট্যান্স প্রোভিশন করবেন এবং একটিমাত্র প্রম্পটের মাধ্যমে আপনার স্থানীয় কমিউনিটির ডেটা ক্লাউডে স্থানান্তর করবেন। সবশেষে, আপনি ক্লাউড রান এমসিপি (Cloud Run MCP) ব্যবহার করে অ্যাপ্লিকেশনটিকে কন্টেইনারাইজ করবেন, যার ফলে অলস্ট্রাইডস লাইভ এবং বিশ্বব্যাপী অ্যাক্সেসযোগ্য হয়ে উঠবে।

পূর্বশর্ত
- গুগল ক্লাউড কনসোল সম্পর্কে প্রাথমিক ধারণা
- কমান্ড লাইন ইন্টারফেস এবং ক্লাউড শেলে প্রাথমিক দক্ষতা
আপনি যা শিখবেন
- Google Cloud MCP-এর সাথে কাজ করার জন্য Gemini CLI কীভাবে স্থাপন ও কনফিগার করবেন
- ডেভেলপমেন্ট নলেজ এমসিপি সার্ভার কীভাবে ব্যবহার করবেন
- ক্লাউডে ডেটা স্থানান্তরের জন্য কীভাবে ক্লাউড এসকিউএল গুগল ক্লাউড এমসিপি সার্ভার ব্যবহার করবেন
- ক্লাউডে অ্যাপ্লিকেশন ডেপ্লয় করতে ক্লাউড রান গুগল ক্লাউড এমসিপি সার্ভার কীভাবে ব্যবহার করবেন
- গুগল ক্লাউড শেলে জেমিনি সিএলআই কীভাবে ব্যবহার করবেন
আপনার যা যা লাগবে
- একটি গুগল ক্লাউড অ্যাকাউন্ট এবং গুগল ক্লাউড প্রজেক্ট
- ক্রোমের মতো একটি ওয়েব ব্রাউজার যা গুগল ক্লাউড কনসোল এবং ক্লাউড শেল সমর্থন করে।
২. সেটআপ এবং প্রয়োজনীয়তা
প্রজেক্ট সেটআপ
- Google Cloud Console- এ সাইন-ইন করুন। যদি আপনার আগে থেকে Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তবে আপনাকে একটি তৈরি করতে হবে।
কর্মক্ষেত্র বা শিক্ষা প্রতিষ্ঠানের অ্যাকাউন্টের পরিবর্তে ব্যক্তিগত অ্যাকাউন্ট ব্যবহার করুন।
- একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। গুগল ক্লাউড কনসোলে একটি নতুন প্রজেক্ট তৈরি করতে, হেডারে থাকা 'Select a project' বোতামটিতে ক্লিক করুন, যা একটি পপ-আপ উইন্ডো খুলবে।

'Select a project' উইন্ডোতে 'New Project' বোতামটি চাপুন, যা নতুন প্রজেক্টের জন্য একটি ডায়ালগ বক্স খুলবে।

ডায়ালগ বক্সে আপনার পছন্দের প্রজেক্টের নাম দিন এবং অবস্থান নির্বাচন করুন।

- প্রজেক্টের নামটি এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শিত নাম। প্রজেক্টের নামটি গুগল এপিআই দ্বারা ব্যবহৃত হয় না এবং এটি যেকোনো সময় পরিবর্তন করা যেতে পারে।
- প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। গুগল ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য আইডি তৈরি করে, কিন্তু আপনি এটি কাস্টমাইজ করতে পারেন। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন অথবা সেটির প্রাপ্যতা যাচাই করার জন্য আপনার নিজের আইডি দিতে পারেন। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে, যা সাধারণত PROJECT_ID নামক প্লেসহোল্ডার দ্বারা চিহ্নিত করা হয়।
- আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
বিলিং সক্ষম করুন
একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট তৈরি করুন
আপনি যদি গুগল ক্লাউড ক্রেডিট ব্যবহার করে বিলিং সেট আপ করেন, তাহলে এই ধাপটি এড়িয়ে যেতে পারেন।
- এই লিঙ্কে ক্লিক করুন এবং আপনার ব্যক্তিগত গুগল অ্যাকাউন্ট দিয়ে সাইন ইন করুন।
- আপনি এইরকম কিছু দেখতে পাবেন:

- ‘আপনার ক্রেডিট অ্যাক্সেস করতে এখানে ক্লিক করুন ’ বোতামটিতে ক্লিক করুন। এটি আপনাকে আপনার বিলিং প্রোফাইল সেট আপ করার একটি পৃষ্ঠায় নিয়ে যাবে। যদি আপনার সামনে একটি ফ্রি ট্রায়াল সাইন আপ স্ক্রিন আসে, তাহলে বাতিল করুন এবং বিলিং লিঙ্ক করতে এগিয়ে যান।

- নিশ্চিত করুন-এ ক্লিক করুন। আপনি এখন একটি গুগল ক্লাউড প্ল্যাটফর্ম ট্রায়াল বিলিং অ্যাকাউন্টের সাথে সংযুক্ত হয়েছেন।

একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট তৈরি করুন
আপনি যদি গুগল ক্লাউড ক্রেডিট ব্যবহার করে বিলিং সেট আপ করেন, তাহলে এই ধাপটি এড়িয়ে যেতে পারেন।
একটি ব্যক্তিগত বিলিং অ্যাকাউন্ট তৈরি করতে, ক্লাউড কনসোলে বিলিং চালু করার জন্য এখানে যান ।
কিছু নোট:
- এই ল্যাবটি সম্পন্ন করতে ক্লাউড রিসোর্সে ৩ মার্কিন ডলারের কম খরচ হওয়া উচিত।
- পরবর্তী চার্জ এড়াতে, এই ল্যাবের শেষে দেওয়া ধাপগুলো অনুসরণ করে আপনি রিসোর্সগুলো মুছে ফেলতে পারেন।
- নতুন ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়ালের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।
গুগল ক্লাউড কনসোল থেকে, উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনটিতে ক্লিক করুন:

বিকল্পভাবে আপনি প্রথমে G এবং তারপর S চাপতে পারেন। আপনি যদি গুগল ক্লাউড কনসোলের মধ্যে থাকেন, তাহলে এই ক্রমটি ক্লাউড শেল সক্রিয় করবে অথবা এই লিঙ্কটি ব্যবহার করুন।
পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারের মধ্যেই করা যাবে। আপনাকে কিছুই ইনস্টল করতে হবে না।
৩. শুরু করার আগে
বেসিক এপিআই সক্রিয় করুন
ক্লাউড রান- এ আপনার অ্যাপ্লিকেশন তৈরি ও স্থাপন করার জন্য ক্লাউড এসকিউএল (Cloud SQL) এবং অন্যান্য পরিচালিত ডেটাবেস পরিষেবা ব্যবহার করতে, আপনাকে আপনার গুগল ক্লাউড প্রকল্পে তাদের নিজ নিজ এপিআই (API) সক্রিয় করতে হবে।
আপনার পদ্ধতির উপর নির্ভর করে, আপনি চাইলে এই ধাপটি এড়িয়ে যেতে পারেন এবং পরে Gemini CLI-কে সমস্ত প্রয়োজনীয় API সক্রিয় করতে দিতে পারেন, কিন্তু সেক্ষেত্রে কার্য সম্পাদনের সময় আপনি কিছু বিলম্ব এবং পুনরাবৃত্তিমূলক ধাপের সম্মুখীন হতে পারেন।
ক্লাউড শেল টার্মিনালের ভিতরে, নিশ্চিত করুন যে আপনার প্রজেক্ট আইডি সেটআপ করা আছে:
gcloud config set project [YOUR-PROJECT-ID]
PROJECT_ID এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:
PROJECT_ID=$(gcloud config get-value project)
সকল প্রয়োজনীয় পরিষেবা সক্রিয় করুন:
gcloud services enable sqladmin.googleapis.com \
aiplatform.googleapis.com \
secretmanager.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
run.googleapis.com \
containerregistry.googleapis.com
প্রত্যাশিত আউটপুট:
student@cloudshell:~ (test-project-001-402417)$ PROJECT_ID=$(gcloud config get-value project)
Your active configuration is: [cloudshell-14650]
student@cloudshell:~ (test-project-001-402417)$
student@cloudshell:~ (test-project-001-402417)$ gcloud services enable sqladmin.googleapis.com \
aiplatform.googleapis.com \
secretmanager.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
run.googleapis.com \
containerregistry.googleapis.com
Operation "operations/acat.p2-812263612774-c2dbeef3-c4c1-4a7d-a4b2-b5380be65044" finished successfully.
সার্ভিস অ্যাকাউন্টে অনুমতি প্রদান করুন
অ্যাপ্লিকেশন ইমেজ তৈরি ও সংরক্ষণ করতে হলে, ডিফল্ট কম্পিউট সার্ভিস অ্যাকাউন্টকে স্টোরেজ অ্যাডমিন অনুমতি প্রদান করতে হবে।
PROJECT_ID=$(gcloud config get-value project)
gcloud projects add-iam-policy-binding $PROJECT_ID --member=serviceAccount:$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")-compute@developer.gserviceaccount.com --role=roles/storage.admin
Google MCP পরিষেবাগুলি সক্রিয় করুন
একটি প্রোজেক্টের প্রতিটি সার্ভিসের জন্য গুগল ক্লাউড এমসিপি সার্ভিসগুলো স্পষ্টভাবে সক্রিয় করতে হবে। এগুলো ডিফল্টরূপে নিষ্ক্রিয় থাকে এবং এটি প্রোজেক্ট ও সার্ভিস পর্যায়ে এপিআই অ্যাক্সেস নিয়ন্ত্রণ করতে সহায়তা করে।
চলুন ডেভেলপার নলেজ এমসিপি সার্ভিস দিয়ে শুরু করা যাক। ডেভেলপার নলেজ এপিআই এবং গুগল এমসিপি সার্ভিস চালু করতে, আপনাকে নিম্নলিখিত gcloud কমান্ডগুলো চালাতে হবে।
PROJECT_ID=$(gcloud config get-value project)
gcloud beta services mcp enable developerknowledge.googleapis.com --project=$PROJECT_ID
যখন API এবং Google MCP for Developer Knowledge সক্রিয় করা হবে, তখন আপনি Google Cloud MCP service for Cloud SQL-এর জন্যও একই কাজ করতে পারেন।
gcloud beta services mcp enable sqladmin.googleapis.com --project=$PROJECT_ID
ডাটাবেসের জন্য সমস্ত গুগল ক্লাউড এমসিপি-র মতোই, এমসিপি-র অ্যাক্সেস এবং পারমিশনগুলো পর্যায়ক্রমে সাজানো থাকে, যা প্রোজেক্ট লেভেলে সরাসরি এপিআই-তে সুনির্দিষ্ট অ্যাক্সেস প্রদান করে এবং শুধুমাত্র সার্ভিস ইউসেজ অ্যাডমিন (roles/serviceusage.serviceUsageAdmin) রোল থাকা কোনো প্রিন্সিপাল (ইউজার বা সার্ভিস অ্যাকাউন্ট) তা করতে পারে।
এবং শুধুমাত্র MCP টুল ইউজার (roles/mcp.toolUser) রোল থাকা প্রিন্সিপালরাই গুগল ক্লাউড MCP API-তে কল করতে পারেন।
উদাহরণস্বরূপ, যদি আপনার ক্লাউড এসকিউএল অ্যাডমিন (roles/cloudsql.admin) রোল না থাকে, তাহলে আপনি প্রজেক্টে কোনো ইনস্ট্যান্স তৈরি, ক্লোন বা আপডেট করতে পারবেন না।
প্রয়োজনীয় ভূমিকা ও অনুমতিগুলো সম্পর্কে আপনি ডকুমেন্টেশনে আরও পড়তে পারেন।
যেমনটি আমরা দেখতে পাচ্ছি, পর্যায়ক্রমিক এবং সূক্ষ্ম অনুমোদন ব্যবস্থাটি গুগল ক্লাউড এমসিপি এন্ডপয়েন্ট সক্রিয় থাকা অবস্থাতেও আমাদেরকে অননুমোদিত আক্রমণ থেকে রক্ষা করে, যা এটিকে আমাদের প্রোডাকশনের জন্য যথেষ্ট নিরাপদ করে তোলে।
পরবর্তী যে গুগল ক্লাউড এমসিপিটি আমরা সক্রিয় করতে যাচ্ছি, তা হলো ক্লাউড রান পরিষেবার জন্য। ক্লাউড রান গুগল ক্লাউড এমসিপি সক্রিয়করণ এবং অ্যাক্সেসের পদ্ধতিটি ক্লাউড এসকিউএল গুগল ক্লাউড এমসিপি-র মতোই।
নিম্নলিখিত কমান্ডের সাহায্যে ক্লাউড রান এমসিপি পরিষেবাটি সক্রিয় করুন।
gcloud beta services mcp enable run.googleapis.com --project=$PROJECT_ID
অবশেষে আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করে আমাদের প্রোজেক্টে সমস্ত গুগল ক্লাউড এমসিপি সক্রিয় আছে কিনা তা যাচাই করতে পারি।
gcloud beta services mcp list --project=$PROJECT_ID
প্রত্যাশিত আউটপুট:
student@cloudshell:~ (test-project-001-402417)$ gcloud beta services mcp list --project=$PROJECT_ID NAME: services/developerknowledge.googleapis.com MCP_ENDPOINT: developerknowledge.googleapis.com NAME: services/run.googleapis.com MCP_ENDPOINT: run.googleapis.com/mcp NAME: services/sqladmin.googleapis.com MCP_ENDPOINT: sqladmin.googleapis.com/mcp
এখন যখন আমাদের সমস্ত API এবং পরিষেবাগুলি সক্রিয় করা হয়ে গেছে, তখন আমাদের Gemini CLI কনফিগার করতে হবে।
৪. জেমিনি সিএলআই কনফিগার করুন
ল্যাবটি বেশিরভাগ কাজ সম্পাদনের জন্য প্রধান এজেন্ট হিসেবে Gemini CLI ব্যবহার করার উদ্দেশ্যে ডিজাইন করা হয়েছে এবং এর প্রথম ধাপ হলো এটিকে Google Cloud MCP পরিষেবাগুলোর সাথে কাজ করার জন্য কনফিগার করা। এছাড়াও, Gemini CLI-এর সর্বশেষ সংস্করণ এবং Gemini-এর সর্বশেষ সংস্করণ, যেমন Gemini-3.1-pro বা Gemini-3-flash (যা বর্তমানে প্রিভিউ পর্যায়ে রয়েছে), ব্যবহার করার জন্য বিশেষভাবে সুপারিশ করা হচ্ছে।
আপনার কাছে যদি ইতিমধ্যেই Gemini CLI-এর সর্বশেষ সংস্করণ থাকে এবং আপনি এটিকে সর্বশেষ Gemini মডেলগুলো ব্যবহারের জন্য কনফিগার করে থাকেন, তাহলে আপনি পরবর্তী ২টি ধাপ বাদ দিয়ে সরাসরি ধাপ ৩-এ যেতে পারেন।
১. একটি জেমিনি এপিআই কী সংগ্রহ করুন
আপনার Gemini CLI-তে সর্বশেষ Gemini মডেলগুলি ব্যবহার করার জন্য, এটিকে একটি API কী অথেনটিকেশন দিয়ে কনফিগার করতে হবে। আমরা Google AI Studio থেকে API কী পেতে পারি।
- আপনার ব্রাউজারে Google AI Studio -> Get API key- তে যান।
- স্ক্রিনের ডানদিকে থাকা
Create API keyবাটনে ক্লিক করুন। - পপ-আপ উইন্ডোতে আপনার প্রজেক্টটি বেছে নিন অথবা সেখানে দেখা না গেলে ইম্পোর্ট করুন।

- এপিআই কী তৈরি করুন।
- আপনি ডান পাশের কপি বাটনটি ব্যবহার করে কী-টি কপি করতে পারেন।

চাবিটি প্রস্তুত এবং এখন আমরা এটি জেমিনি সিএলআই-এর জন্য ব্যবহার করতে পারি।
২. জেমিনি সিএলআই কনফিগার করুন
Gemini CLI সেটিংস কনফিগারেশন ফাইলের মাধ্যমে অথবা /settings কমান্ড ব্যবহার করে ইন্টারেক্টিভভাবে কনফিগার করা যায়। আমরা চাই আমাদের সেটিংসগুলো সেটিংস ফাইলে সংরক্ষিত থাকুক।
প্রথমে আমরা আমাদের প্রোজেক্টের জন্য একটি ডিরেক্টরি তৈরি করব। ডিরেক্টরিটির নাম projectmcp রাখি এবং নিচের কমান্ডগুলো ব্যবহার করে সেই ডিরেক্টরিতে প্রবেশ করি।
mkdir ~/projectmcp
cd ~/projectmcp
এই ডিরেক্টরিতে আমরা জেমিনি কনফিগারেশন ফাইলের জন্য একটি ডিরেক্টরি তৈরি করব এবং আমাদের সমস্ত কমান্ড চালাব। জেমিনি সিএলআই ডিফল্টরূপে ~/.gemini ডিরেক্টরিতে ইনস্টল করা একটি ইউজার স্কোপ কনফিগারেশন ফাইল এবং এক্সটেনশন ব্যবহার করে। কিন্তু আমরা আমাদের ~/projectmcp ডিরেক্টরিতে নিজস্ব প্রজেক্ট স্কোপ কনফিগারেশন তৈরি করতে যাচ্ছি। চলুন কনফিগারেশন ডিরেক্টরি এবং ফাইলগুলো তৈরি করা থেকে শুরু করা যাক।
mkdir ~/projectmcp/.gemini
touch ~/projectmcp/.gemini/settings.json
এরপর আমরা ক্লাউড শেল এডিটর ব্যবহার করে ~/projectmcp/.gemini/settings.json ফাইলটি খুলব।
edit ~/projectmcp/.gemini/settings.json
খোলা এডিটর উইন্ডোতে নিম্নলিখিত কনফিগারেশনটি যোগ করুন।
{
"general": {
"preferredEditor": "vscode",
"previewFeatures": true,
"sessionRetention": {
"enabled": true
}
},
"ide": {
"enabled": true,
"hasSeenNudge": true
},
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"ui": {
"theme": "Default"
},
"tools": {
"shell": {
"enableInteractiveShell": false
}
}
}
ফাইলটি সম্পাদনা করার পর, আপনার পরিবর্তনগুলো সংরক্ষণ করতে ctrl+s ব্যবহার করতে পারেন এবং Open Terminal বোতামে ক্লিক করে টার্মিনালে ফিরে যেতে পারেন।

উপরের settings.json ফাইলটি আপনার Gemini CLI অথেনটিকেশন টাইপকে gemini-api-key হিসেবে সেট করে এবং আপনাকে মডেলে এই কী-টি প্রদান করতে হবে। আপনি যে ডিরেক্টরিতে Gemini CLI নিয়ে কাজ করতে চান, সেখানে একটি .env ফাইল তৈরি করে এবং আপনার Gemini CLI অথেনটিকেশনের জন্য API কী-টিকে একটি এনভায়রনমেন্ট ভ্যারিয়েবল হিসেবে সংরক্ষণ করে এটি করতে পারেন, যা IDE চালু করার সময় স্বয়ংক্রিয়ভাবে ব্যবহৃত হবে।
চলুন ক্লাউড শেল এডিটর ব্যবহার করে ফাইলটি সম্পাদনা করি।
edit ~/projectmcp/.env
এবং ধাপ ১-এ তৈরি করা আপনার API কী-টি সংরক্ষণ করুন।
GEMINI_API_KEY= <YOUR_API_KEY>
এখন আপনি টার্মিনালে ফিরে গিয়ে চালিয়ে যেতে পারেন। পরবর্তী ধাপ হলো আপনার Gemini CLI-কে সর্বশেষ সংস্করণে আপডেট করা। Google Cloud Shell বা আপনার পরিবেশে থাকা সংস্করণটি পুরোনো হতে পারে এবং সর্বশেষ কনফিগারেশন ও MCP পরিষেবাগুলির সাথে সঠিকভাবে কাজ নাও করতে পারে। তাই Gemini CLI-কে সর্বশেষ সংস্করণে আপডেট করে চালু করা গুরুত্বপূর্ণ। টার্মিনালে নিম্নলিখিত কমান্ডটি চালান। অনুগ্রহ করে মনে রাখবেন, এটি সম্পন্ন হতে কয়েক মিনিট সময় লাগতে পারে।
cd ~/projectmcp/
npm install -g @google/gemini-cli@latest
এখন আপনি সংস্করণটি যাচাই করতে পারেন। অনুগ্রহ করে মনে রাখবেন যে, আপনি যদি গুগল ক্লাউড শেলে কাজ করেন, তবে প্রতিবার শেলটি রিস্টার্ট করার পর এটি পূর্ববর্তী সংস্করণে ফিরে যেতে পারে। জেমিনি সিএলআই-তে আপনি যে পরিবর্তনগুলো করেন, সেগুলো ক্লাউড শেলে স্থায়ী নয়।
gemini --version
এটিতে সর্বশেষ Gemini CLI সংস্করণটি দেখানো উচিত (এই ল্যাবটি লেখার সময় সংস্করণ ০.২৭)। আপনি এখানে সর্বশেষ Gemini CLI সংস্করণটি যাচাই করতে পারেন। এবং এখন আমরা এটি চালু করে নিশ্চিত করতে পারি যে এটি সর্বশেষ Gemini মডেলটি ব্যবহার করছে। Gemini CLI চালু করতে আপনার প্রজেক্ট ফোল্ডারে নিম্নলিখিত কমান্ডটি চালান।
gemini
এবং যখন Gemini CLI চালু হবে, আপনি ইন্টারফেসে /about কমান্ডটি চালিয়ে ভার্সন এবং মডেল চেক করতে পারবেন। আপনি নিচের ছবির মতো কিছু দেখতে পাবেন।

দেখা যাচ্ছে, এতে সর্বশেষ জেমিনি-৩ মডেলটি ব্যবহার করা হচ্ছে।
২. Gemini CLI-তে MCP সার্ভারগুলি কনফিগার করুন
এখন আমাদের সমস্ত সক্রিয় করা MCP সার্ভারগুলো যুক্ত করার সময় এসেছে। Gemini CLI-তে এগুলো সক্রিয় করার দুটি উপায় আছে - এক্সটেনশনের মাধ্যমে অথবা সরাসরি সেটিংসে। এই ল্যাবে, আপনি আপনার প্রোজেক্ট স্কোপের setting.json ফাইলটি ব্যবহার করবেন এবং সেখানে MCP সার্ভারগুলোর অথেনটিকেশন বিবরণ যুক্ত করবেন।
- ডেভেলপার নলেজ এমসিপি সার্ভারের এন্ডপয়েন্টে অনুমোদিত হওয়ার জন্য আপনাকে একটি এপিআই কী তৈরি করতে হবে।
ধাপগুলো হলো:
- যে প্রজেক্টে আপনি API সক্রিয় করেছেন, সেটির Google Cloud কনসোলে Credentials পৃষ্ঠায় যান।
- Create credentials-এ ক্লিক করুন, এবং তারপর মেনু থেকে API key নির্বাচন করুন। API key created ডায়ালগ বক্সে আপনার নতুন তৈরি করা কী-টির স্ট্রিংটি প্রদর্শিত হবে।
- ডায়ালগ বক্সে থাকা
Edit API keyলিঙ্কে ক্লিক করুন। -
Nameফিল্ডে কী-টির জন্য একটি নাম দিন। উদাহরণস্বরূপ,DK API Key। - API বিধিনিষেধের অধীনে,
Restrict keyনির্বাচন করুন। - সিলেক্ট এপিআই (Select APIs) তালিকা থেকে,
Developer Knowledge APIসক্রিয় করুন এবং ওকে (OK) ক্লিক করুন। - সংরক্ষণ করুন-এ ক্লিক করুন।

এখন যদি আপনার চাবিটি ব্যবহার করার প্রয়োজন হয়, তাহলে আপনি পৃষ্ঠাটিতে গিয়ে ডানদিকে থাকা ‘Show key’-তে ক্লিক করতে পারেন।

এখন আপনাকে সেই কী-টি কনফিগারেশনে সংরক্ষণ করতে হবে। আমাদের settings.json ফাইলের MCP অংশটি দেখতে এইরকম হবে (আপনাকে সেখানে আপনার DK API কী-এর জন্য একটি ভ্যালু দিতে হবে)। শুধুমাত্র DK API যোগ করা হলে settings.json ফাইলের MCP অংশটি কেমন দেখায়, তার একটি উদাহরণ এখানে দেওয়া হলো। ল্যাবের পরবর্তী অংশে, সমস্ত MCP সার্ভার একসাথে থাকলে settings.json ফাইলটি কেমন হওয়া উচিত, সেটাও আপনি দেখতে পাবেন।
"mcpServers": {
"DeveloperKnowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "<Your DK API Key>"
}
}
},
- এরপর, আপনি আমাদের ক্লাউড এসকিউএল এমসিপি সার্ভারের জন্য কনফিগারেশন যোগ করতে পারেন। ক্লাউড এসকিউএল এমসিপি-এর জন্য, আপনি এপিআই-এর পরিবর্তে আপনার গুগল ক্রেডেনশিয়াল ব্যবহার করবেন। এটি আরও সুরক্ষিত এবং একজন ব্যবহারকারীর জন্য অনুমোদিত ভূমিকা ও কাজের পরিধি নির্ধারণ করার সুযোগ দেয়। এখানে এমসিপি সার্ভারের কনফিগারেশন দেওয়া হলো। অনুগ্রহ করে "<YOUR_GCP_PROJECT>"-এর জায়গায় আপনার নিজের প্রজেক্ট আইডি বসিয়ে দিন।
"Cloud SQL MCP Server": {
"httpUrl": "https://sqladmin.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 500000,
"trust": false,
"headers": {
"X-Goog-User-Project": "<YOUR_GCP_PROJECT>"
}
},
- json ফাইলের এই পরবর্তী অংশে ক্লাউড রান এমসিপি সার্ভারের কনফিগারেশন রয়েছে। এটি উপরের উদাহরণের মতোই একই প্যাটার্ন অনুসরণ করছে এবং অথেনটিকেশন ও অথরাইজেশনের জন্য গুগল ক্রেডেনশিয়াল ব্যবহার করছে। নিচে নমুনা কনফিগারেশনটি দেওয়া হলো।
"CloudRun": {
"httpUrl": "https://run.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
এই সবগুলোই ~/projectmcp/.gemini/settings.json ফাইলে যোগ করতে হবে।
ক্লাউড শেল এডিটর ব্যবহার করে ~/projectmcp/.gemini/settings.json ফাইলটি খুলুন।
edit ~/projectmcp/.gemini/settings.json
এবং নিম্নলিখিত কনফিগারেশন দ্বারা বিষয়বস্তুগুলি প্রতিস্থাপন করুন। অনুগ্রহ করে আপনার পরিবেশ অনুযায়ী "X-Goog-Api-Key" এবং "X-Goog-User-Project" ফিল্ডগুলিতে আপনার API কী এবং প্রজেক্ট আইডি দিন ।
{
"general": {
"preferredEditor": "vscode",
"previewFeatures": true,
"sessionRetention": {
"enabled": true
}
},
"ide": {
"enabled": true,
"hasSeenNudge": true
},
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
},
"mcpServers": {
"DeveloperKnowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "<Your DK API Key>"
}
},
"Cloud SQL MCP Server": {
"httpUrl": "https://sqladmin.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 500000,
"trust": false,
"headers": {
"X-Goog-User-Project": "<YOUR_GCP_PROJECT>"
}
},
"CloudRun": {
"httpUrl": "https://run.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"ui": {
"theme": "Default"
},
"tools": {
"shell": {
"enableInteractiveShell": false
}
}
}
এখন আমরা Gemini CLI চালু করে সেখানে আমাদের সমস্ত MCP সার্ভার সক্রিয় দেখতে পাব।
cd ~/projectmcp/
gemini
Gemini CLI চালু করার পর, আপনি /mcp কমান্ডটি চালিয়ে সমস্ত চালু ও সক্রিয় MCP সার্ভারগুলো দেখতে পারেন।

৫. আবেদনপত্র প্রস্তুত করা
নিম্নলিখিত উদাহরণে, আপনি আপনার নমুনা স্থানীয় অ্যাপ্লিকেশনটি গুগল ক্লাউডে স্থানান্তর করার চেষ্টা করবেন। প্রথমে আমরা অ্যাপ্লিকেশনটি স্থানীয়ভাবে ইনস্টল করে পরীক্ষা করে দেখব।
১. সোর্স কোড ক্লোন করুন
আমাদের গিটহাব রিপোজিটরি থেকে অ্যাপ্লিকেশনটি ক্লোন করতে হবে। ক্লাউড শেল অথবা আপনার লোকাল টার্মিনালে প্রজেক্ট ফোল্ডারে গিয়ে কমান্ডটি চালান।
cd ~/projectmcp
git clone --no-checkout --filter=blob:none --depth=1 https://github.com/google/mcp.git
cd mcp
git sparse-checkout set examples/allstrides
git checkout
cd examples/allstrides
২. অ্যাপ্লিকেশনটি স্থানীয়ভাবে চালু করুন
চলুন অ্যাপ্লিকেশনটি পরীক্ষা করে কিছু নমুনা ডেটা লোড করি।
একই শেলে অ্যাপ্লিকেশন ফোল্ডারে থাকা অবস্থায় start_allstrides.sh স্ক্রিপ্টটি ব্যবহার করে অ্যাপ্লিকেশনটি চালু করুন।
./start_allstrides.sh
৩. অ্যাপ্লিকেশনটি পরীক্ষা করুন
আপনি যদি ক্লাউড শেলে কাজ করেন, তাহলে ক্লাউড শেল উইন্ডোর উপরের Web preview বোতামটি চাপুন এবং Preview on port 8080 নির্বাচন করুন।

এটি অ্যাপ্লিকেশন ইন্টারফেস সহ একটি নতুন ব্রাউজার ট্যাব খুলবে, যেখানে আপনি উদাহরণস্বরূপ Events বোতামে ক্লিক করতে পারবেন।

এই মুহূর্তে আপনার কোনো ইভেন্ট নেই।
৪. নমুনা ডেটা লোড করুন
আপনি চাইলে অ্যাপ্লিকেশনটিতে নিবন্ধন করে নিজের ইভেন্ট, চ্যাট বার্তা এবং ব্যবহারকারী তৈরি করতে পারেন অথবা অ্যাপ্লিকেশনটির সাথে সরবরাহ করা নমুনা ডেটা ব্যবহার করতে পারেন।
উপরে থাকা "+" চিহ্নটি ব্যবহার করে আরেকটি ক্লাউড শেল ট্যাব খুলুন।

নতুন ক্লাউড শেল ট্যাবে অ্যাপ্লিকেশন ডিরেক্টরিতে যান এবং sqllite3 ইউটিলিটি ব্যবহার করে ইম্পোর্ট চালান:
cd ~/projectmcp/mcp/examples/allstrides
sqlite3 allstrides.db < seed_data.sql
আপনি অ্যাপ্লিকেশন পৃষ্ঠায় ফিরে গিয়ে আবার ইভেন্টস বোতামে ক্লিক করলে একাধিক ইভেন্ট দেখতে পাবেন।

আপনি চ্যাট পেজটিও পরীক্ষা করে দেখতে পারেন এবং সেখানে কিছু বার্তা দেখতে পারেন।
এখন আপনি exit টাইপ করে দ্বিতীয় ট্যাবটি বন্ধ করতে পারেন।
exit
এবং প্রথম ট্যাবে ctrl+c চেপে অ্যাপ্লিকেশনটি বন্ধ করুন।
৬. ডেভেলপারদের জ্ঞান পরীক্ষা (এমসিপি)
ডেভেলপার নলেজ এমসিপি আমাদেরকে আমাদের নিজস্ব টুলগুলো থেকে সরাসরি গুগল ডকুমেন্ট ব্যবহার করার সুযোগ দেয়, যার মাধ্যমে নির্দেশনা যাচাই করা, টিউটোরিয়াল তৈরি করা এবং অন্যান্য কাজ করা যায়, যা সর্বশেষ গুগল ডকুমেন্টেশন দ্বারা আরও সমৃদ্ধ করা যেতে পারে।
আপনার Gemini CLI চালু করুন এবং Developer Knowledge MCP সার্ভারে উপলব্ধ MCP টুলগুলির তালিকা দেখুন।
/mcp
ডেভেলপার নলেজ এমসিপি-এর জন্য আপনি তিনটি উপলব্ধ টুল দেখতে পাবেন:
প্রত্যাশিত আউটপুট:
🟢 DeveloperKnowledge - Ready (3 tools) Tools: - batch_get_documents - get_document - search_documents
আমাদের কাজ হলো অ্যাপ্লিকেশনটিকে গুগল ক্লাউডে স্থানান্তর করা এবং এর জন্য আমাদের লোকাল Sqlite ডাটাবেস থেকে আরও স্কেলেবল ও ক্লাউড নেটিভ সলিউশনে যেতে হবে। চলুন, আমাদের অ্যাপ্লিকেশন কোড বিশ্লেষণ করে ডাটাবেস সলিউশনের বিষয়ে পরামর্শ দেওয়ার জন্য জেমিনিকে বলি।
Gemini CLI প্রম্পটে নিম্নলিখিতটি টাইপ করুন:
Hello, I need to choose a database platform for my allstrides application in Google Cloud. Can you analyze documentation and prepare a tutorial to choose the correct database engine?
Gemini CLI প্রথমে আপনার কোড বিশ্লেষণ করা শুরু করবে এবং তারপর সেটি কার্যকর করতে বলবে।
প্রত্যাশিত আউটপুট
? search_documents (DeveloperKnowledge MCP Server) {"query":"choose google cloud database"} ← │
│ │
│ MCP Server: DeveloperKnowledge │
│ Tool: search_documents │
│ │
│ Allow execution of MCP tool "search_documents" from server "DeveloperKnowledge"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc)
আমরা দেখতে পাচ্ছি যে, টুলটি গুগল ডকুমেন্টেশনের উপর ভিত্তি করে প্রতিক্রিয়াটি দেওয়ার জন্য এমসিপি (MCP) ব্যবহার করছে। ডেভেলপার নলেজ এমসিপি (Developer Knowledge MCP) অনুরোধটি কার্যকর করার অনুমতি দিন। প্রতিক্রিয়া দেওয়ার আগে আরও তথ্য পাওয়ার জন্য এটি আপনাকে এক বা দুইবার অতিরিক্ত জিজ্ঞাসা করতে পারে। আপাতত আপনার অ্যাপ্লিকেশনে কোনো পরিবর্তনের অনুমতি দেবেন না।
শেষে একটি সারসংক্ষেপসহ টিউটোরিয়াল তৈরি করা হয়েছে, যেখানে ডাটাবেস ব্যাকএন্ডের জন্য ক্লাউড এসকিউএল ফর পোস্টগ্রেস-কে সেরা পছন্দ হিসেবে সংজ্ঞায়িত করা হয়েছে। জেনারেটিভ এআই মডেলগুলোর অনির্দিষ্ট প্রকৃতির কারণে আপনি কিছুটা ভিন্ন প্রতিক্রিয়া পেতে পারেন।
প্রত্যাশিত আউটপুট:
By switching to Cloud SQL for PostgreSQL, AllStrides gains a robust, scalable foundation suitable for production deployment on Google Cloud. The transition is straightforward due to the use of Sequelize ORM.
আমরা একটি ধাপে ধাপে ডেটা মাইগ্রেশন গাইড প্রস্তুত করতেও বলতে পারি। Gemini CLI-তে একটি নতুন প্রম্পট দিন:
I agree with the recommendation to use Cloud SQL for PostgreSQL as the new database for my application. Can you prepare a detailed migration tutorial based on Google documentation on how to move data from my local database to Cloud SQL in the cloud?
এবং এখানেও আমরা আশা করি যে, টিউটোরিয়ালটি প্রস্তুত করার সময় জেমিনি সিএলআই তথ্যের নির্ভরযোগ্য উৎস হিসেবে ডেভেলপার নলেজ এমসিপি (Developer Knowledge MCP) ব্যবহার করবে। সুনির্দিষ্ট মডেল এবং অন্যান্য কারণের উপর নির্ভর করে জেমিনি সিএলআই দ্বারা গৃহীত পদক্ষেপগুলোর ক্রম কিছুটা ভিন্ন হতে পারে। উদাহরণস্বরূপ, এটি প্রথমে মাইগ্রেশন স্ক্রিপ্ট প্রস্তুত করতে বলতে পারে এবং শুধুমাত্র তার পরেই চূড়ান্ত টিউটোরিয়াল ডকুমেন্টেশনের উপর কাজ করতে পারে।
এখানে এমন একটি উদাহরণ দেওয়া হলো যেখানে ডেভেলপার নলেজ এমসিপি (Developer Knowledge MCP) চালানোর জন্য অনুমতি চাওয়া হয়:
? search_documents (DeveloperKnowledge MCP Server) {"query":"migrate local database to Cloud SQL for PostgreSQL"} ← │
│ │
│ MCP Server: DeveloperKnowledge │
│ Tool: search_documents │
│ │
│ Allow execution of MCP tool "search_documents" from server "DeveloperKnowledge"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc) │
│ │
│ │
│ ⊷ search_documents (DeveloperKnowledge MCP Server) {"query":"import data into Cloud SQL PostgreSQL"}
কার্য সম্পাদনের সময় Gemini CLI আপনাকে কিছু কমান্ড চালাতে বলতে পারে। উদাহরণস্বরূপ, ডেটা মাইগ্রেশনের জন্য সঠিক নির্দেশনা প্রস্তুত করতে ডেটা স্কিমা আরও ভালোভাবে বোঝার জন্য এটি প্রয়োজন হতে পারে।
এবং সবশেষে ডেটা মাইগ্রেশনের জন্য একটি ধাপে ধাপে নির্দেশনা প্রস্তুত করা উচিত।
তারপর আপনি Gemini CLI-কে টিউটোরিয়ালটি লিখে দিতে বলতে পারেন।
Please write the tutorial down
এবং এটি টিউটোরিয়াল ডকুমেন্টসহ একটি নতুন মার্কডাউন ফাইল তৈরি করবে।
প্রত্যাশিত আউটপুট:
✦ I have created a detailed migration guide for you. You can find the tutorial in the new file: MIGRATION_GUIDE.md. This guide covers: 1. Exporting your local SQLite data to CSV format. 2. Creating the PostgreSQL schema with compatible data types. 3. Uploading data to Google Cloud Storage. 4. Importing data into Cloud SQL in the correct order to respect relationships. 5. Resetting ID sequences to ensure new data can be added without errors.
পরবর্তী ধাপে আমরা ক্লাউড এসকিউএল এমসিপি (Cloud SQL MCP) ব্যবহার করে আমাদের ডেটাবেস প্রস্তুত করব এবং ডেটা মাইগ্রেট করব।
৭. গুগল ক্লাউড এমসিপি-তে ক্লাউড এসকিউএল পরীক্ষা করা
১. ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করুন
আপনি Gemini CLI-তে /mcp টাইপ করে Cloud SQL MCP সার্ভারে উপলব্ধ টুলগুলি পরীক্ষা করা থেকে শুরু করতে পারেন।
/mcp
বর্তমানে আমাদের কাছে নিম্নলিখিত সরঞ্জামগুলো উপলব্ধ আছে।
প্রত্যাশিত আউটপুট:
🟢 Cloud SQL MCP Server - Ready (11 tools) Tools: - clone_instance - create_instance - create_user - execute_sql - get_instance - get_operation - import_data - list_instances - list_users - update_instance - update_user
আমরা ইতিমধ্যে গুগল ক্লাউডে আমাদের অ্যাপ্লিকেশনের ব্যাকএন্ড হিসেবে ক্লাউড এসকিউএল ফর পোস্টগ্রেস ব্যবহার করার সিদ্ধান্ত নিয়েছি। এখন আমরা জেমিনিকে আমাদের জন্য একটি ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করতে বলতে পারি।
Gemini CLI প্রম্পটে আপনার অনুরোধটি নিচের মতো করে টাইপ করুন:
Please create a Cloud SQL for Postgres instance with appropriate edition and version in the us-central1 region to be a backend for our application with a public IPs in the current project with 2 CPU and 8 GB memory.
আপনার বর্তমান প্রজেক্ট শনাক্ত করার জন্য অতিরিক্ত কল এড়াতে, আপনি প্রম্পট দেওয়ার সময় আপনার প্রজেক্ট আইডি স্পষ্টভাবে উল্লেখ করতে পারেন। যদি আগে প্রসঙ্গে প্রজেক্টের নাম ব্যবহার করা না হয়ে থাকে, তাহলে মডেলটি হয় প্রজেক্ট আইডি চাইবে অথবা প্রজেক্টটি শনাক্ত করার জন্য gcloud কমান্ড চালাতে বলবে।
এরপর এটি বিদ্যমান টুলগুলো বিশ্লেষণ করবে এবং ক্লাউড এসকিউএল এমসিপি টুলগুলো চালানোর জন্য অনুরোধ করবে। আপনি অনুমোদনের জন্য নিম্নলিখিত অনুরোধটি দেখতে পাবেন বলে আশা করা যায়।
? create_instance (Cloud SQL MCP Server MCP Server) {"tier":"db-custom-2-8192","region":"us-central1","project":"gleb-test-short-001-486416","databaseVersion":"POSTGRES_17","edition":"ENTERPRISE","nam... ← │
│ │
│ MCP Server: Cloud SQL MCP Server │
│ Tool: create_instance │
│ │
│ Allow execution of MCP tool "create_instance" from server "Cloud SQL MCP Server"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc)
এক্সিকিউশন শুরু করার পর এটি অপারেশনের স্ট্যাটাস এবং চেকগুলোর মাঝে সম্ভাব্য স্লিপ রিকোয়েস্টগুলো মনিটর করতে বলবে। অনেকটা নিচের মতো।
✦ I will wait for 30 seconds before checking the status of the instance creation. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ⊶ Shell sleep 30 [current working directory /home/gleb/demo] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ⠋ Refining Instance Configuration (esc to cancel, 11s)
এর পরে ক্লাউড এসকিউএল সার্ভার এমসিপি-এর জন্য একটি get_operation টুল থাকবে।
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ? get_operation (Cloud SQL MCP Server MCP Server) {"project":"gleb-test-short-001-486416","operation":"73c39ca7-65fe-46d1-bdb8-0dfa00000032"} ← │
│ │
│ MCP Server: Cloud SQL MCP Server │
│ Tool: get_operation │
│ │
│ Allow execution of MCP tool "get_operation" from server "Cloud SQL MCP Server"? │
│ │
│ ● 1. Allow once
চূড়ান্ত get_instance অনুরোধটির পর আপনি তৈরি হওয়া ইনস্ট্যান্সটি সম্পর্কে তথ্য পাবেন। যা নিচের মতো হবে।
প্রত্যাশিত আউটপুট:
✦ I will wait for 30 seconds before checking the status of the instance creation. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ⊶ Shell sleep 30 [current working directory /home/gleb/demo] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ⠋ Refining Instance Configuration (esc to cancel, 11s)
এর পরে ক্লাউড এসকিউএল সার্ভার এমসিপি (Cloud SQL Server MCP)-এর জন্য একটি get_operation টুল এবং get_insance এমসিপি টুল কল করা হবে। কাজটি সফলভাবে সম্পন্ন হয়েছে কিনা তা যাচাই করার জন্য আপনি জেমিনি সিএলআই (Gemini CLI) দ্বারা সম্পাদিত অতিরিক্ত চেক এবং কল দেখতে পারেন।
The Cloud SQL for Postgres instance allstrides-db has been successfully created in the us-central1 region with 2 vCPUs and 8 GB of RAM. Instance Details: - Project ID: gleb-test-short-001-486416 - Instance Name: allstrides-db - Public IP Address: 35.226.187.246 - Database Version: POSTGRES_17 - Machine Type: db-custom-2-8192 (2 vCPU, 8 GB RAM) - Region: us-central1 - Connection Name: gleb-test-short-001-486416:us-central1:allstrides-db The instance is configured with public IP enabled, IAM authentication turned on, and Data API access allowed.
২. ডেটা স্থানান্তর করুন
ইনস্ট্যান্সটি প্রস্তুত এবং এখন আমরা আমাদের সমস্ত ডেটা বিদ্যমান SQLite ডেটাবেস থেকে ক্লাউডের একটি নতুন ডেটাবেসে স্থানান্তর করার কাজ চালিয়ে যেতে পারি।
Gemini CLI প্রম্পটে নিম্নলিখিত অনুরোধটি টাইপ করুন।
Now when we have our Cloud SQL instance ready it is time to move the data from our local database. Please migrate all the data to a new database in our Cloud SQL instance where the new user for application would be the database owner? Let's call the new database allstrides-db and the user allstrides. Please use our MCP tools whenever it is possible.
কার্য সম্পাদনের সময় জেমিনি সিএলআই আমাদের ডেটা মডেল বিশ্লেষণ করবে এবং তা করার জন্য এটি কিছু কমান্ড চালানোর অনুমতি চাইবে। কার্যপ্রবাহটি শতভাগ সুনির্দিষ্ট নয় এবং কিছু ধাপ ভিন্ন হতে পারে।
এটি কীভাবে শুরু হতে পারে তার একটি উদাহরণ এখানে দেওয়া হলো।
প্রত্যাশিত আউটপুট:
✦ I will read the allstrides/README.md and allstrides/seed_data.sql files to understand the local database structure and data. ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ✓ ReadFile allstrides/README.md │ │ │ │ │ │ ✓ ReadFile allstrides/seed_data.sql │ │ │ ╰─────────────────────────────────────────────────────────────────────────
এরপর কয়েকটি ধাপ অনুসরণ করে এটি ক্লাউড এসকিউএল এমসিপি (Cloud SQL MCP) ব্যবহার করে ডাটাবেস ও ইউজার প্রস্তুত করবে এবং অবশেষে ডেটা মাইগ্রেট করবে। ডাটাবেসের উপর এর প্রথম কাজগুলোর মধ্যে একটি হলো আপনাকে একজন আইএএম (IAM) ইউজার হিসেবে যুক্ত করা এবং ডাটাবেস ও ইউজার তৈরির অনুমতি দেওয়া। গুগল ক্লাউডে আইএএম হিসেবে আপনার পর্যাপ্ত প্রিভিলেজ থাকা উচিত।
কার্যপ্রবাহ চলাকালীন কয়েকটি ধাপের একটি উদাহরণ এখানে দেওয়া হলো।
প্রত্যাশিত আউটপুট:
✓ execute_sql (Cloud SQL MCP Server MCP Server) {"project":"gleb-test-short-001-486416","instance":"allstrides-db","sqlStatement":"CREATE DATABASE \"allstrides-db\";","database":"postgres"} │
│ │
│ { │
│ "messages": [ │
│ { │
│ "message": "Execution complete. 1 result set(s) returned.", │
│ "severity": "INFO" │
│ } │
│ ], │
│ "metadata": { │
│ "sqlStatementExecutionTime": "0.075591388s" │
│ }, │
│ "results": [ │
│ {} │
│ ] │
│ } │
│
৩. ক্লাউড রানে অ্যাপ্লিকেশনটি স্থাপন করুন
এখন, ডেটাবেস তৈরি করা হয়েছে এবং স্থানীয় অ্যাপ্লিকেশনের ডেটা আপনার CloudSQL ডেটাবেসে স্থানান্তর করা হয়েছে। আপনি এখন আপনার অ্যাপ্লিকেশনটি Cloud Run-এ ডেপ্লয় করার জন্য প্রস্তুত। ডেপ্লয়মেন্টের সময়, আপনি প্রথমে Google Cloud SDK ব্যবহার করে Google Cloud-এ ইমেজটি তৈরি করবেন এবং তারপর Cloud Run MCP ব্যবহার করে এটি ডেপ্লয় করবেন।
Gemini CLI-তে, নিম্নলিখিত প্রম্পটটি চালান।
Now, when all the data is successfully migrated to our Cloud SQL instance allstrides-db we can migrate our allstrides application to Cloud Run and deploy using my Cloud SQL database. Please put the username and the password for my database user user to Secret Manager to not show openly in Cloud Run.
Let's build the image first and then use MCP to create the Cloud Run service.
এক্সিকিউশনের সময় এটি এপিআইগুলো চেক করবে, সিক্রেট ম্যানেজারের জন্য ডেটা প্রস্তুত করবে এবং প্রয়োজনীয় সিক্রেটগুলো তৈরি করবে। এছাড়াও, এটি PostgreSQL ডাটাবেসের সাথে কাজ করার জন্য অ্যাপ্লিকেশনটি আপডেট করবে এবং প্রয়োজনীয় এনপিএম মডিউলগুলো যুক্ত করবে।
এরপর ইমেজটি তৈরি করে আর্টিফ্যাক্ট রেজিস্ট্রি-তে রাখার পর, এটি ক্লাউড রান-এ অ্যাপ্লিকেশনটি ডেপ্লয় করার জন্য এমসিপি (MCP) সার্ভিস ব্যবহার করে।
এখানে ক্লাউড রান এমসিপি কল করার একটি উদাহরণ দেওয়া হলো।
প্রত্যাশিত আউটপুট:
✦ I will deploy the 'allstrides' service to Cloud Run using the deploy_service_from_image tool. I will configure the environment variables and map the
database credentials from Secret Manager. Note that the MCP tool's schema does not explicitly expose the Cloud SQL instance attachment parameter, which is
typically required for the Unix socket connection (/cloudsql/...) to work. I will proceed with the deployment as requested, but if the database connection
fails due to the missing instance attachment, we may need to use gcloud to update that specific configuration.
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Action Required 1 of 1 │
│ │
│ ? deploy_service_from_image (CloudRun MCP Server) {"service":{"invokerIamDisabled":true,"name":"projects/gleb-test-short-001-486416/locations/us-centra... │
│ │
│ MCP Server: CloudRun │
│ Tool: deploy_service_from_image │
│ Allow execution of MCP tool "deploy_service_from_image" from server "CloudRun"? │
│ │
│ ● 1. Allow once │
│ 2. Allow tool for this session │
│ 3. Allow all server tools for this session │
│ 4. No, suggest changes (esc) │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
সমস্ত অপারেশন সম্পন্ন করার সঠিক পথ একেকবার সম্পাদনের ক্ষেত্রে একেক রকম হতে পারে। এআই এজেন্টরা প্রেক্ষাপট, কমান্ডের আউটপুট এবং আরও বিভিন্ন চলকের উপর ভিত্তি করে পথটি বেছে নেয়। আর এখানেই এআই এজেন্টিক সফটওয়্যারের শক্তি নিহিত — এটি প্রতিক্রিয়া জানাতে পারে, নিজের কর্মপন্থা পরিবর্তন করতে পারে এবং কাজ সম্পন্ন করে সফল ফলাফল দেওয়ার জন্য ধাপগুলো পুনরায় চেষ্টা করতে পারে।
এখন আপনার অলস্ট্রাইডস অ্যাপ্লিকেশনটি ক্লাউড রান-এ ডেপ্লয় ও চালু থাকা উচিত এবং আপনার ক্লাউড এসকিউএল ডেটাবেসের সাথে সংযুক্ত থাকা উচিত।
শেষে আপনি হয়তো এই জিনিসটি দেখতে পাবেন।
প্রত্যাশিত আউটপুট:
✦ The application allstrides has been successfully migrated to Cloud Run and is connected to the Cloud SQL database allstrides-db.
Deployment Details:
* Service URL: https://allstrides-812263612774.us-central1.run.app
* Database: allstrides-db (PostgreSQL)
* Database User: allstrides (Password updated and stored in Secret Manager)
* Secrets: db-user and db-pass are mounted as environment variables.
* Region: us-central1
Steps Taken:
1. Database Configuration:
* Updated the allstrides database user password.
* Created db-user and db-pass secrets in Google Cloud Secret Manager.
* Updated database.ts to support PostgreSQL connections via Cloud SQL socket.
2. Build:
* Built the container image gcr.io/gleb-test-short-001-486416/allstrides using Cloud Build.
3. Deployment:
* Initiated deployment using the MCP deploy_service_from_image tool.
* Granted the Secret Manager Secret Accessor role to the Cloud Run service account.
* Attached the Cloud SQL instance connection using gcloud (as the MCP tool currently lacks this specific configuration parameter).
The application is now serving traffic and successfully connected to the database.
এবং যখন আপনি ব্রাউজারে প্রদত্ত ইউআরএলটি খুলবেন, তখন আপনি অ্যাপ্লিকেশন পৃষ্ঠাটি দেখতে পাবেন।

এবং আমাদের সমস্ত অনুষ্ঠান সেখানে দৃশ্যমান হওয়া উচিত।

অভিনন্দন! আপনি Gemini CLI এবং Google Cloud MCP পরিষেবা ব্যবহার করে আপনার স্থানীয় অ্যাপ্লিকেশনটি ক্লাউডে স্থানান্তর করতে সক্ষম হয়েছেন। এর মাধ্যমে ডেপ্লয়মেন্ট সম্পন্ন হলো এবং সমস্ত রিসোর্স পরিষ্কার করা যেতে পারে।
৮. পরিবেশ পরিষ্কার করুন
পরিবেশ পরিষ্কার করার সবচেয়ে সহজ উপায় হলো Gemini CLI-কে আপনার তৈরি করা সমস্ত কম্পোনেন্ট মুছে ফেলতে বলা। এটি সমস্ত অ্যাসেট অক্ষত রাখবে। কিন্তু যদি কোনোভাবে আপনি লগ আউট হয়ে যান এবং আপনার কোনো সংরক্ষিত ইতিহাস না থাকে, তাহলে আপনি আরও সুনির্দিষ্টভাবে Cloud Run সার্ভিস, ইমেজ এবং Cloud SQL ইনস্ট্যান্স পরিষ্কার করার অনুরোধ করতে পারেন। সার্ভিসটি মুছে ফেলার জন্য, প্রয়োজনীয় অনুমতিসম্পন্ন ব্যবহারকারীকে gcloud কমান্ড ব্যবহার করে প্রমাণীকরণ করতে হবে।
এখানে একটি প্রম্পটের উদাহরণ দেওয়া হলো।
Now, when we've tested the application can you please delete the created Cloud Run service, the image we've built and the Cloud SQL instance we've created in the project.
অপসারণ করার পরে, আপনি ক্লাউড রান পরিষেবা বা ক্লাউড এসকিউএল ইনস্ট্যান্সের সফল অপসারণ যাচাই করতে গুগল ক্লাউড এমসিপি পরিষেবাগুলি ব্যবহার করতে পারেন।
Can you please list all Cloud SQL instances in the project and Cloud Run services in the project.
শেষে আপনি নিচের মতো একটি বার্তা দেখতে পাবেন:
প্রত্যাশিত আউটপুট:
✦ There are currently no Cloud SQL instances or Cloud Run services (in us-central1) in the project gleb-test-short-001-486416.
এর মাধ্যমেই পরীক্ষাগারের ধাপগুলো শেষ হলো।
৯. অভিনন্দন
কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।
গুগল ক্লাউড লার্নিং পাথ
আমরা যা আলোচনা করেছি
- গুগল ক্লাউড এমসিপি-এর সাথে কাজ করার জন্য জেমিনি সিএলআই কীভাবে স্থাপন ও কনফিগার করবেন
- ডেভেলপমেন্ট নলেজএমসিপি কীভাবে ব্যবহার করবেন
- ক্লাউডে ডেটা স্থানান্তরের জন্য কীভাবে ক্লাউড এসকিউএল এমসিপি ব্যবহার করবেন
- ক্লাউডে অ্যাপ্লিকেশন ডেপ্লয় করতে ক্লাউড রান এমসিপি কীভাবে ব্যবহার করবেন
- গুগল ক্লাউড শেলে জেমিনি সিএলআই কীভাবে ব্যবহার করবেন
১০. জরিপ
আউটপুট: