يمكنك استخدام خادم Firebase MCP لمنح أدوات التطوير المستندة إلى الذكاء الاصطناعي (AI) القدرة على العمل مع مشاريعك على Firebase. يعمل خادم Firebase MCP مع أي أداة يمكنها العمل كعميل MCP، بما في ذلك Claude Desktop وCline وCursor وVisual Studio Code Copilot وWindsurf Editor وغير ذلك.
يمكن للمحرِّر الذي تم إعداده لاستخدام خادم Firebase MCP الاستفادة من إمكانات الذكاء الاصطناعي لمساعدتك في:
- إنشاء مشاريع Firebase وإدارتها
- إدارة مستخدمي "مصادقة Firebase"
- العمل مع البيانات في Cloud Firestore وFirebase Data Connect
- استرداد مخطّطات Firebase Data Connect
- فهم قواعد الأمان في Firestore و"مساحة التخزين السحابي لـ Firebase"
- إرسال الرسائل باستخدام "المراسلة عبر السحابة الإلكترونية من Firebase"
هذه ليست سوى قائمة جزئية. اطّلِع على قسم إمكانات الخادم للحصول على قائمة كاملة بالأدوات المتاحة للمحرِّر.
قبل البدء
تأكَّد من تثبيت Node.js وnpm بشكلٍ سليم.
مصادقة واجهة برمجة التطبيقات Firebase CLI من خلال تنفيذ الأمر التالي:
npx -y firebase-tools@latest login --reauth
يستخدم خادم Firebase MCP وحدة التحكّم في سطر الأوامر (CLI) لمعالجة المصادقة باستخدام مشاريعك على Firebase. يجب المصادقة باستخدام وحدة تحكّم سطر الأوامر قبل استخدام MCP server. إذا حاولت استخدام الخادم بدون تسجيل الدخول، أو إذا انتهت صلاحية رمز مصادقة العميل، سيطبع الخادم رسالة خطأ تحثك على إعادة المصادقة.
إعداد برنامج MCP
يمكن أن يعمل خادم Firebase MCP مع أيّ عميل MCP يتوافق مع واجهة I/O (stdio) العادية كوسيط النقل. في ما يلي تعليمات محدّدة لبعض الأدوات الشائعة:
الإعدادات الأساسية
Claude Desktop
لضبط تطبيق Claude Desktop لاستخدام خادم Firebase MCP، عدِّل ملف
claude_desktop_config.json
. يمكنك فتح هذا الملف أو إنشاؤه من قائمة
كلود > الإعدادات. انقر على علامة التبويب المطوّر، ثم على
تعديل الإعدادات.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
كرم
لضبط Cline لاستخدام خادم Firebase MCP، عدِّل ملف
cline_mcp_settings.json
. يمكنك فتح هذا الملف أو إنشاؤه من خلال النقر على
رمز "خوادم MCP" في أعلى لوحة "العملاء"، ثم النقر على
الزر ضبط خوادم MCP.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
المؤشر
لضبط Cursor لاستخدام خادم Firebase MCP، عدِّل الملف
.cursor/mcp.json
(لضبط مشروع محدّد فقط) أو الملف
~/.cursor/mcp.json
(لإتاحة خادم MCP في جميع المشاريع):
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Visual Studio Code Copilot
لضبط إعدادات مشروع واحد، عدِّل ملف .vscode/mcp.json
في
مساحة العمل:
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
لإتاحة الخادم في كل مشروع تفتحه، عدِّل إعدادات المستخدم:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
محرِّر التزلج الشراعي
لضبط Windsurf Editor، عدِّل الملف التالي:
~/.codeium/windsurf/mcp_config.json
:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
الإعدادات الاختيارية
بالإضافة إلى الإعداد الأساسي لكل عميل، الذي سبق أن وضّحناه، هناك مَعلمتَان اختياريتان يمكنك تحديدهما:
--dir ABSOLUTE_DIR_PATH
: المسار المطلق لدليل يحتوي علىfirebase.json
، لضبط سياق مشروع لخادم MCP في حال عدم تحديد أي منهما، ستتوفّر أداتاget_project_directory
وset_project_directory
وسيكون الدليل التلقائي هو الدليل العامل الذي تم فيه تشغيل خادم MCP.
--only FEATURE_1,FEATURE_2
: قائمة مفصّلة بفواصل لمجموعات الميزات المطلوب تفعيلها استخدِم هذا الخيار للحدّ من الأدوات المعروضة على الميزات التي تستخدمها بشكل نشط فقط. تجدر الإشارة إلى أنّ الأدوات الأساسية متوفّرة دائمًا.
على سبيل المثال:
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
إمكانات خادم MCP
اسم الأداة | مجموعة الميزات | الوصف |
---|---|---|
firebase_get_project | لُبّ (قلب الثمرة) | يسترجع معلومات عن مشروع Firebase النشط حاليًا. |
firebase_list_apps | لُبّ (قلب الثمرة) | يسترجع التطبيقات المسجّلة في مشروع Firebase الحالي. |
firebase_get_admin_sdk_config | لُبّ (قلب الثمرة) | تحصل على إعدادات حزمة Admin SDK للمشروع الحالي. |
firebase_get_sdk_config | لُبّ (قلب الثمرة) | يسترجع معلومات إعدادات حزمة تطوير البرامج (SDK) لمنصة Firebase للنظام الأساسي المحدّد. يجب تحديد إما منصة أو app_id. |
firebase_create_project | لُبّ (قلب الثمرة) | لإنشاء مشروع جديد على Firebase |
firebase_create_app | لُبّ (قلب الثمرة) | لإنشاء تطبيق جديد في مشروعك على Firebase للويب أو iOS أو Android |
firebase_create_android_sha | لُبّ (قلب الثمرة) | تُضيف هذه السمة تجزئة شهادة SHA إلى تطبيق Android حالي. |
firebase_get_environment | لُبّ (قلب الثمرة) | يسترجع معلومات عن بيئة Firebase الحالية، بما في ذلك المستخدم الحالي الذي تم مصادقة هويته ودليل المشروع والمشروع النشط وغير ذلك. |
firebase_update_environment | لُبّ (قلب الثمرة) | تعديل إعدادات بيئة Firebase، مثل دليل المشروع والمشروع النشط وحساب المستخدم النشط وغير ذلك استخدِم firebase_get_environment للاطّلاع على البيئة التي تم ضبطها حاليًا. |
firebase_init | لُبّ (قلب الثمرة) | يبدأ إعداد ميزات Firebase المحدّدة في مساحة العمل. جميع الميزات اختيارية، ما عليك سوى تقديم المنتجات التي تريد إعدادها. يمكنك إعداد ميزات جديدة في دليل مشروع حالي، ولكن قد تؤدي إعادة إعداد ميزة حالية إلى استبدال الإعدادات. |
firestore_delete_document | firestore | تؤدي هذه الوظيفة إلى حذف مستندات Firestore من قاعدة بيانات في المشروع الحالي حسب مسارات المستندات الكاملة. استخدِم هذا الخيار إذا كنت تعرف المسار الدقيق للمستند. |
firestore_get_documents | firestore | يسترجع هذا الإجراء مستندًا واحدًا أو أكثر من Firestore من قاعدة بيانات في المشروع الحالي حسب مسارات المستندات الكاملة. استخدِم هذا الخيار إذا كنت تعرف المسار الدقيق للمستند. |
firestore_list_collections | firestore | يسترجع قائمة بالمجموعات من قاعدة بيانات Firestore في المشروع الحالي. |
firestore_query_collection | firestore | يسترجع هذا الإجراء مستندًا واحدًا أو أكثر من Firestore من مجموعة هي قاعدة بيانات في المشروع الحالي من خلال مجموعة تتضمّن مسار مستند كاملاً. استخدِم هذا الإجراء إذا كنت تعرف المسار الدقيق لمجموعة وعبارة الفلترة التي تريدها للمستند. |
firestore_get_rules | firestore | يسترجع قواعد أمان Firestore النشطة للمشروع الحالي. |
firestore_validate_rules | firestore | تتحقّق هذه الوظيفة من مصدر قواعد Firestore المقدَّم بحثًا عن أخطاء البنية والتحقق من الصحة. قدِّم رمز المصدر للتحقّق منه أو مسارًا لملف مصدر. |
auth_get_user | auth | يسترجع مستخدمًا استنادًا إلى عنوان بريد إلكتروني أو رقم هاتف أو رقم تعريف مستخدم. |
auth_disable_user | auth | يُوقِف هذا الإجراء مستخدمًا أو يفعّله استنادًا إلى معرّف مستخدم فريد. |
auth_list_users | auth | يسترجع جميع المستخدمين في المشروع حتى الحدّ المحدّد. |
auth_set_claim | auth | تُستخدَم لضبط مطالبة مخصّصة في حساب مستخدم معيّن. استخدِم هذا الإجراء لإنشاء قيم موثوق بها مرتبطة بمستخدم، مثل وضع علامة عليه كمشرف. تكون المطالبات محدودة الحجم ويجب أن تكون موجزة في الاسم والقيمة. حدِّد مَعلمة واحدة فقط من value أو json_value . |
auth_set_sms_region_policy | auth | تُستخدَم لضبط سياسة منطقة الرسائل القصيرة في Firebase Auth لحظر المناطق التي يمكنها تلقّي الرسائل النصية استنادًا إلى قائمة ALLOW أو DENY الخاصة برموز البلدان. ستلغي هذه السياسة أي سياسات حالية عند ضبطها. |
dataconnect_list_services | dataconnect | أدرِج خدمات Firebase Data Connect المتاحة في المشروع الحالي. |
dataconnect_get_schema | dataconnect | استرداد معلومات عن مخطّط Firebase Data Connect في المشروع، بما في ذلك مصادر بيانات Cloud SQL ومخطّط GraphQL الذي يصف نموذج البيانات |
dataconnect_get_connectors | dataconnect | احصل على أدوات ربط Firebase Data Connect في المشروع، والتي تتضمّن طلبات بحث GraphQL المحدّدة مسبقًا التي يمكن لحِزم تطوير البرامج (SDK) للعملاء الوصول إليها. |
dataconnect_execute_graphql | dataconnect | تنفيذ طلب GraphQL عشوائي ضد خدمة Data Connect أو محاكيها |
dataconnect_execute_graphql_read | dataconnect | تنفيذ طلب بحث GraphQL عشوائي في خدمة Data Connect أو محاكيها لا يمكن كتابة البيانات. |
dataconnect_execute_mutation | dataconnect | تنفيذ عملية تعديل في Data Connect تم نشرها على خدمة أو محاكي لها يمكنه قراءة البيانات وكتابتها. |
dataconnect_execute_query | dataconnect | تنفيذ طلب بحث Data Connect المنشور في خدمة أو محاكيها لا يمكن كتابة أي بيانات. |
storage_get_rules | التخزين | تستردّ قواعد أمان "مساحة التخزين" النشطة للمشروع الحالي. |
storage_validate_rules | التخزين | تتحقّق من مصدر قواعد التخزين المقدَّم بحثًا عن أخطاء البنية والتحقق من الصحة. قدِّم رمز المصدر للتحقّق منه أو مسارًا لملف مصدر. |
storage_get_object_download_url | التخزين | تستردّ هذه السمة عنوان URL للتنزيل لعنصر في Firebase Storage. |
messaging_send_message | المراسلة | تُرسِل رسالة إلى رمز تسجيل أو موضوع في "المراسلة عبر السحابة الإلكترونية من Firebase". يمكن تقديم قيمة واحدة فقط من registration_token أو topic في مكالمة معيّنة. |
remoteconfig_get_template | remoteconfig | استرداد نموذج إعدادات عن بُعد للمشروع |
remoteconfig_publish_template | remoteconfig | نشر نموذج جديد للإعدادات عن بُعد للمشروع |
remoteconfig_rollback_template | remoteconfig | الرجوع إلى إصدار معيّن من نموذج "الإعداد عن بُعد" لمشروع |
crashlytics_list_top_issues | crashlytics | أدرِج أهم الأعطال التي تحدث في التطبيق من خلال Crashlytics. |