אתם יכולים להשתמש בשרת MCP של Firebase כדי לאפשר לכלים לפיתוח מבוססי-AI לעבוד עם פרויקטים ב-Firebase. שרת MCP של Firebase פועל עם כל כלי שיכול לשמש כלקוח MCP, כולל Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor ועוד.
בעזרת עורך שמוגדר לשימוש בשרת MCP של Firebase, תוכלו להשתמש ביכולות ה-AI שלו כדי:
- יצירת פרויקטים ב-Firebase וניהול שלהם
- ניהול המשתמשים באימות ב-Firebase
- עבודה עם נתונים ב-Cloud Firestore וב-Firebase Data Connect
- אחזור של סכימות של Firebase Data Connect
- הסבר על כללי האבטחה של Firestore ושל Cloud Storage for Firebase
- שליחת הודעות באמצעות Firebase Cloud Messaging
זוהי רשימה חלקית בלבד. בקטע יכולות השרת מופיעה רשימה מלאה של הכלים שזמינים לעורך.
לפני שמתחילים
מוודאים ש-Node.js ו-npm מותקנים ומתפקדים.
מריצים את הפקודה הבאה כדי לאמת את ה-CLI של Firebase:
npx -y firebase-tools@latest login --reauth
שרת ה-MCP של Firebase משתמש ב-CLI כדי לטפל באימות של פרויקטי Firebase. צריך לבצע אימות באמצעות CLI לפני שמשתמשים בשרת MCP. אם תנסו להשתמש בשרת בלי להיכנס לחשבון, או אם תוקף הטוקן של האימות פג, יופיע בשרת הודעת שגיאה עם בקשה לבצע אימות מחדש.
הגדרת לקוח MCP
שרת MCP של Firebase יכול לפעול עם כל לקוח MCP שתומך ב-I/O רגיל (stdio) בתור אמצעי התעבורה. ריכזנו כאן הוראות ספציפיות לכלים נפוצים:
הגדרה אישית בסיסית
Claude Desktop
כדי להגדיר את Claude Desktop כך שישתמש בשרת MCP של Firebase, עורכים את הקובץ claude_desktop_config.json
. אפשר לפתוח או ליצור את הקובץ הזה בתפריט Claude > Settings. בוחרים בכרטיסייה Developer ולוחצים על Edit Config.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Cline
כדי להגדיר את Cline כך שישתמש בשרת MCP של Firebase, עורכים את הקובץ cline_mcp_settings.json
. כדי לפתוח או ליצור את הקובץ הזה, לוחצים על הסמל של שרתי MCP בחלק העליון של חלונית Cline ואז על הלחצן Configure MCP Servers.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
סמן
כדי להגדיר את Cursor לשימוש בשרת MCP של Firebase, עורכים את הקובץ .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 | core | אחזור מידע על פרויקט Firebase הפעיל הנוכחי. |
firebase_list_apps | core | אחזור של אפליקציות שרשמות בפרויקט Firebase הנוכחי. |
firebase_get_admin_sdk_config | core | הפונקציה מקבלת את ההגדרות של Admin SDK לפרויקט הנוכחי. |
firebase_get_sdk_config | core | אחזור של פרטי התצורה של Firebase SDK לפלטפורמה שצוינה. חובה לציין פלטפורמה או מזהה אפליקציה (app_id). |
firebase_create_project | core | יצירת פרויקט חדש ב-Firebase. |
firebase_create_app | core | יצירת אפליקציה חדשה בפרויקט Firebase לאינטרנט, ל-iOS או ל-Android. |
firebase_create_android_sha | core | הוספת גיבוב של אישור SHA לאפליקציה קיימת ל-Android. |
firebase_get_environment | core | אחזור מידע על סביבת Firebase הנוכחית, כולל המשתמש המאומת הנוכחי, ספריית הפרויקט, הפרויקט הפעיל ועוד. |
firebase_update_environment | core | עדכון ההגדרות של סביבת Firebase, כמו ספריית הפרויקט, הפרויקט הפעיל, חשבון המשתמש הפעיל ועוד. אפשר להשתמש ב-firebase_get_environment כדי לראות את הסביבה שמוגדרת כרגע. |
firebase_init | core | הפעלה של תכונות 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 | השבתה או הפעלה של משתמש על סמך מזהה UID. |
auth_list_users | auth | אחזור של כל המשתמשים בפרויקט עד למגבלה שצוינה. |
auth_set_claim | auth | הגדרת הצהרה מותאמת אישית בחשבון של משתמש ספציפי. משתמשים בה כדי ליצור ערכים מהימנים שמשויכים למשתמש, למשל סימון המשתמש כאדמין. הגודל של ההצהרות מוגבל, והשם והערך שלהן צריכים להיות תמציתיים. מציינים רק אחד מהפרמטרים value או json_value . |
auth_set_sms_region_policy | auth | הגדרת מדיניות אזורית של SMS לאימות ב-Firebase כדי להגביל את האזורים שיכולים לקבל הודעות טקסט על סמך רשימת קוד מדינה של אישור או דחייה. המדיניות הזו תבטל כל מדיניות קיימת כשהיא מוגדרת. |
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 בפרויקט הנוכחי. |
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 | חזרה לגרסת תבנית ספציפית של Remote Config בפרויקט |
crashlytics_list_top_issues | crashlytics | רשימה של הקריסות הנפוצות ביותר ב-Crashlytics שמתרחשות באפליקציה. |