Firebase MCP

Integrations

  • Provides integration with Firebase services including Authentication for user management and verification, Firestore for document database operations, and Storage for file storage and retrieval

Firebase MCP

Ü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 .

⚡ 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" } } }
Konfigurieren für die lokale Installation
{ "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.“

🔥 Neueste Funktionen: Speicher-Upload (v1.3.3)

Firebase MCP bietet jetzt leistungsstarke Datei-Upload-Funktionen mit zwei speziellen Tools:

  • storage_upload : Dateien aus Text, Base64-Inhalten oder lokalen Dateipfaden hochladen
  • storage_upload_from_url : Importieren Sie Dateien direkt von externen URLs

Hauptvorteile

  • Permanente öffentliche URLs : Alle Uploads generieren nicht ablaufende öffentliche URLs
  • Inhaltstyperkennung : Automatische Erkennung anhand von Dateierweiterungen und Daten
  • Mehrere Upload-Methoden : Flexible Optionen für verschiedene Anwendungsfälle
  • Rich Response Formatting : Klare, gut strukturierte Upload-Bestätigungen

Upload-Methoden

  1. Lokaler Dateipfad (empfohlen für alle Dateitypen)
    { filePath: "my-report.pdf", content: "/path/to/local/file.pdf" }
  2. Base64-Daten-URL (für kleinere Dateien)
    { filePath: "my-image.png", content: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
  3. Nur Text (für Textdateien)
    { filePath: "readme.md", content: "# My README\n\nThis is a markdown file." }
  4. Externe URL (unter Verwendung von storage_upload_from_url)
    { filePath: "document.pdf", url: "https://example.com/document.pdf" }

⚠️ Wichtig: Verwenden Sie für Binärdateien wie Bilder und PDFs für optimale Zuverlässigkeit immer die Methode mit dem direkten Dateipfad.

🛠️ 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

  • SERVICE_ACCOUNT_KEY_PATH : Pfad zu Ihrem Firebase-Dienstkontoschlüssel JSON (erforderlich)
  • FIREBASE_STORAGE_BUCKET : Bucket-Name für Firebase Storage (optional, standardmäßig [projectId].appspot.com )

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

WerkzeugBeschreibungErforderliche Parameter
firestore_add_documentHinzufügen eines Dokuments zu einer Sammlungcollection , data
firestore_list_documentsDokumente mit Filterung auflistencollection
firestore_get_documentEin bestimmtes Dokument abrufencollection , id
firestore_update_documentAktualisieren eines vorhandenen Dokumentscollection , id , data
firestore_delete_documentLöschen eines Dokumentscollection , id
firestore_list_collectionsStammsammlungen auflistenKeiner
firestore_query_collection_groupAbfrage über untergeordnete Sammlungen hinwegcollectionId

Aufbewahrungswerkzeuge

WerkzeugBeschreibungErforderliche Parameter
storage_list_filesAuflisten von Dateien in einem VerzeichnisKeine (optional: directoryPath )
storage_get_file_infoAbrufen von Dateimetadaten und URLfilePath
storage_uploadDatei aus Inhalt hochladenfilePath , content
storage_upload_from_urlDatei von URL hochladenfilePath , url

Authentifizierungstools

WerkzeugBeschreibungErforderliche Parameter
auth_get_userBenutzer per ID oder E-Mail abrufenidentifier

💻 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

🔍 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).

📋 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

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.
    Last updated -
    14
    41
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    Provides integration between Genkit and the Model Context Protocol (MCP).
    Last updated -
    6
    480
    1,814
    TypeScript
    Apache 2.0
  • A
    security
    F
    license
    A
    quality
    A server providing a unified interface to interact with Firebase services, including Authentication, Firestore, and Storage.
    Last updated -
    9
    7
    TypeScript
  • -
    security
    A
    license
    -
    quality
    The Firefly.ai MCP server is a TypeScript-based server that enables seamless integration with the Firefly platform. It allows you to discover, manage, and codify resources across your Cloud and SaaS accounts connected to Firefly.
    Last updated -
    66
    5
    TypeScript
    MIT License

View all related MCP servers

ID: x4i8z2xmrq