Firebase MCP Server
officielVous 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 ?
- Gérer les projets et applications Firebase — Demander la liste des projets, en créer un nouveau, ou enregistrer une application iOS/Android/Web via
firebase_list_projectsetfirebase_create_app. - Interroger et écrire des données Firestore — Récupérer des documents par chemin, lister des collections, ou exécuter des requêtes filtrées à l’aide de
firestore_get_documentsetfirestore_query_collection. - Déboguer les crashs avec Crashlytics — Extraire les détails d’un problème, lister les événements récents, ou mettre à jour l’état d’un problème avec
crashlytics_get_issueetcrashlytics_update_issue. - Envoyer des notifications push — Délivrer un message Firebase Cloud Messaging à un jeton d’appareil ou à un sujet avec
messaging_send_message. - Valider et récupérer les règles de sécurité — Vérifier la syntaxe des règles Firestore, Storage, ou Realtime Database via
firebase_validate_security_rules. - Gérer les utilisateurs Auth et Remote Config — Rechercher ou mettre à jour des comptes utilisateurs avec
auth_get_users, et récupérer ou publier des modèles Remote Config.
Documentation
Serveur MCP Firebase
Le serveur Firebase Model Context Protocol (MCP) offre aux outils de développement basés sur l'IA la possibilité de travailler avec vos projets Firebase et le code de votre application. Le serveur MCP Firebase fonctionne avec tout outil capable d'agir en tant que 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 ceux 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'assistance 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 sujets
- 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 in Firebase pour vous aider à :
- Générer des schémas et des opérations Firebase SQL Connect
- Consulter Gemini au sujet des produits Firebase
Important : Gemini in 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 points de vue 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) ni de données utilisateur dans le chat.
En savoir plus sur Gemini in Firebase et comment il utilise vos données.
Installation et configuration
Prérequis
Assurez-vous d'avoir une installation fonctionnelle de Node.js et npm.
Configuration de base
Le serveur MCP Firebase fonctionne avec tout 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 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 officiel Firebase :
-
Ajoutez la place de marché Firebase pour les plugins Claude :
claude plugin marketplace add firebase/firebase-tools -
Installez le plugin Claude pour Firebase :
claude plugin install firebase@firebase -
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 votre répertoire de 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, consultez la documentation officielle du serveur MCP Firebase.
Capacités du serveur
Le serveur MCP Firebase fournit trois types de capacités : Outils (fonctions qui effectuent des actions), Invites (modèles de commandes réutilisables) et Ressources (fichiers de documentation pour les modèles d'IA).
| Nom de l'outil | Groupe de fonctionnalités | Description |
|---|---|---|
| apphosting_fetch_logs | apphosting | Récupérer les journaux récents de service ou de build pour un backend App Hosting. |
| apphosting_list_backends | apphosting | Lister les backends App Hosting, les configurations de trafic et les domaines personnalisés dans votre projet. |
| auth_get_users | auth | Récupérer les utilisateurs Firebase Auth par UID, e-mail, numéro de téléphone, ou lister tous les utilisateurs. |
| auth_update_user | auth | Mettre à jour le compte d'un utilisateur en l'activant/désactivant ou en définissant des revendications personnalisées. |
| auth_set_sms_region_policy | auth | Définir une politique de région SMS autorisant ou refusant des codes pays spécifiques pour Firebase Authentication. |
| firebase_login | core | Connecter l'utilisateur à la CLI Firebase et au serveur MCP ou vérifier l'état actuel de l'authentification. |
| firebase_logout | core | Déconnecter l'utilisateur de la CLI Firebase et du serveur MCP. |
| firebase_validate_security_rules | core | Valider la syntaxe et vérifier les erreurs dans les règles de sécurité Firestore, Storage ou Realtime Database. |
| firebase_get_project | core | Récupérer les métadonnées et les détails de configuration du projet Firebase actuellement actif. |
| firebase_list_apps | core | Lister toutes les applications Firebase enregistrées dans le projet actif. |
| firebase_list_projects | core | Lister les projets Firebase accessibles par l'utilisateur authentifié. |
| firebase_get_sdk_config | core | Récupérer les détails de configuration SDK ou le contenu du fichier de configuration pour une application Firebase enregistrée. |
| firebase_create_project | core | Créer un nouveau projet Firebase ou activer les services Firebase sur un projet Google Cloud existant. |
| firebase_create_app | core | Créer une nouvelle application iOS, Android ou Web dans le projet Firebase actif. |
| firebase_create_android_sha | core | Ajouter un hash de certificat SHA-1 ou SHA-256 à une application Android dans le projet Firebase actif. |
| firebase_get_environment | core | Récupérer la configuration actuelle de l'environnement CLI Firebase et MCP, le projet actif et l'utilisateur authentifié. |
| firebase_update_environment | core | Mettre à jour les paramètres d'environnement tels que le répertoire du projet, le projet actif ou le compte utilisateur actif. |
| firebase_init | core | Initialiser et configurer les services Firebase dans votre espace de travail de projet local. |
| firebase_get_security_rules | core | Récupérer les règles de sécurité actives pour Firestore, Storage ou Realtime Database. |
| firebase_read_resources | core | Lire le contenu des ressources de documentation internes firebase:// ou lister toutes les ressources disponibles. |
| crashlytics_create_note | crashlytics | Ajouter une note à un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_delete_note | crashlytics | Supprimer une note d'un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_get_issue | crashlytics | Récupérer les détails et les métadonnées d'un problème Crashlytics spécifique. |
| crashlytics_list_events | crashlytics | Lister les événements récents de crash et d'exception correspondant aux filtres spécifiés pour un problème. |
| crashlytics_batch_get_events | crashlytics | Récupérer des échantillons d'événements de crash et d'exception par nom de ressource pour le débogage. |
| crashlytics_list_notes | crashlytics | Lister toutes les notes attachées à un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_get_report | crashlytics | Générer des rapports numériques agrégés pour les problèmes et événements Crashlytics. |
| crashlytics_update_issue | crashlytics | Mettre à jour l'état (OUVERT ou FERMÉ) d'un problème Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Lire les données d'un chemin spécifié dans la Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Écrire des données JSON à un chemin spécifié dans la Firebase Realtime Database. |
| dataconnect_build | dataconnect | Compiler les schémas, opérations et connecteurs Firebase SQL Connect pour valider la syntaxe et les types. |
| dataconnect_list_services | dataconnect | Lister les services, schémas et connecteurs Firebase SQL Connect locaux et déployés. |
| dataconnect_execute | dataconnect | Exécuter une requête ou mutation GraphQL contre un service ou émulateur Firebase SQL Connect. |
| firestore_delete_document | firestore | Utiliser ceci pour supprimer des documents Firestore d'une base de données dans le projet actuel par chemins complets de documents. Utilisez ceci si vous connaissez le chemin exact d'un document. |
| firestore_get_documents | firestore | Utiliser ceci pour récupérer un ou plusieurs documents Firestore d'une base de données dans le projet actuel par chemins complets de documents. Utilisez ceci si vous connaissez le chemin exact d'un document. |
| firestore_list_collections | firestore | Utiliser ceci pour récupérer une liste de collections d'une base de données Firestore dans le projet actuel. |
| firestore_query_collection | firestore | Interroger les documents Firestore d'une collection avec des filtres et un tri optionnels. |
| functions_get_logs | functions | Récupérer et filtrer les entrées de journaux Cloud Functions depuis Google Cloud Logging. |
| functions_list_functions | functions | Lister toutes les Cloud Functions déployées dans votre projet Firebase. |
| messaging_send_message | messaging | Envoyer une notification push Firebase Cloud Messaging à un jeton d'enregistrement d'appareil ou à un sujet. |
| remoteconfig_get_template | remoteconfig | Récupérer la version active ou spécifiée du modèle Firebase Remote Config. |
| remoteconfig_update_template | remoteconfig | Publier un nouveau modèle Firebase Remote Config ou revenir à une version précédente. |
| storage_get_object_download_url | storage | Récupérer l'URL de téléchargement d'un objet dans un bucket Cloud Storage. |
| Nom du prompt | Groupe de fonctionnalités | Description |
|---|---|---|
| firebase:deploy | core | Utilisez cette commande pour déployer des ressources sur Firebase. Arguments : <prompt> (facultatif) : toutes instructions spécifiques que vous souhaitez fournir concernant le déploiement |
| firebase:init | core | Utilisez cette commande pour configurer les services Firebase, comme les fonctionnalités backend et IA. |
| firestore:generate_security_rules | firestore | Générer des règles de sécurité Firebase Firestore sécurisées et les tests unitaires correspondants pour votre projet. |
| storage:generate_security_rules | storage | Générer des règles de sécurité Firebase Storage sécurisées et les tests unitaires correspondants pour votre projet. |
| crashlytics:connect | crashlytics | Utilisez cette commande pour accéder aux données Crashlytics d'une application Firebase. |
| Nom de la ressource | Description | |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| app_id_guide | Guide 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_guide | Guide des investigations Crashlytics Firebase : guide l'agent de codage lors de l'investigation de bugs signalés dans les problèmes Crashlytics, y compris les procédures de diagnostic et de correction des plantages. | |
| crashlytics_issues_guide | Guide des problèmes Crashlytics Firebase : guide l'agent de codage lors du travail 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_guide | Guide des rapports Crashlytics Firebase : 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_guide | Guide d'initialisation du backend Firebase : guide l'agent de codage dans la configuration des services backend Firebase dans le projet actuel | |
| ai_init_guide | Guide d'initialisation GenAI Firebase : guide l'agent de codage dans la configuration des capacités GenAI dans le projet actuel à l'aide de Firebase | |
| firestore_init_guide | Guide d'initialisation Firestore : guide l'agent de codage dans la configuration de Firestore dans le projet actuel | |
| firestore_rules_init_guide | Guide 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_guide | Guide d'initialisation de l'authentification Firebase : guide l'agent de codage dans la configuration de l'authentification Firebase dans le projet actuel | |
| hosting_init_guide | Guide de déploiement Firebase Hosting : guide l'agent de codage dans le déploiement sur Firebase Hosting dans le projet actuel | |
| docs | Documentation Firebase : charge le contenu texte brut de la documentation Firebase, par exemple https://firebase.google.com/docs/functions devient firebase://docs/functions |