جعبه ابزار MCP برای پایگاه های داده: در دسترس قرار دادن مجموعه داده های BigQuery برای مشتریان MCP

جعبه ابزار MCP برای پایگاه های داده:
در دسترس قرار دادن مجموعه داده های BigQuery برای مشتریان MCP

درباره این codelab

subjectآخرین به‌روزرسانی: ژوئن ۲۰, ۲۰۲۵
account_circleنویسنده: Romin Irani

1. مقدمه

در این لبه کد، از جعبه ابزار MCP برای پایگاه‌های داده برای در دسترس قرار دادن مجموعه داده‌های BigQuery خود استفاده می‌کنید.

از طریق کد لبه، شما یک رویکرد گام به گام را به شرح زیر به کار خواهید گرفت:

  1. یک مجموعه داده BigQuery خاص ("Google Cloud Release Notes") را از برنامه مجموعه داده عمومی BigQuery شناسایی کنید.
  2. جعبه ابزار MCP را برای پایگاه های داده راه اندازی کنید، که به مجموعه داده BigQuery متصل می شود.
  3. یک نماینده با استفاده از کیت توسعه عامل (ADK) ایجاد کنید که از جعبه ابزار MCP برای پاسخ به سؤالات کاربر در مورد یادداشت‌های Google Cloud Release استفاده می‌کند.

کاری که خواهی کرد

  • جعبه ابزار MCP را برای پایگاه‌های داده راه‌اندازی کنید تا یادداشت‌های Google Cloud Release، یک مجموعه داده عمومی BigQuery، به‌عنوان یک رابط MCP در اختیار سایر مشتریان MCP (IDE، ابزارها و غیره) قرار گیرد.

چیزی که یاد خواهید گرفت

  • مجموعه داده های عمومی BigQuery را کاوش کنید و یک مجموعه داده خاص را انتخاب کنید.
  • جعبه ابزار MCP را برای پایگاه‌های داده برای مجموعه داده عمومی BigQuery که می‌خواهیم در دسترس مشتریان MCP قرار دهیم، راه‌اندازی کنیم.
  • طراحی و توسعه یک عامل با استفاده از کیت توسعه عامل (ADK) برای پاسخ به سؤالات کاربر.
  • Agent و MCP Toolbox را برای پایگاه‌های داده در محیط محلی آزمایش کنید.

آنچه شما نیاز دارید

  • مرورگر وب کروم.
  • یک محیط توسعه محلی پایتون.

2. قبل از شروع

یک پروژه ایجاد کنید

  1. در Google Cloud Console ، در صفحه انتخاب پروژه، یک پروژه Google Cloud را انتخاب یا ایجاد کنید.
  2. مطمئن شوید که صورتحساب برای پروژه Cloud شما فعال است. با نحوه بررسی فعال بودن صورت‌حساب در پروژه آشنا شوید.
  3. شما از Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان در حال اجرا در Google Cloud که با bq از قبل بارگذاری شده است. روی Activate Cloud Shell در بالای کنسول Google Cloud کلیک کنید.

تصویر دکمه Cloud Shell را فعال کنید

  1. پس از اتصال به Cloud Shell، با استفاده از دستور زیر بررسی می‌کنید که قبلاً احراز هویت شده‌اید و پروژه به ID پروژه شما تنظیم شده است:
gcloud auth list
  1. دستور زیر را در Cloud Shell اجرا کنید تا تأیید کنید که دستور gcloud از پروژه شما اطلاع دارد.
gcloud config list project
  1. اگر پروژه شما تنظیم نشده است، از دستور زیر برای تنظیم آن استفاده کنید:
gcloud config set project <YOUR_PROJECT_ID>

برای دستورات و استفاده از gcloud به اسناد مراجعه کنید.

3. Google Release Notes Dataset و سرویس گیرندگان MCP

ابتدا، اجازه دهید نگاهی به یادداشت‌های Google Cloud Release بیندازیم که به طور منظم در صفحه وب رسمی Google Cloud Release Notes به‌روزرسانی می‌شوند، تصویری از آن در زیر نشان داده شده است:

37a7d9e124296c55.png

ممکن است در URL فید مشترک شوید، اما چه می‌شود اگر بتوانیم در چت نماینده خود درباره این یادداشت‌های انتشار بپرسیم. شاید یک پرس و جو ساده مانند "به روز رسانی من در Google Cloud Release Notes".

4. جعبه ابزار MCP برای پایگاه های داده

MCP Toolbox for Databases یک سرور MCP منبع باز برای پایگاه های داده است که با در نظر گرفتن درجه سازمانی و کیفیت تولید طراحی شده است. این به شما امکان می دهد تا با مدیریت پیچیدگی هایی مانند ادغام اتصال، احراز هویت و موارد دیگر، ابزارها را آسان تر، سریع تر و ایمن تر توسعه دهید.

Toolbox به شما کمک می کند ابزارهای Gen AI بسازید که به عوامل شما اجازه می دهد به داده های موجود در پایگاه داده شما دسترسی داشته باشند. جعبه ابزار فراهم می کند:

  • توسعه ساده: ابزارها را در کمتر از 10 خط کد با عامل خود ادغام کنید، از ابزارها بین چندین عامل یا فریمورک استفاده مجدد کنید و نسخه های جدید ابزارها را راحت تر اجرا کنید.
  • عملکرد بهتر: بهترین روش‌ها مانند ادغام اتصال، احراز هویت و موارد دیگر.
  • امنیت پیشرفته: احراز هویت یکپارچه برای دسترسی ایمن تر به داده های شما
  • قابلیت مشاهده سرتاسر: معیارهای خارج از جعبه و ردیابی با پشتیبانی داخلی برای OpenTelemetry.
  • جعبه ابزار اتصال پایگاه داده ها را به هر دستیار هوش مصنوعی با قابلیت MCP، حتی آنهایی که در IDE شما هستند، آسان می کند.

جعبه ابزار بین چارچوب سازماندهی برنامه شما و پایگاه داده شما قرار می گیرد و یک صفحه کنترل را ارائه می دهد که برای اصلاح، توزیع یا فراخوانی ابزارها استفاده می شود. با ارائه یک مکان متمرکز برای ذخیره و به‌روزرسانی ابزارها، مدیریت ابزارهای شما را ساده می‌کند و به شما این امکان را می‌دهد که ابزارها را بین عوامل و برنامه‌ها به اشتراک بگذارید و آن ابزارها را بدون نیاز به استقرار مجدد برنامه خود به‌روزرسانی کنید.

e316aed02b9861a6.png

به طور خلاصه در کلمات ساده:

  1. جعبه ابزار MCP به عنوان یک تصویر باینری، ظرف در دسترس است یا می توانید آن را از منبع بسازید.
  2. مجموعه ای از ابزارهایی را که شما از طریق یک فایل tools.yaml پیکربندی می کنید در معرض نمایش قرار می دهد. ابزارها را می توان برای اتصال به منابع داده شما در نظر گرفت. می توانید منابع داده مختلفی را که پشتیبانی می کند مشاهده کنید: AlloyDB، BigQuery و غیره.
  3. از آنجایی که این جعبه ابزار اکنون از MCP پشتیبانی می کند، شما به طور خودکار یک نقطه پایانی سرور MCP دارید که می تواند توسط Agents (IDE) مصرف شود یا می توانید از آنها در هنگام توسعه برنامه های عامل خود با استفاده از چارچوب های مختلف مانند Agent Development Kit (ADK) استفاده کنید.

تمرکز ما در این پست وبلاگ بر روی زمینه هایی است که در زیر برجسته شده است:

882edaaddf940080.png

به طور خلاصه، ما قصد داریم یک پیکربندی در جعبه ابزار MCP برای پایگاه‌های داده ایجاد کنیم که می‌داند چگونه به مجموعه داده BigQuery ما متصل شود. سپس یک عامل با استفاده از کیت توسعه عامل (ADK) ایجاد می کنیم که با نقطه پایانی جعبه ابزار MCP یکپارچه می شود و به ما امکان می دهد پرس و جوهای طبیعی را برای پرسیدن در مورد مجموعه داده خود ارسال کنیم. به آن به عنوان یک برنامه کاربردی که در حال توسعه آن هستید فکر کنید که می داند چگونه با مجموعه داده BigQuery شما صحبت کند و برخی از پرس و جوها را اجرا می کند.

5. مجموعه داده BigQuery برای یادداشت‌های انتشار ابری Google

Google Cloud Public Dataset Program برنامه‌ای است که مجموعه‌ای از مجموعه داده‌ها را برای برنامه‌های شما در دسترس قرار می‌دهد. یکی از این مجموعه داده ها پایگاه داده Google Cloud Release Notes است. این مجموعه داده اطلاعاتی مشابه با صفحه وب رسمی Google Cloud Release Notes در اختیار شما قرار می دهد و به عنوان مجموعه داده قابل پرس و جو عمومی در دسترس است.

2104010c05c87d0d.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

با این کار فهرستی از رکوردها از مجموعه داده های Release Notes که در 7 روز گذشته منتشر شده اند به دست می آید.

این را با هر مجموعه داده دیگری به انتخاب خود و پرس و جوها و پارامترهای مربوطه خود که می خواهید جایگزین کنید. تنها کاری که اکنون باید انجام دهیم این است که این را به عنوان منبع و ابزار داده در جعبه ابزار MCP برای پایگاه‌های داده تنظیم کنیم. بیایید ببینیم چگونه این کار را انجام دهیم.

6. نصب جعبه ابزار MCP برای پایگاه های داده

یک ترمینال در دستگاه محلی خود باز کنید و یک پوشه به نام mcp-toolbox ایجاد کنید.

mkdir mcp-toolbox

با دستور زیر به پوشه mcp-toolbox بروید:

cd mcp-toolbox

نسخه باینری جعبه ابزار MCP برای پایگاه‌های داده را از طریق اسکریپت زیر نصب کنید. دستور زیر برای لینوکس است، اما اگر در مک یا ویندوز هستید، مطمئن شوید که باینری صحیح را دانلود کرده اید. صفحه انتشار سیستم عامل و معماری خود را بررسی کنید و باینری صحیح را دانلود کنید.

export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

اکنون نسخه باینری جعبه ابزار را برای استفاده آماده کرده ایم. مرحله بعدی پیکربندی جعبه ابزار با منابع داده و سایر تنظیمات است.

7. پیکربندی جعبه ابزار MCP برای پایگاه های داده

اکنون، باید مجموعه داده و ابزار BigQuery خود را در فایل tools.yaml تعریف کنیم که جعبه ابزار MCP برای پایگاه داده به آن نیاز دارد. فایل tools.yaml راه اصلی برای پیکربندی جعبه ابزار است.

یک فایل با نام tools.yaml در همان پوشه یعنی mcp-toolbox ایجاد کنید که محتویات آن در زیر نشان داده شده است.

می توانید از ویرایشگر نانویی که در Cloud Shell موجود است استفاده کنید. دستور 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. منابع نشان دهنده منابع داده های مختلف شما هستند که یک ابزار می تواند با آنها تعامل داشته باشد. منبع یک منبع داده را نشان می دهد که یک ابزار می تواند با آن تعامل داشته باشد. می توانید Sources را به عنوان نقشه در قسمت sources فایل tools.yaml خود تعریف کنید. به طور معمول، یک پیکربندی منبع حاوی اطلاعات مورد نیاز برای اتصال و تعامل با پایگاه داده است. در مورد ما، منبع BigQuery my-bq-source را تعریف کرده‌ایم و شما باید شناسه پروژه Google Cloud خود را ارائه کنید. برای اطلاعات بیشتر به مرجع منابع مراجعه کنید.
  2. ابزارها اقداماتی را که یک عامل می تواند انجام دهد را تعریف می کند - مانند خواندن و نوشتن برای یک منبع. یک ابزار عملکردی را نشان می دهد که نماینده شما می تواند انجام دهد، مانند اجرای یک دستور SQL. می توانید Tools را به عنوان نقشه در قسمت tools فایل tools.yaml خود تعریف کنید. به طور معمول، یک ابزار برای عمل کردن به یک منبع نیاز دارد. در مورد ما، یک ابزار منفرد search_release_notes_bq تعریف می کنیم. این به منبع BigQuery my-bq-source اشاره می کند که در مرحله اول تعریف کردیم. همچنین دارای بیانیه و دستورالعملی است که توسط مشتریان عامل هوش مصنوعی استفاده می شود. برای اطلاعات بیشتر به مرجع ابزار مراجعه کنید.
  3. در نهایت، ما Toolset را داریم که به شما امکان می دهد گروه هایی از ابزارها را تعریف کنید که می خواهید بتوانید آنها را با هم بارگذاری کنید. این می تواند برای تعریف گروه های مختلف بر اساس عامل یا برنامه مفید باشد. در مورد ما، ما یک تعریف مجموعه ابزار داریم که در حال حاضر تنها یک ابزار موجود search_release_notes_bq را تعریف کرده‌ایم. شما می توانید بیش از یک مجموعه ابزار داشته باشید که دارای ترکیبی از ابزارهای مختلف است.

بنابراین در حال حاضر، ما تنها یک ابزار را تعریف کرده‌ایم که یادداشت‌های انتشار ۷ روز گذشته را طبق پرس و جو دریافت می‌کند. اما می توانید ترکیب های مختلفی با پارامترها نیز داشته باشید.

برخی از جزئیات پیکربندی بیشتر ( منبع ، ابزارها ) را در پیکربندی منبع داده BigQuery در جعبه ابزار MCP برای پایگاه‌های داده بررسی کنید.

8. تست جعبه ابزار MCP برای پایگاه داده

ما جعبه ابزار را با فایل tools.yaml در پوشه mcp-toolbox دانلود و پیکربندی کرده ایم. بیایید ابتدا آن را به صورت محلی اجرا کنیم.

دستور زیر را اجرا کنید:

./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 به طور پیش فرض روی پورت 5000 اجرا می شود. اگر متوجه شدید که پورت 5000 از قبل در حال استفاده است، طبق دستور زیر از پورت دیگری (مثلاً 7000 ) استفاده کنید. لطفاً به جای پورت 5000 در دستورات بعدی 7000 استفاده کنید.

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

اجازه دهید از Cloud Shell برای آزمایش این موضوع استفاده کنیم.

مطابق شکل زیر روی Web Preview در Cloud Shell کلیک کنید:

f990712162e8e924.png

بر روی Change port کلیک کنید و مطابق شکل زیر پورت را روی 5000 قرار دهید و روی Change and Preview کلیک کنید.

d1b9de0c46ecef8a.png

این باید خروجی زیر را به همراه داشته باشد:

2fdcdac326034d41.png

در URL مرورگر، موارد زیر را به انتهای URL اضافه کنید:

/api/toolset

این باید ابزارهایی را که در حال حاضر پیکربندی شده اند را نشان دهد. یک نمونه خروجی در زیر نشان داده شده است:

{
  "serverVersion": "0.7.0+binary.linux.amd64.714d990c34ee990e268fac1aa6b89c4883ae5023",
  "tools": {
    "search_release_notes_bq": {
      "description": "Use this tool to get information on Google Cloud Release Notes.\n",
      "parameters": [],
      "authRequired": []
    }
  }
}

MCP Toolkit برای پایگاه‌های داده یک روش پایتونیک را برای اعتبارسنجی و آزمایش ابزارها توصیف می‌کند که در اینجا مستند شده است. ما آن را نادیده می گیریم و در بخش بعدی که از این ابزارها استفاده می کند، مستقیماً به کیت توسعه عامل (ADK) می پریم.

9. نوشتن نماینده ما با کیت توسعه عامل (ADK)

کیت توسعه عامل (ADK) را نصب کنید

یک تب ترمینال جدید در Cloud Shell باز کنید و یک پوشه به نام my-agents به شرح زیر ایجاد کنید. به پوشه my-agents نیز بروید.

mkdir my-agents
cd
my-agents

حالا بیایید یک محیط پایتون مجازی با استفاده از venv به صورت زیر ایجاد کنیم:

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

مراحل را دنبال کنید و موارد زیر را انتخاب کنید:

  • مدل جمینی برای انتخاب مدل برای عامل ریشه.
  • Vertex AI را برای backend انتخاب کنید.
  • شناسه و منطقه پیش فرض پروژه 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

پوشه ای را که در آن یک الگوی پیش فرض و فایل های مورد نیاز Agent ایجاد شده است، مشاهده کنید.

اول فایل .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، یک Agent یک واحد اجرایی مستقل است که برای عمل مستقل برای دستیابی به اهداف خاص طراحی شده است. عامل ها می توانند وظایف را انجام دهند، با کاربران تعامل داشته باشند، از ابزارهای خارجی استفاده کنند و با عوامل دیگر هماهنگ شوند.

به طور خاص، یک LLMAgent، که معمولاً به عنوان عامل نامیده می‌شود، از مدل‌های زبان بزرگ (LLM) به عنوان موتور اصلی خود برای درک زبان طبیعی، دلیل، برنامه‌ریزی، تولید پاسخ‌ها و تصمیم‌گیری پویا در مورد چگونگی ادامه یا استفاده از ابزارها استفاده می‌کند و آنها را برای کارهای انعطاف‌پذیر و زبان محور ایده‌آل می‌کند. در اینجا درباره نمایندگان LLM بیشتر بیاموزید.

این کار داربست ما را تکمیل می کند تا یک عامل اساسی با استفاده از کیت توسعه عامل (ADK) تولید کنیم. اکنون می‌خواهیم Agent خود را به جعبه ابزار MCP متصل کنیم تا بتواند از آن ابزار برای پاسخگویی به سؤالات کاربر استفاده کند (در این مورد، یادداشت‌های Google Cloud Release خواهند بود).

10. اتصال نماینده ما به ابزار

اکنون قصد داریم این Agent را به Tools متصل کنیم. در زمینه ADK، یک ابزار قابلیت خاصی را نشان می‌دهد که به یک عامل هوش مصنوعی ارائه می‌شود و آن را قادر می‌سازد تا اقداماتی را انجام دهد و با جهان فراتر از تولید متن اصلی و توانایی‌های استدلال خود تعامل داشته باشد.

در مورد ما، اکنون می‌خواهیم نماینده خود را با ابزارهایی که در جعبه ابزار 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 با موفقیت راه اندازی شد، در ترمینال دیگر، Agent را از طریق دستور 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`
......
......

توجه داشته باشید که Agent از ابزاری استفاده می‌کند که ما در جعبه ابزار MCP برای پایگاه‌های داده ( search_release_notes_bq ) پیکربندی کرده‌ایم و داده‌ها را از مجموعه داده BigQuery بازیابی می‌کند و پاسخ را بر اساس آن قالب‌بندی می‌کند.

11. تبریک میگم

تبریک می‌گوییم، شما با موفقیت جعبه ابزار MCP را برای پایگاه‌های داده پیکربندی کرده‌اید و مجموعه داده BigQuery را برای دسترسی به مشتریان MCP پیکربندی کرده‌اید.

اسناد مرجع