Firebase MCP Server

officiel

Vous pouvez utiliser le serveur Firebase MCP pour donner aux outils de développement basés sur l'IA la capacité de travailler avec vos projets Firebase et la base de code de votre application.

Que pouvez-vous faire avec Firebase MCP ?

  • Créer et gérer des projets Firebase — Demandez à l'assistant d'initialiser un nouveau projet avec firebase_create_project ou de lister les projets et applications existants.
  • Gérer les utilisateurs d'Authentication — Récupérez les détails des utilisateurs avec auth_get_users, mettez à jour les revendications personnalisées ou désactivez des comptes via auth_update_user.
  • Interroger et mettre à jour Firestore ou Realtime Database — Lisez, écrivez et gérez des documents à l'aide de firebase_read_resources et des outils liés aux bases de données.
  • Déboguer les plantages avec Crashlytics — Récupérez les détails des problèmes, listez les événements de plantage récents et ajoutez des notes à l'aide de crashlytics_get_issue et crashlytics_list_events.
  • Valider et récupérer les règles de sécurité — Vérifiez les erreurs dans les règles Firestore, Storage ou Realtime Database avec firebase_validate_security_rules.
  • Surveiller les backends App Hosting — Listez les backends via apphosting_list_backends et récupérez les journaux de build ou d'exécution récents avec apphosting_fetch_logs.

Documentation

Serveur MCP Firebase

License Install MCP Server

Le serveur Firebase Model Context Protocol (MCP) permet aux outils de développement assistés par IA de travailler avec vos projets Firebase et le code source de votre application. Le serveur MCP Firebase fonctionne avec tout outil pouvant agir comme client MCP, notamment : Firebase Studio, Gemini CLI, Claude Code, Cline, Cursor, VS Code Copilot, Windsurf, et bien d'autres !

Fonctionnalités

Un éditeur configuré pour utiliser le serveur MCP Firebase peut exploiter ses capacités d'IA pour vous aider à :

  • Créer et gérer des projets Firebase - Initialiser de nouveaux projets, lister les projets existants et gérer les applications Firebase
  • Gérer les utilisateurs Firebase Authentication - Récupérer, mettre à jour et gérer les comptes utilisateurs
  • Travailler avec Cloud Firestore et Firebase SQL Connect - Interroger, lire, écrire et gérer les documents de base de données
  • Récupérer les schémas Firebase SQL Connect - Générer des schémas et des opérations avec l'aide de l'IA
  • Comprendre les règles de sécurité - Valider et récupérer les règles de sécurité pour Firestore, Cloud Storage et Realtime Database
  • Envoyer des messages avec Firebase Cloud Messaging - Envoyer des notifications push aux appareils et aux rubriques
  • Accéder aux données Crashlytics - Déboguer les problèmes, consulter les rapports de crash et gérer les analyses de crash
  • Déployer sur App Hosting - Surveiller les backends et récupérer les journaux
  • Travailler avec Realtime Database - Lire et écrire des données en temps réel
  • Interroger les journaux Cloud Functions - Récupérer et analyser les journaux d'exécution des fonctions
  • Gérer Remote Config - Obtenir et mettre à jour les modèles de configuration à distance

Certains outils utilisent Gemini dans Firebase pour vous aider à :

  • Générer des schémas et des opérations Firebase SQL Connect
  • Consulter Gemini à propos des produits Firebase

Important : Gemini dans Firebase peut générer des résultats qui semblent plausibles mais qui sont factuellement incorrects. Il peut répondre avec des informations inexactes qui ne représentent pas les vues de Google. Validez tous les résultats de Gemini avant de les utiliser et n'utilisez pas de code généré non testé en production. Ne saisissez pas d'informations personnelles identifiables (PII) ou de données utilisateur dans le chat.
En savoir plus sur Gemini dans Firebase et comment il utilise vos données.

Installation et configuration

Prérequis

Assurez-vous de disposer d'une installation fonctionnelle de Node.js et de npm.

Configuration de base

Le serveur MCP Firebase peut fonctionner avec n'importe quel client MCP prenant en charge les entrées/sorties standard (stdio) comme moyen de transport. Lorsque le serveur MCP Firebase effectue des appels d'outils, il utilise les mêmes identifiants utilisateur que ceux qui autorisent la CLI Firebase dans l'environnement où il s'exécute.

Voici les instructions de configuration pour les outils d'assistance IA populaires :

Gemini CLI

Installez l'extension Firebase pour Gemini CLI :

gemini extensions install https://github.com/firebase/agent-skills

Claude Code

Option 1 : Installer via le plugin (recommandé)

Le moyen le plus simple de configurer le serveur MCP Firebase dans Claude Code est d'installer le plugin Firebase officiel :

  1. Ajoutez le marketplace Firebase pour les plugins Claude :

    claude plugin marketplace add firebase/firebase-tools
    
  2. Installez le plugin Claude pour Firebase :

    claude plugin install firebase@firebase
    
  3. Vérifiez l'installation :

    claude plugin
    
Option 2 : Configurer le serveur MCP manuellement

Vous pouvez également configurer manuellement le serveur MCP Firebase en exécutant :

claude mcp add firebase npx -- -y firebase-tools@latest mcp

Vous pouvez vérifier l'installation en exécutant :

claude mcp list

Cela devrait afficher :

firebase: npx -y firebase-tools@latest mcp - ✓ Connected

Cursor

Ajoutez à .cursorrules dans le répertoire de votre projet ou configurez dans les paramètres de Cursor :

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

Windsurf

Ajoutez à ~/.codeium/windsurf/mcp_config.json :

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

Firebase Studio

Pour configurer Firebase Studio afin d'utiliser le serveur MCP Firebase, modifiez ou créez le fichier de configuration : .idx/mcp.json

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

Utilisation

Une fois configuré, le serveur MCP fournira automatiquement les capacités Firebase à votre assistant IA. Vous pouvez :

  • Demander à l'IA de vous aider à configurer les services Firebase
  • Interroger votre base de données Firestore
  • Gérer les utilisateurs d'authentification
  • Déployer sur Firebase Hosting
  • Déboguer les problèmes Crashlytics
  • Et bien plus encore !

Pour une liste complète des outils et ressources disponibles, consultez la section Capacités du serveur ci-dessous.

Documentation

Pour plus d'informations, visitez la documentation officielle du serveur MCP Firebase.

Capacités du serveur

Le serveur MCP Firebase fournit trois types de capacités : les Outils (fonctions qui effectuent des actions), les Invites (modèles de commandes réutilisables) et les Ressources (fichiers de documentation pour les modèles d'IA).

Nom de l'outilGroupe de fonctionnalitésDescription
apphosting_fetch_logsapphostingUtilisez ceci pour récupérer les journaux les plus récents d'un backend App Hosting spécifié. Si buildLogs est spécifié, les journaux du processus de build de la dernière construction sont renvoyés. Les journaux les plus récents sont listés en premier.
apphosting_list_backendsapphostingUtilisez ceci pour récupérer une liste des backends App Hosting dans le projet actuel. Une liste vide signifie qu'il n'y a pas de backends. Le uri est l'URL publique du backend. Un backend fonctionnel aura un tableau managed_resources qui contiendra une entrée run_service. Ce run_service.service est le nom de ressource du service Cloud Run servant le backend App Hosting. Le dernier segment de ce nom est l'ID du service. domains est la liste des domaines associés au backend. Ils ont soit le type CUSTOM soit le type DEFAULT. Chaque backend devrait avoir un domaine DEFAULT. Le domaine réel qu'un utilisateur utiliserait pour se connecter au backend est le dernier paramètre du nom de ressource du domaine. Si un domaine personnalisé est correctement configuré, ses statuts se termineront par ACTIVE.
auth_get_usersauthUtilisez ceci pour récupérer un ou plusieurs utilisateurs Firebase Auth en fonction d'une liste d'UID ou d'une liste d'e-mails.
auth_update_userauthUtilisez ceci pour désactiver, activer ou définir une revendication personnalisée sur le compte d'un utilisateur spécifique.
auth_set_sms_region_policyauthUtilisez ceci pour définir une politique de région SMS pour Firebase Authentication afin de restreindre les régions pouvant recevoir des messages texte en fonction d'une liste ALLOW ou DENY de codes pays. Cette politique remplacera toutes les politiques existantes lorsqu'elle est définie.
firebase_logincoreUtilisez ceci pour connecter l'utilisateur à la CLI Firebase et au serveur Firebase MCP. Cela nécessite un compte Google, et la connexion est requise pour créer et travailler avec des projets Firebase.
firebase_logoutcoreUtilisez ceci pour déconnecter l'utilisateur de la CLI Firebase et du serveur Firebase MCP.
firebase_validate_security_rulescoreUtilisez ceci pour vérifier les règles de sécurité Firebase pour Firestore, Storage ou Realtime Database à la recherche d'erreurs de syntaxe et de validation.
firebase_get_projectcoreUtilisez ceci pour récupérer des informations sur le projet Firebase actuellement actif.
firebase_list_appscoreUtilisez ceci pour récupérer une liste des applications Firebase enregistrées dans le projet Firebase actuellement actif. Les applications Firebase peuvent être iOS, Android ou Web.
firebase_list_projectscoreUtilisez ceci pour récupérer une liste des projets Firebase auxquels l'utilisateur connecté a accès.
firebase_get_sdk_configcoreUtilisez ceci pour récupérer les informations de configuration Firebase pour une application Firebase. Vous devez spécifier SOIT une plateforme, SOIT l'ID d'application Firebase pour une application Firebase enregistrée dans le projet Firebase actuellement actif.
firebase_create_projectcoreUtilisez cette commande pour créer un nouveau projet Firebase.
firebase_create_appcoreUtilisez cette commande pour créer une nouvelle application Firebase dans le projet Firebase actuellement actif. Les applications Firebase peuvent être de type iOS, Android ou Web.
firebase_create_android_shacoreUtilisez cette commande pour ajouter l'empreinte de certificat SHA spécifiée à l'application Firebase Android indiquée.
firebase_get_environmentcoreUtilisez cette commande pour récupérer la configuration actuelle de l'environnement Firebase pour la CLI Firebase et le serveur Firebase MCP, y compris l'utilisateur authentifié actuel, le répertoire du projet, le projet Firebase actif, et plus encore. Tous les outils nécessitent que l'utilisateur soit authentifié, mais toutes les informations ne sont pas requises pour tous les outils. Prêtez attention aux prérequis des outils pour savoir quelles informations sont nécessaires.
firebase_update_environmentcoreUtilisez cette commande pour mettre à jour la configuration de l'environnement pour la CLI Firebase et le serveur Firebase MCP, comme le répertoire du projet, le projet actif, le compte utilisateur actif, l'acceptation des conditions d'utilisation, et plus encore. Utilisez firebase_get_environment pour voir la configuration actuelle de l'environnement.
firebase_initcoreUtilisez cette commande pour initialiser les services Firebase sélectionnés dans l'espace de travail (base de données Cloud Firestore, Firebase SQL Connect, base de données Firebase Realtime, Firebase AI Logic). Tous les services sont optionnels ; spécifiez uniquement les produits que vous souhaitez configurer. Vous pouvez initialiser de nouvelles fonctionnalités dans un répertoire de projet existant, mais la réinitialisation d'une fonctionnalité existante peut écraser la configuration. Pour déployer les fonctionnalités initialisées, exécutez la commande firebase deploy après l'outil firebase_init.
firebase_get_security_rulescoreUtilisez cette commande pour récupérer les règles de sécurité d'un service Firebase spécifié. S'il existe plusieurs instances de ce service dans le produit, les règles de l'instance par défaut sont renvoyées.
firebase_read_resourcescoreUtilisez cette commande pour lire le contenu des ressources firebase:// ou lister les ressources disponibles.
crashlytics_create_notecrashlyticsAjoute une note à un problème depuis Crashlytics.
crashlytics_delete_notecrashlyticsSupprime une note d'un problème Crashlytics.
crashlytics_get_issuecrashlyticsRécupère les données d'un problème Crashlytics, qui peuvent servir de point de départ pour le débogage.
crashlytics_list_eventscrashlyticsUtilisez cette commande pour lister les événements les plus récents correspondant aux filtres donnés.
Peut être utilisé pour récupérer des échantillons de crashs et d'exceptions pour un problème,
ce qui inclura les traces de pile et d'autres données utiles pour le débogage.
crashlytics_batch_get_eventscrashlyticsRécupère des événements spécifiques par nom de ressource.
Peut être utilisé pour récupérer des échantillons de crashs et d'exceptions pour un problème,
ce qui inclura les traces de pile et d'autres données utiles pour le débogage.
crashlytics_list_notescrashlyticsUtilisez cette commande pour lister toutes les notes d'un problème dans Crashlytics.
crashlytics_update_issuecrashlyticsUtilisez cette méthode pour mettre à jour l’état d’un problème Crashlytics.
realtimedatabase_get_datarealtimedatabaseUtilisez cette méthode pour récupérer des données depuis l’emplacement spécifié dans une base de données Firebase Realtime Database.
realtimedatabase_set_datarealtimedatabaseUtilisez cette méthode pour écrire des données à l’emplacement spécifié dans une base de données Firebase Realtime Database.
dataconnect_builddataconnectUtilisez cette méthode pour compiler le schéma, les opérations et/ou les connecteurs Firebase SQL Connect et vérifier les erreurs de compilation.
dataconnect_list_servicesdataconnectUtilisez cette méthode pour lister les services Firebase SQL Connect locaux et distants existants.
dataconnect_executedataconnectUtilisez cette méthode pour exécuter une opération GraphQL sur un service SQL Connect ou son émulateur.
firestore_delete_documentfirestoreUtilisez cette méthode pour supprimer des documents Firestore d’une base de données dans le projet actuel en utilisant les chemins complets des documents. À utiliser si vous connaissez le chemin exact d’un document.
firestore_get_documentsfirestoreUtilisez cette méthode pour récupérer un ou plusieurs documents Firestore d’une base de données dans le projet actuel en utilisant les chemins complets des documents. À utiliser si vous connaissez le chemin exact d’un document.
firestore_list_collectionsfirestoreUtilisez cette méthode pour récupérer une liste de collections d’une base de données Firestore dans le projet actuel.
firestore_query_collectionfirestoreUtilisez cette méthode pour récupérer un ou plusieurs documents Firestore d’une collection dans une base de données du projet actuel, en utilisant une collection avec un chemin complet de document. À utiliser si vous connaissez le chemin exact d’une collection et la clause de filtrage souhaitée pour le document.
functions_get_logsfunctionsUtilisez cette méthode pour récupérer une page d’entrées de journal Cloud Functions en utilisant des filtres avancés Google Cloud Logging.
functions_list_functionsfunctionsListe toutes les fonctions déployées dans votre projet Firebase.
messaging_send_messagemessagingUtilisez cette méthode pour envoyer un message à un jeton d’enregistrement Firebase Cloud Messaging ou à un sujet. UN SEUL des paramètres registration_token ou topic peut être fourni lors d’un appel spécifique.
remoteconfig_get_templateremoteconfigUtilisez cette commande pour récupérer le modèle Firebase Remote Config spécifié depuis le projet Firebase actuellement actif.
remoteconfig_update_templateremoteconfigUtilisez cette commande pour publier un nouveau modèle de configuration à distance ou revenir à une version spécifique pour le projet.
storage_get_object_download_urlstorageUtilisez cette commande pour récupérer l'URL de téléchargement d'un objet dans un bucket Cloud Storage for Firebase.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
firebase:deploycoreUtilisez cette commande pour déployer des ressources sur Firebase.

Arguments :
<prompt> (facultatif) : toute instruction spécifique que vous souhaitez fournir concernant le déploiement
firebase:initcoreUtilisez cette commande pour configurer les services Firebase, comme les fonctionnalités backend et IA.
firestore:generate_security_rulesfirestoreGénérez des règles de sécurité Firestore sécurisées et les tests unitaires correspondants pour votre projet.
storage:generate_security_rulesstorageGénérez des règles de sécurité Storage sécurisées et les tests unitaires correspondants pour votre projet.
crashlytics:connectcrashlyticsUtilisez cette commande pour accéder aux données Crashlytics d'une application Firebase.
Nom de la ressourceDescription
app_id_guideGuide de l'ID d'application Firebase : guide l'agent de codage dans le choix d'un ID d'application Firebase dans le projet actuel
crashlytics_investigations_guideGuide d'investigation Firebase Crashlytics : guide l'agent de codage lors de l'investigation des bugs signalés dans les problèmes Crashlytics, y compris les procédures de diagnostic et de correction des plantages.
crashlytics_issues_guideGuide des problèmes Firebase Crashlytics : guide l'agent de codage lorsqu'il travaille avec les problèmes Crashlytics, y compris les règles de priorisation et les procédures de diagnostic et de correction des plantages.
crashlytics_reports_guideGuide des rapports Firebase Crashlytics : guide l'agent de codage dans la demande de rapports Crashlytics, y compris la définition de filtres appropriés et la compréhension des métriques. L'agent doit lire ce guide avant de demander un rapport.
backend_init_guideGuide d'initialisation du backend Firebase : guide l'agent de codage dans la configuration des services backend Firebase dans le projet actuel
ai_init_guideGuide d'initialisation Firebase GenAI : guide l'agent de codage dans la configuration des capacités GenAI dans le projet actuel en utilisant Firebase
firestore_init_guideGuide d'initialisation Firestore : guide l'agent de codage dans la configuration de Firestore dans le projet actuel
firestore_rules_init_guideGuide d'initialisation des règles Firestore : guide l'agent de codage dans la mise en place des règles de sécurité Firestore dans le projet
auth_init_guideGuide d'initialisation de Firebase Authentication : guide l'agent de codage dans la configuration de Firebase Authentication dans le projet actuel
hosting_init_guideGuide de déploiement Firebase Hosting : guide l'agent de codage dans le déploiement vers Firebase Hosting dans le projet actuel
docsDocumentation Firebase : charge le contenu en texte brut de la documentation Firebase, par exemple https://firebase.google.com/docs/functions devient firebase://docs/functions