1. مقدمة
في هذا الدليل التعليمي حول رموز البرامج، ستستخدم مجموعة أدوات MCP لقواعد البيانات لإتاحة مجموعات بيانات BigQuery.
من خلال ورشة رموز البرامج، ستطبّق نهجًا خطوة بخطوة على النحو التالي:
- حدِّد مجموعة بيانات BigQuery معيّنة ("ملاحظات حول إصدار Google Cloud") من برنامج مجموعات بيانات BigQuery المتاحة للجميع.
- إعداد أدوات MCP لقواعد البيانات التي ترتبط بمجموعة بيانات BigQuery
- استكشِف عملاء MCP المختلفين وتأكَّد من أنّه بإمكانهم الوصول إلى واجهة MCP لمجموعة بيانات BigQuery.
المهام التي ستنفّذها
- إعداد أدوات MCP لقواعد البيانات لعرض ملاحظات إصدار Google Cloud، وهي مجموعة بيانات BigQuery علنية، كواجهة MCP مع عملاء MCP الآخرين (محرّرات رمز المصدر والأدوات وما إلى ذلك)
ما ستتعرّف عليه
- استكشِف مجموعات البيانات العامة في BigQuery واختَر مجموعة بيانات معيّنة.
- إعداد أدوات MCP لقواعد البيانات الخاصة بمجموعة البيانات العامة في BigQuery التي نريد إتاحتها لعملاء MCP
- اختبِر أداة MCP Toolbox لإعداد قواعد البيانات في البيئة المحلية.
المتطلبات
- متصفّح الويب Chrome
- بيئة تطوير على الجهاز لبرنامج Python
- بيئة Node.js محلية مع الإصدار 5.2.0 من npm أو إصدار أحدث
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".
لنلقِ نظرة على الهدف النهائي وهذه لقطة شاشة فعلية لتطبيق Visual Studio Code الذي يشغّل CoPilot وأنا في وضع "موظّف الدعم"، وأسأل عن ملاحظات الإصدار في Google Cloud:
لنبدأ في التعرّف على كيفية إنشاء هذا الإجراء، وسنتعرّف في هذه العملية على كيفية عرض مجموعات بيانات BigQuery في عملاء MCP المختلفين من اختيارك.
4. مجموعة أدوات "مركز عملائي" لقواعد البيانات
مجموعة أدوات MCP لقواعد البيانات هي خادم MCP مفتوح المصدر لقواعد البيانات، وقد تم تصميمه بالاستناد إلى مستوى المؤسسة وجودة الإنتاج. ويتيح لك تطوير الأدوات بسهولة أكبر وأسرع وأمان أكبر من خلال التعامل مع التعقيدات، مثل تجميع الاتصالات والمصادقة وغير ذلك.
يساعدك Toolbox في إنشاء أدوات الذكاء الاصطناعي التوليدي التي تتيح لموظّفي الدعم الوصول إلى البيانات في قاعدة بياناتك. يوفّر "مربّع الأدوات" ما يلي:
- تطوير مبسّط: يمكنك دمج الأدوات مع موظّف الدعم في أقل من 10 أسطر من الرموز البرمجية، وإعادة استخدام الأدوات بين موظّفي الدعم أو أطر العمل المتعددة، ونشر إصدارات جديدة من الأدوات بسهولة أكبر.
- أداء أفضل: أفضل الممارسات، مثل تجميع الاتصالات والمصادقة وغير ذلك
- أمان مُحسَّن: مصادقة مدمجة للوصول إلى بياناتك بأمان أكبر
- إمكانية المراقبة من البداية إلى النهاية: مقاييس وتتبُّع متوفّران تلقائيًا مع دعم مضمّن لـ OpenTelemetry
- يسهّل Toolbox ربط قواعد البيانات بأيّ من المساعدين المستنِدين إلى الذكاء الاصطناعي المتوافقين مع ميزات "إدارة العملاء"، حتى تلك المتوفّرة في بيئة تطوير البرامج المتكاملة.
يقع "صندوق الأدوات" بين إطار عمل تنسيق تطبيقك وقاعدة بياناتك، ما يوفر خطة تحكّم تُستخدَم لتعديل الأدوات أو توزيعها أو تشغيلها. ويبسّط هذا الإجراء إدارة أدواتك من خلال تزويدك بموقع مركزي لتخزين الأدوات وتعديلها، ما يتيح لك مشاركة الأدوات بين موظّفي الدعم والتطبيقات وتعديل هذه الأدوات بدون إعادة نشر تطبيقك بالضرورة.
إليك ملخّص بسيط:
- يتوفّر MCP Toolbox كملف ثنائي أو صورة حاوية، أو يمكنك إنشاؤه من المصدر.
- ويعرِض مجموعة من الأدوات التي يمكنك ضبطها من خلال ملف tools.yaml. يمكن اعتبار الأدوات متصلة بمصادر بياناتك. يمكنك الاطّلاع على مصادر البيانات المختلفة التي تتوافق معها : AlloyDB وBigQuery وما إلى ذلك.
- بما أنّ مجموعة الأدوات هذه متوافقة الآن مع MCP، ستحصل تلقائيًا على نقطة نهاية لخادم MCP يمكن أن يستخدمها مطوّرو التطبيقات (IDE) أو يمكنك استخدامها أثناء تطوير تطبيقات مطوّري التطبيقات باستخدام إطارات عمل مختلفة، مثل حِزم تطوير مطوّري التطبيقات (ADK).
سنركّز في هذه المقالة على الجوانب التالية:
باختصار، سننشئ إعدادًا في "مجموعة أدوات MCP" لقواعد البيانات يعرف كيفية الاتصال بمجموعة بيانات BigQuery. سنستخدم بعد ذلك IDE أو أيّ IDE آخر لوكيل (عملاء MCP) سيتواصل بعد ذلك مع نقطة نهاية أدوات 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 لقواعد البيانات من خلال النص البرمجي الوارد أدناه. إنّ الأمر الوارد أدناه مخصّص لنظام التشغيل Linux، ولكن إذا كنت تستخدم نظام التشغيل Mac أو Windows، تأكَّد من تنزيل الملف الثنائي الصحيح. اطّلِع على صفحة الإصدارات لنظام التشغيل والبنية ونزِّل الملف الثنائي الصحيح.
export VERSION=0.6.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
، ويتم عرض محتوياته أدناه.
يمكنك استخدام محرِّر 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" --port 7000
يعمل خادم MCP Toolbox تلقائيًا على المنفذ 5000، ولكن في هذه الحالة، حدّدنا تشغيله على المنفذ 7000.
عند تنفيذ الأمر بنجاح، من المفترض أن يظهر لك بدء تشغيل الخادم مع نموذج ناتج مشابه لما يلي:
2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"
ما عليك سوى فتح المتصفّح والانتقال إلى عنوان URL التالي:
http://127.0.0.1:7000
من المفترض أن يؤدي ذلك إلى ظهور النتيجة التالية:
في عنوان URL للمتصفّح، أضِف ما يلي إلى نهاية عنوان URL:
http://127.0.0.1:7000/api/toolset
من المفترض أن يؤدي ذلك إلى عرض الأدوات التي تم ضبطها حاليًا. في ما يلي نموذج للناتج:
يتوفّر الآن خادم MCP وفقًا للمستندات على عنوان URL التالي:
http://127.0.0.1:7000/mcp/sse
يظهر الناتج أدناه:
event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873
لنختبر خادم MCP مع عملاء MCP في القسم التالي.
9- اختبار خادم MCP باستخدام عملاء MCP مختلفين
لنختبر خادم MCP الذي تم إنشاؤه حديثًا مع اثنين من عملاء MCP.
أداة فحص MCP باستخدام "مجموعة الأدوات"
الأداة الأولى التي يجب استخدامها هي أداة فحص MCP مع "صندوق الأدوات". لإجراء ذلك، يجب تثبيت npx
. سيطلب منك Cloud Shell تثبيت الحزمة. يُرجى تثبيته.
عليك تنفيذ الأمر التالي:
npx @modelcontextprotocol/inspector
سيؤدي ذلك إلى تشغيل الخادم ومن المفترض أن يظهر لك ناتج مشابه لما يلي:
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
يُرجى الانتقال إلى صفحة "أداة فحص MCP" كما هو موضّح أعلاه، وأول ما عليك فعله هو ضبط إعدادات هذا العميل للتواصل مع خادم MCP.
اختَر Transport Type (نوع النقل) على أنّه SSE
وأدخِل URL
كما ذكرنا سابقًا، أي http://127.0.0.1:7000/mcp/sse
. انقر على Connect
. إذا سارت الأمور على ما يرام، من المفترض أن تظهر الحالة على أنّها "متصل" كما هو موضّح أدناه:
على يسار الصفحة، يمكنك الآن عرض قائمة الأدوات من خلال النقر على List Tools
.
بعد ذلك، انقر على أداة search_release_notes_bq
، وبما أنّنا لا نملك أيّ مَعلمات لنقلها، ما عليك سوى النقر على الزر Run tool
. من المفترض أن يؤدي ذلك إلى استدعاء "صندوق الأدوات"، الذي يتصل بدوره بمصدر بيانات BigQuery ويسترجع البيانات كما هو موضّح أدناه:
VS Code في وضع "موظّف الدعم" باستخدام CoPilot
تتضمّن المستندات الرسمية خطوات كيفية الربط بـ "صندوق الأدوات" لمصادر البيانات وأدوات تطوير البرامج المختلفة على هذا الرابط.
في هذا القسم، سنطّلع على كيفية ضبط إعدادات خوادم MCP واستخدامها في VS Code. يُرجى العِلم أنّ هذه الميزة متوفّرة في الإصدار التجريبي وأنّ المستندات الرسمية شاملة ومتاحة هنا.
لنفترض أنّك قد أطلقت VS Code، افتح Command Palette
وأدخِل الأمر التالي:
بعد ذلك، اختَر HTTP sse
لأنّنا نملك عنوان URL لميزة "التشفير من جهة العميل".
سيُطلب منك إدخال SSE endpoint
، وسنقدّم لك الرمز نفسه:
بعد ذلك، سيتم تأكيد بعض التفاصيل الأخرى. لقد اخترت إضافته إلى إعدادات المستخدم، لذا سيفتح ملف settings.json
الذي يمكنني من خلاله الاطّلاع على الإعدادات:
ما عليّ سوى النقر على Start
الذي يظهر أعلاه أو يمكنني إجراء ذلك من خلال أمر "لوحة الألوان" أيضًا.
ستلاحظ أنّ الحالة تغيّرت إلى Running
.
الآن، يمكننا تشغيل وضع CoPilot Chat، ثم في وضع Agent
، نضغط على #search_release_notes_bq
للإشارة إلى أنّنا نريد استخدام هذه الأداة، ثم نكتب نموذجًا لنص طلب البحث كما هو موضّح أدناه:
10. تهانينا
نبارك لك على نجاحك في ضبط "مجموعة أدوات MCP" لقواعد البيانات وضبط مجموعة بيانات BigQuery للوصول إليها ضمن عملاء MCP.