שרת MCP של Firebase

אתם יכולים להשתמש בשרת 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

זוהי רשימה חלקית בלבד. בקטע יכולות השרת מופיעה רשימה מלאה של הכלים שזמינים לעורך.

לפני שמתחילים

  1. מוודאים ש-Node.js ו-npm מותקנים ומתפקדים.

  2. מריצים את הפקודה הבאה כדי לאמת את ה-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 שמתרחשות באפליקציה.