Skip to main content
Glama

Firebase MCP

Firebase MCP

Projektlogo

Firebase testet CI

Überblick

Firebase MCP ermöglicht KI-Assistenten die direkte Zusammenarbeit mit Firebase-Diensten, darunter:

  • Firestore : Datenbankoperationen dokumentieren

  • Speicher : Dateiverwaltung mit robusten Upload-Funktionen

  • Authentifizierung : Benutzerverwaltung und -überprüfung

Der Server funktioniert mit MCP-Clientanwendungen wie Claude Desktop , Augment Code , VS Code und Cursor .

⚠️ Bekanntes Problem : Das Tool firestore_list_collections kann einen Zod-Validierungsfehler in den Client-Protokollen zurückgeben. Dies ist ein fehlerhafter Validierungsfehler im MCP SDK, da unsere Untersuchung bestätigt hat, dass die Antwort keine booleschen Werte enthält. Trotz der Fehlermeldung funktioniert die Abfrage weiterhin korrekt und gibt die korrekten Sammlungsdaten zurück. Dies ist ein Fehler auf Protokollebene, der die Funktionalität nicht beeinträchtigt.

⚡ Schnellstart

Voraussetzungen

  • Firebase-Projekt mit Service-Konto-Anmeldeinformationen

  • Node.js-Umgebung

1. Installieren Sie den MCP-Server

Fügen Sie die Serverkonfiguration zu Ihrer MCP-Einstellungsdatei hinzu:

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Erweitern: ~/Library/Application Support/Code/User/settings.json

  • Cursor: [project root]/.cursor/mcp.json

MCP-Server können manuell oder zur Laufzeit über npx (empfohlen) installiert werden. Die Installationsmethode bestimmt Ihre Konfiguration:

Für npx konfigurieren (empfohlen)

{ "firebase-mcp": { "command": "npx", "args": [ "-y", "@gannonh/firebase-mcp" ], "env": { "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json", "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app" } } }

Für die lokale Installation konfigurieren

{ "firebase-mcp": { "command": "node", "args": [ "/absolute/path/to/firebase-mcp/dist/index.js" ], "env": { "SERVICE_ACCOUNT_KEY_PATH": "/absolute/path/to/serviceAccountKey.json", "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app" } } }

2. Testen Sie die Installation

Bitten Sie Ihren KI-Client: „Bitte testen Sie alle Firebase MCP-Tools.“

🛠️ Einrichtung und Konfiguration

1. Firebase-Konfiguration

  1. Gehen Sie zur Firebase-Konsole → Projekteinstellungen → Dienstkonten

  2. Klicken Sie auf „Neuen privaten Schlüssel generieren“

  3. Speichern Sie die JSON-Datei sicher

2. Umgebungsvariablen

Erforderlich

  • SERVICE_ACCOUNT_KEY_PATH : Pfad zu Ihrem Firebase-Dienstkontoschlüssel JSON (erforderlich)

Optional

  • FIREBASE_STORAGE_BUCKET : Bucket-Name für Firebase Storage (standardmäßig [projectId].appspot.com )

  • MCP_TRANSPORT : Zu verwendender Transporttyp ( stdio oder http ) (standardmäßig stdio )

  • MCP_HTTP_PORT : Port für HTTP-Transport (Standardwert: 3000 )

  • MCP_HTTP_HOST : Host für HTTP-Transport (standardmäßig localhost )

  • MCP_HTTP_PATH : Pfad für HTTP-Transport (standardmäßig /mcp )

  • DEBUG_LOG_FILE : Dateiprotokollierung aktivieren:

    • Auf true setzen, um in ~/.firebase-mcp/debug.log zu protokollieren

    • Legen Sie einen Dateipfad fest, um die Protokollierung an einem benutzerdefinierten Speicherort durchzuführen.

3. Client-Integration

Claude Desktop

Bearbeiten: ~/Library/Application Support/Claude/claude_desktop_config.json

VS Code / Erweitern

Bearbeiten: ~/Library/Application Support/Code/User/settings.json

Cursor

Bearbeiten: [project root]/.cursor/mcp.json

📚 API-Referenz

Firestore-Werkzeuge

Werkzeug

Beschreibung

Erforderliche Parameter

firestore_add_document

Hinzufügen eines Dokuments zu einer Sammlung

collection

,

data

firestore_list_documents

Dokumente mit Filter auflisten

collection

firestore_get_document

Ein bestimmtes Dokument abrufen

collection

,

id

firestore_update_document

Aktualisieren eines vorhandenen Dokuments

collection

,

id

,

data

firestore_delete_document

Löschen eines Dokuments

collection

,

id

firestore_list_collections

Stammsammlungen auflisten

Keiner

firestore_query_collection_group

Abfrage über untergeordnete Sammlungen hinweg

collectionId

Aufbewahrungswerkzeuge

Werkzeug

Beschreibung

Erforderliche Parameter

storage_list_files

Auflisten von Dateien in einem Verzeichnis

Keine (optional:

directoryPath

)

storage_get_file_info

Abrufen von Dateimetadaten und URL

filePath

storage_upload

Datei aus Inhalt hochladen

filePath

,

content

storage_upload_from_url

Datei von URL hochladen

filePath

,

url

Authentifizierungstools

Werkzeug

Beschreibung

Erforderliche Parameter

auth_get_user

Benutzer per ID oder E-Mail abrufen

identifier

💻 Entwicklerhandbuch

Installation & Bau

git clone https://github.com/gannonh/firebase-mcp cd firebase-mcp npm install npm run build

Ausführen von Tests

Installieren und starten Sie zunächst die Firebase-Emulatoren:

npm install -g firebase-tools firebase init emulators firebase emulators:start

Führen Sie dann Tests durch:

# Run tests with emulator npm run test:emulator # Run tests with coverage npm run test:coverage:emulator

Projektstruktur

src/ ├── index.ts # Server entry point ├── utils/ # Utility functions └── lib/ └── firebase/ # Firebase service clients ├── authClient.ts # Authentication operations ├── firebaseConfig.ts # Firebase configuration ├── firestoreClient.ts # Firestore operations └── storageClient.ts # Storage operations

🌐 HTTP-Transport

Firebase MCP unterstützt jetzt zusätzlich zum Standard-STDIO-Transport HTTP-Transport. Dadurch können Sie den Server als eigenständigen HTTP-Dienst ausführen, auf den mehrere Clients zugreifen können.

Ausführen mit HTTP-Transport

So führen Sie den Server mit HTTP-Transport aus:

# Using environment variables MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node dist/index.js # Or with npx MCP_TRANSPORT=http MCP_HTTP_PORT=3000 npx @gannonh/firebase-mcp

Clientkonfiguration für HTTP

Wenn Sie den HTTP-Transport verwenden, konfigurieren Sie Ihren MCP-Client so, dass er eine Verbindung zum HTTP-Endpunkt herstellt:

{ "firebase-mcp": { "url": "http://localhost:3000/mcp" } }

Sitzungsverwaltung

Der HTTP-Transport unterstützt die Sitzungsverwaltung, sodass mehrere Clients eine Verbindung zur gleichen Serverinstanz herstellen können. Jeder Client erhält eine eindeutige Sitzungs-ID, die zur Aufrechterhaltung des Status zwischen Anfragen verwendet wird.

🔍 Fehlerbehebung

Häufige Probleme

Speicher-Bucket nicht gefunden

Wenn die Fehlermeldung „Der angegebene Bucket existiert nicht“ angezeigt wird:

  1. Überprüfen Sie Ihren Bucket-Namen in der Firebase-Konsole → Speicher

  2. Legen Sie den richtigen Bucket-Namen in der Umgebungsvariable FIREBASE_STORAGE_BUCKET fest

Firebase-Initialisierung fehlgeschlagen

Wenn die Fehlermeldung „Firebase ist nicht initialisiert“ angezeigt wird:

  1. Überprüfen Sie, ob der Schlüsselpfad Ihres Dienstkontos korrekt und absolut ist

  2. Stellen Sie sicher, dass das Dienstkonto über die entsprechenden Berechtigungen für Firebase-Dienste verfügt

Zusammengesetzter Index erforderlich

Wenn Sie die Fehlermeldung „Diese Abfrage erfordert einen zusammengesetzten Index“ erhalten:

  1. Suchen Sie in der Fehlermeldung nach der angegebenen URL

  2. Folgen Sie dem Link, um den erforderlichen Index in der Firebase-Konsole zu erstellen

  3. Wiederholen Sie Ihre Abfrage, nachdem der Index erstellt wurde (kann einige Minuten dauern).

Zod-Validierungsfehler mit firestore_list_collections

Wenn bei Verwendung des Tools firestore_list_collections ein Zod-Validierungsfehler mit der Meldung „Objekt erwartet, Boolescher Wert empfangen“ angezeigt wird:

⚠️ Bekanntes Problem : Das Tool firestore_list_collections kann einen Zod-Validierungsfehler in den Client-Protokollen zurückgeben. Dies ist ein fehlerhafter Validierungsfehler im MCP SDK, da unsere Untersuchung bestätigt hat, dass die Antwort keine booleschen Werte enthält. Trotz der Fehlermeldung funktioniert die Abfrage weiterhin korrekt und gibt die korrekten Sammlungsdaten zurück. Dies ist ein Fehler auf Protokollebene, der die Funktionalität nicht beeinträchtigt.

Debuggen

Dateiprotokollierung aktivieren

Zur Unterstützung der Problemdiagnose können Sie die Dateiprotokollierung aktivieren:

# Log to default location (~/.firebase-mcp/debug.log) DEBUG_LOG_FILE=true npx @gannonh/firebase-mcp # Log to a custom location DEBUG_LOG_FILE=/path/to/custom/debug.log npx @gannonh/firebase-mcp

Sie können die Protokollierung auch in Ihrer MCP-Clientkonfiguration aktivieren:

{ "firebase-mcp": { "command": "npx", "args": ["-y", "@gannonh/firebase-mcp"], "env": { "SERVICE_ACCOUNT_KEY_PATH": "/path/to/serviceAccountKey.json", "FIREBASE_STORAGE_BUCKET": "your-project-id.firebasestorage.app", "DEBUG_LOG_FILE": "true" } } }

Protokollanzeige in Echtzeit

So zeigen Sie Protokolle in Echtzeit an:

# Using tail to follow the log file tail -f ~/.firebase-mcp/debug.log # Using a split terminal to capture stderr npm start 2>&1 | tee logs.txt

Verwenden des MCP Inspector

Der MCP Inspector bietet interaktives Debugging:

# Install MCP Inspector npm install -g @mcp/inspector # Connect to your MCP server mcp-inspector --connect stdio --command "node ./dist/index.js"

📋 Antwortformatierung

Beispiel für eine Speicheruploadantwort

{ "name": "reports/quarterly.pdf", "size": "1024000", "contentType": "application/pdf", "updated": "2025-04-11T15:37:10.290Z", "downloadUrl": "https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media", "bucket": "your-project.appspot.com" }

Dem Benutzer angezeigt als:

## File Successfully Uploaded! 📁 Your file has been uploaded to Firebase Storage: **File Details:** - **Name:** reports/quarterly.pdf - **Size:** 1024000 bytes - **Type:** application/pdf - **Last Updated:** April 11, 2025 at 15:37:10 UTC **[Click here to download your file](https://storage.googleapis.com/bucket/reports/quarterly.pdf?alt=media)**

🤝 Beitragen

  1. Forken Sie das Repository

  2. Erstellen eines Feature-Zweigs

  3. Implementieren Sie Änderungen mit Tests (80 %+ Abdeckung erforderlich)

  4. Senden einer Pull-Anfrage

📄 Lizenz

MIT-Lizenz – Einzelheiten finden Sie in der Datei „LICENSE

🔗 Verwandte Ressourcen

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Der Firebase MCP-Server bietet eine standardisierte Schnittstelle zur Interaktion mit Firebase-Diensten, einschließlich Firebase Authentication, Firestore und Firebase Storage.

  1. Überblick
    1. ⚡ Schnellstart
      1. Voraussetzungen
      2. 1. Installieren Sie den MCP-Server
      3. 2. Testen Sie die Installation
    2. 🛠️ Einrichtung und Konfiguration
      1. 1. Firebase-Konfiguration
      2. 2. Umgebungsvariablen
      3. 3. Client-Integration
    3. 📚 API-Referenz
      1. Firestore-Werkzeuge
      2. Aufbewahrungswerkzeuge
      3. Authentifizierungstools
    4. 💻 Entwicklerhandbuch
      1. Installation & Bau
      2. Ausführen von Tests
      3. Projektstruktur
    5. 🌐 HTTP-Transport
      1. Ausführen mit HTTP-Transport
      2. Clientkonfiguration für HTTP
      3. Sitzungsverwaltung
    6. 🔍 Fehlerbehebung
      1. Häufige Probleme
      2. Debuggen
    7. 📋 Antwortformatierung
      1. Beispiel für eine Speicheruploadantwort
    8. 🤝 Beitragen
      1. 📄 Lizenz
        1. 🔗 Verwandte Ressourcen

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            An MCP server that provides access to Firebase Remote Config, allowing clients to interact with and manage Firebase remote configuration settings through the Model Context Protocol.
            Last updated -
          • -
            security
            F
            license
            -
            quality
            Auto-generated MCP server that enables interaction with the Firebase App Distribution API, allowing users to manage distribution of pre-release app builds to testers through natural language commands.
            Last updated -
          • -
            security
            F
            license
            -
            quality
            An MCP Server providing access to Google's Firebase API, allowing natural language interaction with Firebase services and resources.
            Last updated -
            • Linux
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/gannonh/firebase-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server