Le serveur Firebase MCP est un serveur MCP (Model Context Protocol) local qui s'exécute dans votre environnement de développement pour permettre aux outils de développement optimisés par l'IA de fonctionner avec vos projets Firebase et le code de votre application.
Le serveur MCP Firebase fonctionne avec n'importe quel outil pouvant faire office de client MCP, y compris Antigravity, Claude Code et Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf et plus encore.
Accéder aux instructions de configuration
Avantages du serveur MCP
Un éditeur configuré pour utiliser le serveur MCP Firebase peut utiliser ses fonctionnalités d'IA pour vous aider à :
- Créer et gérer des projets Firebase
- Gérer vos utilisateurs Firebase Authentication
- Utiliser des données dans Cloud Firestore et Firebase SQL Connect
- Récupérer les schémas Firebase SQL Connect
- Comprendre vos règles de sécurité pour Cloud Firestore et Cloud Storage for Firebase
- Envoyer des messages avec Firebase Cloud Messaging
Il ne s'agit que de listes partielles. Consultez la section Fonctionnalités du serveur pour obtenir la liste complète des outils disponibles dans votre éditeur.
Configurer votre client MCP
Le serveur MCP Firebase est un serveur MCP local qui peut fonctionner avec n'importe quel client MCP compatible avec les E/S standards (stdio) comme support de transport.
Lorsque le serveur Firebase MCP effectue des appels d'outils, il s'exécute localement dans votre environnement en utilisant les mêmes identifiants utilisateur qui autorisent l'interface de ligne de commande Firebase. Il peut s'agir d'un utilisateur connecté ou des identifiants par défaut de l'application, selon l'environnement.
Avant de commencer
Assurez-vous que Node.js et npm sont correctement installés.
Configuration de base
Voici des instructions de configuration de base pour utiliser le serveur MCP Firebase avec certains outils d'assistance par IA populaires :
Antigravity
Pour configurer Antigravity afin qu'il utilise le serveur MCP Firebase :
- Dans Antigravity, cliquez sur le menu dans le volet "Agent" > Serveurs MCP.
- Sélectionnez Firebase > Installer.
Votre fichier mcp_config.json est automatiquement mis à jour. Pour l'afficher, cliquez sur Gérer les serveurs MCP en haut du volet MCP Store > Afficher la configuration brute. Il contient le contenu suivant :
{
"mcpServers": {
"firebase-mcp-server": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Claude
Claude Code
Option 1 : Installer via un plug-in (recommandé)
Le moyen le plus simple de configurer le serveur MCP Firebase dans Claude Code consiste à installer le plug-in Firebase officiel :
Ajoutez la place de marché Firebase pour les plug-ins Claude :
claude plugin marketplace add firebase/firebase-toolsInstallez le plug-in Claude pour Firebase :
claude plugin install firebase@firebaseVérifiez l'installation :
claude plugin marketplace list
Option 2 : Configurer manuellement le serveur MCP
Vous pouvez également configurer manuellement le serveur MCP Firebase :
Exécutez la commande suivante dans le dossier de votre application :
claude mcp add firebase npx -- -y firebase-tools@latest mcpVérifiez l'installation :
claude mcp listVoici ce qui devrait s'afficher :
firebase: npx -y firebase-tools@latest mcp - ✓ Connected
Claude Desktop
Pour configurer Claude Desktop afin qu'il utilise le serveur MCP Firebase, modifiez le fichier claude_desktop_config.json. Vous pouvez ouvrir ou créer ce fichier à partir du menu Claude > Paramètres. Sélectionnez l'onglet Développeur, puis cliquez sur Modifier la configuration.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Cursor
Option 1 : Plug-in Marketplace (recommandé)
Installez le plug-in Firebase depuis Cursor Marketplace. Le serveur MCP est alors automatiquement configuré et vous avez accès aux compétences de l'agent Firebase.
Option 2 : Configuration MCP en un clic
Si vous ne souhaitez ajouter le serveur MCP qu'à votre configuration globale, cliquez sur le bouton suivant :
Option 3 : Configuration manuelle
Si vous préférez configurer le serveur pour un projet spécifique ou modifier vos paramètres manuellement, mettez à jour votre fichier mcp.json :
- Pour un projet spécifique, modifiez
.cursor/mcp.json - Pour tous les projets (au niveau mondial), modifiez
~/.cursor/mcp.json.
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Cline
Pour configurer Cline afin qu'il utilise le serveur MCP Firebase, modifiez le fichier cline_mcp_settings.json. Vous pouvez ouvrir ou créer ce fichier en cliquant sur l'icône Serveurs MCP en haut du volet Cline, puis sur le bouton Configurer les serveurs MCP.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"],
"disabled": false
}
}
}
VS Code Copilot
Pour configurer un seul projet, modifiez le fichier .vscode/mcp.json dans votre espace de travail :
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Pour rendre le serveur disponible dans chaque projet que vous ouvrez, modifiez vos paramètres utilisateur, par exemple :
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
}
Windsurf
Pour configurer l'éditeur Windsurf, modifiez le fichier ~/.codeium/windsurf/mcp_config.json :
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "mcp"]
}
}
Configuration facultative
En plus de la configuration de base pour chaque client, présentée plus haut, vous pouvez spécifier deux paramètres facultatifs :
--dir ABSOLUTE_DIR_PATH: chemin absolu d'un répertoire contenantfirebase.json, pour définir un contexte de projet pour le serveur MCP. Si elle n'est pas spécifiée, les outilsget_project_directoryetset_project_directorydeviennent disponibles, et le répertoire par défaut sera le répertoire de travail dans lequel le serveur MCP a été démarré.--only FEATURE_1,FEATURE_2: liste de groupes de caractéristiques à activer, séparés par une virgule. Utilisez cette option pour limiter les outils exposés aux fonctionnalités que vous utilisez activement. Notez que les outils principaux sont toujours disponibles.
Exemple :
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Fonctionnalités du serveur MCP
Le serveur MCP Firebase propose trois catégories de fonctionnalités MCP :
Requêtes : bibliothèque de requêtes prédéfinies que vous pouvez exécuter. Elles sont optimisées pour développer et exécuter une application avec Firebase.
Outils : ensemble d'outils destinés à être utilisés par les agents d'IA pour les aider à travailler directement avec votre projet Firebase (avec votre approbation).
Ressources : fichiers de documentation destinés à être utilisés par les agents d'IA pour leur fournir plus de conseils et de contexte afin de mener à bien une tâche ou un objectif
Prompts
Le serveur Firebase MCP est fourni avec une bibliothèque d'invites pré-écrites optimisées pour développer et exécuter une application avec Firebase. Vous pouvez utiliser ces prompts pour accomplir diverses tâches ou atteindre des objectifs courants avec vos assistants IA agentiques.
Le tableau suivant décrit les invites mises à disposition par le serveur MCP.
De nombreux outils de développement compatibles avec MCP permettent d'exécuter facilement ces invites. Par exemple, en tant que commande à barre oblique :
/firebase:init
Dans les environnements compatibles, vous pouvez commencer à saisir /firebase: pour afficher la liste des requêtes disponibles.
npx firebase-tools@latest mcp --generate-prompt-list
| Nom du prompt | Groupe de caractéristiques | Description |
|---|---|---|
| firebase:deploy | core | Utilisez cette commande pour déployer des ressources sur Firebase. Arguments : <prompt> (facultatif) : toutes les 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 de backend et d'IA. |
| firestore:generate_security_rules | firestore | Générez des règles de sécurité Firebase Firestore sécurisées et les tests unitaires correspondants pour votre projet. |
| storage:generate_security_rules | stockage | Générez 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. |
Outils
Le serveur MCP Firebase fournit également un certain nombre d'outils destinés à être utilisés par les agents d'IA, qui les aident à travailler directement avec votre projet Firebase (avec votre approbation). Contrairement aux requêtes, vous n'appelez pas ces outils directement. Les agents d'IA qui prennent en charge l'appel d'outils (comme Antigravity, Claude Code ou Cursor) peuvent les appeler automatiquement pour effectuer des tâches de développement si nécessaire.
Le tableau suivant décrit les outils mis à disposition par le serveur MCP.
npx firebase-tools@latest mcp --generate-tool-list
| Nom de l'outil | Groupe de caractéristiques | Description |
|---|---|---|
| apphosting_fetch_logs | apphosting | Récupérez les journaux de service ou de compilation récents pour un backend App Hosting. |
| apphosting_list_backends | apphosting | Répertoriez les backends App Hosting, les configurations de trafic et les domaines personnalisés de votre projet. |
| auth_get_users | auth | Récupérez les utilisateurs Firebase Authentication par UID, adresse e-mail ou numéro de téléphone, ou listez tous les utilisateurs. |
| auth_update_user | auth | Mettez à jour le compte d'un utilisateur en l'activant/le désactivant ou en définissant des revendications personnalisées. |
| auth_set_sms_region_policy | auth | Définissez une règle régionale pour les SMS afin d'autoriser ou de refuser des codes de pays spécifiques pour Firebase Authentication. |
| firebase_login | core | Connectez l'utilisateur à la CLI Firebase et au serveur MCP, ou vérifiez l'état d'authentification actuel. |
| firebase_logout | core | Déconnectez l'utilisateur de la CLI Firebase et du serveur MCP. |
| firebase_validate_security_rules | core | Validez la syntaxe et recherchez les erreurs dans les règles de sécurité Firestore, Storage ou Realtime Database. |
| firebase_get_project | core | Récupérez les métadonnées et les détails de configuration du projet Firebase actuellement actif. |
| firebase_list_apps | core | Répertorie toutes les applications Firebase enregistrées dans le projet actif. |
| firebase_list_projects | core | Liste les projets Firebase accessibles par l'utilisateur authentifié. |
| firebase_get_sdk_config | core | Récupérez les détails de configuration du SDK ou le contenu du fichier de configuration pour une application Firebase enregistrée. |
| firebase_create_project | core | Créez un projet Firebase ou activez les services Firebase dans un projet Google Cloud existant. |
| firebase_create_app | core | Créez une application iOS, Android ou Web dans le projet Firebase actif. |
| firebase_create_android_sha | core | Ajoutez un hachage de certificat SHA-1 ou SHA-256 à une application Android dans le projet Firebase actif. |
| firebase_get_environment | core | Récupérez la configuration actuelle de l'environnement CLI Firebase et MCP, le projet actif et l'utilisateur authentifié. |
| firebase_update_environment | core | Mettez à jour les paramètres de l'environnement, tels que le répertoire du projet, le projet actif ou le compte utilisateur actif. |
| firebase_init | core | Initialisez et configurez les services Firebase dans l'espace de travail de votre projet en local. |
| firebase_get_security_rules | core | Récupérez les règles de sécurité actives pour Firestore, Storage ou Realtime Database. |
| firebase_read_resources | core | Lire le contenu des ressources de documentation firebase:// internes ou lister toutes les ressources disponibles. |
| firebase_deploy | core | Déployez les services et ressources Firebase configurés dans firebase.json dans votre projet. |
| firebase_deploy_status | core | Vérifiez l'état et la progression d'une tâche de déploiement en arrière-plan. |
| crashlytics_create_note | crashlytics | Ajoutez une note à un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_delete_note | crashlytics | Supprimez une note d'un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_get_issue | crashlytics | Récupérez les détails et les métadonnées d'un problème Crashlytics spécifique. |
| crashlytics_list_events | crashlytics | Affichez la liste des événements d'exception et de plantage récents correspondant aux filtres spécifiés pour un problème. |
| crashlytics_batch_get_events | crashlytics | Récupérez des exemples d'événements d'erreur et d'exception par nom de ressource pour le débogage. |
| crashlytics_list_notes | crashlytics | Lister toutes les notes associées à un problème Crashlytics pour une application Android ou iOS. |
| crashlytics_get_report | crashlytics | Générez des rapports numériques agrégés pour les problèmes et les événements Crashlytics. |
| crashlytics_update_issue | crashlytics | Mettez à jour l'état (OUVERT ou FERMÉ) d'un problème Crashlytics. |
| realtimedatabase_get_data | realtimedatabase | Lire les données d'un chemin d'accès spécifié dans Firebase Realtime Database. |
| realtimedatabase_set_data | realtimedatabase | Écrivez des données JSON dans un chemin d'accès spécifié dans Firebase Realtime Database. |
| dataconnect_build | dataconnect | Compilez les schémas, les opérations et les 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écutez une requête ou une mutation GraphQL sur un service ou un émulateur Firebase SQL Connect. |
| functions_get_logs | fonctions | Récupérez et filtrez les entrées de journal Cloud Functions à partir de Google Cloud Logging. |
| functions_list_functions | fonctions | Répertoriez toutes les fonctions Cloud déployées dans votre projet Firebase. |
| messaging_send_message | messagerie | Envoyez une notification push Firebase Cloud Messaging à un jeton d'enregistrement d'appareil ou à un sujet. |
| remoteconfig_get_template | remoteconfig | Récupérez la version active ou spécifiée du modèle Firebase Remote Config. |
| remoteconfig_update_template | remoteconfig | Publiez un nouveau modèle Firebase Remote Config ou rétablissez une version précédente. |
| storage_get_object_download_url | stockage | Récupérez l'URL de téléchargement d'un objet dans un bucket Cloud Storage. |
| firestore_get_document | firestore | Obtenez un document à partir d'une base de données Firestore. |
| firestore_add_document | firestore | Créez un document à partir d'une base de données Firestore. |
| firestore_update_document | firestore | Mettre à jour un document d'une base de données Firestore. |
| firestore_delete_document | firestore | Supprimez un document d'une base de données Firestore. |
| firestore_list_documents | firestore | Lister les documents d'une base de données Firestore |
| firestore_list_collections | firestore | Lister tous les ID de collection sous un document |
| firestore_query_collection | firestore | Interrogez les documents Firestore d'une collection avec des filtres et un tri facultatifs. |
| firestore_run_aggregation_query | firestore | Exécute une requête d'agrégation (telle que COUNT, SUM ou AVG) sur une requête structurée et renvoie les résultats agrégés. Paramètres requis : - parent : nom de la ressource parente au format projects/{project_id}/databases/{database_id}/documents (par exemple, projects/my-project/databases/(default)/documents).- structured_aggregation_query : objet StructuredAggregationQuery définissant la requête d'agrégation à exécuter.Exemple d'utilisation (COUNT et AVG) : { |
| firestore_create_database | firestore | Créez une base de données Firestore. |
| firestore_get_database | firestore | Obtenez une base de données Firestore. |
| firestore_list_databases | firestore | Lister les bases de données Firestore. |
| firestore_update_database | firestore | Mettre à jour une base de données Firestore |
| firestore_delete_database | firestore | Supprimez une base de données Firestore. |
| firestore_create_index | firestore | Créez un index composite. |
| firestore_get_index | firestore | Obtenez un index Firestore. |
| firestore_list_indexes | firestore | Lister les index Firestore. |
| firestore_delete_index | firestore | Supprimez un index Firestore. |
| firestore_get_backup | firestore | Obtenir une sauvegarde Firestore. |
| firestore_list_backups | firestore | Répertorie les sauvegardes Firestore. |
| firestore_delete_backup | firestore | Supprimer une sauvegarde Firestore. |
| firestore_create_backup_schedule | firestore | Créez une programmation de sauvegarde Firestore. |
| firestore_get_backup_schedule | firestore | Obtenir une planification des sauvegardes Firestore. |
| firestore_list_backup_schedules | firestore | Répertorie les plannings de sauvegarde Firestore. |
| firestore_update_backup_schedule | firestore | Mettez à jour une programmation de sauvegarde Firestore. |
| firestore_delete_backup_schedule | firestore | Supprimer une planification de sauvegarde Firestore. |
| firestore_get_backup | firestore | Obtenir une sauvegarde Firestore. |
| firestore_list_backups | firestore | Répertorie les sauvegardes Firestore. |
| firestore_delete_backup | firestore | Supprimer une sauvegarde Firestore. |
| firestore_create_backup_schedule | firestore | Créez une programmation de sauvegarde Firestore. |
| firestore_get_backup_schedule | firestore | Obtenir une planification des sauvegardes Firestore. |
| firestore_list_backup_schedules | firestore | Répertorie les plannings de sauvegarde Firestore. |
| firestore_update_backup_schedule | firestore | Mettez à jour une programmation de sauvegarde Firestore. |
| firestore_delete_backup_schedule | firestore | Supprimer une planification de sauvegarde Firestore. |
| developerknowledge_search_documents | developerknowledge | Utilisez cet outil pour trouver de la documentation sur les produits Google destinés aux développeurs. Ces documents contiennent des API officielles, des extraits de code, des notes de version, des bonnes pratiques, des guides, des informations de débogage et plus encore. Il couvre les produits et domaines suivants : * ADK : adk.dev * Android : developer.android.com * Apigee : docs.apigee.com * Chrome : developer.chrome.com * Dart : dart.dev * Firebase : firebase.google.com * Flutter : docs.flutter.dev * Fuchsia : fuchsia.dev * Gemini CLI : geminicli.com * Genkit : genkit.dev * Go : go.dev * Google AI : ai.google.dev * Google Antigravity : antigravity.google * Google Cloud : cloud.google.com et docs.cloud.google.com * Google Developers, Ads, Search, Google Maps, YouTube : developers.google.com * Google Home : developers.home.google.com * Google Maps Platform : mapsplatform.google.com * TensorFlow : www.tensorflow.org * Web : web.dev Cet outil renvoie des blocs de texte, des noms et des URL pour les documents correspondants. Si les blocs renvoyés ne sont pas assez détaillés pour répondre à la question de l'utilisateur, utilisez get_documents avec le parent de la sortie de cet outil pour récupérer l'intégralité du contenu du document. |
| developerknowledge_answer_query | developerknowledge | Utilisez answer_query pour obtenir une réponse ancrée à une question sur les produits Google pour les développeurs. Cet outil dispose d'un quota limité. Cet outil synthétise les informations du corpus pour générer une réponse à la requête. answer_query ancre les réponses en utilisant le même corpus que search_documents. Cet outil renvoie le texte de la réponse générée et une liste de noms de documents (références) utilisés pour générer la réponse. Utilisez get_documents avec les noms de documents pour récupérer l'intégralité du contenu du document si nécessaire. Si vous recevez une erreur 429 (quota dépassé), utilisez plutôt search_documents. |
| developerknowledge_get_documents | developerknowledge | Utilisez cet outil pour récupérer l'intégralité du contenu d'un ou de plusieurs documents (jusqu'à 20) en un seul appel. Les noms de documents doivent être obtenus à partir du champ parent des résultats d'un appel à l'outil search_documents. Définissez le paramètre names sur une liste de noms de documents. |
Ressources
Le serveur MCP fournit des ressources, qui sont des fichiers de documentation destinés à être utilisés par les agents d'IA. Les agents qui acceptent l'utilisation de ressources incluent automatiquement les ressources pertinentes dans le contexte de la session.
Le tableau suivant décrit les ressources mises à disposition par le serveur MCP.
npx firebase-tools@latest mcp --generate-resource-list
| Nom de la ressource | Description |
|---|---|
| app_id_guide | Guide sur l'ID d'application Firebase : guide l'agent de codage pour choisir 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 résolution des plantages. |
| crashlytics_issues_guide | Guide sur les problèmes Firebase Crashlytics : guide l'agent de codage lorsqu'il travaille sur des problèmes Crashlytics, y compris les règles de hiérarchisation et les procédures de diagnostic et de résolution des problèmes. |
| crashlytics_reports_guide | Guide des rapports Firebase Crashlytics : guide l'agent de codage pour demander des rapports Crashlytics, y compris pour définir les filtres appropriés et comprendre les 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 pour configurer les services de backend Firebase dans le projet actuel |
| ai_init_guide | Guide d'initialisation de Firebase GenAI : guide l'agent de programmation pour configurer les fonctionnalités d'IA générative dans le projet actuel à l'aide de Firebase |
| firestore_init_guide | Guide d'initialisation de Firestore : guide l'agent de codage pour configurer Firestore dans le projet actuel |
| firestore_rules_init_guide | Guide d'initialisation des règles Firestore : guide l'agent de codage pour configurer les règles de sécurité Firestore dans le projet |
| auth_init_guide | Guide d'initialisation de Firebase Authentication : guide l'agent de codage pour configurer Firebase Authentication dans le projet actuel |
| hosting_init_guide | Guide de déploiement Firebase Hosting : guide l'agent de codage pour le déploiement sur Firebase Hosting dans le projet actuel |
| Mettre à jour l'UI de l'environnement | Interface visuelle pour sélectionner le projet Firebase actif |
| Déployer l'UI | Interface visuelle pour Firebase Deploy |
| UI d'initialisation | Interface visuelle pour Firebase Init |
| 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). |