Mit dem Firebase MCP-Server können Sie KI-gestützten 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, einschließlich Claude Desktop, Cline, Cursor, Visual Studio Code Copilot und Windsurf Editor.
Ein Editor, der für die Verwendung des Firebase-MCP-Servers konfiguriert ist, kann Ihnen mit seinen KI-Funktionen helfen:
- 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 verstehen
- Nachrichten mit Firebase Cloud Messaging senden
Einige der Tools verwenden Gemini in Firebase, um Sie zu unterstützen:
- Firebase Data Connect-Schema und ‑Vorgänge generieren
- Gemini zu Firebase-Produkten befragen
Dies sind nur Teillisten. Eine vollständige Liste der Tools, die Ihrem Editor zur Verfügung stehen, finden Sie im Abschnitt Serverfunktionen.
Wenn der Firebase MCP-Server Tool-Aufrufe ausführt, verwendet er dieselben Nutzeranmeldedaten, mit denen die Firebase CLI in der Umgebung autorisiert wird, in der sie ausgeführt wird. Das kann je nach Umgebung ein angemeldeter Nutzer oder Standardanmeldedaten für Anwendungen sein.
Hinweis
Prüfen Sie, ob Node.js und npm installiert sind.
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 spezifische Anleitungen für einige beliebte Tools:
Grundlegende Konfiguration
Firebase Studio
Wenn Sie Firebase Studio so konfigurieren möchten, dass der Firebase-MCP-Server verwendet wird, bearbeiten Sie die Konfigurationsdatei .idx/mcp.json
oder erstellen Sie sie.
Wenn die Datei noch nicht vorhanden ist, erstellen Sie sie, indem Sie mit der rechten Maustaste auf das übergeordnete Verzeichnis klicken und Neue Datei auswählen. Fügen Sie der Datei den folgenden Inhalt hinzu:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Gemini-Befehlszeile und Gemini Code Assist
Wenn Sie die Gemini-Befehlszeile oder Gemini Code Assist so konfigurieren möchten, dass der Firebase-MCP-Server verwendet wird, bearbeiten Sie die Konfigurationsdatei(en) oder erstellen Sie sie:
- In Ihrem Projekt:
.gemini/settings.json
- In Ihrem Basisverzeichnis:
~/.gemini/settings.json
Wenn die Datei noch nicht vorhanden ist, erstellen Sie sie, indem Sie mit der rechten Maustaste auf das übergeordnete Verzeichnis klicken und Neue Datei auswählen. Fügen Sie der Datei den folgenden Inhalt hinzu:
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Claude Desktop
Wenn Sie Claude Desktop so konfigurieren möchten, dass der Firebase MCP-Server verwendet wird, bearbeiten Sie die Datei claude_desktop_config.json
. 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"]
}
}
}
Claude Code
Wenn Sie Claude Code so konfigurieren möchten, dass der Firebase MCP-Server verwendet wird, führen Sie den folgenden Befehl in Ihrem App-Ordner aus:
claude mcp add firebase npx -- -y firebase-tools@latest experimental:mcp
Sie können die Installation mit folgendem Befehl überprüfen:
claude mcp list
Es sollte Folgendes angezeigt werden:
firebase: npx -y firebase-tools@latest experimental:mcp - ✓ Connected
Cline
Wenn Sie Cline so konfigurieren möchten, dass der Firebase-MCP-Server verwendet wird, bearbeiten Sie die Datei cline_mcp_settings.json
. Sie können diese Datei öffnen oder erstellen, indem Sie oben im Cline-Bereich auf das Symbol „MCP-Server“ klicken und dann auf die Schaltfläche MCP-Server konfigurieren.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
Cursor
Wenn Sie Cursor so konfigurieren möchten, dass der Firebase-MCP-Server verwendet wird, 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 Projekt verfügbar machen möchten, das Sie öffnen, bearbeiten Sie Ihre Nutzereinstellungen:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Windsurf-Editor
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 gezeigten grundlegenden Konfiguration für jeden Client 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 nichts angegeben ist, 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. Damit können Sie die angezeigten Tools auf die Funktionen beschränken, die Sie aktiv verwenden. Die Core-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"
]
}
Funktionen von MCP-Servern
In der folgenden Tabelle sind die Tools aufgeführt, die der MCP-Server zur Verfügung stellt. Sie können diese Informationen auch mit dem folgenden Befehl aufrufen:
npx firebase-tools@latest experimental:mcp --generate-tool-list
Tool-Name | Featuregruppe | Beschreibung |
---|---|---|
firebase_login | core | Meldet den Nutzer in der Firebase CLI und auf dem MCP-Server an. |
firebase_logout | core | CLI von Firebase abmelden |
firebase_get_project | core | Ruft Informationen zum aktuell aktiven Firebase-Projekt ab. |
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_list_projects | core | Ruft eine Liste von Firebase-Projekten bis zur angegebenen Gesamtzahl 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 | Erstellt ein neues Firebase-Projekt. |
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-Zertifikathash hinzu. |
firebase_consult_assistant | core | Zugriff auf einen KI-Assistenten, der auf alle Aspekte von Firebase spezialisiert ist. Mit diesem Tool erhalten Sie detaillierte Informationen, Best Practices, Schritte zur Fehlerbehebung, Codebeispiele und kontextbezogene Hilfe zu Firebase-Diensten, ‑Funktionen und ‑Projektkonfigurationen. Dazu gehören Fragen zu Firestore, Authentifizierung, Cloud Functions, Hosting, Storage und Analytics. Außerdem können Sie sich Statistiken basierend auf dem aktuellen Firebase-Projektkontext ansehen. |
firebase_get_environment | core | Ruft Informationen zur aktuellen Firebase-Umgebung ab, einschließlich des aktuell authentifizierten Nutzers, des Projektverzeichnisses und des aktiven Projekts. |
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 | Initialisiert ausgewählte Firebase-Funktionen im Arbeitsbereich (Firestore, Data Connect, Realtime Database). 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 neu initialisieren, wird die Konfiguration möglicherweise überschrieben. Führen Sie den Befehl firebase deploy nach dem Tool firebase_init aus, um die initialisierten Funktionen bereitzustellen. |
firestore_delete_document | firestore | Löscht Firestore-Dokumente aus einer Datenbank im aktuellen Projekt anhand vollständiger Dokumentpfade. Verwenden Sie diese Option, wenn Sie den genauen Pfad eines Dokuments kennen. |
firestore_get_documents | firestore | Ruft ein oder mehrere Firestore-Dokumente aus einer Datenbank im aktuellen Projekt anhand vollständiger Dokumentpfade ab. Verwenden Sie diese Option, wenn Sie den genauen Pfad eines Dokuments kennen. |
firestore_list_collections | firestore | Ruft eine Liste der Sammlungen aus einer Firestore-Datenbank im aktuellen Projekt ab. |
firestore_query_collection | firestore | Ruft ein oder mehrere Firestore-Dokumente aus einer Sammlung in einer Datenbank im aktuellen Projekt anhand einer Sammlung mit einem vollständigen Dokumentpfad ab. 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-Regelquelle 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 | Ruft alle Nutzer im Projekt bis zum angegebenen Limit ab. |
auth_set_claim | auth | Legt einen benutzerdefinierten Anspruch für das Konto eines bestimmten Nutzers fest. Hiermit können Sie vertrauenswürdige Werte erstellen, die einem Nutzer zugeordnet sind, z.B. ihn als Administrator kennzeichnen. Ansprüche sind in der Größe begrenzt und sollten in Name und Wert prägnant sein. Geben Sie NUR EINEN der Parameter value oder json_value an. |
auth_set_sms_region_policy | auth | Legt eine SMS-Regionsrichtlinie für Firebase Auth fest, um die Regionen einzuschränken, die SMS empfangen können. Dies erfolgt auf Grundlage einer ALLOW- oder DENY-Liste von Ländercodes. Wenn diese Richtlinie festgelegt ist, werden alle vorhandenen Richtlinien überschrieben. |
dataconnect_build | dataconnect | Damit können Sie Firebase Data Connect-Schemas, ‑Vorgänge und/oder ‑Connectors kompilieren und nach Build-Fehlern suchen. |
dataconnect_generate_schema | dataconnect | Generiert ein Firebase Data Connect-Schema basierend auf der Beschreibung einer App durch den Nutzer. |
dataconnect_generate_operation | dataconnect | Generiert eine einzelne Firebase Data Connect-Abfrage oder -Mutation basierend auf dem aktuell bereitgestellten Schema und dem angegebenen Prompt. |
dataconnect_list_services | dataconnect | Vorhandene lokale und Back-End-Firebase Data Connect-Dienste auflisten |
dataconnect_execute | dataconnect | Führt einen GraphQL-Vorgang für einen Data Connect-Dienst oder dessen Emulator aus. |
storage_get_rules | storage | Ruft die aktiven Storage-Sicherheitsregeln für das aktuelle Projekt ab. |
storage_validate_rules | storage | Prüft die angegebene Storage-Regelquelle 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 darf 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 einer Remote Config-Vorlage für ein Projekt |
crashlytics_add_note | crashlytics | Fügen Sie einem Problem in Crashlytics eine Notiz hinzu. |
crashlytics_delete_note | crashlytics | Notiz aus einem Problem in Crashlytics löschen |
crashlytics_get_issue_details | crashlytics | Ruft die Details zu einem bestimmten Crashlytics-Problem ab. |
crashlytics_get_sample_crash_for_issue | crashlytics | Ruft den Beispielabsturz für ein Problem ab. |
crashlytics_list_notes | crashlytics | Alle Notizen für ein Problem in Crashlytics auflisten. |
crashlytics_list_top_devices | crashlytics | Die wichtigsten Geräte aus Crashlytics für eine Anwendung auflisten. |
crashlytics_list_top_issues | crashlytics | Liste die häufigsten Abstürze auf, die in der Anwendung in Crashlytics auftreten. |
crashlytics_list_top_operating_systems | crashlytics | Die wichtigsten Betriebssysteme aus Crashlytics für eine Anwendung auflisten. |
crashlytics_list_top_versions | crashlytics | Die wichtigsten Versionen einer Anwendung aus Crashlytics auflisten. |
crashlytics_update_issue | crashlytics | Aktualisieren Sie den Status eines Problems in Crashlytics. |
apphosting_fetch_logs | App-Hosting | Ruft die neuesten Logs für ein angegebenes App-Hosting-Backend ab. Wenn buildLogs angegeben ist, werden die Logs des Build-Prozesses für den letzten Build zurückgegeben. Die aktuellsten Logs werden zuerst aufgeführt. |
apphosting_list_backends | App-Hosting | Ruft eine Liste der App Hosting-Back-Ends im aktuellen Projekt ab. Eine leere Liste bedeutet, dass es keine Back-Ends gibt. uri ist die öffentliche URL des Back-Ends. Ein funktionierendes Backend hat ein managed_resources -Array, das einen run_service -Eintrag enthält. run_service.service ist der Ressourcenname des Cloud Run-Dienstes, der das App Hosting-Backend bereitstellt. Das letzte Segment dieses Namens ist die Dienst-ID. domains ist die Liste der Domains, die mit dem Backend verknüpft sind. Sie haben entweder den Typ CUSTOM oder DEFAULT . Jedes Backend sollte eine DEFAULT -Domain haben. Die tatsächliche Domain, die ein Nutzer für die Verbindung zum Backend verwendet, ist der letzte Parameter des Ressourcennamens der Domain. Wenn eine benutzerdefinierte Domain richtig eingerichtet ist, haben ihre Status die Endung ACTIVE . |
database_get_data | Datenbank | Gibt RTDB-Daten vom angegebenen Speicherort zurück |
database_set_data | Datenbank | RTDB-Daten an den angegebenen Speicherort schreiben |
database_get_rules | Datenbank | Regeln einer RTDB-Datenbank abrufen |
database_validate_rules | Datenbank | Regeln einer RTDB-Datenbank validieren |