1. مقدمة
في هذا الدرس العملي، ستستخدم أداة MCP لقواعد البيانات لإتاحة مجموعات بيانات BigQuery.
خلال هذا الدرس العملي، ستتّبع نهجًا خطوة بخطوة على النحو التالي:
- تحديد مجموعة بيانات BigQuery معيّنة ("ملاحظات إصدار Google Cloud") من برنامج مجموعات بيانات BigQuery العامة
- إعداد "مجموعة أدوات MCP" لقواعد البيانات التي تتصل بمجموعة بيانات BigQuery
- تطوير وكيل باستخدام "حزمة تطوير الوكيل" (ADK) التي ستستخدم "مجموعة أدوات MCP" للإجابة عن طلبات المستخدم بشأن "ملاحظات الإصدار" في Google Cloud
المهام التي ستنفذها
- إعداد "مجموعة أدوات MCP لقواعد البيانات" لعرض ملاحظات إصدار Google Cloud، وهي مجموعة بيانات متاحة للجميع على BigQuery، كواجهة MCP لبرامج MCP الأخرى (بيئات التطوير المتكاملة والأدوات وما إلى ذلك).
ما ستتعلمه
- استكشاف مجموعات البيانات العامة في BigQuery واختيار مجموعة بيانات معيّنة
- إعداد MCP Toolbox for Databases لمجموعة بيانات BigQuery العامة التي نريد إتاحتها لعملاء MCP
- تصميم وكيل وتطويره باستخدام "حزمة تطوير الوكيل" (ADK) للإجابة عن طلبات المستخدمين
- جرِّب "أداة الوكيل" و"صندوق أدوات MCP لقواعد البيانات" في البيئة المحلية.
المتطلبات
- متصفّح الويب Chrome
- بيئة تطوير Python محلية
2. قبل البدء
إنشاء مشروع
- في Google Cloud Console، في صفحة اختيار المشروع، اختَر أو أنشِئ مشروعًا على Google Cloud.
- تأكَّد من تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع .
- ستستخدم Cloud Shell، وهي بيئة سطر أوامر تعمل في Google Cloud ومحمَّلة مسبقًا بأداة bq. انقر على "تفعيل Cloud Shell" في أعلى "وحدة تحكّم Google Cloud".
- بعد الاتصال بـ Cloud Shell، يمكنك التأكّد من أنّك قد تم التحقّق من هويتك وأنّه تم ضبط المشروع على معرّف مشروعك باستخدام الأمر التالي:
gcloud auth list
- نفِّذ الأمر التالي في Cloud Shell للتأكّد من أنّ أمر gcloud يعرف مشروعك.
gcloud config list project
- إذا لم يتم ضبط مشروعك، استخدِم الأمر التالي لضبطه:
gcloud config set project <YOUR_PROJECT_ID>
راجِع المستندات لمعرفة أوامر gcloud وطريقة استخدامها.
3- مجموعة بيانات ملاحظات الإصدارات من Google وعملاء MCP
أولاً، لنلقِ نظرة على ملاحظات الإصدار في Google Cloud التي يتم تعديلها بانتظام على صفحة الويب الرسمية الخاصة بملاحظات الإصدار في Google Cloud، والتي تظهر لقطة شاشة لها أدناه:
يمكنك الاشتراك في عنوان URL الخاص بالخلاصة، ولكن ماذا لو كان بإمكاننا ببساطة طرح سؤال في "دردشة الوكيل" حول ملاحظات الإصدار هذه؟ ربما يكون طلبًا بسيطًا مثل "أريد تلقّي آخر الأخبار حول ملاحظات إصدار Google Cloud".
4. MCP Toolbox for Databases
أداة MCP لقواعد البيانات هي خادم MCP مفتوح المصدر لقواعد البيانات، وقد تم تصميمها مع مراعاة الجودة المناسبة للمؤسسات والإنتاج. تتيح لك تطوير الأدوات بسهولة أكبر وبسرعة أكبر وبشكل أكثر أمانًا من خلال التعامل مع التعقيدات، مثل تجميع الاتصالات والمصادقة وغير ذلك.
تساعدك "مجموعة الأدوات" في إنشاء أدوات الذكاء الاصطناعي التوليدي التي تتيح لعملائك الوصول إلى البيانات في قاعدة بياناتك. توفّر مجموعة الأدوات ما يلي:
- تطوير مبسط: يمكنك دمج الأدوات في برنامجك الآلي بأقل من 10 أسطر من الرموز البرمجية، وإعادة استخدام الأدوات بين برامج آلية أو أُطر متعددة، ونشر إصدارات جديدة من الأدوات بسهولة أكبر.
- أداء أفضل: أفضل الممارسات، مثل تجميع الاتصالات والمصادقة وغير ذلك
- أمان محسّن: مصادقة مدمجة للوصول إلى بياناتك بشكل أكثر أمانًا
- إمكانية المراقبة الشاملة: مقاييس وتتبُّع جاهزان للاستخدام مع إمكانية مدمجة لاستخدام OpenTelemetry
- تسهّل عليك "مجموعة الأدوات" ربط قواعد البيانات بأي مساعدات مستندة إلى الذكاء الاصطناعي ومتوافقة مع MCP، حتى تلك المضمّنة في بيئة التطوير المتكاملة (IDE).
تقع "مجموعة الأدوات" بين إطار عمل التنسيق في تطبيقك وقاعدة البيانات، وتوفّر مستوى تحكّم يُستخدم لتعديل الأدوات أو توزيعها أو استدعائها. فهو يسهّل إدارة أدواتك من خلال توفير موقع مركزي لتخزين الأدوات وتعديلها، ما يتيح لك مشاركة الأدوات بين الوكلاء والتطبيقات وتعديل هذه الأدوات بدون الحاجة إلى إعادة نشر تطبيقك.
لتلخيص الأمر بكلمات بسيطة:
- تتوفّر "أداة MCP" كملف ثنائي أو صورة حاوية، أو يمكنك إنشاؤها من المصدر.
- تعرض هذه الأداة مجموعة من الأدوات التي يمكنك ضبطها من خلال ملف tools.yaml. يمكن اعتبار الأدوات على أنّها مرتبطة بمصادر بياناتك. يمكنك الاطّلاع على مصادر البيانات المختلفة التي تتوافق معها، مثل AlloyDB وBigQuery وما إلى ذلك.
- بما أنّ مجموعة الأدوات هذه تتوافق الآن مع MCP، يتوفّر لديك تلقائيًا نقطة نهاية لخادم MCP يمكن أن تستخدمها البرامج (بيئات التطوير المتكاملة)، أو يمكنك استخدامها أثناء تطوير تطبيقات البرامج باستخدام أُطر عمل مختلفة، مثل "حزمة تطوير البرامج" (ADK).
سنركّز في مشاركة المدونة هذه على المجالات الموضّحة أدناه:
باختصار، سننشئ إعدادًا في "أدوات MCP لقواعد البيانات" يعرف كيفية الاتصال بمجموعة بيانات BigQuery. بعد ذلك، سنطوّر وكيلاً باستخدام "حزمة تطوير الوكيل" (ADK) التي سيتم دمجها مع نقطة نهاية "مجموعة أدوات MCP"، ما سيسمح لنا بإرسال طلبات بحث طبيعية للاستفسار عن مجموعة البيانات الخاصة بنا. يمكنك التفكير في الأمر على أنّه تطبيق قائم على الذكاء الاصطناعي تقوم بتطويره ويعرف كيفية التفاعل مع مجموعة بيانات BigQuery، ويُجري بعض طلبات البحث.
5- مجموعة بيانات BigQuery لملاحظات إصدار Google Cloud
برنامج مجموعات البيانات العامة في Google Cloud هو برنامج يتيح مجموعة من مجموعات البيانات لتطبيقاتك. إحدى مجموعات البيانات هذه هي قاعدة بيانات "ملاحظات إصدار Google Cloud". توفّر لك مجموعة البيانات هذه المعلومات نفسها المتوفّرة في صفحة الويب الرسمية لملاحظات الإصدار في Google Cloud، وهي متاحة كمجموعة بيانات يمكن الاستعلام عنها بشكل علني.
كاختبار، أتحقّق ببساطة من صحة مجموعة البيانات من خلال تنفيذ طلب بحث بسيط موضّح أدناه:
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
يؤدي ذلك إلى عرض قائمة بالسجلات من مجموعة بيانات "ملاحظات الإصدار" التي تم نشرها خلال آخر 7 أيام.
يمكنك استبدال ذلك بأي مجموعة بيانات أخرى من اختيارك وطلبات البحث والمعلَمات ذات الصلة التي تريدها. كل ما علينا فعله الآن هو إعداد ذلك كمصدر بيانات وأداة في "مجموعة أدوات MCP لقواعد البيانات". لنطّلِع على كيفية إجراء ذلك.
6. تثبيت "أدوات MCP لقواعد البيانات"
افتح نافذة طرفية على جهازك المحلي وأنشئ مجلدًا باسم mcp-toolbox
.
mkdir mcp-toolbox
انتقِل إلى مجلد mcp-toolbox
باستخدام الأمر الموضّح أدناه:
cd mcp-toolbox
ثبِّت إصدار MCP Toolbox for Databases الثنائي من خلال النص البرمجي الموضّح أدناه. الأمر الوارد أدناه مخصّص لنظام التشغيل Linux، ولكن إذا كنت تستخدم نظام التشغيل Mac أو Windows، تأكَّد من تنزيل الملف الثنائي الصحيح. اطّلِع على صفحة الإصدارات لنظام التشغيل والبنية ونزِّل الملف الثنائي الصحيح.
export VERSION=0.13.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
لدينا الآن النسخة الثنائية من مجموعة الأدوات جاهزة للاستخدام. الخطوة التالية هي إعداد مجموعة الأدوات باستخدام مصادر البيانات والإعدادات الأخرى.
7. ضبط إعدادات "مجموعة أدوات MCP" لقواعد البيانات
الآن، علينا تحديد مجموعة بيانات وأدوات BigQuery في ملف tools.yaml
الذي يحتاج إليه MCP Toolbox for Database. الملف tools.yaml
هو الطريقة الأساسية لإعداد Toolbox.
أنشئ ملفًا باسم tools.yaml
في المجلد نفسه، أي mcp-toolbox
، ويظهر محتواه أدناه.
يمكنك استخدام محرّر النصوص nano المتوفّر في 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
في ما يلي نبذة عن الملف:
- تمثّل المصادر مصادر البيانات المختلفة التي يمكن أن تتفاعل معها إحدى الأدوات. يمثّل "المصدر" مصدر بيانات يمكن أن تتفاعل معه إحدى الأدوات. يمكنك تحديد المصادر كخريطة في قسم المصادر ضمن ملف tools.yaml. عادةً، سيحتوي إعداد المصدر على أي معلومات مطلوبة للاتصال بقاعدة البيانات والتفاعل معها. في حالتنا، حدّدنا مصدر BigQuery
my-bq-source
وعليك تقديم رقم تعريف مشروعك على Google Cloud. لمزيد من المعلومات، يُرجى الرجوع إلى مرجع المصادر. - تحدّد الأدوات الإجراءات التي يمكن أن يتّخذها الوكيل، مثل القراءة والكتابة في مصدر معيّن. تمثّل الأداة إجراءً يمكن أن يتّخذه الوكيل، مثل تنفيذ عبارة SQL. يمكنك تعريف "الأدوات" كخريطة في قسم الأدوات من ملف tools.yaml. عادةً، تتطلّب الأداة مصدرًا لتنفيذ إجراء معيّن. في حالتنا، نحدّد أداة واحدة
search_release_notes_bq
. يشير ذلك إلى مصدر BigQuerymy-bq-source
الذي حدّدناه في الخطوة الأولى. يتضمّن أيضًا البيان والتعليمات التي ستستخدمها برامج وكيل الذكاء الاصطناعي. لمزيد من المعلومات، يُرجى الرجوع إلى مرجع الأدوات. - أخيرًا، لدينا مجموعة الأدوات التي تتيح لك تحديد مجموعات من الأدوات التي تريد أن تتمكّن من تحميلها معًا. يمكن أن يكون ذلك مفيدًا لتحديد مجموعات مختلفة استنادًا إلى الوكيل أو التطبيق. في حالتنا، لدينا تعريف لمجموعة أدوات حدّدنا فيه حاليًا أداة واحدة حالية فقط
search_release_notes_bq
حدّدناها. يمكنك الحصول على أكثر من مجموعة أدوات واحدة، والتي تتضمّن مجموعة من الأدوات المختلفة.
لذا، حدّدنا حاليًا أداة واحدة فقط تحصل على ملاحظات الإصدار لآخر 7 أيام وفقًا لطلب البحث. ولكن يمكنك الحصول على مجموعات مختلفة مع المَعلمات أيضًا.
يمكنك الاطّلاع على المزيد من تفاصيل الإعداد ( المصدر والأدوات) في إعداد مصدر بيانات BigQuery في "أدوات MCP لقواعد البيانات".
8. اختبار "صندوق أدوات MCP لقواعد البيانات"
لقد نزّلنا "الأدوات" وأعددناها باستخدام الملف tools.yaml
في المجلد mcp-toolbox
. لننفّذها على الجهاز أولاً.
نفِّذ الأمر التالي:
./toolbox --tools-file="tools.yaml"
عند التنفيذ بنجاح، من المفترض أن تظهر لك عملية بدء تشغيل الخادم مع نموذج للناتج يشبه النموذج أدناه:
2025-09-08T03:56:45.772489914Z INFO "Initialized 1 sources."
2025-09-08T03:56:45.772682659Z INFO "Initialized 0 authServices."
2025-09-08T03:56:45.772735103Z INFO "Initialized 1 tools."
2025-09-08T03:56:45.772774639Z INFO "Initialized 2 toolsets."
2025-09-08T03:56:45.777711644Z INFO "Server ready to serve!"
يتم تشغيل خادم MCP Toolbox تلقائيًا على المنفذ 5000
. إذا تبيّن لك أنّ المنفذ 5000
مستخدَم حاليًا، يمكنك استخدام منفذ آخر (مثل 7000
) وفقًا للأمر الموضّح أدناه. يُرجى استخدام 7000
بدلاً من المنفذ 5000
في الأوامر اللاحقة.
./toolbox --tools-file "tools.yaml" --port 7000
لنستخدم Cloud Shell لاختبار ذلك.
انقر على "معاينة الويب" في Cloud Shell كما هو موضّح أدناه:
انقر على تغيير المنفذ واضبط المنفذ على 5000 كما هو موضّح أدناه، ثم انقر على "تغيير ومعاينة".
من المفترض أن يظهر الناتج التالي:
في عنوان URL للمتصفّح، أضِف ما يلي إلى نهاية عنوان URL:
/api/toolset
من المفترض أن يؤدي ذلك إلى عرض الأدوات التي تم ضبطها حاليًا. يظهر أدناه نموذج للناتج:
{
"serverVersion": "0.13.0+binary.linux.amd64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85",
"tools": {
"search_release_notes_bq": {
"description": "Use this tool to get information on Google Cloud Release Notes.\n",
"parameters": [],
"authRequired": []
}
}
}
اختبار الأدوات من خلال واجهة مستخدم MCP Toolbox for Databases
توفر "مجموعة الأدوات" واجهة مرئية (واجهة مستخدم "مجموعة الأدوات") للتفاعل مباشرةً مع الأدوات من خلال تعديل المَعلمات وإدارة العناوين وتنفيذ الطلبات، وكل ذلك ضمن واجهة مستخدم بسيطة على الويب.
إذا أردت تجربة ذلك، يمكنك تنفيذ الأمر السابق الذي استخدمناه لتشغيل Toolbox Server مع الخيار --ui
.
لإجراء ذلك، أوقِف النسخة السابقة من خادم MCP Toolbox for Databases التي قد تكون قيد التشغيل وأدخِل الأمر التالي:
./toolbox --tools-file "tools.yaml" --ui
من المفترض أن يظهر لك ناتج يشير إلى أنّ الخادم تمكّن من الاتصال بمصادر البيانات وحمّل مجموعة الأدوات والأدوات. يتم تقديم نموذج للناتج أدناه، وستلاحظ أنّه سيشير إلى أنّ واجهة مستخدم "مجموعة الأدوات" تعمل.
2025-09-08T03:59:34.856476253Z INFO "Initialized 1 sources."
2025-09-08T03:59:34.856546526Z INFO "Initialized 0 authServices."
2025-09-08T03:59:34.856577586Z INFO "Initialized 1 tools."
2025-09-08T03:59:34.856641568Z INFO "Initialized 2 toolsets."
2025-09-08T03:59:34.86133344Z INFO "Server ready to serve!"
2025-09-08T03:59:34.861366205Z INFO "Toolbox UI is up and running at: http://localhost:5000/ui"
انقر على عنوان URL الخاص بواجهة المستخدِم وتأكَّد من أنّ لديك /ui
في نهاية عنوان URL. سيؤدي ذلك إلى عرض واجهة مستخدم كما هو موضّح أدناه:
انقر على خيار "الأدوات" (Tools) على يمين الصفحة لعرض الأدوات التي تم إعدادها، وفي حالتنا، يجب أن تكون أداة واحدة فقط، أي search_release_notes_bq
، كما هو موضّح أدناه:
ما عليك سوى النقر على الأدوات (search_release_notes_bq
) وسيتم عرض صفحة لتجربة الأداة. بما أنّه لا توجد مَعلمات يجب تقديمها، يمكنك ببساطة النقر على تشغيل الأداة للاطّلاع على النتيجة. في ما يلي نموذج لعملية التنفيذ:
يصف "مجموعة أدوات MCP لقواعد البيانات" أيضًا طريقة Pythonic للتحقّق من صحة الأدوات واختبارها، ويمكنك الاطّلاع على هذه الطريقة هنا. سنتخطّى ذلك وسننتقل مباشرةً إلى "حزمة تطوير الوكيل" (ADK) في القسم التالي الذي سيستخدم هذه الأدوات.
9- كتابة الوكيل باستخدام "حزمة تطوير الوكيل" (ADK)
تثبيت "حزمة تطوير الوكيل" (ADK)
افتح علامة تبويب جديدة في Cloud Shell وأنشئ مجلدًا باسم my-agents
على النحو التالي. انتقِل أيضًا إلى المجلد my-agents
.
mkdir my-agents
cd my-agents
لننشئ الآن بيئة Python افتراضية باستخدام 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 من خلال الأمر adk
create
مع اسم التطبيق **(gcp-releasenotes-agent-app)
**كما هو موضّح أدناه.
adk create gcp-releasenotes-agent-app
اتّبِع الخطوات واختَر ما يلي:
- نموذج Gemini لاختيار نموذج للوكيل الأساسي
- اختَر Vertex AI كخدمة خلفية.
- سيتم عرض رقم تعريف مشروع Google التلقائي ومنطقتك. اختَر القيمة التلقائية نفسها.
Choose a model for the root agent:
1. gemini-2.0-flash-001
2. Other models (fill later)
Choose model (1, 2): 1
1. Google AI
2. Vertex AI
Choose a backend (1, 2): 2
You need an existing Google Cloud account and project, check out this link for details:
https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai
Enter Google Cloud project ID [YOUR_GOOGLE_PROJECT_ID]:
Enter Google Cloud region [us-central1]:
Agent created in ../my-agents/gcp-releasenotes-agent-app:
- .env
- __init__.py
- agent.py
لاحظ المجلد الذي تم فيه إنشاء نموذج تلقائي والملفات المطلوبة للوكيل.
أولاً، يجب إنشاء ملف .env
. يمكنك الاطّلاع على محتوى هذه الرسالة أدناه:
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION
تشير القيم إلى أنّنا سنستخدم Gemini من خلال Vertex AI مع القيم الخاصة برقم تعريف المشروع على Google Cloud والموقع الجغرافي.
بعد ذلك، لدينا الملف __init__.py
الذي يحدّد المجلد كوحدة نمطية ويتضمّن عبارة واحدة تستورد الوكيل من الملف agent.py
.
from . import agent
أخيرًا، لنلقِ نظرة على الملف agent.py
. يمكنك الاطّلاع على المحتوى أدناه:
from google.adk.agents import Agent
root_agent = Agent(
model='gemini-2.0-flash-001',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
)
هذا هو أبسط وكيل يمكنك كتابته باستخدام ADK. من صفحة مستندات ADK صفحة، الوكيل هو وحدة تنفيذ مستقلة مصمَّمة للعمل بشكل مستقل لتحقيق أهداف معيّنة. يمكن للوكلاء تنفيذ المهام والتفاعل مع المستخدمين واستخدام أدوات خارجية والتنسيق مع وكلاء آخرين.
على وجه التحديد، يستخدم LLMAgent، المعروف باسم Agent، النماذج اللغوية الكبيرة (LLM) كمحرّك أساسي لفهم اللغة الطبيعية، والتفكير، والتخطيط، وإنشاء الردود، وتحديد كيفية المتابعة أو الأدوات التي يجب استخدامها بشكل ديناميكي، ما يجعلها مثالية للمهام المرنة التي تركز على اللغة. يمكنك الاطّلاع على مزيد من المعلومات حول "وكلاء النماذج اللغوية الكبيرة" هنا.
بهذا نكون قد أكملنا عملية إنشاء البنية الأساسية لإنشاء وكيل أساسي باستخدام "حزمة تطوير الوكيل" (ADK). سنربط الآن "الوكيل" بـ "مجموعة أدوات MCP"، ليتمكّن من استخدام هذه الأداة للإجابة عن طلبات المستخدم (في هذه الحالة، ستكون ملاحظات إصدار Google Cloud).
10. ربط "الوكيل الذكي" بالأدوات
سنربط هذا "الوكيل" بالأدوات الآن. في سياق "مجموعة أدوات تطوير تطبيقات الذكاء الاصطناعي"، تمثّل "الأداة" إمكانية محدّدة يتم توفيرها لبرنامج وكيل يعمل بالذكاء الاصطناعي، ما يتيح له تنفيذ الإجراءات والتفاعل مع العالم خارج نطاق قدراته الأساسية على إنشاء النصوص والاستدلال.
في حالتنا، سنزوّد "الوكيل" الآن بالأدوات التي أعددناها في "صندوق أدوات MCP" لقواعد البيانات.
عدِّل ملف agent.py
باستخدام الرمز التالي. يُرجى العِلم أنّنا نستخدم المنفذ التلقائي 5000 في الرمز، ولكن إذا كنت تستخدم رقم منفذ بديل، يُرجى استخدامه.
from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("http://127.0.0.1:5000")
# Load all the tools
tools = toolbox.load_toolset('my_bq_toolset')
root_agent = Agent(
name="gcp_releasenotes_agent",
model="gemini-2.0-flash",
description=(
"Agent to answer questions about Google Cloud Release notes."
),
instruction=(
"You are a helpful agent who can answer user questions about the Google Cloud Release notes. Use the tools to answer the question"
),
tools=tools,
)
يمكننا الآن اختبار "الوكيل" الذي سيجلب بيانات حقيقية من مجموعة بيانات BigQuery التي تمّت تهيئتها باستخدام "مجموعة أدوات MCP لقواعد البيانات".
لإجراء ذلك، اتّبِع التسلسل التالي:
في إحدى وحدات Cloud Shell الطرفية، شغِّل "أدوات MCP لقواعد البيانات". من المحتمل أن يكون قيد التشغيل على جهازك المحلي على المنفذ 5000 كما اختبرنا سابقًا. إذا لم يكن الأمر كذلك، نفِّذ الأمر التالي (من مجلد mcp-toolbox
) لبدء الخادم:
./toolbox --tools_file "tools.yaml"
من المفترض أن يظهر لك ناتج يشير إلى أنّ الخادم تمكّن من الاتصال بمصادر البيانات وحمّل مجموعة الأدوات والأدوات. في ما يلي نموذج للناتج:
./toolbox --tools-file "tools.yaml"
2025-06-17T07:48:52.989710733Z INFO "Initialized 1 sources."
2025-06-17T07:48:52.989805642Z INFO "Initialized 0 authServices."
2025-06-17T07:48:52.989847035Z INFO "Initialized 1 tools."
2025-06-17T07:48:52.989889742Z INFO "Initialized 2 toolsets."
2025-06-17T07:48:52.990357879Z INFO "Server ready to serve!"
بعد بدء تشغيل خادم MCP بنجاح، شغِّل 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`
......
......
لاحظ أنّ "الوكيل" يستخدم الأداة التي أعددناها في "صندوق أدوات MCP" لقواعد البيانات (search_release_notes_bq
) ويستردّ البيانات من مجموعة بيانات BigQuery وينسّق الردّ وفقًا لذلك.
11. تهانينا
تهانينا، لقد أعددت "مجموعة أدوات MCP لقواعد البيانات" بنجاح وأعددت مجموعة بيانات BigQuery للوصول إليها من داخل برامج MCP.