התחברות לשרתים של Model Context Protocol‏ (MCP)

שרתי MCP מספקים ל-Gemini כלים נוספים ומקורות נתונים. לדוגמה, אם מוסיפים את שרת ה-MCP של Firebase, אפשר להשתמש בשפה טבעית כדי לחקור את נתוני Cloud Firestore בזמן שיוצרים את האפליקציה או מנפים בה באגים.

דרישות מוקדמות

אם נדרש על ידי שרת ה-MCP, מוודאים שיש לכם התקנה תקינה של Node.js ו-npm.

בחירת שרת MCP תואם

יש תמיכה בסיסית בשרתי MCP ב-Firebase Studio, אבל לא כל שרתי ה-MCP תואמים. כשבוחרים שרת MCP, חשוב לקחת בחשבון את פרטי התאימות הבאים:

  • נתמך:

    • שרתים של קלט/פלט רגילים (stdio) או של אירועים שנשלחים מהשרת (SSE) או של העברת HTTP שניתנת להזרמה
    • אימות באמצעות מפתחות API באמצעות כותרות HTTP או משתני סביבה
    • כלים שסופקו על ידי שרתי MCP
  • לא נתמך:

    • שרתים שנדרש עבורם ממשק משתמש גרפי או סשן במחשב
    • הנחיות, דגימה או משאבים אחרים שסופקו על ידי שרתי MCP

הוספת שרת MCP

כדי להוסיף שרת MCP, צריך ליצור או לערוך את קובץ ההגדרות שלו.

שלב 1: יוצרים את קובץ התצורה

גם צ'אט אינטראקטיבי וגם Gemini CLI יכולים להתחבר לשרתי MCP, אבל הם משתמשים בקובצי הגדרה שונים:

  • בצ'אט אינטראקטיבי נעשה שימוש ב-.idx/mcp.json.
  • Gemini CLI משתמש ב-.gemini/settings.json.

יוצרים קובץ אחד או את שני הקבצים לפי ההוראות הבאות.

צ'אט אינטראקטיבי

בתצוגה Code, יוצרים .idx/mcp.json באחת מהשיטות הבאות:

  • לוח הפקודות: פותחים את לוח הפקודות (Shift+Ctrl+P) ומשתמשים בפקודה Firebase Studio: Add MCP Server.
  • בצ'אט האינטראקטיבי: לוחצים על התאמה אישית של סמל כלי העריכה התאמה אישית של כלים בצ'אט האינטראקטיבי ובוחרים באפשרות הוספת שרת MCP.
  • סייר: בסייר (Ctrl+Shift+E), לוחצים לחיצה ימנית על הספרייה .idx ובוחרים באפשרות קובץ חדש. נותנים לקובץ את השם mcp.json.

Gemini CLI

בתצוגה Code, יוצרים .gemini/settings.json:

  1. בסייר (Ctrl+Shift+E), בודקים אם התיקייה .gemini קיימת. אם לא, לוחצים לחיצה ימנית על חלונית הסייר ובוחרים באפשרות תיקייה חדשה. נותנים לתיקייה את השם .gemini.
  2. לוחצים לחיצה ימנית על הספרייה .gemini ובוחרים באפשרות New file (קובץ חדש). נותנים שם לקובץ settings.json.

לפרטים על שימוש בשרתי MCP עם Gemini CLI, אפשר לעיין במסמכי התיעוד המלאים.

שלב 2: עריכת הגדרות השרת

  1. פותחים את קובץ ההגדרות של השרת.

  2. מוסיפים את הגדרות השרת לתוכן של הקובץ. לדוגמה, כדי להוסיף את שרת ה-MCP של Firebase, מזינים:

    {
      "mcpServers": {
       "firebase": {
         "command": "npx",
         "args": [
           "-y",
           "firebase-tools@latest",
           "mcp"
          ]
        }
      }
    }
    

    קובץ ההגדרות הזה מורה ל-Gemini באיזה שרת MCP רוצים להשתמש. בדוגמה הזו מוצג שרת יחיד בשם firebase שישתמש בפקודה npx כדי להתקין ולהפעיל את firebase-tools@latest.

    אם שרת ה-MCP דורש אימות של מפתח API, אפשר להגדיר אותו באחת מהדרכים הבאות:

    • לשרתי HTTP MCP מרוחקים שנדרש בהם מפתח API בכותרות הבקשה, משתמשים בשדה headers. לדוגמה, כדי להגדיר את שרת ה-MCP של GitHub:

      {
        "mcpServers": {
          "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "headers": {
              "Authorization": "Bearer <ACCESS_TOKEN>"
            }
          }
        }
      }
      
    • לשרתי MCP מקומיים של stdio שדורשים מפתח API במשתני סביבה, משתמשים בשדה env. לדוגמה, כדי להגדיר גרסה מקומית של שרת ה-MCP של GitHub:

      {
        "mcpServers": {
          "github": {
            "command": "/path/to/github-mcp-server",
            "args": ["stdio"],
            "env": {
              "GITHUB_PERSONAL_ACCESS_TOKEN": "<ACCESS_TOKEN>"
            }
          }
        }
      }
      
    • כדי להימנע מהוספת סודות בקידוד קשיח ב-mcp.json, אפשר להשתמש בתחביר ${env:VARIABLE_NAME}. הערכים יוחלפו במשתני סביבה שמוגדרים בקובץ .env או .env.local בתיקיית הבסיס של סביבת העבודה. לדוגמה:

      {
        "mcpServers": {
          "github": {
            "url": "https://api.githubcopilot.com/mcp/",
            "headers": {
              "Authorization": "Bearer ${env:GITHUB_ACCESS_TOKEN}"
            }
          }
        }
      }
      
  3. במסוף (Shift+Ctrl+C), מריצים את הפקודות הנדרשות כדי להשלים את ההתקנה. לדוגמה, כדי להשתמש בשרת ה-MCP של Firebase, מזינים את הפקודה הבאה כדי להיכנס לחשבון:

    firebase login --no-localhost
    

    פועלים לפי ההוראות במסוף כדי לאשר את ההפעלה. חלק מהכלים דורשים פרויקט Firebase מקושר. אפשר להשתמש בשרת Firebase MCP כדי ליצור פרויקט, או להריץ את הפקודה הבאה כדי לאתחל פרויקט Firebase:

    firebase init
    

    הפעולה הזו יוצרת קובץ firebase.json בספריית הבסיס.

שימוש בכלים של MCP

אחרי שמתקינים את שרת ה-MCP שרוצים להשתמש בו, הכלים או הנתונים שהוא מספק זמינים ב:

  • Gemini CLI
  • צ'אט אינטראקטיבי כשמשתמשים במצב Agent ובמצב Agent (Auto-run)
  • App Prototyping agent

לדוגמה, אם מוסיפים את שרת ה-MCP של Firebase, אפשר לבקש מ-Gemini לאחזר את הגדרות ה-SDK של הפרויקט הנוכחי, לאחזר נתונים שמאוחסנים ב-Cloud Firestore וב-Realtime Database, לעזור בהגדרת שירותי Firebase, ועוד.

בצ'אט אינטראקטיבי, מקלידים / כדי לראות רשימה של הנחיות MCP זמינות.

רשימת ההנחיות הזמינות של MCP

בדיקה או התאמה של הכלים

אתם יכולים לקבוע אילו כלים יהיו פעילים בצ'אט האינטראקטיבי:

  1. לוחצים על התאמה אישית של סמל כלי העריכה התאמה אישית של כלים בצ'אט האינטראקטיבי כדי לראות רשימה של כל הכלים הזמינים משרתי ה-MCP שהוגדרו.
  2. משתמשים בתיבות הסימון כדי להפעיל או להשבית שרת שלם או כלים בודדים.

רשימת כלי ה-MCP הזמינים

פתרון בעיות בשרתי MCP

אם נתקלתם בבעיות בשרת MCP, תוכלו לבצע את השלבים הבאים כדי לאבחן את הבעיה.

בדיקת היומנים לאיתור שגיאות

  1. פותחים את חלונית הפלט (Shift+Ctrl+U).
  2. בתפריט הנפתח, בוחרים באפשרות Gemini.
  3. בודקים אם יש הודעות שמתחילות בתג [MCPManager]. ביומנים האלה אפשר לראות אילו שרתים הוגדרו, אילו כלים נוספו בהצלחה והודעות שגיאה.

בנייה מחדש של הסביבה

אם שרת MCP לא מצליח להתקין או להתחבר, נסו לבנות מחדש את סביבת העבודה:

  1. פותחים את לוח הפקודות (Shift+Ctrl+P).
  2. מריצים את הפקודה Firebase Studio: Rebuild Environment (Firebase Studio: בנייה מחדש של הסביבה).
  3. אחרי שה-Workspace נבנה מחדש, בודקים אם שרת ה-MCP מתחבר.

אם לא נעשה שימוש בכלים

אם שרת ה-MCP מתחבר אבל Gemini לא משתמש בכלים שלו:

  • להתחיל שיחת צ'אט חדשה: כך מבטיחים ש-Gemini יאסוף את ההגדרות העדכניות של הכלי. איך מנהלים את היסטוריית הצ'אט
  • הקפידו על ניסוח מדויק בהנחיה: אם Gemini יכול לבצע את המשימה בלי להשתמש בכלי MCP, הוא עשוי לנסות שיטה אחרת. אם רוצים להשתמש בכלי ספציפי, כדאי לנסות לתת לו שם. לדוגמה: "Use firebase_get_sdk_config to get the SDK config for the current project."
  • הצטרפות ל-Google Developer Program: בדיקה אם החשבון רשום.

השלבים הבאים