Firebase-MCP-Server

Mit dem Firebase MCP-Server können Sie KI-gestützte Entwicklungstools die Möglichkeit geben, mit Ihren Firebase-Projekten zu arbeiten. Der Firebase MCP-Server funktioniert mit jedem Tool, das als MCP-Client fungieren kann, z. B. Claude Desktop, Cline, Cursor, Visual Studio Code Copilot und Windsurf Editor.

Mit einem Editor, der für die Verwendung des Firebase-MCP-Servers konfiguriert ist, können Sie die KI-Funktionen für Folgendes nutzen:

  • Firebase-Projekte erstellen und verwalten
  • Firebase Authentication-Nutzer verwalten
  • Mit Daten in Cloud Firestore und Firebase Data Connect arbeiten
  • Firebase Data Connect-Schemas abrufen
  • Sicherheitsregeln für Firestore und Cloud Storage for Firebase
  • Nachrichten mit Firebase Cloud Messaging senden

Dies ist nur eine unvollständige Liste. Eine vollständige Liste der Tools, die für deinen Editor verfügbar sind, findest du im Abschnitt Serverfunktionen.

Hinweis

  1. Sie benötigen eine funktionierende Installation von Node.js und npm.

  2. Authentifizieren Sie die Firebase CLI mit dem folgenden Befehl:

    npx -y firebase-tools@latest login --reauth

    Der Firebase MCP-Server verwendet die Befehlszeile, um die Authentifizierung mit Ihren Firebase-Projekten zu verarbeiten. Sie müssen sich über die Befehlszeile authentifizieren, bevor Sie den MCP-Server verwenden können. Wenn Sie versuchen, den Server zu verwenden, ohne sich anzumelden, oder Ihr Authentifizierungstoken abgelaufen ist, druckt der Server eine Fehlermeldung aus, in der Sie aufgefordert werden, sich noch einmal zu authentifizieren.

MCP-Client einrichten

Der Firebase MCP-Server kann mit jedem MCP-Client verwendet werden, der Standard-I/O (stdio) als Transportmedium unterstützt. Hier finden Sie eine Anleitung für einige gängige Tools:

Grundlegende Konfiguration

Claude Desktop

Bearbeiten Sie die Datei claude_desktop_config.json, um Claude Desktop für die Verwendung des Firebase MCP-Servers zu konfigurieren. Sie können diese Datei über das Menü Claude > Einstellungen öffnen oder erstellen. Wählen Sie den Tab Entwickler aus und klicken Sie auf Konfiguration bearbeiten.

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

Cline

Bearbeiten Sie die Datei cline_mcp_settings.json, um Cline für die Verwendung des Firebase MCP-Servers zu konfigurieren. Sie können diese Datei öffnen oder erstellen, indem Sie oben im Bereich „Cline“ auf das Symbol „MCP-Server“ und dann auf die Schaltfläche MCP-Server konfigurieren klicken.

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

Cursor

Wenn Sie Cursor so konfigurieren möchten, dass er den Firebase MCP-Server verwendet, bearbeiten Sie entweder die Datei .cursor/mcp.json (um nur ein bestimmtes Projekt zu konfigurieren) oder die Datei ~/.cursor/mcp.json (um den MCP-Server in allen Projekten verfügbar zu machen):

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

Visual Studio Code Copilot

Wenn Sie ein einzelnes Projekt konfigurieren möchten, bearbeiten Sie die Datei .vscode/mcp.json in Ihrem Arbeitsbereich:

"servers": {
  "firebase": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
  }
}

Wenn Sie den Server in jedem geöffneten Projekt verfügbar machen möchten, bearbeiten Sie Ihre Nutzereinstellungen:

"mcp": {
  "servers": {
    "firebase": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "firebase-tools@latest", "experimental:mcp"]
    }
  }
}

Windsurf-Bearbeiter

Bearbeiten Sie die Datei ~/.codeium/windsurf/mcp_config.json, um den Windsurf-Editor zu konfigurieren:

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

Optionale Konfiguration

Zusätzlich zur oben beschriebenen Grundkonfiguration für jeden Kunden können Sie zwei optionale Parameter angeben:

  • --dir ABSOLUTE_DIR_PATH: Der absolute Pfad eines Verzeichnisses, das firebase.json enthält, um einen Projektkontext für den MCP-Server festzulegen. Wenn keine Angabe erfolgt, sind die Tools get_project_directory und set_project_directory verfügbar und das Standardverzeichnis ist das Arbeitsverzeichnis, in dem der MCP-Server gestartet wurde.

  • --only FEATURE_1,FEATURE_2: Eine durch Kommas getrennte Liste der zu aktivierenden Featuregruppen. So können Sie die Tools auf die Funktionen beschränken, die Sie aktiv verwenden. Die wichtigsten Tools sind immer verfügbar.

Beispiel:

"firebase": {
  "command": "npx",
  "args": [
    "-y",
    "firebase-tools@latest", "experimental:mcp",
    "--dir", "/Users/turing/my-project",
    "--only", "auth,firestore,storage"
  ]
}

MCP-Serverfunktionen

Tool-Name Featuregruppe Beschreibung
firebase_get_project core Hiermit werden Informationen zum derzeit aktiven Firebase-Projekt abgerufen.
firebase_list_apps core Ruft Apps ab, die im aktuellen Firebase-Projekt registriert sind.
firebase_get_admin_sdk_config core Ruft die Admin SDK-Konfiguration für das aktuelle Projekt ab.
firebase_get_sdk_config core Ruft die Firebase SDK-Konfigurationsinformationen für die angegebene Plattform ab. Sie müssen entweder eine Plattform oder eine App-ID angeben.
firebase_create_project core Es wird ein neues Firebase-Projekt erstellt.
firebase_create_app core Erstellt eine neue App in Ihrem Firebase-Projekt für Web, iOS oder Android.
firebase_create_android_sha core Fügt einer vorhandenen Android-App einen SHA-Zertifikat-Hash hinzu.
firebase_get_environment core Hier finden Sie Informationen zur aktuellen Firebase-Umgebung, z. B. zum aktuell authentifizierten Nutzer, zum Projektverzeichnis und zum aktiven Projekt.
firebase_update_environment core Aktualisiert die Firebase-Umgebungskonfiguration, z. B. das Projektverzeichnis, das aktive Projekt und das aktive Nutzerkonto. Mit firebase_get_environment können Sie die aktuell konfigurierte Umgebung aufrufen.
firebase_init core Hiermit werden ausgewählte Firebase-Funktionen im Arbeitsbereich initialisiert. Alle Funktionen sind optional. Geben Sie nur die Produkte an, die Sie einrichten möchten. Sie können neue Funktionen in einem vorhandenen Projektverzeichnis initialisieren. Wenn Sie eine vorhandene Funktion jedoch noch einmal initialisieren, wird die Konfiguration möglicherweise überschrieben.
firestore_delete_document firestore Löscht Firestore-Dokumente aus einer Datenbank im aktuellen Projekt anhand der vollständigen Dokumentpfade. Verwenden Sie diese Option, wenn Sie den genauen Pfad eines Dokuments kennen.
firestore_get_documents firestore Ruft ein oder mehrere Firestore-Dokumente anhand der vollständigen Dokumentpfade aus einer Datenbank im aktuellen Projekt ab. Verwenden Sie diese Option, wenn Sie den genauen Pfad eines Dokuments kennen.
firestore_list_collections firestore Ruft eine Liste von Sammlungen aus einer Firestore-Datenbank im aktuellen Projekt ab.
firestore_query_collection firestore Ruft ein oder mehrere Firestore-Dokumente aus einer Sammlung ab, die eine Datenbank im aktuellen Projekt ist, anhand einer Sammlung mit einem vollständigen Dokumentpfad. Verwenden Sie diese Option, wenn Sie den genauen Pfad einer Sammlung und die Filterklausel für das Dokument kennen.
firestore_get_rules firestore Ruft die aktiven Firestore-Sicherheitsregeln für das aktuelle Projekt ab.
firestore_validate_rules firestore Prüft die angegebene Firestore-Regelnquelle auf Syntax- und Validierungsfehler. Geben Sie entweder den zu validierenden Quellcode oder einen Pfad zu einer Quelldatei an.
auth_get_user auth Ruft einen Nutzer anhand einer E-Mail-Adresse, Telefonnummer oder UID ab.
auth_disable_user auth Deaktiviert oder aktiviert einen Nutzer anhand einer UID.
auth_list_users auth Es werden alle Nutzer im Projekt bis zum angegebenen Limit abgerufen.
auth_set_claim auth Hiermit wird ein benutzerdefinierter Anspruch für das Konto eines bestimmten Nutzers festgelegt. Hiermit können Sie vertrauenswürdige Werte für einen Nutzer erstellen, z.B. ihn als Administrator kennzeichnen. Ansprüche sind in der Größe begrenzt und sollten Name und Wert prägnant formulieren. Geben Sie NUR EINEN der Parameter value oder json_value an.
auth_set_sms_region_policy auth Hiermit wird eine SMS-Regionsrichtlinie für Firebase Auth festgelegt, um die Regionen einzuschränken, in denen SMS basierend auf einer Liste von Ländercodes vom Typ „ZULASSEN“ oder „VERWEISEN“ empfangen werden können. Wenn diese Richtlinie festgelegt ist, werden alle vorhandenen Richtlinien überschrieben.
dataconnect_list_services dataconnect Listet die Firebase Data Connect-Dienste auf, die im aktuellen Projekt verfügbar sind.
dataconnect_get_schema dataconnect Ruft Informationen zum Firebase Data Connect-Schema im Projekt ab, einschließlich Cloud SQL-Datenquellen und des GraphQL-Schemas, das das Datenmodell beschreibt.
dataconnect_get_connectors dataconnect Rufen Sie die Firebase Data Connect-Connectors im Projekt ab. Dazu gehören die vordefinierten GraphQL-Abfragen, auf die Client-SDKs zugreifen können.
dataconnect_execute_graphql dataconnect Führt eine beliebige GraphQL-Abfrage für einen Data Connect-Dienst oder seinen Emulator aus.
dataconnect_execute_graphql_read dataconnect Führt eine beliebige GraphQL-Abfrage für einen Data Connect-Dienst oder seinen Emulator aus. Daten können nicht geschrieben werden.
dataconnect_execute_mutation dataconnect Führt eine bereitgestellte Data Connect-Mutation für einen Dienst oder seinen Emulator aus. Kann Daten lesen und schreiben.
dataconnect_execute_query dataconnect Führt eine bereitgestellte Data Connect-Abfrage für einen Dienst oder seinen Emulator aus. Es können keine Daten geschrieben werden.
storage_get_rules storage Ruft die aktiven Speichersicherheitsregeln für das aktuelle Projekt ab.
storage_validate_rules storage Prüft die angegebene Quelle für Speicherregeln auf Syntax- und Validierungsfehler. Geben Sie entweder den zu validierenden Quellcode oder einen Pfad zu einer Quelldatei an.
storage_get_object_download_url storage Ruft die Download-URL für ein Objekt in Firebase Storage ab.
messaging_send_message Messaging Sendet eine Nachricht an ein Firebase Cloud Messaging-Registrierungstoken oder -Thema. In einem bestimmten Aufruf kann nur registration_token oder topic angegeben werden.
remoteconfig_get_template remoteconfig Ruft eine Remote Config-Vorlage für das Projekt ab
remoteconfig_publish_template remoteconfig Veröffentlicht eine neue Remote Config-Vorlage für das Projekt.
remoteconfig_rollback_template remoteconfig Rollback auf eine bestimmte Version der Remote Config-Vorlage für ein Projekt ausführen
crashlytics_list_top_issues crashlytics Liste der häufigsten Abstürze in der Anwendung aus Crashlytics