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 ?
- Créer et gérer des projets Firebase — Demandez à l'assistant d'initialiser un nouveau projet avec
firebase_create_projectou 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 viaauth_update_user. - Interroger et mettre à jour Firestore ou Realtime Database — Lisez, écrivez et gérez des documents à l'aide de
firebase_read_resourceset 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_issueetcrashlytics_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_backendset récupérez les journaux de build ou d'exécution récents avecapphosting_fetch_logs.
Documentation
Serveur MCP Firebase
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 :
-
Ajoutez le marketplace 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 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'outil | Groupe de fonctionnalités | Description |
|---|---|---|
| apphosting_fetch_logs | apphosting | Utilisez 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_backends | apphosting | Utilisez 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_users | auth | Utilisez 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_user | auth | Utilisez ceci pour désactiver, activer ou définir une revendication personnalisée sur le compte d'un utilisateur spécifique. |
| auth_set_sms_region_policy | auth | Utilisez 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_login | core | Utilisez 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_logout | core | Utilisez ceci pour déconnecter l'utilisateur de la CLI Firebase et du serveur Firebase MCP. |
| firebase_validate_security_rules | core | Utilisez 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_project | core | Utilisez ceci pour récupérer des informations sur le projet Firebase actuellement actif. |
| firebase_list_apps | core | Utilisez 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_projects | core | Utilisez ceci pour récupérer une liste des projets Firebase auxquels l'utilisateur connecté a accès. |
| firebase_get_sdk_config | core | Utilisez 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_project | core | Utilisez cette commande pour créer un nouveau projet Firebase. |
| firebase_create_app | core | Utilisez 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_sha | core | Utilisez cette commande pour ajouter l'empreinte de certificat SHA spécifiée à l'application Firebase Android indiquée. |
| firebase_get_environment | core | Utilisez 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_environment | core | Utilisez 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_init | core | Utilisez 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_rules | core | Utilisez 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_resources | core | Utilisez cette commande pour lire le contenu des ressources firebase:// ou lister les ressources disponibles. |
| crashlytics_create_note | crashlytics | Ajoute une note à un problème depuis Crashlytics. |
| crashlytics_delete_note | crashlytics | Supprime une note d'un problème Crashlytics. |
| crashlytics_get_issue | crashlytics | Récupère les données d'un problème Crashlytics, qui peuvent servir de point de départ pour le débogage. |
| crashlytics_list_events | crashlytics | Utilisez 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_events | crashlytics | Ré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_notes | crashlytics | Utilisez cette commande pour lister toutes les notes d'un problème dans Crashlytics. |
| crashlytics_update_issue | crashlytics | Utilisez cette méthode pour mettre à jour l’état d’un problème Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Utilisez 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_data | realtimedatabase | Utilisez cette méthode pour écrire des données à l’emplacement spécifié dans une base de données Firebase Realtime Database. |
| dataconnect_build | dataconnect | Utilisez 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_services | dataconnect | Utilisez cette méthode pour lister les services Firebase SQL Connect locaux et distants existants. |
| dataconnect_execute | dataconnect | Utilisez cette méthode pour exécuter une opération GraphQL sur un service SQL Connect ou son émulateur. |
| firestore_delete_document | firestore | Utilisez 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_documents | firestore | Utilisez 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_collections | firestore | Utilisez cette méthode pour récupérer une liste de collections d’une base de données Firestore dans le projet actuel. |
| firestore_query_collection | firestore | Utilisez 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_logs | functions | Utilisez 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_functions | functions | Liste toutes les fonctions déployées dans votre projet Firebase. |
| messaging_send_message | messaging | Utilisez 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_template | remoteconfig | Utilisez cette commande pour récupérer le modèle Firebase Remote Config spécifié depuis le projet Firebase actuellement actif. |
| remoteconfig_update_template | remoteconfig | Utilisez cette commande pour publier un nouveau modèle de configuration à distance ou revenir à une version spécifique pour le projet. |
| storage_get_object_download_url | storage | Utilisez cette commande pour récupérer l'URL de téléchargement d'un objet dans un bucket Cloud Storage for Firebase. |
| -------------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| firebase:deploy | core | Utilisez 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:init | core | Utilisez cette commande pour configurer les services Firebase, comme les fonctionnalités backend et IA. |
| firestore:generate_security_rules | firestore | Générez des règles de sécurité Firestore sécurisées et les tests unitaires correspondants pour votre projet. |
| storage:generate_security_rules | storage | Générez des règles de sécurité 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 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_guide | Guide 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_guide | Guide 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_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 Firebase GenAI : guide l'agent de codage dans la configuration des capacités GenAI dans le projet actuel en utilisant 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 Firebase Authentication : guide l'agent de codage dans la configuration de Firebase Authentication dans le projet actuel |
| hosting_init_guide | Guide de déploiement Firebase Hosting : guide l'agent de codage dans le déploiement vers Firebase Hosting dans le projet actuel |
| docs | Documentation Firebase : charge le contenu en texte brut de la documentation Firebase, par exemple https://firebase.google.com/docs/functions devient firebase://docs/functions |