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
Sie benötigen eine funktionierende Installation von Node.js und npm.
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, dasfirebase.json
enthält, um einen Projektkontext für den MCP-Server festzulegen. Wenn keine Angabe erfolgt, sind die Toolsget_project_directory
undset_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 |